2. 抖动类型
咱们做 Rx 抖动容限测试,第一件事就是搞清楚抖动的“户口本”。
你拿示波器看眼图,那些边沿的晃动,到底是随机抖出来的,还是电路里有鬼?
我个人习惯,先把抖动分成两大类——随机性抖动(RJ)和确定性抖动(DJ)。
然后确定性抖动里,又有一个很常见的分支叫数据相关抖动(DDJ)。
最后把所有这些加起来,就是总抖动(TJ)。
嗯,下面咱们一个一个拆开看。
2.1 随机抖动(RJ):老天爷赏的方差
随机抖动,说白了就是热噪声、散粒噪声这类物理底噪引起的。我做项目时遇到过好几次,明明 PCB 布局没问题,电源也挺干净,但眼图就是有一层“雾”。
RJ 的特点很明显:
- 服从高斯分布,无限尾
- 无界,简单说就是时间越长,测到的峰值越大
- 与数据 pattern 无关
在测试里,RJ 通常用 RMS(均方根)值来表征,单位 ps。
2.2 确定性抖动(DJ):有迹可循的偏差
确定性抖动就好办多了,它一定有具体原因。我印象最深的一次,是电源纹波耦合进了时钟 Buffer,导致输出时钟边沿周期性抖动——那就是 DJ 里的周期性抖动(PJ)。
DJ 的主要子类包括:
- 周期性抖动(PJ): 由开关电源、EMI 等周期性干扰引起,频谱上有尖峰
- 占空比失真(DCD): 高低电平不对称,常见于单端 CMOS 驱动
- 数据相关抖动(DDJ): 下面单独讲
2.3 数据相关抖动(DDJ):历史依赖症
DDJ 是 DJ 里最“狡猾”的一种。它依赖前面传输了啥 bit,所以也叫码间干扰(ISI)或模式相关抖动。
我举个例子吧。咱们发一串 “1111100000”,高电平持续 5 个 UI,低电平也持续 5 个 UI。由于传输线的损耗和反射,前几个 bit 的幅度还没稳定,后几个 bit 的边沿位置就会不一样——这就是 DDJ。
DDJ 的测量方法也特别些:
- 抓一整段长 PRBS 码型
- 按 bit 序列分类统计每个边沿的抖动
- 画出的“眼图余辉”就能看出明显的高低电平差分
2.4 总抖动(TJ):实际工作的判据
总抖动,就是把 RJ 和 DJ 合在一起。但注意,不是简单相加。
我用的公式是:
TJ = DJ + 2 × α × σ_RJ
其中 α 取决于目标误码率(BER)。
比如 BER=10^-12 时,α≈14。举个例子:
- DJ=30ps(双峰)
- σ_RJ=1ps
- α=14
那 TJ = 30 + 2×14×1 = 58ps。
这个值就是我们在 Rx 接收端要容忍的极限。
| 类型 | 分布 | 有无界 | 典型来源 | 测试手段 |
|---|---|---|---|---|
| RJ | 高斯 | 无界 | 热噪声、散粒噪声 | RMS 测量,BER 扫描 |
| DJ | 双峰 / 多峰 | 有界 | 串扰、电源噪声 | 直方图峰峰值 |
| DDJ | 与 pattern 相关 | 有界 | ISI、反射 | 码型相关直方图 |
| TJ | 高斯 + 双峰 | 随 BER 增长 | 上述总和 | 浴盆曲线拟合 |
你可能会问,TJ 为什么要用这么复杂的公式?
因为 RJ 是概率性的,不能直接加峰值。我刚开始做这行时,傻傻地用 RJ_pp + DJ 来算,结果过设计了 30%——浪费成本,还影响了高速信号的眼高。
2.5 四种抖动的结构关系
下面这张图总结了它们之间的父子关系,也方便你上手写测试用例时做层次划分。
你看,从 TJ 出发,咱们要分别处理 RJ 和 DJ。而 DJ 内部又可以拆出好几路。每次测试前,我习惯先看一眼 DJ 的直方图——如果出现双峰,大概率是 PJ 或 DCD;如果是跟码型对得上的抖动,那就是 DDJ。
2.6 总结:测试前要分清这四类
讲到这里,你应该已经能把这四种抖动对号入座了。
- RJ: 靠滤除不了,只能控制 RMS 值。
- DJ: 必须找到根源,否则容限永远打不满。
- DDJ: 特别关注通道回损和均衡器设置。
- TJ: 只看一个数字,但内里是 RJ 和 DJ 的博弈。
嗯,这一章就到这里。记住,分清抖动类型,比会算公式更重要。