NRZ、NRZI编码
RZ 编码(Return-to-zero Code): 归零编码。
在 RZ 编码中,正电平代表逻辑 1,负电平代表逻辑 0,每传输完一位数据,信号返回到零电平。
信号线上会出现 3 种电平:正电平、负电平、零电平:
从图上就可以看出来,因为每位传输之后都要归零,所以接受者只要在信号归零后采样即可,这样就不在需要单独的时钟信号。实际上, RZ 编码就是相当于把时钟信号用归零编码在了数据之内。这样的信号也叫做自同步(self-clocking)信号。
在 RZ 编码中,大部分的数据带宽,都用来传输“归零”而浪费了
去掉这个归零步骤,NRZ 编码(Non-return-to-zero Code)就出现了,和 RZ 的区别就是 NRZ 是不需要归零的:
如图所示,浪费的带宽又回来了,不过又丧失了自同步特性。
NRZI:
NRZI 编码(Non-Return-to-Zero Inverted Code)和 NRZ 的区别就是 NRZI 用信号的翻转代表一个逻辑,信号保持不变代表另外一个逻辑。
USB 传输的编码就是 NRZI 格式,在 USB 中,电平翻转代表逻辑 0,电平不变代表逻辑1:
翻转的信号本身可以作为一种通知机制,可以看到,即使把 NRZI 的波形完全翻转,所代表的数据序列还是一样的,对于像 USB 这种通过差分线来传输的信号方便。
同步问题:
NRZ 和 NRZI 都没有自同步特性,但是可以用一些特殊的技巧解决。比如,先发送一个同步头,内容是 0101010 的方波,让接受者通过这个同步头计算出发送者的频率,然后再用这个频率来采样之后的数据信号。
在 USB 中,每个 USB 数据包,最开始都有个同步域(SYNC),这个域固定为 0000 0001,这个域通过 NRZI 编码之后,就是一串方波(复习下前面:NRZI 遇 0 翻转遇 1 不变),接受者可以用这个 SYNC 域来同步之后的数据信号。
此外,因为在 USB 的 NRZI 编码下,逻辑 0 会造成电平翻转,所以接受者在接受数据的同时,根据接收到的翻转信号不断调整同步频率,保证数据传输正确。
注:这样还是会有一个问题,就是虽然接受者可以主动和发送者的频率匹配,但是两者之间总会有误差。假如数据信号是 1000 个逻辑 1,经过 USB 的 NRZI 编码之后,就是很长一段没有变化的电平,在这种情况下,即使接受者的频率和发送者相差千分之一,就会造成把数据采样成 1001 个或者 999 个 1了。
USB 对这个问题的解决办法,就是强制插0,也就是传说中的 bit-stuffing,如果要传输的数据中有 7 个连续的 1,发送前就会在第 6 个 1 后面强制插入一个 0,让发送的信号强制出现翻转,从而强制接受者进行频率调整。接受者只要删除 6 个连续 1 之后的 0,就可以恢复原始的数据了。
NRZ、NRZI编码相关推荐
- NRZ与NRZI编码
NRZ与NRZI编码解释 RZ 编码(Return-to-zero Code),即归零编码. 在 RZ 编码中,正电平代表逻辑 1,负电平代表逻辑 0,并且,每传输完一位数据,信号返回到零电平,也就是 ...
- 编码(RZ NRZ NRZI)
Frm: https://jingyan.baidu.com/album/39810a23addccbb637fda66a.html?picindex=1 RZ 编码(Return-to-zero C ...
- 线路编码(NRZ,NRZI,8B/10B,Manchester等)
0.前言 编码根据作用和场景不同分为信源编码,信道编码和线路编码. 信源编码:降低信源符号之间的相关性和冗余度,通过编码提高每个符号的信息量.具体说,就是针对信源输出符号序列的统计特性来寻找某种方法, ...
- 曼彻斯特编码,差分曼彻斯特编码和NRZI编码
曼彻斯特编码 曼彻斯特编码(Manchester Encoding),也叫做相位编码( Phase Encode,简写PE),是一个同步时钟编码技术,被物理层使用来编码一个同步位流的时钟和数据. 在曼 ...
- c语言usb串口输出,C语言实现模拟USB对8bit数据的NRZI编码输出
USB的NRZI编码方式,将原数据进行处理,原数据为0时,编码成电平翻转,原数据为1时,编码成电平不翻转,USB要发送数据的时候,硬件把数据流转化成为NRZI编码,然后经过USB的差分线D+和D-将数 ...
- 几种编码方式(RZ、NRZ、NRZI、曼彻斯特编码)
此文转自:http://blog.sina.com.cn/s/blog_78e87ba10102wj9g.html 在数字电路中,组成一连串信息的基元就是0和1,无论是在CPU.DSP.MCU甚至是个 ...
- 编码(NRZ、NRZI、曼彻斯特、4B
转自:http://book.2cto.com/201506/52119.html 正如之前已提到的,本章讨论的大部分功能是由网络适配器(network adaptor)完成的,它是一个将节点连接到链 ...
- 编码(NRZ、NRZI、曼彻斯特、4B/5B)
将节点和链路变成可用构件的第一步,是清楚它们如何连接,以使比特从一个节点传输到另一个节点.正如在前一节中提到的,信号是在物理链路上传播的.因此,我们的任务是将源节点准备发送的二进制数据编码为链路能够传 ...
- RZ、NRZ、NRZI、曼彻斯特编码
转自:http://blog.sina.com.cn/s/blog_78e87ba10102wj9g.html 在数字电路中,组成一连串信息的基元就是0和1,无论是在CPU.DSP.MCU甚至是个数字 ...
最新文章
- 中国引领全球主导人工智能竞赛
- Response 输出文件流过程中的等待效果
- 使用 SAP Uiveri5 遇到 passport 依赖的问题以及解决方案
- Mysql ---Sqlserver数据迁移到Mysql(Mysql建表迁移数据)
- springmvc防止重复提交拦截器
- ospf路由协议源码学习
- iPhone 13或有8款配色;vivo百万年薪招工程师;特斯拉新增行车记录视频紧急情况自动保存功能|极客头条...
- python中修饰器_python 中的修饰器
- 谢希仁编著《计算机网络》1-6章汇总
- 从日志中截取某个时间段的日志分析
- DSP,从入门到入土
- VOC2007.annotation文件解读
- IT学生解惑真经(转) (真的好经典!)
- nginx界面管理工具之nginxWebUI 搭建与使用
- 阿里云混合云重磅发布 全栈建云智能管云极致用云
- 查看windows系统和office是否永久激活(转载)
- 台式电脑共享笔记本电脑的无线网络
- 穷人跟懒人 富人跟勤快人
- Prometheus配置企业微信报警
- MySQL二维表转一维表