NRZI編碼

NRZI(Non Return to Zero Invert,不归零就反向)的编码方式,无须同步的时钟信号也能产生同步的数据存取。NRZI的编码规则是,当数据位为“1”时不转换,为“0”时再作转换。如图1所示,显示了NRZI编码的范例。位传输的顺序以LSB(最低位)为优先。

转 NRZI编码 - will - wind_0328的博客

  图1 NRZI编码的范例说明

  NRZI编码的数字再生回路的数字逻辑电路如图2所示。其相对应的编号变化如图3所示。这样,接收与传输器两端的机制中,就无须先送出分离的时钟信号,或者在每一个字节中添加起始或结束位(如RS - 232)。如果用户使用示波器来观察这种USB数据,将会发现它不像其他的接口,可以以逻辑准位来读取这些传送或接收的位。

转 NRZI编码 - will - wind_0328的博客

  图2 USB的NRZI再生回路的数字逻辑电路图

转 NRZI编码 - will - wind_0328的博客

  图3 相对A、B、C位置NRZI再生回路的信号关联图

  这样的编码方式会遇到一个很严重的问题:若重复相同的“1”信号一直进入时,就会造成数据长时间无法转换,逐渐地累积而导致“塞车”的状况,使得读取的时序就会发生严重的错误。因此,在NRZI编码之间,还需执行所谓的位填塞(bits-tuffing)的工作。如图4(a)所示,若原始的串行数据中含有连续6个“1”位,就须执行位填塞的工作。此工作如图4(b)所示,就在其后填塞一个“0”位。但相对地在NRZI编码的过程中,对这连续的6个“1”执行,如图4(c)所示。

转 NRZI编码 - will - wind_0328的博客

  图4 NRZI译码的过程

  因此在发送端进行数据传输之前,须先执行位填塞和NRZi编码的工作。相对的,在接收端进行数据接收之前,就必须先执行NRZI译码,然后再做位反填塞(unbit-tuffing)的工作。这一部分的电路会通过USB芯片中的SIE(串行接口引擎)来实现。


以上內容轉自http://blog.163.com/wind_0328/blog/static/6751207120100382441584/

不過有一點不慎明白,CLK怎麼得到。是不是full speed 就固定是12MHZ,high speed就固定是480MHZ?

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值