2. BER基础
做高速电路设计,我最常被问的一个问题就是:「这个链路的误码率到底是多少?」
说实在的,BER(Bit Error Ratio,误码率)是所有抖动分析、链路预算的最终落脚点。你前面折腾半天抖动、眼图,最后客户只看一个东西:能不能跑到 10⁻¹²?
我自己的习惯是,在正式开始链路设计之前,先把BER这杆秤立起来。因为整个抖动分配都是围绕BER目标倒推的。所以这一章,咱们就把BER的基础掰开揉碎讲清楚。
2.1 误码率定义
误码率,字面意思就是传错的比特数占总传比特数的比例。
公式很简单:
BER = (接收端错误比特数) / (发送端总比特数)
举个例子:你发了 10¹² 个比特,错了 1 个,BER 就是 10⁻¹²。很多高速串行标准(比如 PCIe Gen6、以太网 400GE)都把目标定在这个量级。
但这里有个误区:BER 不是固定值,它是统计量。你测 1 秒钟可能没发现错误,测 1 小时发现一个。所以 BER 背后隐含了置信度要求。我个人做测试时,会先算好测试时长——要验证 10⁻¹² 的 BER,至少得发送 10¹³ 个比特,才勉强有点统计意义。
现实中,我们常用「误码率拐点」概念——在高信噪比下,BER 随信噪比提升会快速下降,曲线会变陡。我在调试 25Gbps 链路时就遇到过:调整了一丁点均衡器参数,眼图从闭合到张开,BER 直接从 10⁻⁵ 跳到 10⁻¹² 以下,那个拐点非常锐利。
2.2 BER与信噪比关系
BER 不是凭空来的。它和信号质量直接挂钩,最核心的关系就是信噪比(SNR)。对于最简单的二进制不归零码(NRZ),在加性高斯白噪声信道下,理论公式是:
BER = ½ · erfc( √(SNR/2) )
其中 erfc 是互补误差函数。这个公式是数学推导出来的,但实际工程中我们很少直接用——因为真正的信道还有抖动、ISI、非线性失真。但这个公式给出了一个非常重要的直觉:
| SNR(线性倍) | 对应的理论 BER(NRZ) | 我的评价 |
|---|---|---|
| 12 dB | ~10⁻¹⁰ | 勉强能用,但不够稳 |
| 14 dB | ~10⁻¹⁴ | 很安全,大部分标准都够 |
| 16 dB | ~10⁻¹⁸ | 一般链路不需要这么高 |
| 20 dB | ~10⁻²⁶ | 这基本是太空通信的级别了 |
从表格可以看出,SNR 每提升 2 dB,BER 可以改善约 3 个数量级。曲线非常陡。
但要注意——这是纯热噪声的情况。一旦加入抖动,实际 BER 会比这个理论值差很多。我做过一个对比:理想信道下,14 dB SNR 对应 BER 10⁻¹⁴ 左右;但当抖动引入后(比如 0.3 UI 的随机抖动),同样的 SNR 下实测 BER 可能只有 10⁻⁹。所以直接套公式会踩坑。
2.3 BER测试原理与设备
理论说完了,怎么测呢?BER 测试的核心思路很简单:发一段已知的伪随机码(通常是 PRBS,伪随机二进制序列),然后在接收端对比收到的序列和本地生成的理想序列,统计不一致的比特数。
经典的 BER 测试系统长这样:
主要设备包括:
- 误码分析仪(BERT):集成了PRBS发生器、误码检测器、CDR、时钟源。高端BERT内部自带误码注入、抖动注入等功能。
- 高速示波器:配合BERT做眼图测试,能快速定位问题。
- 时钟源:要求极低抖动,通常用锁相环合成器或铷钟。
这里我特别想说一下PRBS序列的选择。我调试10Gbps以上链路时,常用PRBS7(序列长度127)来快速看个大概趋势;但做最终合规测试一定要用PRBS31(2³¹-1),因为它更贴近真实数据流的频域特征。曾经有个合作方只用PRBS7测试,结果到我这边用PRBS31一跑就翻车,原来是低频抖动把长连0/1序列的时钟恢复给拖垮了。
关键测试参数:
- 比特率(Gbps)
- PRBS阶数(7/15/31)
- 测试时长(通常按BER目标+置信度计算,例如95%置信度下测10⁻¹²需至少10¹³ bits)
- 眼图模板(Mask)
- 抖动注入量(Sj/Rj)
还有一种常见场景是「压力眼测试」——人为注入特定类型的抖动,模拟系统在极限环境下的表现。我经手过的一个25Gbps背板项目,标准要求用0.2 UI的周期性抖动+0.15 UI的随机抖动做压力测试,BERT正好能完成这个功能。
最后说一句,BER测试的置信度很容易被忽略。你测了1秒没出错,不等于BER就是0。真实工程中,我会按「泊松分布」来估算需要的测试时间。比如要求BER<10⁻¹²且置信度95%,按公式:测试比特数至少 ≈ -ln(1-0.95)/10⁻¹² ≈ 3×10¹² bits。对25Gbps链路来说,大概需要120秒。所以大部份测试仪会自动跑个几分钟。
好了,这一章咱们把BER的定义、与SNR的理论关系、以及测试方法都过了一遍。我个人认为,理解BER的核心就在于「统计」二字——它不是精确值,而是概率描述。后面的抖动预算分配,其实就是在控制这个概率。