资讯动态

光互连抖动裕量从0.12UI到0.28UI:56Gbaud PAM4光电协同设计实战

发布时间:2026/10/20 19:18:07 来源:尧图企业网站定制
我遇到过这样一条56Gbaud PAM4光互连链路预FEC误码率始终卡在约3e-5附近眼图上最明显的塌陷集中在中间那个眼。一开始我用的还是老一套思路接收端CTLE抬升、DFE抽头从1个加到2个结果浴缸曲线不仅没张开右侧尾部的抖动尾巴反而更长了。后来把整条电-光-电E-O-E链路的仿真模型拉出来逐级统计抖动贡献才发现问题压根不在接收端——发射端硅光微环调制器的工作点已经偏离谐振位置驱动摆幅和消光比的联合曲线把确定性抖动放大了接近一倍。那次之后我对“抖动裕量”的理解彻底变了它不再只是接收端采样点附近还剩多少余量而是整条光链路的容错预算必须靠光电协同设计来拆解和提升。这篇文章想把这套实践整理出来重点包括什么是光互连抖动裕量、光链路里的抖动从哪里来、光电协同设计到底在“协同”什么以及一个把裕量从0.12UI做到0.28UI的完整优化流程。内容更适合被高速链路误码问题困扰的光模块硬件工程师、信号完整性工程师也适合刚接触PAM4光通信、想理解“电和光为什么要联合设计”的入门读者。我不会堆数学推导重点讲工程判断、仿真建模注意点和可以直接复用的步骤。1. 先说结论抖动裕量是整条E-O-E链路的“容错预算”1.1 先给不熟悉概念的读者打个底UI与浴缸曲线理解抖动裕量前必须先建立一个单位意识UIUnit Interval也就是一个符号的时间宽度。56Gbaud PAM4下一个UI大约等于17.86ps。采样电路在每个UI内找一个最合适的时刻去判决符号这个“最合适时刻”通常取眼图中央。如果信号沿到达的时间飘了比如早到了2ps或者晚到了2ps采样判决仍然正确那么系统对这个符号的时间容错就是4ps。把不同随机模式下所有符号的到达时间差统计出来就得到眼图和浴缸曲线。浴缸曲线两翼收敛的位置就是目标误码率下采样点前后还能容忍的时间总量这个总量就是抖动裕量。打个比方一支乐队在节拍器指挥下演奏每个乐手都允许比标准节拍早或晚一点点但只要不准点过头听众就听不出混乱。这里的“不准确许可范围”就是裕量。裕量越大演出越稳裕量越小任何一个鼓手手抖一下就全乱套。光互连链路里的手抖来源比电链路多得多。1.2 为什么光互连的抖动问题比纯电互连更难对付纯电互连在PCB或者封装里传输时信号至少全程是同一种物理形态可以靠中继器、均衡器把时钟和幅度逐步修回来。光互连不同信号需要在发射端从电转成光经过光纤或波导再在接收端从光转回电。每一次E/O和O/E转换都会把幅度噪声、功率波动、偏置漂移映射成时间上的抖动这就是工程里常说的AM-PM转换效应。更麻烦的是PAM4调制。NRZ只有两个电平PAM4则把幅度切成四层同一只眼图被压缩成三个垂直眼平均垂直开度下降到原来的三分之一左右。同样的噪声和反射作用下PAM4的判决余量显著变小时间上的抖动稍大一点就可能跨过判决阈值。而光器件之间又存在强烈的耦合调制器的偏置点、驱动电路摆幅、激光器的相对强度噪声、接收端跨阻放大器的增益带宽积这些参数不是独立存在的调整任何一个都可能在其他地方引发新的抖动成分。所以传统“光器件单独达标、电路单独达标”的设计方法在56Gbaud以上几乎必然碰壁。1.3 “光电协同”解决的不是某一个模块而是预算分配如果按模块独立设计每个模块交付时都留出各自的裕量比如光调制器保证消光比达标、驱动电路保证上升时间达标、接收端保证灵敏度达标看起来每个指标都合格了但这些裕量在链路里是相乘甚至相减的关系。一个模块的边角余量吃掉一点另一个模块的制造偏差再吃掉一点最后系统级的裕量可能已经被消耗殆尽。光电协同设计的本质是把裕量重新分配发射端多压一点确定性抖动接收端就可以少放一点DFE抽头增益从而抑制噪声放大接收端CTLE帮信道多抵消一部分码间干扰发射端FFE就可以减轻预加重程度从而减少过冲引入的额外抖动。这是一种整体系统级的“拆东墙补西墙”只不过拆补之后的总收益变大而不是变小。我自己的经验就是如此当初只调接收端怎么都压不下去的误码率改成全链路视角后把发射端微环工作点和驱动摆幅先修好再回头调接收端均衡浴缸曲线一下就张开了。这就是“协同”两个字的分量。2. 抖动源头地图发射端、信道、接收端的“责任田”怎么分2.1 发射端激光器RIN与调制器偏置是主犯发射端的抖动来源很集中但每个都不好对付。首先是激光器的相对强度噪声RIN它表现为光功率的随机涨落经过调制器和探测器后一部分变成幅度噪声一部分通过AM-PM转换变成时间抖动尤其是在消光比不够高的时候功率涨落对判决时刻的影响更明显。其次是调制器和驱动电路的配合。对马赫-曾德尔调制器来说半波电压、直流偏置和驱动摆幅共同决定消光比与输出波形的线性度。如果驱动摆幅不足调制器工作在非线性区顶部和底部的输出脉冲形状不一致就会出现与数据图案强相关的确定性抖动。对微环调制器来说问题还要复杂一层谐振波长对温度和偏置电压都很敏感偏置电压不仅改变光衰减还会改变光场的群延迟等于把低频控制信号直接注入到时间抖动里。驱动电路的电源纹波也会在输出波形上叠加周期性的相位扰动PJ时钟分配路径上的占空比失真DCD则让奇数符号和偶数符号的到达时间产生固定的偏移反映在眼图上就是左右两翼不对称。2.2 信道与封装反射和温度漂移会“养”出确定性抖动很多人习惯把目光放在收发端忽略信道和封装这一段但光互连的抖动问题有不少是被这一段“养”出来的。封装上的阻抗不连续、连接器回损、PCB走线过孔都会造成反射。反射回来的信号再经过调制器或激光器界面反射形成二次反射这种多次反射驻波会在频域上产生纹波最终表现为浴缸曲线上的固定凸起而不是一条平滑的收敛曲线。光纤和多模波导中的色散与模式弥散则把相邻符号的能量拖到当前符号上形成码间干扰ISI。在短距模块里几十厘米的波导链路看起来不长但硅光工艺角带来的波导宽度偏差、镀膜厚度差异会让有效折射率和带宽发生显著偏移。同一个设计在某个工艺角下裕量充足换个工艺角可能直接劣化到无法满足目标误码率。所以信道建模不能只建“理想链路”封装模型、工艺角、温度点全部要进仿真。2.3 接收端均衡器和CDR才是真正决定裕量的人接收端是最后一道防线也是多数工程师第一眼盯上的地方。光电探测器PD的带宽不足会让脉冲拖尾跨阻放大器TIA的增益-带宽积有限过高的增益会放大噪声过低的增益又会让后端判决器分辨率不足。TIA输出经过均衡器CTLE补偿高频损耗再经过DFE消除残余ISI但DFE抽头越多、反馈增益越大噪声放大和错误传播的风险也越高。再往后是CDR时钟数据恢复它的环路带宽决定了能抑制多少低频抖动带宽太宽会把高频噪声引入采样时钟带宽太窄又跟不上低频漂移导致采样点缓慢偏移。很多人把CDR当作一个固定参数模块实际上它的行为直接参与浴缸曲线的形状定义。接收端能做很多事但它的能力上限受制于前端光器件和信道已经产生的损伤所以真正的优化必须前后端一起看。2.4 一张抖动预算分配表把责任固定到团队在开始仿真和参数扫描前我习惯先把预算表写出来。下面的表是一个56Gbaud PAM4链路的示例具体数值会随平台和工艺不同变化但分组分、定责任方这个动作是通用的抖动组分主要来源典型影响特征责任方与主要手段随机抖动RJ热噪声、散弹噪声、振荡器相位噪声浴缸曲线两翼的随机扩散尾巴低噪声电路设计、功耗与噪声折衷确定性抖动-DJ(ISI)调制器非线性、信道反射、PD/TIA带宽不足固定的眼图塌边、符号相关发射/接收均衡、链路阻抗匹配确定性抖动-DJ(DCD)驱动电路占空比失真、时钟分配眼图左右不对称驱动器设计、时钟路径对称布线周期抖动PJ电源开关纹波、串扰浴缸曲线上的周期性皱褶电源完整性、串扰隔离低频漂移温度变化、微环偏置点偏移长期裕量缓慢收窄偏置控制环路、温度补偿有了这张表每类抖动都能找到明确的责任人优化时也就不会出现“接收端调了半天其实是发射端在添乱”的情况。先分清责任田再动手动参数。3. 光电协同设计到底在协同什么三个层面的联合优化3.1 器件级驱动电路和光调制器放一起调器件级协同核心是把光器件的小信号等效电路和驱动电路放到同一个仿真环境里而不是各自单独验收。以马赫-曾德尔调制器为例半波电压决定了驱动电路需要提供多少摆幅。摆幅加大调制深度提高消光比改善但驱动器的功耗和输出非线性也会上升甚至引入额外的DCD。摆幅减小功耗下降但光眼图的垂直开度不足接收端被迫加大TIA增益噪声又变差。这时就要画出“驱动摆幅—偏置电压—消光比—上升沿抖动”的联合曲线找几个参数都能接受的公共区域。微环调制器的器件级协同更复杂。它的谐振波长调整通常依靠热调谐或载流子注入偏置电压不仅控制光衰减还影响波导内的群速度也就是群延迟。于是任何偏置控制上的微小抖动都会变成输出光脉冲的相位移动。设计偏置控制环路的带宽时必须同时看调制器的调谐曲线和驱动输出阻抗否则环路一振荡整个发射机的时间抖动会指数级恶化。我的做法是把光器件的等效电路、驱动器的SPICE模型、偏置环路控制模型放在一起跑PRBS仿真先用瞬态看波形形状再统计眼图和抖动而不是在光域单独看消光比。3.2 链路级发射端FFE和接收端CTLE/DFE联合搜索链路级协同优化做的最多的是均衡分配。发射端FFE可以预补偿信道的高频损耗但预加重做过头会把发射端的高频噪声和串扰一同放大接收端CTLE和DFE也能补偿信道但DFE抽头越多反馈回路引入的噪声放大越严重。关键问题在于同样的信道损伤到底在哪一级补偿更划算我常用联合目标函数的方式把这个权衡量化在满足目标误码率的前提下寻找发射端FFE抽头系数、接收端CTLE增益峰值和DFE抽头数量的组合使最终浴缸曲线宽度最大。实际操作中不需要复杂的优化算法用两阶段扫描就够了第一轮在粗糙网格上找大致的优区比如FFE预加重从0到-0.2步进0.05CTLE峰值从4dB到10dBDFE抽头数固定为1或2。第二轮把网格细化围绕第一轮的最优点加密扫描顺便覆盖不同温度和工艺角。这种联合搜索每次跑几百个BER点计算量可控。真正需要注意的不是算力而是目标函数。如果只盯着“接收端均衡后的眼高最大”得到的组合很可能是发射端过预加重、接收端噪声放大整体裕量反而变小。目标函数必须是整条链路的采样裕量或浴缸曲线宽度而不是某个中间节点的局部指标。3.3 系统级FEC预算、CDR跟踪带宽、温度漂移一起定系统级协同最容易被忽视但收益也最大。第一件事是把目标BER和FEC能力对齐。常见的前向纠错方案能容忍较高的输入误码率那么链路仿真就不必追求1e-12这种遥不可及的目标可以把预算释放给CDR、均衡和功耗。目标定得太严等于逼着整个系统为不必要的误码率买单最终裕量分配处处捉襟见肘。第二件事是CDR环路带宽和发射端抖动谱的匹配。发射端的低频抖动比如温度漂移、偏置控制的残余波动如果光谱能量集中在低频CDR环路带宽就要设计得足够窄去抑制它但带宽压太低又跟不上频率源本身的漂移采样点会慢慢滑出眼图。这个匹配关系只有把发射端抖动模型、信道模型和CDR真实恢复行为放在同一套仿真里才能看清楚。系统级协同的第三件事是把温度角和工艺角纳入指标这部分放到第5章详细说但原则先讲明白单点常温仿真不是设计结论只能算参考。4. 复现一次真实优化抖动裕量从0.12UI做到0.28UI4.1 链路搭建必做的五件事我把一次完整的链路级协同优化过程复现如下链路场景是某56Gbaud PAM4短距光互连。搭建仿真链路时有五件事必须做少一件都可能让后续优化方向失真发射端用PRBS31随机码映射成PAM4四电平再经过发射FFE和驱动器模型驱动电压和摆幅必须对应光调制器的真实半波电压。光器件模型必须包含偏置点相关的群延迟变化不能只用固定带宽的等效滤波器代替。微环调制器和探测器都一样。信道模型必须包含封装反射、连接器回损和波导的工艺角变化。只建一段理想光纤的仿真对短距互连没有参考价值。接收端必须包含TIA的噪声和带宽限制再做CTLE和DFE最后接一个真实环路的CDR模型所有环节缺一不可。温度和工艺角至少跑三档常温一档高温低温各一档工艺角快慢各一档作为协同扫描矩阵的底层条件。4.2 优化前的基线状态在完成链路初版建模后我把目标BER设定为1e-6对应系统FEC预算的入口误码率。基线结果并不好看最差眼的浴缸曲线左右两翼严重不对称右侧长期拖着一条硬尾。抖动分解的结果是总抖动Tj1e-6约38.5ps其中确定性抖动DJ约28ps随机抖动RJ的sigma约1.1ps。换算到采样裕量只剩大约0.12UI约2.1ps。发射端光眼图消光比只有2.9dB中间眼几乎要闭掉接收端CTLE峰值已经拉到10dBDFE开了2个tap还在继续噪声放大。这个基线状态很有代表性表面看接收端已经在拼尽全力实际上前端损伤太大后端怎么补救都是拆东墙补西墙。如果只看总抖动很难判断优先级。我先把抖动拆成组分再确定优化顺序。4.3 三步走的优化过程第一步先修发射端器件级工作点。我把微环调制器的偏置扫描了一遍在不明显牺牲功耗的前提下把消光比从2.9dB提到4.1dB同时把驱动摆幅从2.2Vpp微微提升到2.4Vpp。这一步的效果是发射端的DCD和电平相关ISI明显下降DJ从28ps降到17ps左右。单纯这一步就已经让裕量从0.12UI恢复到0.18UI。第二步做链路级联合均衡搜索。表里给出了这次联合扫描中几个代表性配置的变化趋势配置发射FFE预加重接收CTLE峰值DFE tap裕量UI说明A关10dB20.12基线后端硬扛B-0.126dB10.21前后端共同分担C-0.184dB10.24前端多承担一些D-0.184dB20.26残余ISI由DFE收尾E-0.155dB1优化CDR后0.28最终配置配置B到E的差别说明一个规律裕量的提升并不需要某一级特别强而是需要每一级都把最擅长的那部分做好。发射FFE减轻信道的高频损耗接收端CTLE只需补剩余一部分DFE只处理残留的长尾整条链路的压力就被平摊开了。第三步调整CDR环路带宽和偏置跟踪环路。这一阶段我把CDR带宽做了窄带优化让它更有效地抑制发射端低频抖动同时给微环偏置控制环路加了更稳定的温度补偿参数。最终裕量稳定在0.28UI也就是大约5.0ps浴缸曲线两翼基本对称右侧硬尾消失。4.4 优化结果与代价下面是对比汇总关键指标优化前优化后抖动裕量0.12 UI约2.1ps0.28 UI约5.0ps确定性抖动DJ28 ps9.5 ps随机抖动RJ sigma1.1 ps1.2 ps发射端光消光比2.9 dB4.1 dB接收端CTLE峰值10 dB5 dBDFE抽头数21估计额外功耗—0.3W注意随机抖动sigma反而从1.1ps升到了1.2ps这是因为抬升驱动摆幅和光功率后散弹噪声和热噪声略有增加。这是协同优化中典型的“用一点点噪声换大量确定性抖动改善”的取舍。最终总裕量大幅增加说明这笔交易是划算的。功耗多出0.3W仍在预算内如果预算更紧可以在发射FFE预加重和CDR带宽之间再退一档。协同设计的另一个好处就是每个参数都有一个连续可调的区间不再是一道非黑即白的选择题。5. 三个容易翻车的坑以及我的处理方式5.1 只看总抖动不拆组分优化会做反方向第一次做这种优化时我习惯用总抖动Tj作为衡量指标结果出现了一个奇怪现象把发射机驱动摆幅提高后DJ确实降了但RJ上升总Tj几乎没变。后来把浴缸曲线尾部拆开看才明白我只是把一部分DJ换成了RJ整体裕量原地踏步。为什么高摆幅让光功率增加接收端收到信号的幅度变大了但前端热噪声和散弹噪声也随之上升随机抖动相应增加。从那以后我把优化顺序固定为“先压DJ再压RJ”。DJ大多是结构性的比如偏置点不对、反射、带宽不足调整成本和收益通常比RJ友好RJ则更多受物理噪声限制硬压往往要付出功耗和成本代价。并且我每次优化后都会重新做一次DJ/RJ分解确保两翼形状是真的在变稳而不是简单的“移位”。5.2 用理想CDR当参考仿真会给你假希望链路仿真里最隐蔽的坑是用了理想时钟恢复。起初为了加快仿真速度我把接收端采样时钟直接设为理想恢复的完美时钟结果仿真裕量比后来实测值高出0.15UI还多。原因在于理想时钟把发射端的低频相位抖动全部吸收掉了等于CDR具有无限带宽和无限跟踪能力这在实际硅片上是做不到的。仿真结论再漂亮一到实物就穿帮。我的处理方式是把CDR换成带真实环路带宽的PLL模型之后仿真和实测的浴缸曲线两翼斜率才基本吻合偏差从0.15UI缩小到0.03UI。现在我的仿真验收标准很简单模型必须能复现实测浴缸曲线的基本形状尤其是两翼斜率。如果形状对不上无论总裕量数字多漂亮我都不会拿它做设计决策依据。5.3 不扫温度和工艺角单点仿真全是幻觉微环调制器是温度敏感器件谐振波长漂移速度大约在每摄氏度10到20pm量级。常规工业级温度范围从常温到85度几十度的温差足够让谐振点显著偏移从而改变消光比、损耗和群延迟响应。有一版设计在25度单点仿真下裕量做到0.30UI结果拉到85度重跑消光比掉到2.5dB裕量直接跌破0.1UI。这个案例让我再也不敢拿单点仿真当结论。现在的流程是固定的每个关键配置至少跑常温和工业级高低温三个温度点再叠加工艺角快慢两个边界。温度和工艺角的联合扫描矩阵比较大但可以在第一轮粗扫后只对最优配置补跑完整矩阵算力成本可控。偏置控制环路必须加入仿真因为它在补偿温度漂移的同时也会引入自己的低频扰动。最后我会用误码仪扫真实浴缸曲线抽几个温度点与仿真对照。只要模型能预测不同温度下的裕量变化趋势这个联合扫描结果就可以放心用来做流片决策。最后再分享一点个人体会。这三个坑踩完之后我把抖动裕量的评估固化成了一套固定动作先拆抖动组分再建立全链路E-O-E模型做发射与接收联合均衡最后按温度和工艺角重跑一遍。这个过程真正改变的并不是某一个参数而是看问题的角度——从“我负责的模块有没有达到指标”变成“整条链路把时间预算分配给谁更划算”。如果你也在调试56Gbaud甚至112Gbaud的光互连链路不妨从第一项自查开始先画一张抖动预算表把每类抖动的责任田分清楚再动手优化。很多时候问题不是哪一个模块不够好而是模块之间的接口裕量从来没有协同起来过。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑