4. USB电气规范解读
各位同学,欢迎来到第四章。前面我们聊了USB的电气规范和拓扑结构,那些都是“静态”的规则。但从这一章开始,我们要进入真正的“动态”世界——信号在PCB上跑起来之后,会发生什么。
信号完整性,说白了就是研究“信号从发送端到接收端,到底变成了什么鬼样子”。我见过太多工程师,原理图画得飞起,板子一回来,USB就是枚举不上。查来查去,最后发现是走线太长、阻抗不匹配,信号都反射成毛刺了。嗯,这节课我们就把这些坑一个个填上。
4.1 传输线效应:导线不再是导线
你想想看,低速的时候,一根导线就是一根导线,你给它高电平,另一端就是高电平。但到了USB 2.0的480Mbps,信号的上升沿只有几百皮秒。这时候,导线的寄生电感和寄生电容就不能忽略了。
我习惯把传输线看作是由无数个微小的LC单元串联而成的网络。信号每向前传播一步,都要给这段线路的寄生电容充电,同时还要克服寄生电感的阻碍。这就导致了两个关键现象:
- 信号延迟: 信号在PCB上的传播速度大约是光速的60%左右,也就是约15cm/ns。对于高速时序来说,这个延迟必须精确计算。
- 特性阻抗: 这是传输线最重要的参数。它不是一个电阻值,而是信号在传输线上感受到的瞬时阻抗。对于USB D+/D-,我们通常要求差分阻抗为90Ω,单端阻抗为45Ω。
为什么阻抗这么重要?因为它直接决定了信号会不会被反射。
4.2 反射与振铃:信号的“回音”
反射是怎么产生的?很简单:阻抗不连续。
信号就像一个奔跑的人,在平坦的路上跑得很顺畅。突然路面变窄了(阻抗变高),或者路面变宽了(阻抗变低),这个人就会踉跄一下,甚至被弹回来。这个“弹回来”的能量,就是反射信号。
反射的严重程度用反射系数Γ来衡量:
Γ = (Z_load - Z0) / (Z_load + Z0)
其中Z0是传输线的特性阻抗,Z_load是负载端的阻抗。
- 如果Z_load = Z0,Γ = 0,无反射,完美匹配。
- 如果Z_load = ∞(开路),Γ = 1,全反射,信号电压翻倍。
- 如果Z_load = 0(短路),Γ = -1,全反射,信号电压反相。
振铃就是反射的多次叠加。信号在源端和负载端之间来回反射,就像钟摆一样,在高低电平之间来回振荡。振铃严重时,会超过接收端的输入阈值,导致误触发。
解决反射和振铃,我总结了三个办法:
- 阻抗匹配: 在源端串联电阻(通常22Ω或33Ω),或者在接收端并联电阻到地,让源端或负载端的阻抗与传输线匹配。
- 控制走线拓扑: 避免走线分支,所有分支都会造成阻抗不连续。USB走线必须采用点对点连接。
- 缩短走线长度: 当走线长度小于信号上升沿对应物理长度的1/6时,反射效应可以忽略。对于USB 2.0,这个长度大约是5-8cm。
4.3 串扰与耦合:邻居之间的“悄悄话”
串扰,就是一根走线上的信号,通过电磁场耦合到旁边的走线上。你想想看,PCB上的走线间距只有几密耳(mil),信号频率又高,它们之间就像挨得很近的天线,互相“串门”是难免的。
串扰分为两种:
- 容性耦合: 通过走线之间的寄生电容耦合。主要影响信号的上升沿和下降沿,产生正向的串扰脉冲。
- 感性耦合: 通过走线之间的互感耦合。主要影响信号的回流路径,产生反向的串扰脉冲。
在USB差分对中,我们利用串扰的原理来抑制共模噪声。差分信号在两根线上幅度相等、极性相反,它们产生的电磁场会相互抵消。这就是为什么差分走线要“紧密耦合”——靠得越近,抗干扰能力越强。
串扰的严重程度与以下因素有关:
| 因素 | 影响趋势 | 我的建议 |
|---|---|---|
| 走线间距 | 间距越大,串扰越小 | 保持3W原则(间距≥3倍线宽) |
| 信号上升时间 | 上升沿越陡,串扰越大 | 在满足时序的前提下,适当减缓边沿 |
| 平行长度 | 平行越长,串扰越大 | 避免长距离平行走线,必要时加地孔隔离 |
| 参考平面 | 有完整地平面时串扰更小 | 确保走线下方有连续的地平面 |
4.4 眼图基础:信号质量的“体检报告”
眼图是什么?说白了,就是把接收到的数字信号,按照比特周期叠加在一起,显示在示波器上。因为形状像人的眼睛,所以叫眼图。
眼图能告诉我们什么?太多了。它就像一份信号质量的体检报告,所有的问题都会在眼图上暴露无遗。
- 眼高: 眼睛张开的高度,代表信号的噪声裕量。眼高越大,信号越强壮。
- 眼宽: 眼睛张开的宽度,代表信号的时序裕量。眼宽越大,抖动越小。
- 抖动: 信号边沿的随机偏移,表现为眼图交叉点的模糊区域。抖动越大,误码率越高。
- 过冲/下冲: 信号超过或低于正常电平的部分,表现为眼图上下边缘的毛刺。
为什么会产生抖动?原因很多:电源噪声、串扰、反射、时钟抖动、甚至PCB板材的介电常数不均匀。解决抖动,需要从整个系统层面入手。
下面这张图,是我总结的本章知识体系,帮你理清思路: