Embedded Systems & Firmware
A small baud-rate mismatch between UART transmitter and receiver can garble characters. Why is the tolerance limited to roughly a few percent?
- AThe receiver aligns on the start bit and then samples each bit's center with its own clock, so the error accumulates over a character and fails once it exceeds half a bit by the last bit
- BA baud-rate mismatch lowers the transmitter's voltage
- CUARTs correct mismatches automatically, so there is effectively no limit
Show answer and explanation
Answer: A. The receiver aligns on the start bit and then samples each bit's center with its own clock, so the error accumulates over a character and fails once it exceeds half a bit by the last bit
The receiver aligns its timing at the start of the start bit and then counts at its own baud rate, sampling each bit at its center. A speed mismatch makes the sampling error accumulate bit by bit, and if it exceeds half a bit by the stop bit about 10 bits later, the receiver reads the wrong bit. So the combined error of both sides must stay within a few percent, which requires care with less accurate internal oscillators.
- A. Correct. More than half a bit of drift over about 10 bits causes errors.
- B. Voltage is unrelated.
- C. An ordinary UART does not correct drift within a character.