What is the Manchester Line Code
The Manchester Line Code is a line code that transports both data and timing information on a single serial binary data stream.
We use the Manchester Line Code in the Physical Layer.
A Manchester Line Encoder works by encoding each data bit to be either low-then-high or high-then-low – for equal amounts of time.
Since this encoded data is “high” and “low” for equal times, there is no DC bias within this signal.
More specifically, IEEE 802.3 specifies that a Manchester encoder should encode a “1” bit by setting the output to a logic “low” for the first half of a bit period and then by setting the output to a logic “high” for the second half of this bit period.
This encoding scheme requires a rising clock edge at the middle of this bit period.
Conversely, IEEE 802.3 also specifies that a Manchester encoder should encode a “0” bit by setting the output to a logic “high” during the first half of a bit period and then set the output to a logic “low” for the second half of the bit period.
This situation requires that a falling clock edge occurs in the middle of this bit period.
Figure 1 shows a drawing of a data stream that we have encoded into the Manchester format.
The very top trace is the clock signal. The middle signal trace contains the data (that we wish to encode). Finally, the bottom signal trace presents the resulting encoded data.
Figure 1, An Drawing of a Data Stream that we have encoded into the Manchester format
Manchester coding works by exclusive-ORing (XOR) the Original Data and the Clock signal, as Table 1 presents below.
Table 1, Encoding Data into the Manchester Line Code
Where did the Manchester Line Code come from?
The University of Manchester (in the United Kingdom) developed the Manchester Line Code.
What are its strengths?
The Manchester Line Code has two primary strengths:
- It is an electrically balanced line code and has no DC bias.
- It provides a large number of clock edges for “clock and data recovery” at the remote receiving terminal. The Manchester Line Code does not need to use any “Zero-Suppression” scheme.
What are its weaknesses?
Since Manchester encoding requires a clock edge for each bit of data, the frequency content of a Manchester-encoded signal is quite high.
This fact limits the data rates that the user can transmit a Manchester encoded data stream over a band-limited channel.
In other words, the Manchester line code is not suitable for transmitting high-speed signals over band-limited channels.
Where is it used?
10BASE-T (10Mbps Ethernet over Twisted Pair) applications use the Manchester Line Code.
Other Line Codes
- RZ (Return to Zero)
- NRZ (Non-Return to Zero)
- NRZI (Non-Return to Zero-Inverted)