Understanding how devices communicate is a fundamental concept in digital systems. Two core methods of transmitting data between devices are synchronous and asynchronous transmission, each with specific advantages, limitations, and practical applications.
What is synchronous transmission?
Synchronous transmission is a method where data is sent in a continuous stream, and both the sender and receiver are synchronised using a shared clock signal. This coordination ensures that both ends of the communication line understand exactly when bits begin and end, allowing for rapid and efficient transfer of data without the need for framing individual bytes or characters.
Characteristics of synchronous transmission
Clock synchronisation: A key feature is the use of a shared clock, either sent on a separate line or embedded in the signal. This clock aligns the sender and receiver so they know precisely when to sample bits.
Continuous data stream: Data is sent in blocks or frames rather than individual characters. This allows the system to handle large quantities of data efficiently.
No framing bits required: Unlike asynchronous transmission, synchronous transmission does not require start and stop bits for each byte because synchronisation is maintained by the clock.
Requires pre-established connection: Communication must be established and synchronised before data can be sent.
How synchronous transmission works
Practice Questions
FAQ
Clock drift refers to the gradual divergence of timing between two devices that are supposed to remain synchronised. In synchronous transmission, accurate timing is essential because the sender and receiver rely on a shared or embedded clock signal to determine when each bit begins and ends. Even tiny differences in clock frequency can accumulate over time, leading to the receiver sampling bits too early or too late. This misalignment can cause data corruption across entire frames, especially in long transmission sequences. To mitigate clock drift, systems may use phase-locked loops (PLLs) to dynamically adjust the receiver’s clock to match the incoming signal or embed synchronisation patterns within the data to periodically re-align timing. In high-speed networks or systems requiring uninterrupted, accurate data flow—such as fibre optic links or CPU-memory buses—controlling clock drift is critical. Without it, the integrity of large data blocks can be compromised, causing major communication errors.
While asynchronous transmission is not typically used for high-speed communication, it can still operate at relatively fast data rates in certain controlled conditions. The primary limitation is the overhead introduced by start and stop bits, which adds significant redundancy to every byte sent. As data rates increase, the impact of this overhead becomes more noticeable, reducing the efficiency of the channel. Additionally, asynchronous systems rely on each device's internal clock to interpret incoming data, and higher speeds increase the risk of timing errors due to clock inaccuracies. However, some systems overcome this limitation by implementing buffering and error detection mechanisms or by using asynchronous transfer modes (ATMs) that combine aspects of both transmission types. Even so, for truly high-speed and continuous data transfers—such as those in LANs, video streaming, or server communications—synchronous transmission remains the more suitable option due to its superior throughput and reduced framing overhead.
Framing errors occur in asynchronous transmission when the receiver fails to correctly detect the start and stop bits framing each character. This usually happens due to timing mismatches, electrical noise, or corruption of the signal in transit. For example, if a start bit is misread or missed altogether, the receiver may begin sampling the bits at the wrong moment, misinterpreting the incoming data and potentially misaligning all subsequent characters. To detect framing errors, many devices use hardware-based UARTs (Universal Asynchronous Receiver Transmitters) that monitor the bit stream for expected start and stop bits. If a stop bit is not received where it should be, a framing error flag is raised. Some systems also use parity bits or checksum validation alongside framing to catch such issues. Though the data is often discarded, some protocols allow the receiver to request retransmission. Framing errors highlight the importance of signal integrity and accurate timing in asynchronous communication.
The stop bit in asynchronous transmission signals the end of a character or byte and provides a short recovery period before the next start bit arrives. Devices can be configured to use different stop bit lengths, commonly 1, 1.5, or 2 bits. Using a longer stop bit length increases the spacing between characters, giving the receiver more time to process the data and prepare for the next transmission. This is particularly useful in systems with slower processing speeds or when communication occurs over unstable or noisy lines. However, increasing the stop bit length reduces the overall efficiency of data transmission, as more time is spent sending non-data bits. Conversely, using the shortest possible stop bit (1 bit) maximises throughput but requires that both sender and receiver can handle fast, back-to-back communication with minimal margin for error. Therefore, the choice of stop bit length balances reliability and performance, depending on system capabilities and transmission conditions.
Asynchronous transmission is highly suited to embedded systems and microcontrollers because of its simplicity, low hardware requirements, and flexibility. These systems often operate in environments where complex timing circuitry is unnecessary or impractical. Asynchronous communication, typically implemented using UART interfaces, allows devices to exchange data without needing a shared clock line. This reduces wiring complexity and makes system design more straightforward. Additionally, microcontrollers often interact with sensors, actuators, and user input devices, where data is sent in short bursts at irregular intervals—exactly the kind of communication pattern asynchronous methods handle well. Start and stop bit framing ensures each byte is independently synchronised, even if there are long pauses between transmissions. Furthermore, asynchronous communication is highly tolerant of minor timing differences, making it ideal for low-power, cost-sensitive applications. Its ease of implementation and wide support in embedded development environments make it a standard choice for serial communication in such systems.
