USB系列(1) NRZI及Bit Stuffing

1. 什么是NRZI?

NRZI的全称是Non-Return-to-Zero, Inverted, 翻译成中文是翻转不归零码。什么意思呢,先看spec截图:
NRZI
不归零的意思是编码方式相对于归零码(正电平,负电平,0电平)而言,还是只有两种电平,不用每次编码完都回到0电平。
翻转是指当出现逻辑0时,电平翻转,因此不需要负电平来表示0。
总结一下编码方式:0变1不变

2. 为什么要用NRZI?

  • 没有归0步骤,节省了大量的数据带宽
  • 没有负电平,表示起来方便

3. 如何自同步?

NRZ编码本身并不带自同步功能,USB在协议中加入了同步头(SYNC),对于每一个USB Packet, 都有一个同步域固定为0000_0001, 这个域翻译成NRZI编码就是01010100, 接收者通过这个同步头可以算出发送者的频率。

4. 为什么需要Bit-Stuffing?

SYNC需要可以解决同步的问题,但是如果发送端一直发1, 那由NRZI编码后的电平会一直保持不变,从SYNC计算出来的频率只要有一点点偏差,累积后都会造成较大的误差,所以USB协议中采取了bit stuffing的机制来避免出现长时间的1。简单说,每6个连续的1之后,会强制插入一个0,使得发送信号强制出现翻转,接收方在收到翻转信号时可以调整频率,从而实现时钟同步。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值