4. 主链路数据通道时序:差分对、预加重、摆幅、均衡

好,咱们聊点真家伙。主链路数据通道,说白了就是让高速信号在那几对差分线上老老实实跑通。很多人觉得这活儿就是拉个线、调个电压,没那么简单。我自己吃过亏,有一次板子回来,信号眼图闭得死死的,折腾了三天才发现是预加重给的太多,高频分量反而把接收器推饱和了。嗯,今天就带你把这几个关键动作挨个理顺。

4.1 差分对:信号跑通的地基

差分对是所有工作的起点。两根线保持着100Ω差模阻抗,走线等长,但很多新手会忽略参考层的连续性。在eDP里,主链路走线如果跨分割,地平面回流路径就断了,共模噪声直接飙升。

我建议把差分对当作一个整体来对待。布线的时候,两根线尽量紧耦合,拐弯的时候一起拐,不要一根直线一根走弧线。

小提示: 差分对内等长控制做好是不够的,还要注意对间等长。不同通道之间如果skew很大,接收端的CDR会发疯。我个人习惯把对间等长控制在50mil以内。

4.2 预加重:给信号“打底”

信号走长了会衰减,尤其是高频分量。预加重,就是在发送端人为地boost一下高频。你想想,一个010101模式的信号,如果直接丢进长走线,上升沿会变缓,到了接收端就识别不清了。

预加重的本质是“加重第一个bit的电平”。

// 举例说明(伪代码)
// 假设当前bit是1,前一个bit是0(0->1跳变)
// 预加重就是在当前bit上额外拉高一个幅度:V_main + V_pre-emphasis
// 如果是连续1:1->1跳变,只保持V_main

在实际项目中,预加重值不是越大越好。我曾经遇到过一个案例,预加重打到6dB,结果信号出现过冲,接收端眼图的上眼皮直接碰顶了。你得算算信道的插入损耗曲线,在奈奎斯特频率附近给1~3dB的boost就够。

信道长度 预加重建议值 典型应用场景
< 15cm 0 dB(不开启) 近距离Flex排线
15 ~ 30cm 1 ~ 2 dB 笔记本内置eDP链路
30 ~ 50cm 3 ~ 6 dB 外置转接或长走线

4.3 摆幅:信号的能量大小

摆幅就是差分信号的峰峰值。eDP标准里常见的有三种档:小摆幅(200~400mV)、标准摆幅(400~600mV)、大摆幅(600~1200mV)。

你想想看,摆幅越大,抗噪声能力越好,但功耗也越高,EMI也更严重。很多平板设计为了省电,会选200mV的小摆幅,但要求信道损耗极小。我有一个朋友就踩过坑——小摆幅用了10cm长排线,眼图直接张不开。

注意: 摆幅不要随便调。它和预加重是联动的。你提高了预加重,如果摆幅不变,信号的直流电平会偏移,接收端的DC offset可能会失调。我建议你在调试时先用标准摆幅,确定预加重值,最后再尝试压缩摆幅来降功耗。

4.4 均衡:接收端的“助听器”

预加重是发送端的事,均衡是接收端的事。信号到了接收器,已经变形了。均衡的作用就是反向补偿,把衰减的高频重新放大,或者把低频压一压,让最终进入判决器的眼图打开。

eDP里常见的有两种均衡:CTLE(连续时间线性均衡)和DFE(判决反馈均衡)。

  • CTLE: 线性放大器,提供一个高频峰化。简单,功耗低,但对噪声敏感。
  • DFE: 非线性,根据前几个bit的值来补偿当前的bit。效果好,但实现复杂,有误码传播风险。

说实话,很多SoC内部集成了自适应均衡,它会自动扫一遍。但自动扫的不一定是最优的。我在项目里习惯手动锁住一个均衡档,然后配合预加重去调。先固定均衡到中间档,调整预加重观察眼宽和眼高。

为什么会这样?因为均衡和预加重本质上是同一件事的两端。预加重是Tx端的boost,均衡是Rx端的boost。两者配合好了,链路预算就能做得很好。

4.5 总览图:信号链路全景

下面这张图把刚才讲的几个概念串起来。信号从Tx发出,经过预加重“推一下”,再沿着差分线走,中间会有各种损耗,最后到Rx端,均衡把信号“拉回来”。

eDP主链路数据通道信号链路图 Tx 发送端 Pre-Emphasis 预加重 高频boost 1~6dB 差分信道 100Ω 阻抗匹配 长度等长 / 参考层 摆幅控制 均衡器 CTLE / DFE 反向补偿 Rx 接收端 眼图检测 链路损耗影响因素:插入损耗 / 反射 / 串扰 / 频率衰减 预加重+均衡配合补偿,眼图才能打开 链路总览:Tx预加重 → 差分信道(阻抗/摆幅/损耗) → Rx均衡 → 眼图判决

4.6 实战技巧与参数约束建议

好,理论说完了,讲点实在的。你在写eDP时序约束文件的时候,不用把所有参数都调一遍。我把重要的几个点列出来:

  1. 先写死摆幅: 如果你不确定,就选400mV。这是最安全的主链路标准。
  2. 调试预加重: 从0dB开始,每次加1dB,看眼图。眼宽变大就继续,眼高下降就停。
  3. 均衡留给芯片自适应: 大部分eDP接收器的均衡会自扫,别自己写死一档。如果你发现链路“偶尔闪黑屏”,多半是均衡没自适应过来,可以关闭自适应手动锁定一档再试。
核心经验: 我调试eDP的时候,从来不只看眼图是否“漂亮”。我会盯着眼高(Eye Height)和眼宽(Eye Width)两个数字。眼高≥100mV,眼宽≥0.25UI,才算及格。如果你想挑战高频,那就得冲着0.3UI以上去。

嗯,说白了,主链路时序就是两件事:发送端别浪费能量(预加重+摆幅),接收端别浪费能力(均衡)。做对了,链路预算就出来了。做不对,就算芯片再高级,走线再短,眼图照样张不开。你自己试试就知道了。