Maker Pro
Maker Pro

Manchester Decoder

J

Jim Thompson

Anyone have a simple-minded design for a Manchester Decoder?

Thanks in advance!

...Jim Thompson
 
J

John Larkin

Anyone have a simple-minded design for a Manchester Decoder?

Thanks in advance!

...Jim Thompson

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.

John
 
J

Jim Thompson

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.

John

"transitions of either direction" ??

Now I'm lost :-(

Please elaborate for the analog guy ;-)

...Jim Thompson
 
P

PeteS

Jim said:
"transitions of either direction" ??

Now I'm lost :-(

Please elaborate for the analog guy ;-)

...Jim Thompson

Manchester encoding has:

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 http://en.wikipedia.org/wiki/Manchester_encoding

There are one-shots with dual triggers available. Try this one for size:
http://focus.ti.com/docs/prod/folders/print/cd74hct221.html

:)

Cheers

PeteS
 
P

PeteS

PeteS said:
Manchester encoding has:

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 http://en.wikipedia.org/wiki/Manchester_encoding

There are one-shots with dual triggers available. Try this one for size:
http://focus.ti.com/docs/prod/folders/print/cd74hct221.html

:)

Cheers

PeteS
I'll admit to a major brainfart

The encoding is:

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)

Cheers

PeteS
 
L

Luhan

John said:
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.

John

'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.

Luhan
 
L

Luhan

Luhan said:
'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.

Luhan

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.

Luhan
 
P

petrus bitbyter

Jim Thompson said:
"transitions of either direction" ??

Now I'm lost :-(

Please elaborate for the analog guy ;-)

...Jim Thompson

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 :)

petrus bitbyter
 
F

Fred Bartoli

John Larkin a écrit :
If that's too simple, just think it at the transistor level :)
 
M

Martine Riddle

Jim Thompson said:
Anyone have a simple-minded design for a Manchester Decoder?

Thanks in advance!

...Jim Thompson

Check OpenCores.org. I believe they have an open Decoder in VHDL.

Cheers
 
J

John Larkin

What's VHDL? Does it have a VBE ?:)

...Jim Thompson


Very Hard to Deceipher Language. It's a way to make a simple schematic
into scores of pages of gibberish.

John
 
J

Jim Thompson

Very Hard to Deceipher Language. It's a way to make a simple schematic
into scores of pages of gibberish.

John

<Smirk>

...Jim Thompson
 
L

Luhan

Jim said:
Anyone have a simple-minded design for a Manchester Decoder?

Thanks in advance!

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.

Luhan
 
Top