Ethernet data transmission:
Ethernet cables transmit binary data. The only two values that can be transmitted are 0 and 1. The transmitter converts a bit value into a voltage value for transmission on the wire (modulation). The receiver converts the voltage value into a bit value at the other end (demodulation). The sending and receiving station agree on a clock rate, also known as frequency, which determines how long each ‘instance’ of voltage must be applied. This process of mapping voltages to and from bits is known as line coding. There are several standards for line coding. For this example we will use 4B5B / MLT-3. (100Mb Ethernet)
4B5B is a line coding used to create a data stream that is a self clocking. 4B5B maps groups of 4 bits of data onto groups of 5 bits for transmission. These 5-bit words are defined in a dictionary and they are chosen to ensure that there will be sufficient transitions in the line state to produce a self-clocking signal. The receiver then maps the 5 received bits into 4 data bits. The following table shows the mapping of data bits to transmitted bits and vice versa.
Once the bits to be transmitted have been created they are converted to voltage using the MLT-3 coding. MLT-3 cycles through three voltage levels -1, 0, +1. It alternates from -1 to 0 to +1, back to 0, then back to -1, repeating indefinitely. The transmitter moves to the next voltage level in the cycle to transmit a one bit and stays at the same level to transmit a zero bit. The following table shows an example MLT3 transfer:
The receiving station uses MLT-3 to generate a bit from a line voltage and 4B5B to generate data bits from transmitted bits.