Differential Manchester encoding
Differential Manchester encoding is a line code in which data and clock signals are combined to form a single 2-level self-synchronizing data stream. It is a differential encoding, using the presence or absence of transitions to indicate logical value. It is not necessary to know the polarity of the sent signal since the information is not kept in the actual values of the voltage but in their change: in other words it does not matter whether a logical 1 or 0 is received, but only whether the polarity is the same or different from the previous value; this makes synchronization easier.
Differential Manchester encoding is not to be confused with biphase mark code (BMC) or FM1, biphase space coding, and biphase level coding since these four lines codes are each unique.
Differential Manchester encoding has the following advantages over some other line codes:
- A transition is guaranteed at least once every bit, allowing the receiving device to perform clock recovery.
- Detecting transitions is often less error-prone than comparing against a threshold in a noisy environment.
- Unlike with Manchester encoding, only the presence of a transition is important, not the polarity. Differential coding schemes will work exactly the same if the signal is inverted (wires swapped). (Other line codes with this property include NRZI, bipolar encoding, coded mark inversion, and MLT-3 encoding).
- If the high and low signal levels have the same voltage with opposite polarity, coded signals have zero average DC voltage, thus reducing the necessary transmitting power and minimizing the amount of electromagnetic noise produced by the transmission line.
These positive features are achieved at the expense of doubling clock frequency - the symbol rate is twice the bitrate of the original signal. Each bit period is divided into two half-periods: clock and data. The clock half-period always begins with a transition from low to high or from high to low. The data half-period makes a transition for one value and no transition for the other value. One version of the code makes a transition for 0 and no transition for 1 in the data half-period; the other makes a transition for 1 and no transition for 0. Thus, if a "1" is represented by one transition, then a "0" is represented by two transitions and vice versa, making Differential Manchester a form of frequency shift keying. Either code can be interpreted with the clock half-period either before or after the data half-period.
Biphase mark coding transitions on every positive edge of the clock signal (when the clock goes from 0 to 1) and it also transitions on the negative edge of the clock signal when the data is a 1.
Differential Manchester is specified in the IEEE 802.5 standard for token ring LANs, and is used for many other applications, including magnetic and optical storage. Biphase Mark Code (BMC) is used as the encoding method in AES3 and S/PDIF. Many magnetic stripe cards also use BMC encoding, often called F2F (frequency/double frequency) or Aiken Biphase. That standard is described in ISO/IEC 7811. SMPTE time code also uses BMC. BMC is also the original "frequency modulation" used on single-density floppy disks, before being replaced by "double-density" modified frequency modulation.
- Watkinson, J. (1994) The Art of Digital Audio, 2nd edition. Oxford: Focal Press. ISBN 0-240-51320-7
- Introduction to magnetic stripe technology
- (http://www.pcbheaven.com/wikipages/manchester_coding/) Manchester and Differential Manchester Code