NRZI 编码(Non Return Zero Inverted Code),即反向不归零编码。
其实NRZI编码方式非常的简单,即信号电平翻转表示0,信号电平不变表示1;例如想要表示00100010(B),则信号波形如下图所示:
由图可以看到,当电平状态发生变化时,表示的数据为0。在传输的数据中,很少出现全1的状态,故接收端可以根据发送端的电平变化确定采样时钟频率。但是有时候依然会出现数据为全1的状态,也就是说信号线一直保持一个状态,这个时候时钟信号就无法传输,接收端就无法同步时钟信号,这该如何解决呢?解决方式就是在一定数量的1之后强行插入一个0,就是说若信号线状态一直持续一段时间不变的话,发送端强行改变信号线的状态,接收端则只需要将这个变化忽略掉就可以了。
例如有一段数据为:1111 1111 (B)要发送,则整个传输线上的电平状态是这样的: