--- In lpc2000@yahoogroups.com, Sean <embeddedrelated@w...> wrote: > > > Generally speaking the tolerance for all RS232 devices is about 3%. Some > go higher, but most can handle 3%. 0.16% is almost certainly fine for any > rs232 device. Interesting; your number...> 3%. The 16C550 UART statemachine uses a 16x over-sampling statemachine for detecting the NRZ bit-frame, (start/stop + each data bits). Given this, we have a 1/16 per bit frame detection that is used by the 16C550 silicon. This gives us a 6. 25% per state detection for the UART. So...if we say that for adequate and reliable bit-frame detection, we require at least 1/2 an LSB for bit-acquisition, this gives us a value of 1/32 which equals 3.125%, which is very close to your number. Now...these are numbers that are valid for the 16C550 IP. Other 16C550, or for that matter, 8250 compatible UARTs, in general may not use the same detection methods that were pioneered by National Semiconductor. Therefore, be very careful about UART clock frequencies, some PC's and devices may be ok, and others not! Some of those clone PC's are really picky and cannot tolerate any deviations! Ken Wada > > At 04:48 AM 12/15/2005, you wrote: > >Fellows, > > > >In my application the best I can get is 115384 Baud for uart0 whereas data > >source has > >speed of 115200 exactly. The error is about 0.16%. The question is - will > >lpc (2148) > >handle it? > > > >Thanks in advance, > >Dmitry. >
Message
Re: UART clock tolerance question.
2005-12-16 by Ken Wada
Attachments
- No local attachments were found for this message.