3. SerDes协议标准:PCIe、SATA、USB、Ethernet、MIPI
做SerDes验证这些年,我最大的感触就是——协议标准太多了。每个协议都有自己的物理层要求,眼图模板不一样,编码方式也不同。你想想看,一个芯片里可能同时集成PCIe、USB、Ethernet,每个都得单独调。今天我就把几个主流协议的核心要点捋一遍,都是我在项目里踩过的坑。
3.1 PCIe:高速互联的老大哥
PCIe是我接触最多的协议之一。从Gen1的2.5GT/s到Gen5的32GT/s,每一代都在翻倍。我个人习惯把PCIe的验证分成三块:物理层、数据链路层和事务层。
物理层要注意什么?
- 差分阻抗:100Ω ±10%,这个必须卡死。我遇到过一块板子,阻抗跑到了115Ω,结果Gen3死活训练不上。
- 去加重(De-emphasis):Gen1/Gen2是-3.5dB,Gen3开始变成-6dB。千万别搞混,否则眼图会塌。
- PLL带宽:建议压在2-4MHz。太宽了抖动大,太窄了锁不住。
避坑指南:我曾经在PCIe Gen3的验证中,发现链路训练总是失败。查了三天,最后发现是TX的预加重系数配错了。嗯,这里要注意——不同厂商的控制器,预加重寄存器的映射可能不一样。
3.2 SATA:老当益壮的存储接口
SATA现在虽然被NVMe压着打,但在消费级市场还是有不少存量。SATA 3.0跑6Gbps,用的是8b/10b编码。说白了,就是每10个bit里只有8个是有效数据,效率80%。
SATA验证的关键点:
- OOB信号:SATA用带外信号做握手,这个时序要求很严。我记得有个项目,COMRESET的脉宽差了200ns,结果硬盘死活不认。
- SSC扩频:SATA要求-5000ppm的扩频,目的是降低EMI。但扩频会引入额外的抖动,你的CDR得扛得住。
- 眼图模板:6Gbps的眼高要求≥200mV,眼宽≥0.4UI。达不到?查查你的TX驱动强度。
3.3 USB:无处不在的通用接口
USB从2.0的480Mbps到3.2的20Gbps,跨度很大。我重点说说USB 3.x的SuperSpeed,它用的是128b/132b编码,效率高达96.9%。
USB 3.x物理层验证:
- LFPS握手:USB 3.0用低频周期性信号做唤醒,这个信号的频率是10-50MHz。我建议用示波器抓一下,看看占空比是不是在40%-60%。
- RX灵敏度:USB 3.0要求RX能识别100mV的差分信号。实际测试时,我习惯留20%的余量,也就是做到80mV。
- TDR测试:看看阻抗连续性。Type-C接口的阻抗不连续点,经常出现在连接器那里。
小技巧:调试USB 3.0时,先测LFPS。如果LFPS都过不了,后面的训练序列肯定没戏。这是我被坑了两次才总结出来的经验。
3.4 Ethernet:10G/25G/100G的演进
Ethernet的SerDes速率跨度最大。10G跑的是10.3125Gbps,25G是25.78125Gbps,100G则是4路25G绑在一起。说白了,100G就是4个25G的SerDes并行工作。
各速率的关键差异:
| 速率 | 编码方式 | FEC | 典型应用 |
|---|---|---|---|
| 10G | 64b/66b | 无/RS-FEC | 数据中心接入 |
| 25G | 64b/66b | RS-FEC(528,514) | 服务器互联 |
| 100G | 4×25G | RS-FEC(544,514) | 核心交换 |
25G的坑,我踩过:
- FEC延迟:RS-FEC会引入约100ns的延迟。如果你的系统对延迟敏感,得提前算好。
- 信道损耗:25G的Nyquist频率是12.89GHz,FR4板材在这么高的频率下损耗很大。我建议用Megtron 6或者更高级的板材。
- 串扰:25G的串扰比10G严重得多。差分对之间的间距,至少要做到3倍线宽。
3.5 MIPI D-PHY / C-PHY:移动设备的眼睛
MIPI是手机摄像头和显示屏的主流接口。D-PHY和C-PHY是两种不同的物理层,我分别说说。
D-PHY:
- 差分信号,每对线跑1.5Gbps(D-PHY v2.0)
- 低功耗模式(LP)和高速模式(HS)切换
- LP到HS的切换时间,要求≤100ns。我测过一些芯片,这个时间能跑到80ns就算不错了。
C-PHY:
- 三线差分,每根线跑3.5Gbps(C-PHY v2.0)
- 用电压幅度编码,不是传统的差分
- 眼图是六边形的,看着挺有意思
注意:C-PHY的验证比D-PHY复杂得多。三线之间的skew必须控制在50ps以内。我曾经因为PCB走线等长没做好,导致C-PHY的误码率飙到1e-6。后来重新绕线,才降到1e-12。
3.6 协议对比与选择建议
这么多协议,怎么选?我个人的经验是看三点:速率、距离、功耗。
从这张图能看出来,速率越高,传输距离越短。MIPI适合板内互联,PCIe能跑几十厘米,Ethernet则可以通过光模块延伸到几十公里。选型的时候,别光看速率,还得看你的信道能跑多远。
总结一下:做SerDes验证,协议标准是基础。但光看协议文档不够,你得亲手调过眼图、测过抖动、跑过误码率,才能真正理解每个协议的脾气。我建议新手从PCIe Gen3或者10G Ethernet入手,这两个协议成熟、工具多、社区活跃,踩坑了也有人问。
可可精品资料库