从保同步到抗干扰:USB 2.0与USB 3.0数据编码与加扰技术演进
高速串行总线在传输数据时,面临两个核心物理层挑战:一是保证接收端能从信号中恢复时钟(时钟同步),二是控制信号的电磁干扰(EMI)。USB 2.0和USB 3.0针对这两大问题,采用了截然不同的技术组合。理解这套组合的逻辑,就是理解USB物理层设计的精髓。
EMI 就是 电磁干扰 的英文缩写 (Electromagnetic Interference).
一、USB 2.0:NRZI + 位填充,以“保同步”为第一目标
USB 2.0运行于480 Mbps,其核心痛点是:如何在没有独立时钟线的情况下,让接收端锁相环(PLL)稳定提取时钟。
1. NRZI编码
NRZI以信号是否跳变来表示数据:
- 逻辑0 → 信号跳变(翻转)
- 逻辑1 → 信号保持
这种设计的一个显著优点是:连续的“0”会变成高速翻转的方波,为接收端提供丰富的时钟边沿。但一个致命弱点随之暴露:连续的“1”会让信号长时间“卡”在同一电平,毫无跳变。接收端PLL在这种“静默期”会逐渐失锁,最终导致数据错误。
2. 位填充
为解决长“1”问题,USB 2.0引入位填充规则:当数据流中出现连续6个“1”时,发送端强制插入一个“0”。这个“0”强制产生一次跳变,从而重置接收端的时钟同步窗口。接收端在解码时,会识别并丢弃这个额外插入的“0”。
3. USB 2.0的遗留短板:EMI问题
NRZI + 位填充成功解决了时钟同步问题,但它无法解决另一个重要问题:周期性数据模式产生的强EMI。
当主机反复发送同一数据(例如全0闲置模式、固定地址、重复图像块)时,信号呈现严格的周期性。在频域上,这意味着能量集中在少数离散频率上,形成尖锐的窄带峰值。这些强峰值辐射会干扰周边设备(如无线鼠标、WiFi),也极难通过电磁兼容性(EMC)认证。
根源:USB 2.0从未引入任何机制来“打散”数据的规律性。位填充只打断长“1”,无法破坏宏观的数据周期性。就像用同一个印章反复盖——印章的图案规律始终不变。
二、USB 3.0:加扰 + 8b/10b,兼顾同步与EMI
USB 3.0将速率提升到5 Gbps。速率越高,信号的高频分量越强,EMI问题越突出。同时,接收端对时钟同步的要求也更苛刻。因此,USB 3.0采用了全新的双重处理流水线:先加扰,后8b/10b编码。
1. 数据加扰:破坏周期性,平摊频谱
加扰器的核心是一个16位线性反馈移位寄存器(LFSR),其生成多项式为:
G(X) = X¹⁶ + X⁵ + X⁴ + X³ + 1
工作原理:发送端将原始8位数据与LFSR产生的伪随机序列进行异或操作。即使原始数据是周期性的(如连续的0x00),异或后的数据也会变成近似白噪声的非周期序列。接收端使用相同的LFSR再次异或,即可完美恢复原始数据。
关键效果:原本集中在少数频率的离散尖峰能量,被“摊平”到一个连续宽频带上。峰值辐射大幅降低,EMI问题得到根本性缓解。
重要细节:加扰器只处理数据符号(D字符),而命令符号(K字符)(如包界定符、链路命令)则绕过加扰器直接通过。这确保了协议层面的控制信息能被接收端及时、无歧义地识别。
2. 8b/10b编码:保证直流平衡与足够跳变
加扰之后,数据进入8b/10b编码器。它的作用与NRZI完全不同:
- 直流平衡(DC Balance):通过计算运行不一致性(Running Disparity),编码器保证输出序列中“1”和“0”的数量基本相等。因此信号的平均电平(直流分量)始终稳定在基准电平(通常0V)附近。这避免了接收端比较器参考电平失效的问题。
- 保证最小跳变密度:8b/10b编码保证任何合法序列中连续相同值不会超过5位。这为接收端PLL提供了足够频繁的时钟边沿,确保时钟恢复的稳定性。
8b/10b无法解决EMI:它是确定性的——相同的8位原始数据永远编码成相同的10位符号。如果主机反复发送同一数据,输出就是同一个10位符号重复发送,仍然会产生强烈的周期性辐射。这正是加扰必须在编码之前执行的根本原因。
三、分工对比:一套完整的物理层防护体系
| 技术 | 核心目的 | 解决的问题 | 无法解决的问题 |
|---|---|---|---|
| NRZI + 位填充 (USB 2.0) | 保证时钟同步 | 长“1”导致PLL失锁 | 周期性数据 → EMI |
| 数据加扰 (USB 3.0) | 破坏数据周期性 | 重复模式 → EMI尖峰 | 直流平衡、长连续相同值 |
| 8b/10b编码 (USB 3.0) | 保证直流平衡+最小跳变 | 电平漂移、PLL失锁 | 周期性数据 → EMI |
处理顺序决定最终效果:
- USB 2.0:原始数据 → 位填充 → NRZI编码 → 发送。(无加扰,周期性直接暴露)
- USB 3.0:原始数据 → 加扰(打乱规律) → 8b/10b编码(保证平衡与跳变) → 发送。
为什么不能相互替代?
- 若只用8b/10b而不加扰:重复数据产生重复10b符号,EMI依然严重。
- 若只用加扰而不编码:加扰虽随机,但偶然出现的长连“1”或“0”(概率虽低但可能发生)足以让接收端PLL失锁,也无法保证直流平衡。
二者是互补而非重叠的关系:加扰负责“频谱整形”,8b/10b负责“物理可传输性”。前者让信号在频域上干净,后者让信号在时域上可靠。
四、演进逻辑:带宽越高,EMI越成为主要矛盾
USB 2.0的时代,480 Mbps下EMI虽存在,但尚可依靠屏蔽电缆、PCB布线技巧等方式控制在可接受范围。因此设计重心放在“如何让接收端锁住时钟”这个基础生存问题上。
到了USB 3.0的5 Gbps,信号的频率成分扩展到更高频段,辐射效率大幅提升。如果仍沿用NRZI + 位填充,即使严格屏蔽,也很难通过全球各地区的电磁兼容认证。此时,EMI从“次要问题”升级为“首要限制因素”。加扰技术因此成为高速串行总线的标准配置。
此后,PCIe、SATA、USB 3.x/4乃至Thunderbolt,无一例外地采用了“加扰 + 直流平衡编码”的双重架构。原理始终如一:加扰消除周期性,编码保证可传输性。
五、小结
- USB 2.0:NRZI + 位填充——以“保同步”为单一目标,能工作,但EMI是固有短板。
- USB 3.0:加扰 + 8b/10b——分工协作。加扰破坏数据的周期性,将离散频谱尖峰“摊平”为连续谱,从根源上缓解EMI;8b/10b则在加扰后的数据上保证直流平衡与足够跳变,确保接收端能稳定恢复时钟和数据。
一句话总结:8b/10b或NRZI保证“信号能传过去”;加扰保证“信号传得干净、不干扰别人”。两者结合,才是现代高速串行总线物理层设计的完整答案。
本文链接为:http://www.usbzh.com/article/detail-1667.html ,欢迎转载,转载请附上本文链接。
USB2.0物理层的电信号





