1. 先搞清楚背景自适应用在NRZ时代到底解决了什么1.1 背景自适应到底是什么先说人话。CTLEContinuous Time Linear Equalizer本质是一个模拟滤波器它的作用是把信道压掉的高频分量提上来让信号经过长走线之后还能形成可判别的电平。而“背景自适应”指的是芯片在正常收发数据的同时自己持续地监测均衡效果实时微调CTLE的高频增益boost或低频增益整个过程不需要用户干预也不打断数据流。这个思路在10G、25G甚至部分56G NRZ SerDes里非常常见。经典的实现方式有很多种我简单提两类。一类是频谱比较法把均衡后的信号分别过一条高通路径和一条低通路径用功率检测器比较两路能量如果高频分量偏弱就让CTLE加大boost反之减小形成一个模拟闭环。另一类是基于数据统计的对均衡后的波形做多级判决比较不同判决阈值下的错误率或眼图张开度用数字状态机或模拟积分器产生调整信号。这两类方案说起来都不复杂真正难的是让它收敛得快、噪声小、在PVT工艺、电压、温度变化下不跑飞。所以NRZ时代一颗高性能SerDes的CTLE自适应模块往往要占不小的芯片面积设计验证周期也会拉长但大家都愿意接受这个代价因为它确实能解决量产中的痛点。1.2 NRZ时代为什么离不开它NRZ信号只有两个电平而且在足够长的随机数据里0和1出现的概率基本均等信号的均值稳定在判决阈值附近。这意味着接收端可以比较均衡后的信号幅度和固定的参考电压Vref形成误差信号来指导CTLE调节。换句话说NRZ信号天然提供了一个稳定的“锚点”自适应算法不需要知道发送端发了什么只需要看统计结果就能判断当前均衡是过冲还是欠冲。另一个原因是NRZ时代的发射端和接收端设计没有今天这么数字化。很多10G/25G接收机没有完整的ADC和DSP均衡功能基本都靠模拟前端完成。如果模拟CTLE不自动调量产芯片在高温、低电压、工艺corner偏移的情况下频响可能偏差好几个dB眼图直接塌掉。那时候既没有DSP帮着兜底也没有足够的时间在产线上逐颗芯片做手动标定所以背景自适应几乎是唯一靠谱的出路。此外还跟信道本身有关。早期的背板和线缆链路阻抗受连接器接触、电缆弯折、温度变化影响较大链路特性在整个运行周期内确实会变化。背景自适应相当于一直盯着信道随时修正等于是给链路加了一层保险。1.3 它的成本和代价但背景自适应不是免费的。模拟实现版需要片上检测器、积分器、DAC和低速控制环路数字实现版需要多个高速比较器、统计模块和算法状态机。在10G/25G时代这部分功耗在几毫瓦到十几毫瓦面积占比尚可接受。到了56G NRZ已经有些吃力但勉强可行。这里要特别提一个容易忽略的问题自适应本身会引入扰动。任何自适应环路都存在收敛-过冲-再收敛的波动过程环路带宽越低越稳定但响应越慢环路带宽调高又容易把噪声和信号pattern相关波动误判为均衡误差导致CTLE增益来回摆。NRZ信噪比余量相对充足这种波动大部分时候可以容忍。但如果是PAM4这个问题会被放大很多倍后面我会专门展开。2. 112G/224G系统哪些底层前提变了2.1 PAM4改变了信号统计特性112G和224G这两个速率点业界无一例外采用了PAM4调制。PAM4把两个bit压进一个符号符号速率降一半带宽要求降低这是它的核心价值。但代价是信号从两个电平变成四个电平眼图从单个大眼变成三个堆叠的小眼每个眼的垂直幅度只有NRZ的三分之一左右。这个改变对自适应算法来说是致命的。NRZ时代依赖于“信号均值为Vref”这个锚点PAM4则完全没有。PAM4的四个电平分别对应00、01、10、11判决需要三对阈值。如果不做编码约束数据统计上四个电平出现的概率均等但判决阈值和信号幅度之间的关系不再有天然的对称参考。有些自适应算法或许可以通过对数据做来的pattern分类来提取误差信息比如用ADC采样后的数据选择特定电平的符号来分析眼图张开度。这确实可行但它需要完整的ADC和DSP已经不属于传统模拟CTLE自适应范畴。而且PAM4在低信噪比下的判决统计结果方差很大一个符号的错误率在短时间内无法提供可靠的梯度信息自适应要花很长时间才能收敛这在链路训练时间预算里根本不可接受。2.2 ADC-DSP成为绝对主流到了112G/224G这个阶段主流接收机架构已经切换到ADC-DSP。接收信号先经过模拟前端TIA、CTLE、VGA等做初步处理随后进入高速ADC完成数字化剩下的均衡、时钟恢复、判决、前向纠错全部在数字域完成。我接触过的112G PAM4 DSP SerDes基本都是这个路子224G同样延续了这个方向。在这个架构里CTLE扮演的角色已经变了。它不再是被寄予厚望的“最终均衡器”而是一个辅助性前端。它做三件事一是补偿信道带来的部分高频损耗尤其是那些幅度特别小的高频分量避免它们直接落到ADC的量化噪声里二是配合VGA把信号幅度调整到ADC输入满量程附近充分利用ADC的动态范围三是在某些架构里兼顾抗混叠功能防止带外噪声或反射信号折叠进信号频带。既然主力均衡交给了DSP模拟CTLE的精度要求就不需要太高也不需要实时跟随信道变化。DSP里的FFE、DFE、CDR才是真正干细活的地方它们可以持续自适应对信道漂移的容忍度远高于纯模拟方案。这样一来单独的CTLE自适应模块就变得可有可无甚至是个累赘。2.3 信道的“准静态”属性高速串行链路的产品形态在112G/224G时代也已经定型。绝大多数应用都是短距离的die-to-die、chip-to-chip、chip-to-module所谓XSR/VSR/MR通道长度通常不超过几十厘米中间走线是印刷电路板两端是封装和连接器。这种信道的传输特性在物理上基本是固定的随时间的变化只来自温度漂移和极缓慢的老化。温度变化对信道的影响主要是介质损耗因子和导体电阻的小幅变动反映到高频插损上大约是1-2dB级别的慢漂移。这个漂移的时间常数是秒级甚至分钟级而DSP均衡的收敛时间是微秒级完全跟得上。换句话说任何足够快的自适应模块都能轻松覆盖这个变化没有理由专门为它保留一套高速背景自适应模拟电路。链路启动时如果有一次训练和参数初始化后续哪怕温度变化DSP完全可以自行处理。这个前提成立背景自适应就不再是接收机设计的刚需。3. 为什么说CTLE不需要背景自适应甚至不应该有3.1 参考电平消失自适应失去“锚点”这个问题我放到首位。背景自适应必须有一个明确的优化目标函数否则算法不知道该往哪个方向调。NRZ时代这个目标函数是现成的均衡后的信号越接近理想方波越好理想方波的判据就是采样点电压接近Vref、时间上过零区域尽量窄。模拟检测器只需要把信号和Vref一比较积分一下误差就出来了。PAM4时代你找不到一个这样的简单锚点。三只眼睛、四个电平各自有不同的张开度而且由于信号经过了非线性信道和串扰不同电平的眼高度还不一样。想让模拟电路自动判断“当前三只眼是否都张得足够开”需要至少三对比较器和一套复杂的权值融合逻辑这在模拟域极其难做。即使做出来它的收敛行为也很难保证稳定。所以在PAM4系统中如果你看到某颗芯片仍然保留了CTLE背景自适应几乎可以肯定它的自适应依据不是信号质量本身而是某种间接的谱能量指标。这类指标在部分信道条件下可能有效但一旦遇到多谐振点信道或者严重的串扰环境就容易误调。与其用一个不可靠的间接指标不如直接把CTLE固定住让DSP来做精确判断和补偿。3.2 双自适应环路在模拟域和数字域的稳定性问题这点是很多人在架构讨论中容易忽略的但它其实是最硬核的理由。ADC-DSP接收机里的DSP均衡器本身就是一个持续自适应的系统。LMS或者RLS算法会不断调整抽头系数让整个均衡链路逼近最优。如果此时模拟CTLE也在自动调整频响那就等于两个自适应环路串在一起共同影响着同一个信号路径。学过控制理论的人都知道级联的两个自适应环路如果目标重叠、带宽接近很容易出现相互追赶、来回振荡的情况。CTLE调一下高频增益DSP的FFE系数就会跟着重新收敛DSP重新收敛后如果CTLE继续调整又会让DSP的收敛点漂移。即便两个环路都能稳定它们的叠加效果也未必比单一数字均衡环更好因为模拟环路的响应速度、噪声特性、量化精度都比数字环路差。我实际见过一个测试现象某颗芯片的CTLE自适应模块和DSP自适应模块同时打开时链路的误码率反而比把CTLE固定、只让DSP自适应时更高而且波形上有明显的低频漂移。这就是双环互扰的典型表现。后来把CTLE改为一次性配置系统马上恢复稳定。这也印证了那种“既然DSP能干就别让模拟环路添乱”的设计哲学。3.3 信噪比余量不允许“试错”PAM4本身对信噪比的要求比NRZ苛刻得多。理论上NRZ要达到1e-15误码率大约需要约7dB左右的信噪比加上适当编码后余量不同而PAM4要达到同样的误码率往往需要20dB以上因为每个眼的幅度只有NRZ的三分之一等效信噪比损失约9.5dB。这种紧张的余量下自适应环路来回波动带来的任何额外噪声都是致命的。NRZ时代CTLE增益抖动个零点几dB最多让眼图高度波动一点系统还有余量PAM4时代增益抖动直接反映为眼高变化可能瞬间把某只眼的误码率推过FEC纠错极限产生burst error。而且背景自适应还会引入一个隐蔽问题它会把信号相关的pattern波动当成信道变化来矫正。PAM4的四个电平组合产生的pattern效应本身就很大长串相同电平后的转换low-frequency pattern和快速交替电平high-frequency pattern在信道中的衰减差异非常明显。如果自适应环路的检测器不区分这些pattern就会把这些本征波动误判为均衡偏差进而产生错误的调整。这相当于在本来已经很难伺候的信道里额外注入了一台随机振动器。3.4 功耗、面积和设计验证代价不划算从纯工程成本考虑决定不做背景自适应还有一个很现实的原因太贵。一个完整的CTLE背景自适应模块需要什么至少需要高速误差检测器或频谱比较器、额外的偏置和参考电路、低速ADC/DAC、模拟积分器、数字控制状态机还要有配套的寄存器阵列和校准逻辑。放到112G/224G的工艺节点上这些东西加起来可能吃掉几百毫瓦里的数十毫瓦功耗面积上也会增加明显的一角。而在系统层面这几十毫瓦换来的性能微乎其微。前面已经说了信道是准静态的DSP已经兜住了绝大部分动态变化量产工艺偏差可以通过片上校准和启动训练覆盖。CTLE自适应成了典型的“投入产出比不划算”模块。芯片设计公司都是逐毫瓦抠功耗的既然这颗芯片不需要卖点来支撑背景自适应砍掉就是最合理的选择。设计验证的复杂度也得算进去。模拟自适应的验证要覆盖所有PVT corner、所有信道形态、所有数据pattern还要验证它在极端情况下不振荡、不锁死这是巨大的仿真和测试工作量。砍掉之后CTLE就是一个参数可配的固定滤波器验证起来简单得多流片风险也低得多。4. 不做背景自适应链路的性能靠什么保障4.1 链路训练机制一次“军训”替代终身“保姆”既然CTLE不需要持续自我调整那它怎么知道该配成什么样答案是链路训练link training加初始化配置。现代112G/224G标准接口比如IEEE 802.3ck、OIF CEI-112G普遍定义了启动握手和训练帧机制。链路刚开始建立的时候接收方向发送方发送训练请求发送方发送特定pattern接收方利用这个已知pattern评估信道质量和均衡效果。接收端可以在这个阶段尝试多组CTLE配置。芯片内部有一张预设的参数表比如高频boost从2dB到12dB分档零点位置分几档极性翻转选项等固件或状态机快速扫描这些组合用训练帧评估每个配置下的信噪比或误码率挑出最好的一组写入寄存器。这个过程通常只需几百微秒到几毫秒完成后链路正式进入数据收发。这个方案和持续自适应的本质区别在于训练是一次性的、离线的、基于已知pattern的搜索而背景自适应是持续的、在线的、基于盲信号的跟踪。前者可控性好、行为确定、验证简单后者灵活性高但代价大。112G/224G系统选择前者本质是牺牲一点“实时性”换取了极大的稳定性和成本收益。4.2 数字域DSP才是真正的持续自适应担当在训练结束后信道信号质量如果发生变化真正负责实时跟踪的是DSP里的自适应均衡器。以最常用的判决反馈均衡器DFE为例其抽头系数可以在正常数据接收时以极低的带宽持续更新跟踪温度变化和电源漂移。前馈均衡器FFE或者ADC后的线性均衡器也可以做类似的自适应。更关键的是数字自适应的目标函数非常清晰最小化均衡后误差或者最大化SNR。它可以直接基于ADC采样值和判决结果来计算误差精度远高于任何模拟检测器。而且在数字域做自适应不存在工艺偏差问题两个不同批次的芯片跑同一个算法行为几乎一样。这让量产一致性大幅提升。顺便说一个细节数字均衡器自适应收敛后其系数本身就隐含了对信道特性的估计。DSP可以监控系数变化趋势如果发现某几个抽头系数持续朝某个方向漂移还能主动上报给固件作为链路健康监测数据。这比CTLE自适应那种“黑盒式”调节有价值得多。4.3 CTLE的参数到底怎么定那么CTLE的配置到底该怎么做根据我参与过的几颗112G DSP SerDes项目的经验工程上通常分这么几步走。第一根据链路拓扑在仿真阶段做通道建模。拿到客户提供的S参数或者实际测试的通道数据放到数模混合仿真环境里连同封装的等效模型、走线到芯片pad的模型一起算出最优的CTLE频响范围。这一步基本确定了CTLE的设计目标零点频率、高频极点频率、低频增益、最大boost量、VGA的增益范围。第二芯片回来后做量产校准。CTLE的频响受片上RC绝对值影响很大同一个配置在典型工艺和corner工艺下可能有2-3dB的偏差。芯片内部会集成简单的校准电路用片上参考时钟或者电流源来校准RC时间常数把频响拉回设计目标。这个校准在芯片上电时完成一次不需要在运行中反复修正。第三固件在做系统集成时针对目标应用载入对应的CTLE配置表。比如短距离chip-to-chip应用插损小CTLE boost设低一点避免高频噪声放大长距离背板应用插损大boost调高尽量抬高信号高频分量。这个配置通常在系统初始化时根据应用场景选定也可以通过寄存器配合DSP自动调优结果来微调。实际调试里我碰到过一种情况固件扫描CTLE配置时某个boost挡位下DSP报告的SNR最高但链路长时间运行会偶发报错。原因是这个挡位的CTLE虽然snr好看但它叠加上某个频段的串扰后让DFE的抽头系数对温度特别敏感温度漂一两个摄氏度就触发大规模误码。后来把boost降一档初始SNR只损失零点几dB稳定性却显著提升。这种经验在文档里通常不会写只能实测积累。4.4 特殊场景Retimer/AEC里还有没有“准自适应”写到这里得踩一脚刹车并不是所有112G/224G系统都不做模拟自适应。在一些低成本、低功耗应用中比如无源铜缆的Retimer、有源电缆AEC里的信号中继芯片因为预算限制可能不采用完整的ADC-DSP架构或者DSP能力较弱此时模拟均衡仍然是主力。这类芯片经常会做一个折中方案模拟CTLE加上基于开机自检的一次性自适应或者基于接收方反馈的远端的TX FFE调节。它们的自适应只在链路建立阶段运行正常工作时CTLE参数固定不动。这本质上仍然属于我前面说的“训练初始化”范畴而不是传统意义的背景自适应。区别在于它会在起机时跑一个几十微秒的本地收敛过程而不是靠查表。所以严格讲112G/224G里真正“完全不需要任何形式的均衡调节”的系统几乎没有但“不需要CTLE做背景自适应”是成立的。替代方案是要么靠数字DSP持续自适应要么靠训练期的快速参数搜索。5. 常见误区和工程建议5.1 三个最常见的认知误区我在和同行交流以及带新人的时候发现大家对这个问题经常有误解。列出三个最典型的。误区一认为不需要背景自适应是因为PAM4系统的信道太好。实际上很多112G系统走的是有损严重的背板插损在Nyquist频率附近可能超过20dB信道远谈不上好。问题不在于信道好坏而在于均衡架构已经数字化模拟自适应变得多余。误区二认为CTLE固定了链路就没法应对信道变化。事实是DSP均衡器在处理信道慢漂移方面非常强。CTLE的固定只代表模拟前端不变不代表整个均衡系统不变。如果要打比方CTLE负责“房间基础声学处理”DSP负责“演出过程中实时调音”两者分工不同。误区三认为“不用背景自适应”等于“CTLE随便配一个值就行”。真实情况是CTLE配置对系统性能的影响依旧显著尤其是对高频boost的选择。只是这个配置由链路训练或者固件初始化来保证而不是依赖芯片内部的实时环路。忽略训练阶段的CTLE配置扫描DSP再强也救不回来。5.2 一些实操侧的建议如果你正在做112G/224G接收端的信号完整性分析或者算法评估我建议按这几步来做排查。先测CTLE关到最小和开到最大两种配置下DSP收敛后的SNR变化。这个实验能快速判断CTLE对该链路的贡献有多大。如果两者差异小于0.5dB说明DSP基本不依赖CTLECTLE只需保证ADC输入范围合理即可如果差异超过2dB说明CTLE的初始配置必须认真做最好在链路训练里加入多挡位扫描。再看CTLE极性设置。有些高速芯片为了兼容不同PCB走线拓扑CTLE可以做负增益也就是减小低频分量这在存在强串扰或者反射的链路上可能比高频boost更有效。我见过一个案例背板链路无论如何增加高频boostSNR都上不去后来改成降低低频增益让高频信号相对突出效果立刻变好。这不属于什么高深理论但说明配置的维度比很多工程师想象的要多。最后提醒一点CTLE分区配置与温度的关系。虽然CTLE本身不建议背景自适应但很多芯片固件还是保留了一个“温度补偿寄存器”根据片上温度传感器的读数粗粒度地调整CTLE或者VGA的增益若干档。这个补偿的时间常数很长秒级且是开环的不构成背景自适应。它在批量应用中确实有用尤其是那些工作在宽温度范围的产品比如光模块内部的DSP芯片。5.3 一个容易被忽略的性能边界我必须强调以上所有讨论都建立在“信道在工作期间变化足够慢”这个前提上。如果你设计的系统要应对快速变化的信道比如频繁插拔的连接器在运行中被物理振动导致短时接触电阻突变或者某些军用/航空航天环境下的剧烈温度冲击那么DSP的收敛速度可能跟不上。这种情况下的可靠性保障不是靠CTLE背景自适应能解决的而是要靠协议层的重训练触发机制和эрror统计监测来兜底。现代标准里其实已经留了后门。比如接收端检测到误码率超过某一阈值可以发起重新训练整个训练流程毫秒级完成链路自动恢复。这比让CTLE实时鼓捣要可靠得多。所以从系统设计的角度看“不做背景自适应”反而是深思熟虑的结果不是一个缺陷。最后分享一点个人体会关于CTLE不需要背景自适应这件事我做过的项目里也走过弯路。早期做56G NRZ DSP SerDes的时候我给CTLE加了一套简单的背景自适应逻辑当时想着能和DSP配合结果实测发现模拟环路和数字环路互相干扰折腾了很久最后才把它改成启动时一次性配置。到了做112G PAM4项目我几乎是立刻就把这个选项从架构里拿掉了后面立了很多稳定性方面的收益。回过头看这其实反映了一个更大的趋势模拟域的东西能少则少能固定则固定把灵活性和智能性留给数字域。模拟电路在速度上有优势但精度、可调试性、可移植性都不如数字。112G/224G系统把CTLE从“动态均衡器”降级为“静态预处理器”让DSP专注完成真正的均衡和跟踪这是技术演进的必然结果。如果你正在芯片公司做SerDes或者做信号完整性分析遇到与CTLE自适应相关的问题我的建议是先想清楚整个均衡链路的分工不要急着给模拟前端增加功能也要提防固件工程师习惯性地去调CTLE配置结果把链路调乱了。清晰的分层设计比任何花哨的自适应算法都可靠。
