4 AUX通道物理层特性:电压摆幅、预加重、数据速率、眼图要求

咱们调试HDCP的时候,很多人一上来就抓AUX事务层报文,结果发现链路就是协商不通过。你想想看,报文都没问题,问题出在哪?往往是物理层先挂了。AUX通道物理层那几个关键参数——电压摆幅、预加重、数据速率、眼图质量——任何一个踩线,HDCP握手就直接趴窝。

我个人习惯,拿到一块有HDCP问题的板子,先把物理层量一遍。先排除“能不能通”,再谈“通得对不对”。今天咱就把这四个参数挨个捋明白。

4.1 电压摆幅:不是越大越好

AUX通道是差分信号,典型摆幅在400mV~600mV(差分峰峰值)。DisplayPort规范里其实给了一个范围:最小200mV,最大600mV。但实际我建议你按400~600mV去调。

我记得有一次,一个客户板子AUX信号只有180mV,示波器上眼图都快闭上了。他死活调不通HDCP,我还以为是芯片驱动能力不够。后来发现是PCB走线太长,又跨了个大孔,损耗太大。最后把驱动端预加重打开,摆幅调到450mV,问题解决。

参数规范最小值规范最大值推荐工作范围
AUX差分电压(无预加重)200 mV600 mV400~500 mV
AUX差分电压(预加重开启)200 mV600 mV450~550 mV
小提示:用差分探头测AUX时,记得把探头共模电压范围设好。AUX共模通常0V附近,别用错了档位。

4.2 预加重:给信号打一针“兴奋剂”

预加重说白了,就是发送端在跳变沿瞬间把电压推高一点。为什么这么做?因为AUX线缆和PCB走线会吞掉高频分量,信号走远了,边沿变钝,眼图收拢。预加重正好补回来。

很多SoC的AUX PHY寄存器里都有一个预加重强度控制位,典型值0~7级。我曾经碰到过一个项目,5米长的DP线,不开预加重眼图闭成一条线,开了3级预加重,立马睁开了。但注意,开太大也会过冲,反而引入抖动。

// 示例:在某一款DP源端芯片中配置AUX预加重
// 寄存器地址 0x1A,bit[2:0] 预加重等级
reg_write(0x1A, 0x03); // 设置3级预加重,约6dB
踩坑记录:我曾经给预加重加了满级7级,远端是能看了,但近端(短电缆)反而因为过冲导致CDR锁不住。后来我改成动态检测线缆长度,或者统一用中等档位(3~4级),兼容性最好。

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. 1 Mbps模式用于:HDCP握手初期的AKE、SKE等轻量数据交换。
  2. 20 Mbps模式用于:批量传输EDID、HDCP关键参数(如Ks、Rsv等)。
  3. 切换时需注意PHY稳定性,建议在切换后等待至少100 us再发送数据。
关键点:很多芯片手册只写“速率自动切换”,但内部延迟差异很大。我建议你在固件里显式控制速率切换,并插入延时,避免撞上PHY的“抖动窗口”。

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%。

个人技巧:测眼图时别只用长余辉模式。打开“掩码测试”,把规范掩码套上去。如果眼图有“撞墙”倾向(边缘碰到掩码),说明信号边沿或抖动余量不足,尽早排查AC耦合电容和走线阻抗。

4.5 四个参数的联调逻辑

这四个参数不是孤立的。电压摆幅调大了,预加重可以适当小一点;数据速率提高,眼图对预加重依赖更强。我把它们的关系画了个图,方便调试时快速定位方向。

AUX物理层参数联调关系 电压摆幅 200 ~ 600 mV 预加重 0~7级 / 0~6dB 数据速率 1 Mbps / 20 Mbps 眼图质量 开高/开宽/余量 反相关 直接影响高度 改善边沿 速率越高越容易闭 20M时更需要 联调建议 先设中等预加重(3~4级),调电压摆幅至450~500 mV,测眼图开高。若眼高不足,优先加预加重而非加摆幅(避免辐射超标)。测高速率20 Mbps眼图若闭合,适当降预加重或检查PCB阻抗。

看到这个图就清楚了:眼图是最终落点,其他三个都是调节手段。我个人的调参顺序是:先把预加重固定在3级,调电压摆幅到450mV让眼图基本睁得开,再根据线缆长度微调预加重,最后测20 Mbps下的眼图掩码余量。如果20 Mbps过不了,大概率是板子走线阻抗或AC耦合电容选型有问题,别硬调寄存器。

别忘了AC耦合电容:AUX通道的AC耦合电容典型值75nF~200nF。我用100nF居多。电容太小会衰减低频分量,导致1 Mbps眼图的“平顶”塌陷。电容太大影响瞬态响应。我见过有人用了10nF,AUX根本没法用。选C0G或X7R材质,别用廉价Y5V。

4.6 实际调试中的一个决策树

干活的时候别瞎试。我给你个决策树,照着走一般能快很多:

  • Step1:示波器看AUX差分眼图。如果眼图闭合(单侧<200mV)→ 检查电压摆幅是否在规范内,是则走Step2,否则调摆幅。
  • Step2:测量上升时间。上升沿太缓(>80ns@1M)→ 检查预加重是否开启或等级不足。调高预加重后重测。
  • Step3:检查速率切换波形。切换时有无电压凹陷或毛刺?有 → 检查PHY切换时序或增加延时。
  • Step4:用掩码测试跑20 Mbps实时。掩码余量<5% → 考虑PCB走线过长,降低速率或增加预加重。