ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

112G/224G SerDes中CTLE为何不需要背景自适应?

112G/224G SerDes中CTLE为何不需要背景自适应? 前阵子团队评审一个新方案信号完整性工程师把CTLE模块的spec递过来上面赫然写着“背景自适应”四个字。我当场就问了一句112G/224G这个速率档次你们真的打算给模拟前端的CTLE做背景自适应会议室安静了两秒然后大家开始争论起来。其实这个争论背后是高速SerDes接收机架构从模拟补偿走向ADC-DSP之后CTLE角色定位的一次集体重置。先把结论放这儿在绝大多数112G/224G背板、中长距离铜缆和光模块DSP场景下CTLE确实不需要背景自适应。链路训练阶段把参数定下来跑起来之后就让它在固定档位上待着真正负责“跟着环境变”的是后面的DFE或者数字域DSP。这个设计选择不是偷懒而是基于均衡分工、训练流程、硅成本与收敛风险四方面权衡后的必然。这篇文章就把背后逻辑完整拆一遍。1. 先搞清楚CTLE在接收机里到底管哪一段1.1 CTLE补偿的是信道损耗不是码间串扰CTLE全称是Continuous Time Linear Equalizer连续时间线性均衡器本质是一个放在接收机模拟前端的宽带滤波器。它要解决的第一个问题是信道对高频分量的衰减。一根FR4材质的PCB走线长度做到30到60厘米在28GHz或者31.25GHz附近的插入损耗轻轻松松掉到20到35dB。这是什么概念信号到了接收端高频分量比低频分量小了两个数量级时域上体现出来的就是上升沿变缓、脉冲展宽、相邻符号互相踩踏也就是码间串扰。CTLE的作用就是用它的幅频响应在奈奎斯特频率附近做一个反向的抬升把信道衰减掉的一部分能量拉回来。这相当于在模拟域先把信号“弄平一点”让后级电路能够在信噪比相对可控的条件下处理数据。这里有个关键点CTLE是线性系统它对信号和噪声一视同仁。抬升高频增益的同时高频噪声和近端串扰同样被放大。所以CTLE不会也不该把信道损耗全部补回来它能做的就是补一部分剩下的交给后端。1.2 CTLE只有几个旋钮可以拧做模拟设计的工程师对CTLE的参数很熟但做系统或软件的可能只见过它的寄存器接口。CTLE的工作点一般就由这么几个量决定低频增益DC到第一个零点之间的增益值通常接近0dB用来配合后级ADC或采样器的输入摆幅。零点频率增益开始抬升的转折点一般设计在奈奎斯特频率的1/3到1/2附近。零点频率太低会把带内低频也拉高抬高噪声底太高则抬升起步太晚高频段来不及补偿。峰值量Peaking高频增益相对低频增益的抬升量典型范围6到15dB具体取值看信道损耗曲线。高频滚降特性过了峰值点之后增益如何回落这个决定了对带外噪声的抑制能力。这四个量组合有限档位再多也就是十几二十档。也就是说CTLE本身能表达的自由度是非常有限的它的“表达能力”决定了它做不了精细的均衡只能做趋势性的粗补偿。1.3 一个生活化类比把CTLE想成眼镜的“度数”DFE和DSP想成“戴好眼镜之后的精细对焦”。你配眼镜的时候会做一次完整的验光拿到合适的度数之后不能说每五分钟就重新验一次光。除非你的视力在短时间内剧烈变化否则固定度数就是最优解。高速链路里信道一旦定型CTLE的“度数”也几乎是常数需要频繁调整的概率极低。2. 链路训练已经把CTLE的工作做完了2.1 训练阶段到底发生了什么现在的112G/224G系统无论走的是哪套标准启动时基本都有链路训练Link Training流程。接收机进入训练模式后发送端会发一段已知的训练序列通常是特定pattern或者PRBS类型的码型。接收端拿到这段已知码型之后可以做很多事情测量当前的误码率或者信噪比扫描CTLE的各个增益/峰值档位对每个档位测量眼图高度、眼宽或者误差向量幅度选一个综合指标最好的档位写入寄存器并锁存。这个过程的本质是在链路启动阶段用一个离线的、已知的参考信号做全局最优搜索。训练序列具有周期性且接收端完全已知所以计算误差时可以把码间串扰和噪声分离得比较干净评估结果比在线估算可靠得多。更重要的是训练阶段的搜索是穷举式或者准穷举式的可以遍历CTLE全部档位找出全局最优。这一点在线自适应往往做不到在线算法只能在一个初始工作点附近做小范围扰动一旦初始点选得不好很容易停在局部最优。2.2 温度漂移没有想象中那么可怕有人会问信道不是会随温度变化吗PCB板材在高温下损耗增大CTLE固定了还怎么跟着变我来给个具体数字概念。常见的FR4类板材插入损耗随温度的变化率大约在每摄氏度百分之零点二到零点三。以28GHz处25dB插损为例温度从25℃升到85℃也就是60℃温差插损变化大概3到4dB。这个量级很大吗CTLE后级的DFE和DSP是吃干饭的吗DFE可以补偿一部分低频和中频的残留码间串扰ADC-DSP架构里的数字均衡器可以在训练后继续跟踪符号速率上的微小变化。换句话说CTLE不动不等于链路没有任何自适应能力只是这个自适应任务被转移到了更适合它的地方。另外一个容易忽视的点CTLE档位本身是离散的档位间隔通常有0.5到1dB甚至更大。温度引起的3到4dB变化折算下来也就是需要调整几个档位的事。这种低频缓慢的漂移远没有达到需要每秒钟都去拨CTLE的程度。2.3 重训练机制是兜底方案退一步讲就算出现了训练时没见过的极端情况比如连接器虚接、线缆被重新插拔、温度剧烈突变链路一般也不会放任不管。很多系统会在误码率达到阈值时触发链路重训练重训一次只需要几十到几百毫秒。链路中断一下总比在线自适应跑飞了要好。所以结论很清晰训练阶段已经完成了CTLE的参数寻优运行中还有后级均衡器和重训练机制兜底中间再塞一个背景自适应从需求上看就站不住脚。3. 接收机分层均衡CTLE干粗活DFE和DSP干细活3.1 一张分工表说明所有问题我习惯把高速接收机的均衡链路看成三个层次每一层负责不同的频段和不同的任务。层级实现位置典型补偿对象自适应能力硬件成本CTLE模拟前端信道全局高频损耗弱基本训练后固定低一次成型DFE模拟或混合域短后尾码间串扰逐符号反馈消除强可用LMS在线更新中高抽头数每增加一个都是功耗ADC DSP数字域任意脉冲整形、串扰抵消、非线性补偿最强算法灵活度最高高但要换的是超高带宽ADC从表格能看出越往后面的层级自适应能力越强灵活度越高。CTLE处在最前面承担的是“把信号整体轮廓弄对”的任务而不是“把每个符号都精确恢复”的任务。为什么后级不适合把CTLE的活全包了原因有两个。第一模拟前端如果完全不整形信噪比太差后级ADC的动态范围会被浪费量化噪声会被放大。第二做完ADC之后再做全部均衡需要强大的数字计算资源在224G速率下每个符号只有十几个皮秒数字逻辑跑在这么高的吞吐率上是极大的功耗压力。所以模拟前端保留一个粗均衡器让后级不必面对极度衰竭的信号是最经济的做法。3.2 ADC-DSP时代CTLE的角色已经变了早期56G及以下速率时代很多接收机采用纯模拟架构CTLE后面直接接CDR和模拟DFE没有ADC也不是全数字处理。那时候如果信道缓慢变化确实有厂家会给CTLE加自适应不让信号性能随温度漂移而劣化。但到了112G/224G主流高性能方案基本已经是ADC-DSP架构了。接收信号先经过模拟前端包括CTLE、可变增益放大器和抗混叠滤波器再由超高速ADC采样之后全部进入数字域。这时候发生了一个角色变化CTLE的功能不再是传统意义上的“均衡主力”而是更接近一个模拟预处理器。在这个架构下ADC前的CTLE只需要做两件事一是把频谱适当地整形别让ADC输入端的眼图完全关门二是提供抗混叠滤波配合ADC的采样带宽。数字域里的均衡器无论是收尾均衡、判决反馈均衡还是最大似然序列检测都能完成最终的性能收敛。数字域的自适应更新只需要改寄存器值不需要碰模拟电路实现难度和成本都低得多。既然数字侧已经无所不能非要让模拟CTLE保持在线自适应就显得很奇怪了。模拟可调电路本身就有电容、电阻失配和寄生问题改成可变结构还会有额外的插入损耗和噪声这笔账怎么算都不划算。3.3 后级自适应到底在补偿什么我再说得具体一点运行过程中后级DSP/DFE在时刻跟踪的是哪些东西。首先是高频插损的缓慢漂移这就像前面说的温度变化数字均衡器的系数可以跟着更新效果等价于CTLE调整但实现代价小得多。其次是串扰的变化相邻走线的信号幅度和相位会随温度和供电变化数字域的串扰抵消器可以连续更新系数来实现自适应均衡。再就是发射端和接收端的时钟相位漂移。这个主要是CDR负责但均衡器也需要配合补偿相位变化引入的幅度变化。这些跟踪需求无论是频域还是时域数字域的表达能力都远超模拟CTLE那三四个旋钮。硬要让CTLE去做背景自适应就好像在高端手机影像系统上非要靠转动一个前置光学透镜的曲率来变焦而明明主摄、长焦、计算摄影已经覆盖了全部焦段。4. 背景自适应的成本远超你的想象4.1 硬件开销不是加几根线那么简单真正的背景自适应需要有一套完整的观测和控制闭环。观测端要有监控器比如眼图监视器、误差采样器或者从ADC数据里抽出一路并行计算误差指标。控制端要有一套控制逻辑能根据误差指标去调整CTLE的档位。先把观测端拿出来看看。224G系统里PAM4符号速率大约56G Baud甚至更高单符号周期不到18皮秒。要对这个速度的信号做在线质量监控ADC或者采样器必须能实时评估眼图开口或者信噪比这本身就需要额外的采样前端和大量数字逻辑。误差采样器要想不干扰主数据通路就得在时间和幅度上做一个辅助判决这会给模拟前端引入额外寄生电容直接影响主通路的带宽和噪声。数字监控部分也不能小看。想评估眼图开度必须统计大量符号然后做直方图或者浴盆曲线拟合这些逻辑在112G/224G吞吐率下要并行化处理。有的方案还会跑LMS梯度算法每个符号都要做乘加运算。算下来功耗轻松增加几百毫瓦这个数字在每瓦比特效率寸土寸金的SerDes里是很有分量的。控制端也没那么简单。CTLE档位切换不是瞬间完成的模拟电路有建立时间切换瞬间还会在输出端引入毛刺。如果控制逻辑在边界振荡一会儿切上去一会儿切下来接收机性能会变得极不稳定。为了消除这种振荡必须设置滞后比较器或者死区这又增加了设计复杂度。4.2 在线收敛的风险可能更糟背景自适应最大的隐患其实不在成本而在可靠性。在线自适应是在未知数据流上估计信道质量这个过程本质上是一个随机逼近问题天然存在收敛失败的可能。我举一个非常现实的例子。在PAM4信号里如果我们用某种误差准则做自适应很难保证误差面是单峰函数。信道串扰、前向纠错码的游程特性、接收机采样偏差都会让误差面出现局部极小值。训练阶段因为收发双方知道码型、可以做全局搜索所以能绕开局部极小运行中的数据流是随机的自适应算法只能做梯度下降或者扰动搜索一旦掉进局部极小CTLE就跑偏。跑偏的后果是什么可能是眼图开口变小误码率抬升几个数量级。更麻烦的是自适应环路会把它当成“最新最优的解”其他后级均衡器也会跟着调整去配合这个错误工作点最终整个接收机稳定在一个错误状态而且没有任何告警机制能告诉你它错了。相比之下一个固定参数的CTLE反而很简单可控链路质量和预期一致不会出现不可预测的跳变。4.3 场景对比谁才真正需要背景自适应我也要把话说全CTLE背景自适应不是完全没有存在价值。在下面这些场景里它是有意义的可插拔光模块、线缆等信道特性随温度和环境显著变化的场景特别是多模光纤和铜缆长短混插时没有数字基带DSP的纯模拟接收机架构所有均衡只能靠模拟电路完成极低功耗、低复杂度目标下不愿意做ADC-DSP的短距链路用一个带自适应的CTLE满足基础需求需要快速相应的动态信道场景比如车载总线在振动、温度、电源波动下运行。但请注意上面这些场景的共同特点是要么信道变要么没有数字后级。而112G/224G背板链路天然具备相对静态的信道特性接收机又普遍采用ADC-DSP架构两个条件都不满足所以背景自适应自然就不需要了。5. 实操为一个112G/224G链路确定CTLE参数5.1 测试台架怎么搭不纸上谈兵讲讲实操。我在实验室里确定CTLE档位的时候一般按下面这个流程走。第一步先把物理层测试环境搭好。用真实的背板或者测试PCB走线保证信道S参数和实际设计一致。很多人用一段随时可换的线缆代替背板测出来的结果跟批产状态完全两码事这个坑我踩过。第二步连接误码仪。接收机进入训练模式误码仪发送PAM4信号速率按Spec要求跑满。注意要让信号源和接收端的时钟恢复环都能锁定避免测试配置本身引入额外误码。第三步遍历CTLE档位。通过寄存器接口把CTLE的低频增益、零点、峰值量依次扫描对每个组合统计误码率。扫描时建议保持其他模块的默认配置因为我们要看到CTLE单变量对性能的影响。第四步记录关键指标。误码率是最终结果但中间状态也要看眼图。用高速示波器在接收端测试点采样记录每个CTLE档位下的眼图高度、眼宽和抖动值。PAM4信号还要看每个眼睛的高度特别是内眼和外眼是否均衡。5.2 档位选择的判断标准扫完数据之后选择档位的原则有三个。第一误码率优先。挑出误码最低或者达到目标BER以下且余量最大的档位。如果多个档位误码都达标选择峰值量较小的那一个因为峰值量越大噪声增强越明显温度漂移时余量掉的越快。第二考虑温度和供电极限。实验室常温下最优不代表全温度范围最优。我会把关键的几个档位拿到高温箱里再测一遍选一个在25℃和85℃性能都够用的中庸档位而不是极端最优档位。第三留出后级均衡器的调整空间。CTLE档位选完后面的DFE和DSP的初始系数都要跟着设。选择CTLE时不要追求让CTLE单独把眼图拉到最大更好的做法是让CTLE只把信号补偿到后级均衡器能正常工作的水平把剩下的余量交给DFE和DSP去优化。5.3 几个容易踩的坑盲目加大Peaking现场看到CTLE档位越大高频提升越多就觉得更好。实际上峰值增大后带外噪声也被放大误码率可能不降反升。判断方法很简单看高频段信噪比测试结果别只看眼高。忽略了DFE配合问题CTLE和DFE是联合优化的分开调你会得到一个“看起来各自最优但整体不是最优”的组合。正确做法是链路训练时整体搜索或者至少做一轮CTLE固定后微调DFE的迭代。拿不插损耗补偿完当目标前面说了CTLE别试图全部补信道。让它在奈奎斯特频率处只补一部分比如60%到70%剩下的交给后级余量和稳定度反而更好。寄存器值不固化有的测试软件支持CTLE在线切换开发阶段容易写成每次进入工作态都重新跑一遍训练搜索。这会拖慢启动时间并且可能每次搜到的档位都不一样造成产品行为不一致。定版之后要让链路训练结果以寄存器方式固化下来。这些经验花了我不少时间才摸清写出来希望大家少走弯路。现在我做新项目的时候拿到芯片手册第一件事就是找CTLE的可调档位和训练流程描述搞清楚它在整个架构里承担的角色再决定要不要费劲做自适应。5.4 训练固化的延伸操作链路训练固化CTLE档位之后还有一个小技巧值得做。把不同温度下的最佳档位映射表建一份比如在25℃、55℃、85℃下各训练一次记下每个温度点的最优档位。即使运行时不实时调整CTLE这张表也能帮你在研发阶段评估温度余量还能用来判断哪些后级DSP系数变化量是在合理范围之内。如果最终产品对温度极端敏感可以考虑一种折中方案CTLE不常驻自适应但固件里用一个温度传感器查找表当温度变化超过一定阈值时通过I2C或者固件控制重新设置CTLE档位。这种慢速的查表切换没问题因为它不是连续背景自适应不会引入收敛风险成本也低得多。不过这已经是系统级的定向补偿思路不再属于CTLE自适应范畴了。6. 个人体会踩过这么多坑之后我对CTLE自适应的态度很明确能用训练解决的事别留给运行期能用数字后级解决的事别麻烦模拟前端。112G/224G系统里CTLE不做背景自适应不是因为模拟设计做不出来而是因为它不值得。链路训练已经拿到了全局最优解数字后级完全跟得上信道缓慢漂移背景自适应反而引入功耗、收敛风险和不确定的系统行为。设计高速链路时把CTLE当成一个固定整形网络认真对待它的档位选择和训练流程远比在上面加一个华而不实的自适应环路更有价值。下次再有人拿着“背景自适应CTLE”的方案来评审我会建议他先画一张接收机架构框图看清楚谁负责粗调、谁负责细调然后算一算硅面积和功耗预算。算完之后大多数人心里的答案自然就和我一致了。
返回列表