4、码型影响:PRBS、长周期码型、连续同码(CLK)对DDJ的贡献
码型对DDJ的影响,说白了就是数据中“0”和“1”的排列方式决定了抖动的样子。你想想看,同样的信道,跑PRBS7和跑PRBS31,测出来的DDJ可能差好几倍。
我刚开始接触信号完整性时,总觉得码型是测试时随便选一个就行了。直到有一次项目,我用PRBS7调试通过的设计,换成实际业务码型就不合格了……嗯,从那以后我再也不敢轻视码型的选择。
4.1 PRBS码型:短周期与长周期的差异
PRBS(伪随机二进制序列)是DDJ分析中最常用的测试码型。它的特点是统计意义上接近真实数据,但周期可预测。
| PRBS阶数 | 周期长度(Bit) | 最长连续同码 | 典型DDJ贡献 |
|---|---|---|---|
| PRBS7 | 127 | 7 | 低,低频分量少 |
| PRBS15 | 32767 | 15 | 中等 |
| PRBS23 | 8,388,607 | 23 | 较高 |
| PRBS31 | 2,147,483,647 | 31 | 高,逼近真实业务 |
我自己习惯在前期仿真时先用PRBS7快速验证,但最终TDR和眼图测试一定要上PRBS31。为什么?因为长周期PRBS包含更多低频分量,会激发信道中的基线漂移效应。
4.2 长周期码型的挑战:基线漂移与低频响应
长周期码型带来的最大问题是什么?是低频能量。信道中的AC耦合电容、变压器、DC块等元件,对低频分量的衰减不一样。
我记得有一次调试10Gbps链路,用PRBS7眼图半开,换PRBS31后眼图几乎闭合。排查了半天,发现是一个AC耦合电容的转折频率太高,低频分量被切掉了,导致长串“0”后出现明显基线漂移。
- 基线漂移机理:长串相同码(比如连续31个“1”)让电容充电到接近稳态,随后一个跳变就会产生过冲或下冲,增大ISI。
- 对DDJ的影响:漂移使得过零点偏移量不再固定,而是依赖之前码型的历史——这就是记忆效应。
- 测试建议:我一般会跑一个“worst-case”码型,或者直接使用PRBS31+8B/10B加扰来逼近真实场景。
4.3 连续同码(CLK)的DDJ贡献
连续同码——也就是时钟信号1010…——看似简单,其实对DDJ有独特贡献。你想想,时钟信号没有长串“0”或“1”,ISI应该最小对吧?
实际上,连续同码下的DDJ主要来源于码间干扰中的“对称性ISI”。因为上升沿和下降沿完全对称,且每个比特都一样,过零点偏移会呈现严格的周期模式——这就是确定性抖动中的周期成分。
- CLK码型的DDJ特征:只有在信号速率与信道谐振频率匹配时才会显著,通常表现为固定的峰峰值。
- 与实际数据的差异:CLK码型掩盖了长周期效应,无法暴露基线漂移。我碰见过一个案例:用CLK测试一切正常,换成数据码型就翻车。
- 什么时候用CLK:我个人只在验证PLL抖动传递特性时使用CLK,其他时候坚持用PRBS。
| 码型类型 | DDJ主要来源 | 低频激励 | 测试代表性 |
|---|---|---|---|
| PRBS7 | ISI(短记忆) | 弱 | 偏低 |
| PRBS31 | ISI + 基线漂移 | 强 | 高 |
| 连续同码(CLK) | 周期ISI | 无 | 低(仅用于时钟链路) |
4.4 码型影响DDJ的核心逻辑图
下面这张图总结了不同码型通过什么路径影响DDJ,以及它们在测试中的定位。你一眼就能看清楚选择码型时的权衡。
4.5 实用建议:怎么选码型?
我不想给你一个死板的规则,但根据实际项目经验,我总结了一个简单决策树:
- 快速排查链路问题:用PRBS7,几秒就能看眼图,但要注意低频效应可能被隐藏。
- 最终认证测试:必须用PRBS31(或对应行业标准的加扰码型)。PCIe、USB、SATA都有各自的规范,别偷懒。
- 专用时钟链路:用CLK码型,但不要把它当作数据链路的代表。
- 遇到疑难杂症:我建议同时跑PRBS7、PRBS15、PRBS31,对比DDJ的峰值和分布变化。如果PRBS7到PRBS31的DDJ增量超过一倍,信道低频响应大概率有问题。
好了,这一章的核心就是:码型不是随便选的,它直接决定了你测到的DDJ能否代表真实场景。记住——PRBS31和CLK之间,中间隔着整个实际业务。