??? 12/20/05 17:45 Modified: 12/20/05 18:04 Read: times |
#105612 - 1 x T Responding to: ???'s previous message |
Joseph said:
For a random data sequence you could look for a quanta period T such that every measured period is equal to n x T for some n = 1, 2, 3, 4, ..., 8, (9, maybe?), within some acceptable %error tolerance (n = 8 or 9 maximum assumes that the random data stream is limited to a single character). Yes, that was the idea! But only the "1 x T" periods is checked, by what I wrote. Joseph said:
Hasn't it been shown in another thread(s) that the unitary period must be within 2% or 3% of the ideal in order for the UART to work. I suspect that would define the acceptable error in any test. As a rough approximation you can assume the following: UART divides the bit time into 16ths. Each bit is checked then at 7th, 8th and 9th state. If the bit clock is wrong, then about one half bit out-of-synchronization at the 10th bit (if ten bits are transmitted) is allowed. This gives a maximum allowed relative error of about 0.5 x 100% / 10 = 5%. If 11 bits are transmitted then maximum allowed error is about 0.5 x 100% / 11 = 4.5% This is the theoretical limitation, if there's neither jitter nor noise. Of course, a tolerance of only 2% or 3% would give much safer results. In the methode I mentioned in the last post, the shortest interval is looked for, and it's checked then whether there are other intervals which's duration are as short or up to 5% longer. This means a window of about +-2.5%. This is done only, to find out, whether this interval is a regular bit time or created by noise. Of course, to find the correct interval of bit time all these same short inervals need to be averaged. Joseph said:
Frankly, I like the way Atmel does it. The firmware assumes that the autobaud character is an uppercase 'U', which means that the data stream is a series of alternating 1's and 0's. In other word, every transition occurs after a single (n = 1 above) untary period. That's got to make for the simplest algorithm possible. Of course. But I interpreted the OP like that he has to deal with a random stream. Kai |
Topic | Author | Date |
Help to sense baud rate of incoming data | 01/01/70 00:00 | |
Search for Auto-baud or Automatic baud.. | 01/01/70 00:00 | |
Search | 01/01/70 00:00 | |
a good link to have (save it) | 01/01/70 00:00 | |
Normally not needed | 01/01/70 00:00 | |
Known start sequence | 01/01/70 00:00 | |
In the code Library | 01/01/70 00:00 | |
Time machine(part 2!) | 01/01/70 00:00 | |
If signal transmitted is randomly | 01/01/70 00:00 | |
n x T | 01/01/70 00:00 | |
1 x T![]() | 01/01/70 00:00 |