??? 07/04/05 20:33 Read: times |
#96554 - My idea used in past on 68332 TPU Responding to: ???'s previous message |
At a time about 8 years ago I made an RC5 decoder that worked as follows: I synced the start of a state machine to tight narrow band detection of the IR sync pulse. Then after that I used capture compares similar to what you propose to see 1X-0's 2X-0's 1x-1's and 2x-1's. Each detection width used a rather wide tolerance for detection such as for example the widest 1x-1 tolerance was not all that much smaller than the narrowest 2x-1.
At each detection my algorithm would shift one or two 1's or 0's into a software shift register that was at least 2x-bits longer than the length of the manchester bit sequence. After a minimum shift counter was attained I would validate the "manchester decode" since each adjacent bit pair in the software shift register has to be 1:0 or 0:1 for valid manchester. The final "data" is either every even bit or every odd bit from the shift register. The big advantage of this approach over the 3/4 bit cell sampling scheme is that the algorithm is able to track both instantaneous and cummulative error in the IR signal. When you consider how much distortion exists in IR transmissions due to lighting and IR bounce this can be a huge advantage. The 3/4 bit time sampling scheme is not the most robust for IR transmission .....I have tried it and found reliability and distance improved nearly two times with the above algorithm. I can dig out the code from the TPU implementation if you would like to look at it. It is "classic" state machine. I may even still have some PC code that samples IR from a parallel port bit that works in a similar manner. Michael Karas |
Topic | Author | Date |
Decoding manchester with only capture in | 01/01/70 00:00 | |
the non-trivial excursion | 01/01/70 00:00 | |
Yes! | 01/01/70 00:00 | |
not necessarily error | 01/01/70 00:00 | |
A bit more about ... | 01/01/70 00:00 | |
Does this helps | 01/01/70 00:00 | |
Its not software Jim | 01/01/70 00:00 | |
Who's Jim? | 01/01/70 00:00 | |
well... | 01/01/70 00:00 | |
My example code | 01/01/70 00:00 | |
My idea used in past on 68332 TPU | 01/01/70 00:00 | |
It all becomes clearer | 01/01/70 00:00 | |
The answer.... | 01/01/70 00:00 | |
problem in manchester decoding using pca | 01/01/70 00:00 | |
problem in manchester decoding using pca | 01/01/70 00:00 | |
problem in manchester decoding using pca![]() | 01/01/70 00:00 |