differentiate synchronous and asynchronous data transfer techniques for real time system
design
https://www.geeksforgeeks.org/difference-between-synchronous-and-asynchronous-transmission/
Difference between Synchronous and
Asynchronous Transmission
Last Updated : 29 Jan, 2024
Synchronous Transmission: In Synchronous Transmission, data is sent in form of
blocks or frames. This transmission is the full-duplex type. Between sender and
receiver, synchronization is compulsory. In Synchronous transmission, There is no
time-gap present between data. It is more efficient and more reliable than
asynchronous transmission to transfer a large amount of data.
Example:
Chat Rooms
Telephonic Conversations
Video Conferencing
Asynchronous Transmission: In Asynchronous Transmission, data is sent in form
of byte or character. This transmission is the half-duplex type transmission. In this
transmission start bits and stop bits are added with data. It does not require
synchronization.
Example:
Email
Forums
Letters
Now, let’s see the difference between Synchronous
Transmission and Asynchronous Transmission:
Synchronous Asynchronous
S. No. Transmission Transmission
In Synchronous In Asynchronous
transmission, data is sent in transmission, data is sent in
1. form of blocks or frames. form of bytes or characters.
Synchronous transmission Asynchronous transmission
2. is fast. is slow.
Synchronous transmission Asynchronous transmission
3. is costly. is economical.
In Synchronous In Asynchronous
transmission, the time transmission, the time
interval of transmission is interval of transmission is
4. constant. not constant, it is random.
5. In this transmission, users Here, users do not have to
have to wait till the wait for the completion of
transmission is complete transmission in order to get
Synchronous Asynchronous
S. No. Transmission Transmission
before getting a response
a response from the server.
back from the server.
In Synchronous In Asynchronous
transmission, there is no transmission, there is a gap
6. gap present between data. present between data.
While in Asynchronous
Efficient use of
transmission, the
transmission lines is done
transmission line remains
in synchronous
empty during a gap in
transmission.
7. character transmission.
The start and stop bits are
The start and stop bits are
used in transmitting data
not used in transmitting
that imposes extra
data.
8. overhead.
Asynchronous transmission
Synchronous transmission does not need
needs precisely synchronized clocks as
synchronized clocks for the parity bit is used in this
information of new bytes. transmission for
9. information of new bytes.
Errors are detected and
Errors are detected and
corrected when the data is
corrected in real time.
10. received.
11. Low latency due to real- High latency due to
Synchronous Asynchronous
S. No. Transmission Transmission
processing time and
time communication. waiting for data to become
available.
Examples: Telephonic
conversations, Video Examples: Email, File
conferencing, Online transfer,Online forms.
12. gaming.
discuss hardware requirements for a typical real-time system.
Hardware requirements for a typical real-time system can vary depending on the
specific application and its timing constraints. However, here are some common
hardware components and characteristics that are important for real-time systems:
1. Processor Performance:
Real-time systems often require processors with deterministic
execution characteristics and sufficient processing power to handle
tasks within specified timing constraints.
Processors with high clock speeds, multiple cores, and efficient
instruction pipelines are preferred for real-time applications.
2. Interrupt Handling:
Efficient interrupt handling mechanisms are crucial for responding to
external events within tight time constraints.
Processors with fast interrupt response times, prioritized interrupt
handling, and hardware interrupt controllers are essential for real-time
applications.
3. Memory:
Sufficient memory resources are needed to store program code, data,
and runtime stack space.
Memory requirements depend on the size and complexity of the
application, as well as any real-time operating system (RTOS) or
middleware components used.
4. Clock Accuracy and Precision:
Accurate and precise clock sources are necessary for timing
synchronization and event scheduling.
High-resolution timers, clock sources with low jitter, and hardware
support for clock synchronization protocols (e.g., Precision Time
Protocol, PTP) are important for real-time applications.
5. Input/Output (I/O) Interfaces:
Real-time systems often interact with external devices or sensors
through I/O interfaces.
Hardware support for fast and deterministic I/O operations, such as
direct memory access (DMA), interrupt-driven I/O, or specialized
communication protocols (e.g., CAN, SPI, I2C), is essential for real-time
applications.
6. Redundancy and Fault Tolerance:
Critical real-time systems may incorporate redundancy and fault-
tolerant mechanisms to ensure system reliability.
Hardware redundancy, error detection, and error correction features
can help mitigate the impact of hardware failures and ensure
uninterrupted operation.
7. Power Efficiency:
Hardware components optimized for power efficiency are essential,
especially for battery-powered or energy-constrained environments.
Low-power processors, energy-efficient peripherals, and power
management features can help extend battery life and reduce overall
power consumption.
8. Temperature and Environmental Considerations:
Real-time systems deployed in harsh environments or safety-critical
applications may require hardware components designed for
ruggedness, reliability, and extended temperature ranges.
Industrial-grade or automotive-grade components may be necessary to
withstand challenging environmental conditions.
9. System Integration and Interconnectivity:
Real-time systems often consist of multiple hardware components
interconnected through buses, networks, or communication links.
Hardware support for fast and reliable interconnectivity, such as high-
speed buses (e.g., PCIe, USB), Ethernet interfaces, or wireless
communication protocols (e.g., Wi-Fi, Bluetooth), is important for real-
time applications.
System development life cycle used for embedded systems design.
https://www.windriver.com/solutions/learning/embedded-software-lifecycle#:~:text=There
%20are%20various%20SDLC%20models,support%2C%20and%20evaluation%20and
%20feedback.
https://apptread.com/guides/embedded-system-development-life-cycle/
https://www.sam-solutions.com/blog/embedded-product-development-life-cycle/
https://www.tutorialspoint.com/sdlc/sdlc_waterfall_model.htm
standard interfaces in real time system design
During transmission from the master to slave, the data in the master‟s shift register is shifted out to
the MOSI pin and it enters the shift register of the slave device through the MOSI pin of the slave
device.
At the same time the shifted out data bit from the slave device’s shift register enters the shift register
of the master device through MISO pin.
It is classified into following types.
1. RS-232C/RS-422/RS 485
2. USB
As per the EIA standard RS-232 C supports baudrates up to 20Kbps (Upper limit 19.2Kbps).
The commonly used baudrates by devices are 300bps, 1200bps, 2400bps, 9600bps, 11.52Kbps and
19.2Kbps
The maximum operating distance supported in RS-232 communication is 50 feet at the highest
supported baudrate.
On the receiving side the received data is converted back to digital logic level by a converter IC.
Converter chips contain converters for both transmitter and receiver.
RS-232 uses single ended data transfer and supports only point-to-point communication and not
suitable for multi-drop communication.
Full-Speed: 500 kb/s – 10 Mb/s 12 Mb/s signaling bit rate
High-Speed: 400 Mb/s
There exist two pre-defined connectors in any USB system - Series “A” and Series “B”
Connectors.
Series “A” cable: Connects USB devices to a hub port.
Series “B” cable: Connects detachable devices (hot- swappable)
• USB is a widely used interface for connecting peripheral devices to
computers and embedded systems.
• It provides high-speed data transfer and supports various device
classes, such as storage devices, input devices (e.g., keyboards, mice), and
communication devices (e.g., modems, network adapters).
• USB is suitable for real-time communication between devices,
especially for data-intensive applications.
Standard interfaces play a crucial role in real-time system design, providing
interoperability, compatibility, and ease of integration between different hardware
and software components. Here are some standard interfaces commonly used in
real-time system design:
1. Universal Serial Bus (USB):
2. Ethernet:
Ethernet is a standard networking interface used for connecting devices
in local area networks (LANs) and wide area networks (WANs).
It provides reliable and high-speed data transfer, making it suitable for
real-time communication between networked devices.
Ethernet interfaces are commonly used in industrial control systems,
distributed control systems, and embedded networking applications.
3. Serial Communication Interfaces:
Serial communication interfaces, such as UART, SPI, I2C, and
RS-232/RS-485, are commonly used for connecting peripheral devices
to microcontrollers and embedded systems.
These interfaces provide simple and cost-effective solutions for serial
data transfer and are suitable for real-time communication between
devices with lower data transfer rates.
4. PCI Express (PCIe):
PCIe is a high-speed serial bus interface used for connecting peripheral
devices to computers and embedded systems.
It offers high bandwidth, low latency, and hot-swappable capabilities,
making it suitable for high-performance data transfer applications.
PCIe interfaces are commonly used in embedded systems requiring
high-speed data transfer, such as data acquisition systems, digital
signal processing (DSP) systems, and high-performance computing
(HPC) systems.
5. Controller Area Network (CAN):
CAN is a serial communication protocol commonly used in automotive
and industrial applications for real-time communication between
microcontrollers and embedded systems.
It provides robustness, reliability, and deterministic communication,
making it suitable for real-time control and monitoring applications.
CAN interfaces are commonly used in automotive control systems,
industrial automation systems, and distributed control systems.
6. Inter-Integrated Circuit (I2C):
I2C is a serial communication protocol commonly used for
communication between integrated circuits (ICs) and peripheral devices
in embedded systems.
It supports multi-master communication, allowing multiple devices to
communicate over the same bus, and is suitable for low-speed data
transfer applications.
I2C interfaces are commonly used in sensor networks, embedded
systems, and consumer electronics devices.
7. Wireless Communication Interfaces:
Wireless communication interfaces, such as Wi-Fi, Bluetooth, Zigbee,
and LoRa, provide wireless connectivity for embedded systems.
These interfaces offer flexibility and mobility, making them suitable for
real-time communication between devices in distributed or remote
environments.
Wireless interfaces are commonly used in IoT (Internet of Things)
systems, smart home devices, industrial monitoring systems, and
wearable devices.
Communication Interface:
• Communication interface is essential for communicating with various subsystems of the embedded
system and with the external world