SerDes系统架构:发送端与接收端
大家好,我是你们的SerDes设计老手。今天咱们聊聊系统架构——说白了,就是信号从芯片A到芯片B,中间经历了什么。
我刚开始接触SerDes时,总觉得架构图看着挺唬人。后来自己动手搭过几套链路,才发现核心逻辑其实很清晰。咱们分三块来讲:发送端、接收端,还有那个让人又爱又恨的CDR。
一、发送端(TX)架构
发送端的任务,就是把并行的数字数据,变成高速串行的差分信号扔出去。嗯,这里要注意,不是简单地把数据串起来就完事。
1. 核心模块
- Serializer(并串转换):把N位并行数据转成1位串行流。我见过不少新手在这里栽跟头——时钟域处理不好,数据就乱了。
- FIFO(缓冲器):跨时钟域的数据缓冲。说白了,就是给数据一个“排队”的地方。
- Driver(驱动器):把数字信号变成模拟差分信号。这里涉及摆幅、预加重、去加重等参数。
- PLL(锁相环):产生高速时钟。我个人习惯用LC-VCO,相位噪声表现更好。
2. 预加重与去加重
为什么要做预加重?因为信道会衰减高频分量。你想想看,信号跑在10Gbps以上,PCB走线就像个低通滤波器。
我在项目中遇到过这样的情况:不加预加重,眼图完全闭合;加了之后,眼图立马张开。具体做法是:在跳变沿处增加幅度,补偿信道损耗。
关键参数:
- 预加重深度:通常3dB~6dB
- 去加重深度:与信道特性匹配
- 摆幅控制:200mV~1.2V可调
3. TX架构示意图
二、接收端(RX)架构
接收端的工作,就是把经过信道衰减的微弱信号,恢复成干净的数字数据。说白了,就是“逆天改命”。
1. 核心模块
- Equalizer(均衡器):补偿信道损耗。常见的有CTLE(连续时间线性均衡)和DFE(判决反馈均衡)。
- Sampler(采样器):在最佳时刻对信号进行采样。我习惯用半速率架构,功耗更优。
- Deserializer(串并转换):把串行数据转回并行。
- CDR(时钟数据恢复):从数据中提取时钟。这个咱们后面细说。
2. 均衡器选择
CTLE适合处理中低频损耗,DFE擅长处理高频反射。我在一个25Gbps项目中,CTLE+DFE组合使用,眼图从完全闭合恢复到了30%的张开度。
避坑指南:我曾经在DFE的抽头系数上吃过亏。系数设置不当,不仅不收敛,还会放大噪声。建议从1个抽头开始,逐步增加。
3. RX架构示意图
三、时钟数据恢复(CDR)基本原理
CDR是SerDes的灵魂。没有它,接收端就不知道什么时候该采样数据。说白了,CDR就是从数据流里“猜”出时钟的位置。
1. 为什么需要CDR?
发送端和接收端的时钟不可能完全同频。即使标称都是10GHz,实际频率也会有几十ppm的偏差。时间一长,采样点就偏了。
我记得第一次调试CDR时,看着眼图慢慢闭合,心里那个急啊。后来发现是环路带宽设得太窄,跟踪不上频率变化。
2. CDR架构类型
| 类型 | 原理 | 优点 | 缺点 |
|---|---|---|---|
| PLL型 | 用鉴相器比较数据边沿和时钟相位 | 抖动小,成熟 | 锁定时间长 |
| DLL型 | 用延迟线调整采样时钟 | 锁定快 | 抖动大 |
| 相位插值型 | 数字方式控制采样相位 | 灵活,易集成 | 功耗高 |
3. 关键指标
- 抖动容限:CDR能容忍的最大输入抖动。我一般要求大于0.3UI。
- 锁定时间:从启动到稳定跟踪的时间。通常要求小于1μs。
- 环路带宽:决定了跟踪速度和抖动抑制的平衡。典型值在1MHz~10MHz。
注意:环路带宽不能太宽,否则会把数据中的高频抖动当成时钟误差来调整,反而引入更多抖动。我曾经在一个项目中把带宽设到20MHz,结果CDR一直在“抖动”,数据全乱了。
4. CDR工作流程
- 鉴相器检测数据边沿与本地时钟的相位差
- 环路滤波器滤除高频噪声,生成控制电压
- 压控振荡器(VCO)调整输出时钟频率
- 采样器用调整后的时钟对数据进行采样
- 重复以上步骤,形成闭环跟踪
嗯,这里要注意,CDR的初始锁定阶段很关键。如果初始频率偏差太大,可能永远锁不上。我习惯先用频率检测器辅助锁定,再切换到相位跟踪模式。
四、总结
SerDes系统架构,说白了就是“发-传-收”三个环节。发送端负责把数据打包成高速信号,接收端负责把信号恢复成数据,CDR则是整个系统的“时钟大脑”。
我个人觉得,理解架构的关键不在于记住每个模块的名字,而在于明白它们为什么存在。你想想看,如果没有均衡器,信号跑10cm就废了;如果没有CDR,接收端连什么时候采样都不知道。
好了,这一章就到这里。下一章咱们聊聊信道建模和眼图分析——那可是SerDes设计的“照妖镜”。
公众号:蓝海资料掘金营,微信deep3321