Frm: https://jingyan.baidu.com/album/39810a23addccbb637fda66a.html?picindex=1

RZ 编码(Return-to-zero Code),也叫归零编码。

在该编码试工中,正电平代表逻辑1,负电平代码逻辑0,并且每次传输完一位数据,信号都会回到零电平。这样,在信号线上会产生3种电平:正电平、负电平、零电平,相应的信号图例如下:

从上图中可看出,每们数据传输中都有一个归零的过程,这样接收端只需要在归零后进行新的采样,这样就不需要单独的时钟信号,这实际上相当于把时钟信号用归零处理在传输的数据中,这种信号叫自同步(self-clocking)信号。  
这虽然节省了信号线,不过还是有它固有的缺点,由于RZ编码信号中有大部分数据带宽被用于传输“归零”信号而浪费掉了。除了省去这个步骤,NRZ编码就产生了,相对于RZ编码,NRZ编码就是不需要“归零”。
 

NRZ 编码(Non-return-to-zero Code),也叫不归零编码。

下图是NRZ编码的信号图例:

从上图可以看到,每一位信号都不需要“归零”了,被浪费的带宽收回了,但又失去了应有的自同步特性,让我们感觉又回到了起点,那么先继续了解NRZI编码吧。  
 

NRZI 编码(Non-Return-to-Zero Inverted Code),也叫反向不归零编码。

NRZI编码与NRZ编码的区别就是NRZI用翻转来表示一个逻辑,而信号保持不变来表示另一个逻辑。而在USB传输的编码中采用的是NRZI格式,电平翻转代表逻辑0,电平不变代表1。

从上面的了解,NRZ和NRZI都失去了自同步特性,不过还是可以通过一些技巧来处理。

在USB中,每个数据包的最开始处都有一个同步域(SYNC),其值为00000001,在经过NRZI编码后,就是一串方波,接收方可能过这个同步头来计算发送方的频率,以便用这个频率来继续采样数据信号。由于USB所采用的NRZI编码中,每当逻辑0时就会进行电平翻转,那么接收方可通过这个不断翻转的信号来调整同步的频率,保证数据的正确传输。

但这仍然存在问题,一旦电平长时间保持不变时,我们无法知道到时发送的是100个逻辑1,还是1000个逻辑1,即使传输的是100个逻辑1,但接收方与发送方的频率相差了100分之1,那么也还是存在可能把数据采集成为99或者101。而USB中采用了Bit-Stuffing位填充处理,即在连续发送6个1后面会插入1个0,强制使发送信号进行翻转,从而让接收方调整频率,同步接收。而接收方在接收时只要接收到连续的6个1后,直接将后面的0删除即可恢复数据的原貌。

接收方只需要将上面接受到的NRZI编码数据进行译码,再进行位反填充即可还原为原始数据了。此种编码方式除了在USB上使用,还有在CD光盘以及使用光纤传输的100BASE-FX(Fast Ethernet)等产品、领域。 
 
 
 
 

编码(RZ NRZ NRZI)的更多相关文章

  1. RZ、NRZ、NRZI、曼彻斯特编码

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

  2. RFID 基础/分类/编码/调制/传输

    不同频段的RFID产品会有不同的特性,本文详细介绍了无源的感应器在不同工作频率产品的特性以及主要的应用. 目前定义RFID产品的工作频率有低频.高频和甚高频的频率范围内的符合不同标准的不同的产品,而且 ...

  3. USB 之传输编码格式 NRZI 介绍

    记录NRZI (Non-Return-to-Zero Inerted code) 非归零翻转编码,之前,我先稍微记录一下他的前身. RZ 编码(Return- to - zero coding) RZ ...

  4. 4B/5B编码原理

    4B/5B编码原理 什么是4B/5B编码? 4B/5B编码是百兆以太网(即快速以太网)中线路层编码类型之一,就是用5bit的二进制数来表示4bit二进制数,映射方式如下表所示: 为什么要进行4B/5B ...

  5. RFID编码

    信号编码系统包括信源编码和信道编码两大类,器作用是把要传输的信息尽可能的与传输信道相匹配,并提供对信息的某种保护以防止信息受到干扰.信源编码与信源译码的目的是提高信息传输的有效性以及完成模数转换等:信 ...

  6. 详解串行通信协议及其FPGA实现

    前言 好久没更新博客了,这篇文章写写停停,用了近一周的时间,终于写完了.本篇文章介绍,串口协议数据帧格式.串行通信的工作方式.电平标准.编码方式及Verilog实现串口发送一个字节数据和接收一个字节数 ...

  7. 计算机网络学习笔记NO.2 物理层

    2.1 基本概念 2.1.1 物理层概念 物理层解决如何在连接各种计算机的传输媒体上传输数据比特流,而不是指具体的传输媒体. 物理层主要任务:确定与传输媒体接口有关的一些特性(定义标准) 机械特性:定 ...

  8. 物理层(PHY)

    一.物理层的定义 物理层是OSI的第一层,它虽然处于最底层,却是整个开放系统的基础.物理层为设备之间的数据通信提供传输媒体及互连设备,为数据传输提供可靠的环境.如果您想要用尽量少的词来记住这个第一层, ...

  9. FDDI即光纤分布式数据接口

    光纤分布式数据接口它是于80年代中期发展起来一项局域网技术,它提供的高速数据通信能力要高于当时的以太网(10Mbps)和令牌网(4或16Mbps)的能力.FDDI标准由ANSI X3T9.5标准委员会 ...

随机推荐

  1. MySQL date_sub 和 date_add 函数

    DATE_SUB: 定义和用法 DATE_SUB() 函数从日期减去指定的时间间隔. 语法 DATE_SUB(date,INTERVAL expr type) date 参数是合法的日期表达式.exp ...

  2. 嵌入式C语言4.3 C语言内存空间的使用-指针与运算符

    1. ++.--.+.- int a=100; a+1; 对比: int *p=xxx;  [0x12] p+1;           [0x12+1*sizeof(*p)] 指针的加法(减法)运算, ...

  3. 导数与偏导数 Derivative and Partial Derivative

    之前做了很长时间“罗辑思维”的听众,罗胖子曾经讲起过,我们这一代人该如何学习.其中,就讲到我们这个岁数,已经不可能再去从头到尾的学习一门又一门工具课程了,而是在学习某一领域时,有目的的去翻阅工具课程中 ...

  4. MFC 模块状态的实现

    本技术备忘录介绍MFC “模块状态”结构的实现.充分理解模块状态这个概念对于在DLL中使用MFC的共享动态库是十分重要的. MFC的状态信息分为三种:全局模块状态数据.进程局部状态数据和线程局部状态数 ...

  5. 二、检索语句 SELECT、ORDER BY、WHERE

    介绍如何使用SELECT语句从表中检索一个或多个数据列   第二章: SELECT语句 SQL语句可以在一行给出,也可以分成许多行,分成多行更容易调试. 多条SQL语句必须以分号 分隔.多数DBMS不 ...

  6. 分布式ID生成器的解决方案总结

    在互联网的业务系统中,涉及到各种各样的ID,如在支付系统中就会有支付ID.退款ID等.那一般生成ID都有哪些解决方案呢?特别是在复杂的分布式系统业务场景中,我们应该采用哪种适合自己的解决方案是十分重要 ...

  7. Clairewd's message /// 字符串hash

    题目大意: 给定字符串s 是26个字母对应的密文字母 给定字符串c1 是 密文+部分原文 原文可能缺损 要求将原文补全输出 利用s得到密文字母对应的原字母rs 利用rs翻译c1得到 原文+部分密文c2 ...

  8. Mint安装配置Sublime Text3

    1.注册码: Sublime Text 3 3126 注册码 2.安装Package Control组件: 按Ctrl+`调出console(注:安装有QQ输入法的这个快捷键会有冲突的,输入法属性设置 ...

  9. Java中HashMap与ConcurrentHashMap的区别

    从JDK1.2起,就有了HashMap,正如前一篇文章所说,HashMap不是线程安全的,因此多线程操作时需要格外小心. 在JDK1.5中,伟大的Doug Lea给我们带来了concurrent包,从 ...

  10. fastjson转换包含date类型属性的对象时报错com.alibaba.fastjson.JSONException: For input string: "13:02:19"

    问题:time类型数据插入不进mysql数据库:调试的时候报如下错误: Caused by: java.lang.NumberFormatException: For input string: &q ...