4 AUX通道物理层特性:电压摆幅、预加重、数据速率、眼图要求
咱们调试HDCP的时候,很多人一上来就抓AUX事务层报文,结果发现链路就是协商不通过。你想想看,报文都没问题,问题出在哪?往往是物理层先挂了。AUX通道物理层那几个关键参数——电压摆幅、预加重、数据速率、眼图质量——任何一个踩线,HDCP握手就直接趴窝。
我个人习惯,拿到一块有HDCP问题的板子,先把物理层量一遍。先排除“能不能通”,再谈“通得对不对”。今天咱就把这四个参数挨个捋明白。
4.1 电压摆幅:不是越大越好
AUX通道是差分信号,典型摆幅在400mV~600mV(差分峰峰值)。DisplayPort规范里其实给了一个范围:最小200mV,最大600mV。但实际我建议你按400~600mV去调。
我记得有一次,一个客户板子AUX信号只有180mV,示波器上眼图都快闭上了。他死活调不通HDCP,我还以为是芯片驱动能力不够。后来发现是PCB走线太长,又跨了个大孔,损耗太大。最后把驱动端预加重打开,摆幅调到450mV,问题解决。
| 参数 | 规范最小值 | 规范最大值 | 推荐工作范围 |
|---|---|---|---|
| AUX差分电压(无预加重) | 200 mV | 600 mV | 400~500 mV |
| AUX差分电压(预加重开启) | 200 mV | 600 mV | 450~550 mV |
4.2 预加重:给信号打一针“兴奋剂”
预加重说白了,就是发送端在跳变沿瞬间把电压推高一点。为什么这么做?因为AUX线缆和PCB走线会吞掉高频分量,信号走远了,边沿变钝,眼图收拢。预加重正好补回来。
很多SoC的AUX PHY寄存器里都有一个预加重强度控制位,典型值0~7级。我曾经碰到过一个项目,5米长的DP线,不开预加重眼图闭成一条线,开了3级预加重,立马睁开了。但注意,开太大也会过冲,反而引入抖动。
// 示例:在某一款DP源端芯片中配置AUX预加重
// 寄存器地址 0x1A,bit[2:0] 预加重等级
reg_write(0x1A, 0x03); // 设置3级预加重,约6dB
4.3 数据速率:别迷信“跑满速度”
AUX通道速率分两种:低速率(1 Mbps)和高速率(20 Mbps)。实际调试中,HDCP第一阶段握手用的就是1 Mbps,第二阶段某些MSG会切到20 Mbps。问题往往出在切换瞬间。
有一次我debug一个怪问题:前三个HDCP MSG都正常,第四步EDID读取也OK,但到了LC_Rx和LC_Tx交换时,链路断了。抓波形发现AUX在切换速率瞬间电压垮了,原来PHY的PLL重新锁定花了太长时间。后来把驱动端速率切换的等待时间从50us放宽到200us,解决。
- 1 Mbps模式用于:HDCP握手初期的AKE、SKE等轻量数据交换。
- 20 Mbps模式用于:批量传输EDID、HDCP关键参数(如Ks、Rsv等)。
- 切换时需注意PHY稳定性,建议在切换后等待至少100 us再发送数据。
4.4 眼图要求:焊接式的眼图才合格
眼图是AUX信号质量的最终判据。对于1 Mbps的眼图,开口高度至少300 mV(差分),宽度至少0.6 UI;20 Mbps的眼图更严,高度要求250 mV以上,宽度至少0.5 UI。这些都是DP CTS里的硬指标。
我自己调试时,习惯用20%到80%的上升时间作为辅助判断。AUX信号上升时间一般应小于70 ns(1 Mbps)或小于10 ns(20 Mbps)。如果上升沿看着像正弦波,多半是匹配网络没搞好。
| 速率 | 眼开高度(差分) | 眼开宽度 | 上升时间(20%~80%) |
|---|---|---|---|
| 1 Mbps | ≥ 300 mV | ≥ 0.6 UI | ≤ 70 ns |
| 20 Mbps | ≥ 250 mV | ≥ 0.5 UI | ≤ 10 ns |
为什么放宽20 Mbps的眼高标准?因为高速时信号衰减本身就大,DP规范也默认了这一点。但你注意,HDCP的LC和Rekey MSG常走20 Mbps,如果眼图高度掉到200 mV以下,CRC错误率会飙升,握手反复失败。我建议你在压力测试时把目标设得比规范再严10%。
4.5 四个参数的联调逻辑
这四个参数不是孤立的。电压摆幅调大了,预加重可以适当小一点;数据速率提高,眼图对预加重依赖更强。我把它们的关系画了个图,方便调试时快速定位方向。
看到这个图就清楚了:眼图是最终落点,其他三个都是调节手段。我个人的调参顺序是:先把预加重固定在3级,调电压摆幅到450mV让眼图基本睁得开,再根据线缆长度微调预加重,最后测20 Mbps下的眼图掩码余量。如果20 Mbps过不了,大概率是板子走线阻抗或AC耦合电容选型有问题,别硬调寄存器。
4.6 实际调试中的一个决策树
干活的时候别瞎试。我给你个决策树,照着走一般能快很多:
- Step1:示波器看AUX差分眼图。如果眼图闭合(单侧<200mV)→ 检查电压摆幅是否在规范内,是则走Step2,否则调摆幅。
- Step2:测量上升时间。上升沿太缓(>80ns@1M)→ 检查预加重是否开启或等级不足。调高预加重后重测。
- Step3:检查速率切换波形。切换时有无电压凹陷或毛刺?有 → 检查PHY切换时序或增加延时。
- Step4:用掩码测试跑20 Mbps实时。掩码余量<5% → 考虑PCB走线过长,降低速率或增加预加重。