转自:http://blog.sina.com.cn/s/blog_78e87ba10102wj9g.html

在数字电路中,组成一连串信息的基元就是0和1,无论是在CPU、DSP、MCU甚至是个数字计数器中,数字电路在其中能够处理的信息也只有0和1,而对于任何外界的信息,计算机都能通过两个量来描述,那就是0和1。而对于数字通信来说,想要用0和1来传递你想传达的信息,则必须要通过一种特殊的约定来进行同步,这种约定就是编码。两台设备要想进行有线通信,最终都是将想要传达的信息转变成一串比特流,进而在传输线上进行传输。常规数字通信为数据线+时钟线的形式,但对于高速信号而言,时钟线和数据线长度的稍稍偏差,就会造成接收端无法满足数据采样的建立时间,故会导致数据出错。而最好的方式就是将时钟信号和数据信号用同一根线来传递,所以出现了一些比较特殊的编码,是的时钟和数据能够融合在一起。下面主要讨论5中常用的编码方式:

1.RZ(Return Zero Code)编码
      RZ编码也成为归零码,归零码的特性就是在一个周期内,用二进制传输数据位,在数据位脉冲结束后,需要维持一段时间的低电平。举个图例吧:
图1 RZ码示意图
图中红色的线表示数据,只占据一部分的周期,剩下周期部分为归零段。而归零码而分为单极性归零码和双极性归零码,图1表示的是单极性归零码,即低电平表示0,正电平表示1。对于双极性归零码来说,则是高电平表示1,负电平表示0。如下图所示:
图2 双极性RZ码示意图

这种编码方式虽说能够同时传递时钟信号和数据信号,但由于归零需要占用一部分的带宽,故传输效率也就收到了一定的限制,假设数据传输时间为t,一个周期时间为T,则这种传输效率η=t/T。
2.NRZ(Non Return Zero Code)编码
      NRZ编码也成为不归零编码,也是我们最常见的一种编码,即正电平表示1,低电平表示0。它与RZ码的区别就是它不用归零,也就是说,一个周期可以全部用来传输数据,这样传输的带宽就可以完全利用。一般常见的带有时钟线的传输协议都是使用NRZ编码或者差分的NRZ编码。因此,使用NRZ编码若想传输高速同步数据,基本上都要带有时钟线,因为本身NRZ编码无法传递时钟信号。但在低速异步传输下可以不存在时钟线,但在通信前,双方设备要约定好通信波特率,例如UART。
图3 NRZ编码示意图
3.NRZI(Non Return Zero Inverted Code)编码
      NRZI编码的全称为反向不归零编码,这种编码方式集成了前两种编码的优点,即既能传输时钟信号,又能尽量不损失系统带宽。对于USB2.0通信的编码方式就是NRZI编码。其实NRZI编码方式非常的简单,即信号电平翻转表示0,信号电平不变表示1。例如想要表示00100010(B),则信号波形如下图所示:
图4 NRZI编码示意图
由图可以看到,当电平状态发生变化时,表示的数据为0。在传输的数据中,很少出现全1的状态,故接收端可以根据发送端的电平变化确定采样时钟频率。但是有时候依然会出现数据为全1的状态,也就是说信号线一直保持一个状态,这个时候时钟信号就无法传输,接收端就无法同步时钟信号,这该如何解决呢?解决方式就是在一定数量的1之后强行插入一个0,就是说若信号线状态一直持续一段时间不变的话,发送端强行改变信号线的状态,接收端则只需要将这个变化忽略掉就可以了。在USB2.0的协议中规定为传输7个1则在数据中插入一个0。例如有一段数据为:1111 1111 (B)要发送,则整个传输线上的电平状态是这样的:

图5
5.曼彻斯特编码
曼彻斯特编码方式和NRZI编码十分相似,只不过它是利用信号的跳变方向来决定数据的。在位中间,信号由高向低跳变表示数据0,信号由低向高跳变表示数据1。举个图例吧,若要表示数据1001 1010(B),则信号波形图如下图所示:

图6 曼彻斯特编码示意图
      曼彻斯特编码方式也如前面所说,虽然传输了时钟信号,但也损失了一部分的带宽,主要表现在相邻相同数据上。但对于高速数据来说,这种编码方式无疑是这几种编码方式中最优的,相比NRZI编码,曼彻斯特编码不存在长时间信号状态不变导致的时钟信号丢失的情况,所以在这种编码方式在以太网通信中是十分常用的。
      总结了以上这几种编码方式,其实最终体现的都是一个问题,就是如何将时钟信号传递出去,对于任何数字通信而言,时钟信号都是首先要考虑的问题,因为同步通信在接收端对数据进行采样时,都是利用发送端发出的时钟信号作为采样基准源,只有保证优质的数据信号和时钟信号被传送出来,才能够保证采样端不会在亚稳态区中进行采样而导致数据的错误。以上内容都是个人的浅见,如有不足或不对之处,欢迎指正,我定虚心请教!

RZ、NRZ、NRZI、曼彻斯特编码相关推荐

  1. 编码(RZ NRZ NRZI)

    Frm: https://jingyan.baidu.com/album/39810a23addccbb637fda66a.html?picindex=1 RZ 编码(Return-to-zero C ...

  2. 几种编码方式(RZ、NRZ、NRZI、曼彻斯特编码)

    此文转自:http://blog.sina.com.cn/s/blog_78e87ba10102wj9g.html 在数字电路中,组成一连串信息的基元就是0和1,无论是在CPU.DSP.MCU甚至是个 ...

  3. RZ、NRZ、NRZI、曼彻斯特编码(针对)

    (2016-09-26 20:05:56) 正在上传-重新上传取消​转载▼ 标签: 杂谈 it 分类: Electronic 在数字电路中,组成一连串信息的基元就是0和1,无论是在CPU.DSP.MC ...

  4. 汽车电子学习笔记---RZ、NRZ、NRZ1、曼彻斯特编码

    汽车电子学习笔记-RZ.NRZ.NRZ1.曼彻斯特编码 1.RZ(Return Zero Code)编码 也称为归零码,特性就是在一个周期内,用二进制传输数据位,在数据位脉冲结束后,需要维持一段时间的 ...

  5. RZ、NRZ、NRZ1、曼彻斯特编码

    1.RZ(Return Zero Code)编码 也称为归零码,特性就是在一个周期内,用二进制传输数据位,在数据位脉冲结束后,需要维持一段时间的低电平. RZ编码又分为两种: 单极性归零码 低电平表示 ...

  6. 曼彻斯特编码,差分曼彻斯特编码和NRZI编码

    曼彻斯特编码 曼彻斯特编码(Manchester Encoding),也叫做相位编码( Phase Encode,简写PE),是一个同步时钟编码技术,被物理层使用来编码一个同步位流的时钟和数据. 在曼 ...

  7. CAN 总线 之六 BOSCH CAN 比特位填充(编码规则)、归零编码(RZ)和不归零编码(NRZ)

    帧格式   在 CAN 总线中,为了确保足够的转换以保持同步,在相同极性的 5 个连续位之后使用位填充.下面以 标准格式来进行说明,先看下面标准格式的帧的图示: 在某些文档中,将 CAN 帧分为以下部 ...

  8. 编码与调制(曼彻斯特编码、调制解调器等)

    基带信号与 宽带信号 信道:信号的传输媒介.一般用来表示向某一个方向传送信息的介质,因此一条通信线路往往包含一条发送信道和一条接收信道 信道有两种分类手段,可按照传输信号分为模拟信道和数字信道,按照传 ...

  9. 线路编码(NRZ,NRZI,8B/10B,Manchester等)

    0.前言 编码根据作用和场景不同分为信源编码,信道编码和线路编码. 信源编码:降低信源符号之间的相关性和冗余度,通过编码提高每个符号的信息量.具体说,就是针对信源输出符号序列的统计特性来寻找某种方法, ...

最新文章

  1. 数据库安装时挂起问题
  2. win8计算机管理打不开,win8,资源管理器未响应,文件夹打不开,假死……
  3. 动态折线图 python_python 怎么做个动态折线
  4. dojo 的DOM操作 dojo/dom
  5. 7-84 点赞狂魔 (25 分)
  6. java中定义一个栈容器_Java 容器之 Connection栈队列及一些常用
  7. Keil MDK下载程序时的相关设置
  8. 翻译连载 | 附录 B: 谦虚的 Monad-《JavaScript轻量级函数式编程》 |《你不知道的JS》姊妹篇...
  9. Markdown示例
  10. Ubuntu 系统 代码比对工具Meld Diff 下载与使用介绍
  11. Revit平台盗版软件的陷阱与风险
  12. afn原理 ios_iOS AFNetworking网络框架详解
  13. HTML网页调用 网易云 音乐播放器代码
  14. ply补全为立方体_PLY文件格式及其解析 | 学步园
  15. [WinError 10060]错误
  16. JSP 页面访问用户验证
  17. deepin标题栏边框美化
  18. 使用 AccountManager 实现系统内共享账号
  19. 怎么配置java环境_idea配置java环境
  20. HTML标签基础知识

热门文章

  1. 两种方式完成批处理的优缺点
  2. python检测Harris角点
  3. 基于C#实现的文件管理文件系统
  4. e820内存数据处理
  5. 计算机主机启动不了系统安装,电脑开机后进不了系统只是在运行怎么办 电脑开机进不了系统原因【图文】...
  6. linux进程无条件终止,kill - 终止进程/发送信号
  7. GBASE核心业务系统解决方案入围工信部“2022年信息技术应用创新典型解决方案”
  8. eclipse工具栏图标太小
  9. 实现语音对讲_BGS实现800兆对讲机和手持终端的语音通信融合
  10. Openstack云环境的登录和基本使用