RZ、NRZ、NRZ1、曼彻斯特编码
RZ、NRZ、NRZ1、曼彻斯特编码
在数字通信领域,编码方式的选择直接影响到数据传输的效率和可靠性。本文将详细介绍四种常见的编码方式:RZ(归零码)、NRZ(不归零码)、NRZI(反向不归零码)和曼彻斯特编码。通过对比分析它们的原理、特点和应用场景,帮助读者更好地理解这些编码方式在实际通信系统中的应用。
1. RZ(Return Zero Code)编码
也称为归零码,其特性是在一个周期内,用二进制传输数据位,在数据位脉冲结束后,需要维持一段时间的低电平。
RZ编码又分为两种:
- 单极性归零码:低电平表示0,正电平表示1。
- 双极性归零码:高电平表示1,负电平表示0。
RZ编码特点:能够同时传递时钟信号和数据信号,但由于归零,需要占用一部分的带宽。
2. NRZ(Non Return Zero Code)编码
也称不归零编码,即正电平表示1,低电平表示0。它与RZ码的区别就是它不用归零,也就是说,一个周期可以全部用来传输数据,这样传输的带宽就可以完全利用。
使用NRZ编码若想传输高速同步数据,基本上都要带有时钟线,因为本身NRZ编码无法传递时钟信号。但在低速异步传输下可以不存在时钟线,但在通信前,双方设备要约定好通信波特率,例如UART。
一般常见的带有时钟线的传输协议都是使用NRZ编码或者差分的NRZ编码。
3. NRZI(Non Return Zero Inverted Code)编码
反向不归零编码,集成了前两种编码的优点,即既能传输时钟信号,又能尽量不损失系统带宽。
编码方式:当电平状态发生变化时,表示的数据为0,信号电平不变表示1。
USB2.0通信的编码方式就是NRZI编码。
特点:
- 在传输的数据中,很少出现全1的状态,故接收端可以根据发送端的电平变化确定采样时钟频率。
- 如出现数据为全1的状态,也就是说信号线一直保持一个状态,这个时候时钟信号就无法传输,接收端就无法同步时钟信号,这该如何解决呢?
解决方式:
在一定数量的1之后强行插入一个0,就是说若信号线状态一直持续一段时间不变的话,发送端强行改变信号线的状态,接收端则只需要将这个变化忽略掉就可以了。
USB2.0的协议中规定为传输7个1则在数据中插入一个0。
举例发送数据1111 1111 ,如下图:
NRZ 和 NRZI 都没有自同步特性,但是可以用一些特殊的技巧解决。比如,先发送一个同步头,内容是 0101010 的方波,让接受者通过这个同步头计算出发送者的频率,然后再用这个频率来采样之后的数据信号,就可以了。
4. 曼彻斯特编码
利用信号的跳变方向来决定数据的。在位中间,信号由高向低跳变表示数据0,信号由低向高跳变表示数据1。
本文原文来自CSDN