编码种类
RZ(Return Zero Code)编码
也称为归零码,就是在 一个周期内,用二进制传输数据位,在数据脉冲结束后,需要维持一段时间的低电平。
RZ编码又分为两种:
- 单极性归零码
低电平表示0,正电平表示1,如下图:
红色的线表示数据,只占据一部分的周期,剩下周期部分为归零段
- 双极性归零码
高电平表示1,负电平表示0
RZ编码特点:能够同时传递 时钟信号和数据信号 ,但由于归零,需要占用一部分的带宽
NRZ(Non Return Zero Code)编码
也称不归零编码,即正电平表示1,低电平表示0。它与RZ码的区别就是它不用归零,也就是说,一个周期可以全部用来传输数据,这样传输的带宽就可以完全利用
使用NRZ编码若想传输高速同步数据,基本上都要带有时钟线,因为本身NRZ编码无法传递时钟信号。但在低速异步传输下可以不存在时钟线,但在通信前,双方设备要约定好通信波特率,例如UART
一般常见的带有时钟线的传输协议都是使用NRZ编码或者差分的NRZ编码
示意图:
NRZI(Non Return Zero Inverted Code)编码
反向不归零编码,集成了前两种编码的优点,即既能传输时钟信号,又能尽量不损失系统带宽
编码方式:当电平状态发生变化时,表示的数据为0,信号电平不变表示1 (开始)
USB2.0通信的编码方式就是NRZI编码
波形示意图:(表示00100010)
特点:
1)在传输的数据中,很少出现全1的状态,故接收端可以根据发送端的电平变化确定采样时钟频率
2)如出现数据为全1的状态,也就是说信号线一直保持一个状态,这个时候时钟信号就无法传输,接收端就无法同步时钟信号,这该如何解决呢?
解决方式:
在一定数量的1之后强行插入一个0,就是说若信号线状态一直持续一段时间不变的话,发送端强行改变信号线的状态,接收端则只需要将这个变化忽略掉就可以了
USB2.0的协议中规定为传输7个1则在数据中插入一个0
举例发送数据1111 1111 ,如下图:
NRZ 和 NRZI 都没有自同步特性,但是可以用一些特殊的技巧解决。比如,先发送一个同步头,内容是 0101010 的方波,让接受者通过这个同步头计算出发送者的频率,然后再用这个频率来采样之后的数据信号,就可以了
曼彻斯特编码
利用信号的 跳变方向来决定数据
的。在位中间,信号由高向低跳变表示数据0,信号由低向高跳变表示数据1 (这个起始也可以反过来,看具体怎么约定)
波形示意图:(数据1001 1010)
差分曼彻斯特编码
差分曼彻斯特编码就是在 位起始点
的跳变,来判断数据的高低,每个位中间都会翻转,来保证时钟信号。
表现形式
对于以上的编码格式,可以以以下形式表现。
单端信号
单端信号指的是用一个线传输的信号,参考一般为地。单端信号是在一跟导线上传输的与地之间的电平差。当把信号从A点传递到B点时,需保证A点和B点的地电势是一样的(或者通过一根地线来保证)。优点是成本低,缺点是抗干扰能力比较差。
1.地电势差的波动影响:一条信号传输线上A点和B点对地电势差应该一致,不一致就会出现问题。假设A点电势高于B点,在信号线上就会形成微小的压差,也就会产生微弱的电流。恰恰就是这微弱的电流使我们的信号发生干扰。
2.地端电流的大小影响信号的幅值波动:地端的电流是动态的,忽大忽小,因此具有一定的波动,所以单端信号对地电压也会发生波动,这种波动会影响信号的幅度,从而信号质量会大大降低。
所以,一般单端信号用于低频电路中,适合于高幅度信号,不适合低幅度信号。
差分信号
差分传输是一种信号传输的技术,区别于传统的一根信号线一根地线的做法,差分传输在这两根线上都传输信号,这两个信号的振幅相等,相位相差180度,极性相反。在这两根线上传输的信号就是差分信号。
差分信号常用于高速电路中,例如 LVDS(低电压差分信号)。差分信号如上图的下半部分,顾名思义,差分信号就是两条信号线。差分(difference)又名差分函数或差分运算,差分的结果反映了离散量之间的一种变化,是研究离散数学的一种工具。
它将原函数 f(x) 映射到 f(x+a) - f(x+b) ,根据这个公式可以推出差分输出信号如何计算了,所以看到上面的图片可以推出输出信号的幅度为什么会是那个样子。
- 差分信号的两条传输线会随着地端同时变化,因此其差值是固定的,因此证明出差分信号的抗干扰能力比较强,同时噪声也会被同时加载到两条传输线上,其差值也为零。
- 两条传输线也会抑制电磁干扰( EMI ),原理为:两根线靠得很近且信号幅值相等,这两根线与地线之间的耦合电磁场的幅值也相等,同时他们的信号极性相反,其电磁场将相互抵消。因此对外界的电磁干扰也小。(右手定则)
- 差分信号时序定位准确,差分信号的接受端是两根线上的信号幅值之差发生正负跳变的点,作为判断逻辑0/1跳变的点的。而普通单端信号以阈值电压作为信号逻辑0/1的跳变点,受阈值电压与信号幅值电压之比的影响较大,不适合低幅度的信号。
差分信号也有缺点,其缺点也是其优点造成的:在PCB设计时,单端信号可以只有一根信号线,地线走地平面。然而差分信号一定要走两根等长、等宽、紧密靠近、且在同一层面的线,这样会发生走线密集的情况。
常见的差分信号通信协议有 CAN Bus、RS485和RS422、USB、Ethernet(以太网)、PCI-E、SATA、HDM、LVDS 等
其他
欸,没找到,有没有大佬知道还有其他的,可以在评论区告诉我。。。
参考
RZ、NRZ、NRZ1、曼彻斯特编码_rz波形_bobuddy的博客-CSDN博客
曼彻斯特编码与差分曼彻斯特编码 - zhan_p - 博客园 (cnblogs.com)
单端信号、差分信号、差模信号和共模信号 - 知乎 (zhihu.com)
常用逻辑电平标准总结_夏沫の浅雨的博客-CSDN博客 (多跳转链接,学习量大)
快速理解通信中的编码与调制 - 知乎 (zhihu.com)