Anyone have a simple-minded design for a Manchester Decoder?
Thanks in advance!
...Jim Thompson
-- | James E.Thompson, P.E. | mens | | Analog Innovations, Inc. | et | | Analog/Mixed-Signal ASIC's and Discrete Systems | manus | | Phoenix, Arizona Voice:(480)460-2350 | | | E-mail Address at Website Fax:(480)460-2142 | Brass Rat | |
formatting link
| 1962 | I love to cook with wine. Sometimes I even put it in the food.
If you detect transitions of either direction, and fire a non-retriggerable one-shot of 0.75T duration, you'll recover an unambiguous clock. The rest is easy.
--
| James E.Thompson, P.E. | mens |
| Analog Innovations, Inc. | et |
| Analog/Mixed-Signal ASIC\'s and Discrete Systems | manus |
| Phoenix, Arizona Voice:(480)460-2350 | |
| E-mail Address at Website Fax:(480)460-2142 | Brass Rat |
| http://www.analog-innovations.com | 1962 |
I love to cook with wine. Sometimes I even put it in the food.
The line always transitions in the middle of the bit. If some bit(n) is the same as bit (n-1) then do _not_ transition the line at the start of bit n. If bit(n) and bit(n-1) are different, then transition the line at the start of bit n.
As there's no guaranteed transition (low - high, high - low) at any position, the way to recover the clock is to capture both transition edges.
So to paraphrase John, set up a non-retriggerable one-shot with 0.75T and make it trigger on a high-low _or_ low-high transition direct from the data.
Good picture at
formatting link
There are one-shots with dual triggers available. Try this one for size:
If zero, then the bit will transition from high to low in the middle of the bit, and a one will force a transition from low to high in the middle of the bit.
My apologies (my mind was on something else I am in the middle of doing)
'Pure' Manchester code can have pathalogical groups of zeros or ones making decoding impossible. You also need to either use either Async (start and stop bits), or Sync (leading known sync byte) to be able to decode reliably.
Now that I recall, my earliest one loaded an assembler program into a wirewrapped 8080 machine using a version of Manchester. The only hardware was a single comparator connected to the headphone jack of a portable cassette player. This fed a variable width bit directly into an input port. The decoding (as well as the encoding) was all done in software.
"Jim Thompson" schreef in bericht news: snipped-for-privacy@4ax.com...
Well, Jim,
Suppose the digital logic is below your imagination. To make things easier an every day example. It's like an airplane: When it's down it may go up, when it's up it will go down. No other directions available :-)
-- | James E.Thompson, P.E. | mens | | Analog Innovations, Inc. | et | | Analog/Mixed-Signal ASIC's and Discrete Systems | manus | | Phoenix, Arizona Voice:(480)460-2350 | | | E-mail Address at Website Fax:(480)460-2142 | Brass Rat | |
formatting link
| 1962 | I love to cook with wine. Sometimes I even put it in the food.
--
| James E.Thompson, P.E. | mens |
| Analog Innovations, Inc. | et |
| Analog/Mixed-Signal ASIC\'s and Discrete Systems | manus |
| Phoenix, Arizona Voice:(480)460-2350 | |
| E-mail Address at Website Fax:(480)460-2142 | Brass Rat |
| http://www.analog-innovations.com | 1962 |
I love to cook with wine. Sometimes I even put it in the food.
In the early days, Tarbel Electronics produced cassette interface boards for S100 computers. They used a modification of the Manchester code. 1's produced a full cycle at the clock frequency, 0's produced a half cycle at half the clock frequency...
Decoding was more deterministic. You got a 'carrier' of all ones (clock) followed by an initial zero (start bit) which was easily detected being twice as long (independant of phase). The data was decoded as async bytes with 2 stop bits (to give your software time for storage and other overhead).
This was the system I duplicated on my 8080 system. It got one hard error in the first year of operation using a standard audio cassette deck.
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.