Back Next
Technique : NRZI - non-return to zero invert.

  Use change in signal to represent one of the bit values.

  
  In example above, 
    Transition (in either direction) represents a 1. 
   
  Bit density high.

  The transitioning bit can be used to re-sync timing.

  Even if wiring switched, transition still correctly identifiable.
  
  Historically, a transition represents a 1, 
    but different protocols may represent 0s by transition.

Problems :
  Long strings of zeros still problematic. 

Possible Solution:
 
  Limit the run of non-transition bits to keep within error range.
    Bit stuffing.
      Stuff a transition bit after a specific length of non-transition bits.

      USB 1,2 uses bit stuffing. 
        USB uses transition to represent 0

        Stuffs a 0 after 6 sequential 1s.

      Even if then next bit is a 0, it stuff an additional 0.

      If 7 1s detected, signals error to sender.
    
      It must see a zero, which it will always discard.

    Use RLL - run length limited encoding.

      The majority of technologies use RLL
        Hard drives.
        USB 3

Next