2、SerDes基础架构:发送端(Tx)链路组成、PMA与PCS分层、多速率兼容的总体挑战
高速SerDes(Serializer/Deserializer)是当代数据中心、通信基站、AI加速卡及汽车电子系统中不可或缺的物理层传输核心。要深入理解Tx驱动器的多速率兼容设计,首先必须厘清SerDes的整体架构。本章将聚焦发送端(Tx)的完整信号链路,剖析PMA(物理介质附加子层)与PCS(物理编码子层)的功能边界,并系统梳理多速率兼容设计所面临的工程挑战。理解这些基础,是后续进行驱动器电路设计、阻抗匹配优化和均衡补偿的前提。
上图展示了SerDes发送端从PCS层到PMA层直至外部物理通道的完整信号流向。PCS层负责数据编码、加扰和对齐等数字域处理,而PMA层则承担并串转换、时钟生成和模拟驱动等关键任务。多速率兼容的挑战横跨这两个子层,并直接与外部信道的物理特性耦合。下面我们将分层展开,深入探讨每个模块的职责与设计要点。
2.1 PCS层:数字逻辑域的数据整形与速率适配
PCS(Physical Coding Sublayer)位于MAC层与PMA层之间,其主要职责是完成数据的编码、加扰、对齐和速率匹配,确保数据在物理介质上传输的可靠性。PCS层完全工作在数字时钟域,其设计复杂度与所支持的协议标准密切相关。
核心原理:编码与加扰的必要性
PCS层最核心的功能之一是线路编码。例如,在万兆以太网中采用64B/66B编码,在PCIe中采用128B/130B编码,而在传统的千兆以太网或USB 3.0中则使用8B/10B编码。这些编码机制的目的在于:
- DC平衡:保证传输码流中“0”和“1”的数量大致相等,避免信号在交流耦合电容上产生直流漂移。
- 时钟恢复:确保有足够的跳变沿,便于接收端CDR(时钟数据恢复)电路提取时钟。
- 错误检测:通过编码规则的不一致,可以快速发现传输错误。
加扰(Scrambling)则是为了将数据频谱打散,避免出现长串的连续相同比特,从而减少信号的能量集中,降低EMI(电磁干扰)并改善CDR的抖动容限。
判断方法:如何确定PCS的位宽与FIFO深度
PCS层与PMA层之间的并行数据总线位宽,直接决定了PMA层并串转换器的设计难度。位宽越大,PMA层的工作时钟频率越低,但PCS层的逻辑延迟和布线资源消耗也越大。设计时需遵循以下判断流程:
- 确定最高线速率:例如,若最高支持25.78125 Gbps(25G以太网),且采用64B/66B编码,则PCS有效数据位宽通常为64位。
- 计算PMA并行时钟:并行时钟 = 线速率 / 位宽。对于25.78125 Gbps和64位宽,并行时钟约为 402.8 MHz。
- 评估FIFO深度:由于PCS时钟与PMA时钟可能来自不同的PLL,存在频率偏差(ppm级),因此需要弹性FIFO来吸收时钟漂移。FIFO深度通常取8~16个字,以平衡延迟和缓冲能力。
常见误区:忽略PCS的延迟补偿
在多通道SerDes设计中,不同通道的PCS处理延迟可能不同。如果PCS层没有做延迟对齐(Deskew),接收端将无法正确恢复多通道并行数据。此外,PCS层的加扰多项式切换(如从PRBS31切换到PRBS23)必须与对端设备严格同步,否则链路训练将失败。
2.2 PMA层:模拟混合信号域的驱动核心
PMA(Physical Medium Attachment)层是连接数字逻辑与模拟世界的桥梁。对于发送端而言,PMA层包含并串转换器(Serializer)、时钟生成器(PLL)、发送均衡器(FFE)和最终的驱动器(Driver)。这一层是高速设计的重灾区,也是多速率兼容挑战最集中的区域。
核心原理:Tx驱动器的基本架构
现代高速SerDes的Tx驱动器普遍采用电流模式逻辑(CML)结构。其基本原理是:通过控制差分对管的开关状态,将恒定电流源导向输出端或终端电阻,从而产生差分输出电压摆幅。驱动器的关键参数包括:
- 输出摆幅(Vod):通常为 400mV ~ 1000mV 峰峰值差分,需根据协议标准(如PCIe Gen4为800mV,而10GBASE-KR为典型值)进行调节。
- 输出阻抗(Zout):必须与传输线特征阻抗(通常为100Ω差分)匹配,以减小反射。驱动器内部通过可调电阻阵列实现阻抗校准。
- 去加重/均衡(FFE):通过调整主抽头(Cursor)与后游标(Post-cursor)的权重,补偿信道的高频损耗。
操作流程:多速率下PMA的配置步骤
当系统需要从一种速率切换到另一种速率时,PMA层的配置必须遵循严格的时序,否则可能导致驱动器损坏或信号质量恶化。典型操作流程如下:
- 停止数据流:先将PCS层输出置为电气空闲(Electrical Idle),并关闭驱动器的输出使能。
- 重新锁定PLL:通过MDIO或I2C接口修改PLL的分频比,等待PLL的Lock信号有效。此过程通常需要几百微秒。
- 更新驱动器参数:根据新速率对应的协议要求,写入新的输出摆幅、去加重系数和阻抗校准值。
- 重新校准阻抗:启动片内阻抗校准引擎,通过比较外部精密电阻(如精度1%的10kΩ电阻)来调整驱动器的阻抗。
- 恢复数据流:在确认所有参数稳定后,重新使能输出并恢复数据发送。
案例拆解:25G与10G速率切换的实测问题
在某数据中心交换板的调试中,工程师发现当SerDes从25Gbps降速至10.3125Gbps时,接收端出现大量CRC错误。初步分析认为PCS配置无误,但眼图测试显示发送端信号摆幅异常增大,且上升沿出现过冲。
分析过程:通过读取PMA寄存器,发现驱动器的摆幅控制字仍停留在25Gbps的配置值。由于10Gbps信道的插损较小,过大的摆幅导致接收端线性放大器饱和,产生非线性失真。
解决步骤:
- 在软件驱动中增加速率切换回调函数,确保在切换速率后强制写入新的摆幅控制字。
- 将阻抗校准引擎的触发条件从“上电复位”改为“速率切换完成中断”。
- 在测试中增加对PMA寄存器状态的回读校验,确保配置生效。
结果对比:修正后,10Gbps链路的误码率从1E-6降低至1E-15以下,眼图余量增加了15%。
2.3 多速率兼容的总体挑战与设计策略
多速率兼容并非简单的参数切换,而是涉及架构设计、时钟规划、功耗管理和协议适配的系统性工程。下表总结了不同速率等级下的主要设计挑战与应对策略。
| 速率等级 | 典型协议 | 主要挑战 | 应对策略 |
|---|---|---|---|
| 低速 (1-3 Gbps) | SGMII, SATA Gen1 | 功耗优化,摆幅精度 | 采用可编程电流源,支持低功耗模式 |
| 中速 (5-8 Gbps) | PCIe Gen2, USB 3.0 | 阻抗匹配,信号完整性 | 片内阻抗校准,可调去加重 |
| 高速 (10-28 Gbps) | 10G/25G 以太网, PCIe Gen4 | 信道损耗,时钟抖动 | 高精度FFE,低噪声PLL,DSP辅助均衡 |
| 超高速 (56-112 Gbps) | 400G/800G 以太网, PCIe Gen6 | PAM4调制,非线性补偿 | 混合信号Tx,基于查找表的预失真 |
核心原理:架构层面的“软件定义物理层”
为了实现宽范围速率兼容,现代SerDes IP普遍采用“软件定义物理层”的理念。即通过固件或驱动配置寄存器,动态改变PCS和PMA的工作模式。这要求硬件设计具备以下能力:
- 可配置的时钟树:PLL必须支持宽范围的分频比,且VCO(压控振荡器)的频率覆盖范围要足够宽。
- 模块化的模拟前端:驱动器的末级可以拆分为多个子单元,通过使能不同数量的子单元来改变驱动能力。
- 自适应校准引擎:包括阻抗校准、偏置校准和温度补偿,确保在不同速率下均能保持最优的电气特性。
判断方法:评估多速率方案的优劣
在项目选型时,评估一个SerDes IP的多速率能力,可以从以下三个维度进行量化打分:
- 切换时间:从速率A切换到速率B,PLL锁定时间 + 参数更新时间是否满足系统要求(通常要求小于100ms)。
- 功耗缩放:在低速模式下,模拟前端是否能够关闭部分偏置电流,实现功耗随速率线性下降。
- 协议灵活性:是否支持PCIe的L0s/L1省电状态,是否支持以太网的EEE(节能以太网)功能。
常见误区与总结复盘
在多速率SerDes设计中,工程师常犯的错误包括:
- 误区一:认为PCS层是纯数字逻辑,无需关注时序收敛。实际上,PCS层跨时钟域处理不当会导致亚稳态,进而产生偶发性的数据错误。
- 误区二:在PMA层设计中,为了追求极致的速率而牺牲了低速率下的性能。例如,过大的驱动管尺寸在低速时会产生过冲。
- 误区三:忽略外部信道对多速率的影响。一个在10Gbps下调试好的背板,在25Gbps下可能完全无法工作,因为信道的趋肤效应损耗和介质损耗随频率急剧增加。
总结复盘:成功的多速率Tx设计,必须从系统层面进行权衡。在PCS层,要保证数据通路的灵活性和鲁棒性;在PMA层,要确保模拟电路的线性度和可配置性;在系统层面,则需要一套完善的状态机和固件算法来管理速率切换的复杂时序。只有将这三者紧密结合,才能打造出真正满足多样化应用需求的高速SerDes发送端。