Start and stop bits are crucial in asynchronous data transmission, helping devices correctly synchronise during communication by marking the beginning and end of each byte.
Introduction to Asynchronous Transmission
In digital communication systems, data must be accurately interpreted at the receiving end. This process relies on synchronisation between the sender and the receiver. There are two common transmission methods used in computing and communication systems: synchronous and asynchronous transmission. Asynchronous transmission is widely used in situations where data is sent irregularly or in small bursts, such as from computer peripherals or over serial connections.
Unlike synchronous transmission, which relies on a shared clock signal to coordinate the transmission and reception of data, asynchronous transmission does not use a shared clock. Instead, it uses start and stop bits to define when a character (usually a byte) starts and ends. This system of framing allows each character to be sent independently, with its own built-in synchronisation signals.
The Importance of Framing
Framing is essential in asynchronous transmission. Since there is no shared timing signal between the sender and receiver, there must be a clear way to indicate when each byte of data starts and finishes. This is where start and stop bits come into play.
Practice Questions
FAQ
Asynchronous systems avoid using a shared clock to simplify the hardware and reduce cost and complexity, especially in scenarios where devices only communicate intermittently. Without a shared clock, each device operates on its own internal timing. This independence means the transmitter and receiver cannot assume the exact timing of each other’s signals, which introduces a risk of misinterpreting the data. Start and stop bits are introduced to mitigate this risk. The start bit provides a clear signal for the receiver to begin sampling, while the stop bit allows time to reset and prepare for the next data frame. This approach allows communication to remain reliable even with slight timing discrepancies between devices. Since there’s no continuous synchronisation, each character is treated as a standalone event, making this system more tolerant to delays and jitter. It’s especially useful in low-speed applications like keyboards, where data is sent at irregular intervals rather than in a constant stream.
If the receiver misinterprets the start bit—often due to electrical noise, signal distortion, or a sudden voltage change—it may begin sampling at the wrong time. Since the receiver relies on the start bit to synchronise its internal timing for the following data bits, any error here can cause it to read bits incorrectly or misalign the entire data frame. This can lead to corrupted characters, where the interpreted byte differs from what was sent. The receiver will still attempt to read a stop bit in the expected position, and if it doesn’t detect a logic 1 there, it flags a framing error. Depending on the system, this could trigger an error handling routine, discard the corrupted byte, or request a retransmission. In systems with continuous traffic, the receiver will typically wait for the next valid start bit to resynchronise. To reduce this risk, physical transmission mediums often include shielding or filtering to suppress noise.
Yes, in many systems—especially those using UART (Universal Asynchronous Receiver-Transmitter) hardware—start and stop bits can be configured to suit specific communication needs. While the start bit is almost always fixed as a single logic 0, the stop bit length can be adjusted. Systems may use 1, 1.5, or 2 stop bits depending on the required reliability and timing tolerance. Using more stop bits allows more time between characters, which can benefit slower receivers or systems needing additional processing time between bytes. However, increasing the number of stop bits reduces the overall efficiency of the communication, as more non-data bits are transmitted per character. For instance, using 2 stop bits instead of 1 increases reliability but introduces more overhead. This trade-off must be carefully considered in system design. Both communicating devices must be configured identically, or mismatches will result in framing errors and data corruption, as the receiver will misinterpret the bit sequence structure.
In asynchronous communication, the parity bit is an optional bit inserted between the data bits and the stop bit(s) to provide basic error detection. The inclusion of a parity bit does not affect the functioning of start or stop bits directly, but it does alter the total frame length. A typical asynchronous frame with 1 start bit, 8 data bits, 1 parity bit, and 1 stop bit has a total of 11 bits. The start bit still signals the beginning of the frame, while the stop bit concludes it, but the receiver must be configured to expect and correctly interpret the parity bit’s position. The parity bit is used to check whether the number of 1s in the data is even or odd, depending on whether even or odd parity is selected. If the parity check fails, the system can flag an error, though it won’t always request retransmission. Proper configuration of parity settings is crucial to avoid misinterpretation during communication.
Yes, modern high-speed communication systems typically use synchronous transmission protocols or more advanced framing methods that do not rely on start and stop bits. In synchronous systems, a shared clock signal or embedded clocking techniques like clock recovery are used to maintain continuous synchronisation between sender and receiver. Examples include Ethernet, USB, and fibre-optic communication systems. These systems achieve higher data rates by transmitting large blocks of data in frames or packets, rather than character-by-character. They often use frame headers, checksums, and preambles to mark the start and end of transmissions, along with complex encoding schemes like Manchester encoding or 8b/10b encoding. These methods maintain timing and ensure data integrity without the need for start and stop bits. While start and stop bits are simple and reliable for low-speed, short-burst communication (like in UART or RS-232), they are inefficient for large-scale or high-bandwidth data transfer where overhead must be minimised.
