UCIe物理层基础:Physical Layer架构、数据速率、通道特性
做UCIe测试,第一件事就是搞清楚物理层长什么样。很多人一上来就盯着FEC和误码率,结果连通道损耗都没看对,白白浪费几周。我刚开始接触UCIe时也被它的分层搞得头晕,后来画了张图贴在白板上,才慢慢理清脉络。
这一节我们就把物理层的底牌翻出来。你不用记住所有寄存器名字,但架构、数据速率和通道特性这三个东西必须刻在脑子里。俗话说“基础不牢,地动山摇”,咱们就从这里开始筑牢根基。
Physical Layer的层级结构
UCIe物理层其实不只是一层。它内部又分成逻辑子层和电气子层,中间还有一组边带通道独立跑控制信息。你想想看,数据信号和训练信号混在一起容易出问题,分开走反而更干净。
逻辑子层负责跟协议层打交道。我见过不少设计人员以为物理层只管电信号,其实逻辑子层做的事情相当多:链路初始化、训练序列交换、CRC校验、FEC编码、重传仲裁。嗯,这里要注意,UCIe的FEC是放在逻辑子层的,不是电气层。调优时如果你改的是电气层均衡,那FEC参数不会跟着动。
电气子层更贴近实际铜线。它包含低速的边带通道和高速的数据通道。电气子层要搞定TX/RX均衡、时钟数据恢复(CDR)、串行化/解串行化。举个例子,我在调试一个32GT/s的链路时,发现CDR的带宽设低了,导致眼图闭合。后来把CDR带宽从10MHz调到20MHz,BER立刻降了两个数量级。
关键分层职责速查
| 子层 | 核心任务 | 与误码率的关系 |
|---|---|---|
| 逻辑子层 | 链路训练、FEC编解码、重传、CRC | 直接决定残余BER;FEC强度影响纠错能力 |
| 电气子层 | 串行/解串、均衡、时钟恢复 | 影响原始BER;均衡不足会增加FEC负担 |
| 边带通道 | 训练状态机、参数协商、链路管理 | 边带误码会导致训练失败或参数错配 |
数据速率与链路配置
UCIe标准支持多种数据速率,目前主力是32 GT/s和64 GT/s,新产品已经往128 GT/s走了。速率越高,通道损耗越严重,误码率越难看。
我个人习惯在做项目规划时先问清楚目标速率,再反推需要多少预算的通道损耗。
速率参数对比
| 参数 | 32 GT/s | 64 GT/s | 128 GT/s(规划中) |
|---|---|---|---|
| 单元间隔 (UI) | 31.25 ps | 15.625 ps | 7.8125 ps |
| 典型通道损耗@Nyquist | ≤ 15 dB | ≤ 25 dB | ≤ 35 dB |
| 推荐FEC强度 | RS(450,432) 或更弱 | RS(544,514) 或更强 | RS(544,514)+重传 |
| 常见原始BER | ≤ 1e-5 | ≤ 1e-4 | ≤ 1e-3 |
你看这个表格,32GT/s的UI有31ps,通道损耗15dB以内还能保持可读的眼图。但到了64GT/s,UI只有15ps,一个简单的反射尖峰就可能吃掉半个眼高。
我曾经在一个项目中遇到夸张的情况——客户要求跑64GT/s,但实际封装走线损耗已经超过30dB。我坚持让他们重新做基板设计,他们嫌麻烦。最后样片回来,原始BER达到2e-3,FEC纠不过来。那段时间我们天天泡在实验室调均衡器,真的很狼狈。你想想看,这种事最好在物理层规划阶段就解决掉,别指望靠软件打补丁。
通道特性与信号完整性
通道是物理层中最不可控的部分。它包含封装、基板、连接器到另一端的封装。UCIe对通道有严格的插入损耗和回波损耗要求,但实际做到位并不容易。
我通常把通道特性分成三块来看:
- 插入损耗(IL):频率越高,损耗越大。32GT/s的奈奎斯特频率是16GHz,IL要求低于15dB;64GT/s则是32GHz下的25dB。注意,这里的dB值是针对整个通道的,包括BGA焊球、过孔和走线。
- 回波损耗(RL):阻抗不连续点会产生反射,反射回来的能量干扰信号。我记得有一次测一个链路的RL,在20GHz处竟然只有7dB,说明阻抗匹配一塌糊涂。换了一组PCB材料,RL才回到12dB以上。
- 串扰:相邻信号线之间的耦合。UCIe采用差分线,理论上抑制共模串扰,但实际中差分对内的偶模串扰依然存在。我习惯在布局时留出3倍线宽的间距,效果比较保险。
⚠️ 避坑指南:通道损耗估算
我曾经在第一个UCIe项目中低估了封装带来的损耗。当时仿真显示通道IL为13dB,但实测达到18dB。后来发现是仿真模型缺少了焊球和过孔的寄生参数。从那以后,我要求仿真必须包含完整的封装模型,至少做到S参数提取到BGA焊球端。如果你只提取到PCB焊盘,那结果可能偏乐观2~3dB,这对32GT/s链路来说就是生死线。
眼图退化与误码率的关系
眼图是物理层质量的直观体现。我习惯用三个指标衡量眼图质量:眼高、眼宽、抖动。一个健康的UCIe 32GT/s眼图,眼高应该不低于150mV(差分),眼宽不少于0.5UI,抖动峰峰值小于0.3UI。
但你问这个有什么用?直接关联误码率。比如,眼高降到100mV以下时,噪声裕量变小,原始BER可能从1e-6恶化到1e-4。这时候FEC就得干更多活,如果FEC强度不够,最终残余BER就达不到协议要求(通常要求BER < 1e-15)。
我在调优时有个习惯:先看眼图,定均衡参数;再测原始BER,选FEC强度;最后跑误码测试确认残余BER。别倒过来——眼图不好,直接上强FEC是本末倒置。
- 均衡手段:CTLE(连续时间线性均衡)、DFE(判决反馈均衡)。32GT/s一般CTLE就够了,64GT/s需要CTLE+DFE。
- CTLE增益设置:通常6~12dB。我试过在15dB以上会引起高频噪声放大,反而劣化眼图。
- DFE抽头数:UCIe可配置到5~7个抽头。但别贪多,抽头越多CDR越难锁定。
好了,物理层的架构、速率和通道特性我们就聊这么多。这些基础概念会在后面各章反复用到。混个脸熟,后面实操时心里就有底了。