Ethernet – Signal Encoding
Manchester Signal Transition
The device driver software receives a frame of IP, IPX, NetBIOS, or other higher-layer protocol data. From this data, the device driver constructs a frame, with appropriate Ethernet header information and a frame check sequence at the end. The circuitry on the adapter card then takes the frame and converts it into an electrical signal. The voltage transitions in the transmitted bit stream are in accordance to the format called Manchester Signal Encoding. Manchester encoding describes how a binary ONE and ZERO are to be represented electrically. Manchester encoding is used in all 10 Megabit per second Ethernets; for example, 10BASE2 Thin Ethernet, 10BASE5 Thick Ethernet, and 10BASE-T Twisted-Pair Ethernet. You may want to read the additional perspective on Manchester encoding. In the 100 Mbps Ethernet section of the Compendium there is a section describing the different Fast Ethernet encoding schemes.
Here, we see an example of the signal transitions used to encode the hexadecimal value “0E”, which converts to “00001110” in binary. Notice that there is a consistent transition in the middle of each bit-time. Sometimes this transition is from low-to-high and sometimes it’s from high-to-low. This is the clock transition. The receiving adapter circuitry ‘locks on’ to this constant signal transition and, thereby, identifies the timing to determine the beginning and end of each bit. To represent a binary ONE, the first half of the bit-time is a low voltage; the second half of a bit is always the opposite of the first half, that’s how the clock transition is created. To represent a binary ZERO, the first half of the bit-time is a high voltage. You see that sometimes there an additional transition at the beginning of a bit-time (not drawn in the diagram above) where the signal is pulled either up or down in preparation for the next bit.
Consider what happens if an external electromagnetic field interferes with the Manchester bit encoding. This external field could be the result of an electric motor, radio transmission, or other source of interference. You should be able to see that if the Manchester signal is disrupted the bits will be destroyed – because the clock signal will be disrupted. It would not be reasonably possible for electrical interference to change a binary ONE into a binary ZERO. Since each bit is symmetrical (second half is always opposite the first half) the result of electrical noise would be the destruction of the bit; not a change in bit value.
Signal Encoding in Ethernet / 802.3
If two circuits on a single circuit board were exchanging bits they could simply raise and lower a voltage to represent ‘1’s and ‘0’s. They would know the exact moment to raise or lower the voltage because the two circuits would share a common clock pulse from a trace on the circuit board. At the pulse of the clock one circuit would raise the voltage and the other circuit would know to expect the voltage raise at the same moment.
When two circuits are sending bits to each other across a network they need a mechanism to synchronize their clocks. In this way they both know when a bit starts and when it stops.
The process of sending a clock pulse along with a data signal is referred to as a ‘Manchester’ signal encoding scheme. Ethernet and IEEE 802.3 networks represent their data differently than do Token-Ring networks but they both use the same clocking scheme.
The clock signal is a constant pulse. On an Ethernet or 802.3 network the signal is present only when a frame is being transmitted. Otherwise the cable is electrically ‘0’. On a Token-Ring / 802.5 network there is a constant clock signal generated by a station called the ‘Active Monitor’.
A receiving station synchronizes its own clock with the clock signal in the received signal. In this way it knows when a bit starts and when it ends. The signal that is occurring at this ‘start’ of a bit determines whether the bit will be a ‘1’ or a ‘0’.
Ethernet and 802.3 describe a ‘1’ as a LOW VOLTAGE at the beginning of a bit time and a ‘0’ as a HIGH VOLTAGE at the beginning of a bit time. Consequently, a ‘1’ transitions from LOW to HIGH in the middle of the bit-time and a ‘0’ transitions from HIGH to LOW in the middle of the bit-time to create the clock pulse.
Comparison to Token-Ring Signaling
Token-Ring / 802.5 uses the same clock signal transition in the middle of the bit-time but the encoding of the data is done by including, or not including another transition at the beginning of the bit-time. The spec describes a ‘1’ as the ABSENCE OF A SIGNAL TRANSITION at the beginning of a bit time and a ‘0’ as a SIGNAL TRANSITION occurring at the beginning of a bit time. The transition can be from HIGH to LOW or from LOW to HIGH, it doesn’t matter. (The direction of the clock transition in the middle of the bit-time also doesn’t matter.)