数据信号
低速/全速的 SOP 和 EOP
SOP:Start Of Packet,Hub 驱动 D+、D- 这两条线路从 Idle 状态变为 K 状态。SOP 中的 K 状态就是 SYNC
信号的第 1 位数据,SYNC 格式为 3 对 KJ 外加 2 个 K。
EOP:End Of Packet,由数据的发送方发出 EOP,数据发送方驱动 D+、D- 这两条线路,先设为 SE0 状态并维持 2
位时间,再设置为 J 状态并维持 1 位时间,最后 D+、D- 变为高阻状态,这时由线路的上下拉电阻使得总线进入 Idle 状态。
高速的 SOP
高速的 EOP 比较复杂,作为软件开发人员无需掌握。
高速模式中,Idle 状态为:D+、D- 接地。SOP 格式为:从 Idle 状态切换为 K 状态。SOP 中的 K 状态就是 SYNC 信号的第 1
位数据。
高速模式中的 SYNC 格式为:KJKJKJKJ KJKJKJKJ KJKJKJKJ KJKJKJKK,即 15 对KJ,外加 2 个 K。
NRZI 与位填充
NRZI:Non Return Zero Inverted Code,反向不归零编码。NRZI的编码方位为:对于数据 0,波形翻转;对于数据
1,波形不变。
使用 NRZI,发送端可以很巧妙地把“时钟频率”告诉接收端:只要传输连续的数据 0 即可。在下图中,低速/全速协议中“Sync
Pattern”的原始数据是“00000001”,接收端从前面的 7 个 0 波形就可以算出“时钟频率”。
使用 NRZI 时,如果传输的数据总是“1”,会导致波形维持不变。如果电平长时间维持不变,比如传输 100 位 1
时,如果接收方稍有偏差,就可能认为接收到了 99 位 1、101 位 1。而 USB 中采用了 Bit-Stuffing 位填充处理,即在连续发送 6 个 1
后面会插入 1 个 0,强制翻转发送信号,从而让接收方调整频率,同步接收。而接收方在接收时只要接收到连续的 6 个 1 后,直接将后面的 0
删除即可恢复数据的原貌。
全部0条评论
快来发表一下你的评论吧 !