Non-Return to Zero (NRZ) Encoding

Non-return to zero encoding is commonly used in slow speed communications
interfaces for both synchronous and asynchronous transmission. Using NRZ,
a logic 1 bit is sent as a high value and a logic 0 bit is sent as a low
value (the line driver chip used to connect the cable may subsequently invert
these signals).

A problem arises when using NRZ to encode a synchronous link which may
have long runs of consecutive bits with the same value. The figure below
illustrates the problem that would arise if NRZ encoding were used with
a DPLL recovered clock signal. In Ethernet
for example, there is no control over the number of 1's or 0's which may
sent consecutively. There could potentially be thousands of 1's or 0's in
sequence. If the encoded data contains long 'runs' of logic 1's or 0's,
this does not result in any bit transitions. The lack of transitions prevents
the receiver DPLL from reliably regenerating the clock making it impossible
to detect the boundaries of the received bits at the receiver. This is the
reason why Manchester coding is used in EthernetLANs.

A long run of bits with the same value results in no
transitions on the cable when NRZ encoding is used