On a card that I am designing at the moment, the microcontroller will have a
>uart that will not be able to match standard baud rates exactly (because of
>the clock speed it is running at). At 115200 baud, it will be 1.36% out.
>As far as I understand it, this is not going to be a problem - there is only
>a problem if the receiver and transmitter differ by 5% or more. The line
>here is likely to be pretty stable (no noise or slow edges to reduce the
>margins), and the other end of the communication is a PC, where the baud
>rates are pretty much dead-on. Does anyone have experiance to suggest that
>this might be a problem?
A 1.36% error combined with a nominal 0% error from the other end should present you with few problems.
If the other end was potentially 1.36% off in the opposite direction, You're looking at a combined potential error > 2%, which would make me nervous.
A 5% error would almost guarantee problems. Consider that about 10 bits are sent to transmit a single byte. Even though everything is re-synched at the beginning of each byte, the error within a byte accumulates so that the error at the end of the byte might be 50% or more of a bit width. Depending how the UART does its bit sampling, you could end up with an erroneous value for the last bit as much as
50% of the time.
Regards,
-=Dave