ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

NPO光互联EMC实战:从频谱预算到屏蔽设计的系统工程

NPO光互联EMC实战:从频谱预算到屏蔽设计的系统工程

半年前我们在做某算力集群的互连方案评审时,CPO和NPO两个方向争论得相当激烈。我们最后选了NPO(Near-Package Optics,近封装光学),理由很朴素:它比可插拔光模块更贴近芯片,又不像CPO那样把光引擎和交换芯片焊进同一个封装,维护灵活性和良率风险都友好得多。但方案定下来之后,真正的麻烦才开始——NPO把原本躲在金属笼子里的光电转换电路搬到了主板上、紧挨着ASIC的位置,电磁兼容性(EMC)第一次变成了硬件工程师必须在设计前期就拍板的核心课题。这篇文章就把我们在NPO光互联落地过程中吃过的亏、拆过的辐射源、改过的屏蔽结构一次讲清楚,适合正在做AI集群互连选型、或者已经在调高速信号板的硬件与系统工程师参考。

1. AI算力集群的密度焦虑:从可插拔光模块走向NPO的必然性

1.1 带宽翻倍、功耗上升、面板空间有限的三角死结

现在的AI训练集群,单节点之间跑几百Gbps甚至Tbps级互连已经不是新鲜事。传统做法是计算侧和交换侧都用可插拔光模块(OSFP、QSFP-DD这类),这些模块的好处是标准成熟、维护方便,但它有一个绕不过去的物理瓶颈:电信号从交换芯片的SerDes出发,经过PCB上的长走线、连接器,一直走到面板上的模块插口,这一段电通道动辄十几厘米,甚至更长。在112G/lane的速率下,这段链路每多走一厘米,损耗和发热都肉眼可见地往上涨。

与此同时,面板空间是固定的。可插拔模块要占端口位,交换机或加速卡正面的端口密度越做越死。带宽要翻倍、功耗在涨、面板面积有限,这三件事卡在一起,就是整个互连体系里最难受的“密度焦虑”。行业给出的答案也很统一:让光引擎尽可能靠近ASIC,把长距离电信号传输变成“极短电信号+光纤长距离”。电链路越短,功耗越低,密度越高。可插拔模块到NPO/CPO的演进,本质上就是在这个三角死结里挤出来的路。

1.2 NPO在CPO和可插拔模块之间的实际定位

很多人把NPO和CPO画等号,其实两者有本质区别。简单梳理一下:

  • 可插拔光模块:光引擎和驱动电路封装在独立模块里,插在前面板,电信号走线最长。
  • NPO:光引擎不再做成插拔模块,而是直接贴装在PCB上,紧挨ASIC封装边缘(毫米级到厘米级),光引擎负责光电转换,光纤通过连接器或引线束引出。
  • CPO:光引擎和交换/计算ASIC放到同一封装基板或中介层上,电信号走线最短,只有几毫米。

CPO理论优势最极致,但工程复杂度也最极致——光引擎的散热、可替换性、测试和良率全部和昂贵的高端计算芯片绑定在一起。NPO是一个很务实的折中:电信号只比CPO长一点点,但光引擎是独立器件,坏了可以单换,封装难度远低于CPO。

我们当时选NPO,主要考虑的是散热维保灵活性和供应链风险,NPO在这两项上都比CPO舒服。但对EMC来说,NPO带来的问题却很新鲜——它既不像可插拔模块那样有一个标准金属外壳替你扛辐射,又不完全具备CPO在封装内做精密屏蔽的条件。于是“EMC必须前置设计”这句话,就从一句口号变成了实打实的工程需求。

2. 光引擎进了主板之后,EMC风险区如何从边界扩散到核心

2.1 屏蔽责任从“模块壳子”转移到“系统板级”

EMC拆开看就是EMI(对外辐射)和EMS(抗扰能力)两件事。传统可插拔光模块时代,所有光电转换电路、驱动电路都装在一个带金属屏蔽壳的小盒子里,再插到带金属笼子的端口位置,屏蔽结构高度标准化。即使高速信号有辐射,很大一部分也被金属壳和笼子吸收、反射掉,最终能跑出来的主要是前面板缝隙和连接器接口那点泄漏。

NPO方案把这个格局彻底打乱了。光引擎、激光器驱动、TIA、DSP如果由你自己布板,它们就直接暴露在主板上,紧挨着核心计算/交换ASIC。金属屏蔽壳从“开箱即用”变成了“自己画个罩子,还得保证它接地良好”。最直接的后果是:EMC问题从系统边界(面板模块区)扩散到了系统中心(ASIC周围)。而中心区域的辐射源恰好又是最复杂的——高速SerDes走线、电源开关噪声、光驱动大电流全在这里汇聚。

前几年做传统交换机时,EMC工程师最常干的事是跑到面板前拿近场探头看连接器口。做NPO板卡后,第一次要在芯片的“贴身区域”做板级扫描,这种变化对团队认知的冲击很大。谁要是还按老思路,等样机出来再想EMC对策,改板和加工周期会拖到让人崩溃。

2.2 112G/lane到224G/lane,辐射频谱远超你的直觉

很多人以为112G/lane的信号辐射主要是基频28GHz左右的能量。但EMI从来只看“上升沿有多陡”,不看基频有多高。信号频谱的包络在频率超过拐点频率后才明显衰减,拐点频率近似可以用0.35/tr估算(也常用0.5/tr)。如果信号上升时间做到20ps,拐点大约17.5GHz;到224G/lane阶段,上升沿可能压缩到10ps以内,拐点直奔35GHz以上。

这意味着什么?信号完整性和电源完整性稍微没做好,均衡器被逼着硬补,或者驱动幅度调得偏高,高频谐波就会从基频一路铺到几十GHz。在这些频率上,PCB上的半波长只有几毫米,一个接地不良的螺丝孔、一段悬空的散热器边缘,都可能变成效率极高的辐射体。

还有一点容易被忽略:NPO光引擎是多通道并行工作的,32通道、64通道不算稀奇。多通道的驱动/接收电路如果共用一个参考时钟,频谱能量会在某些谐波点出现相干叠加,远场测出来就是一排高耸的“梳状谱”。这不是单通道的问题,而是多通道相位对齐造成的噪声共振,处理思路完全不同。

2.3 光引擎区域的“三源叠加”:驱动电路、DSP开关与电源转换

把NPO区域的辐射源归类,基本就是三件事:一是激光器驱动和TIA的大电流快速翻转,这是光电转换环节的固有噪声;二是数字DSP的开关噪声,包括内部时钟和数据总线活动;三是给光引擎供电的电源转换电路,DC-DC开关频率通常在几百kHz到几MHz,谐波一串就是几十上百个频点。

这三个源还会互相耦合:DC-DC噪声通过供电走线钻进激光器驱动,激光器驱动电流变化又通过寄生参数窜到DSP侧,整个光引擎区域成了一个天然的三明治干扰场。如果还叠加机械结构上的谐振,比如散热器悬臂或屏蔽罩盖板松动,某个频点就可能被放得很大。

这也是为什么我反复强调EMC必须前置。后补方案只能做局部遮挡和加磁珠,但“三源”串扰的根源是布局、叠层、回流路径和电源去耦设计,这些一旦在Layout阶段定下来,后期几乎只能靠堆铜皮和吸波材料硬顶,效果差且成本高。我们上板前就把“三源”的频谱列成表,把倍频关系标在原理图和版图评审的检查单上,后来看这张表至少帮我们避开了两次大改。

3. 前置设计的具体路径:频谱预算、叠层回流、电源去耦

3.1 先做一张“EMC频谱预算表”,再画原理图

前置设计听起来玄,落到具体动作就是算预算。我强烈建议在投板前整理一张EMC频谱预算表,把板内所有已知的周期性信号源列出来:各条高速串行链路的比特率及对应基频、参考时钟频率、DDR时钟、DC-DC开关频率、光引擎驱动可能产生的调制频率。每一项都列出潜在辐射风险频点(基频、二次谐波、三次谐波),再看这些频点是否落在无线通信频段或其他限值比较苛刻的区域。

这张表的最大价值在于反查。暗室实测出现超标频点时,你能快速从频点反推来源,而不是拿着近场探头在板子上毫无头绪地扫。我们第一次做NPO板卡时,实测几百MHz附近出现一组峰值,第一反应怀疑SerDes,查了一圈没找到。后来对照频谱预算表,才发现是给光引擎供电的DC-DC开关频率倍频,再叠加了其他噪声源。如果没有预算表,靠盲扫至少多花两周时间。

更进阶一点,预算表可以精确到“路径”:某个时钟倍频到哪个网络,驱动芯片的电源纹波可能耦合到哪一段走线,光缆出口到机箱的地电位差可能激励哪段结构件。前置设计不是把所有风险都消灭,而是把可能的坑提前标出来,让后续的Layout和结构评审有的放矢。

3.2 叠层与回流路径:EMC问题往往先败在“地不完整”

NPO光引擎放进主板后,第一要务不是加屏蔽罩,而是保证高频返回电流有连续、低阻抗的参考平面。112G/lane SerDes的返回电流主要走在走线正下方的参考平面上,如果参考平面被过孔阵列、电源分割槽切断,返回电流就得绕远路,绕出来的那个环路就变成了环形天线。单个幅度可能不大,但频率高,辐射效率很高。

所以在叠层设计阶段就要确认:光引擎区域至少保证往下第一层是完整地平面;高速差分对同层两侧留出足够的“伴地”间隔;过孔换层的位置要有相邻的返回过孔提供低阻抗回路。这些是老生常谈,但在NPO场景下有一个新问题:光引擎引脚布局非常密集,布线资源紧张,很容易不小心就把参考平面掏成筛子。

还有一点容易被忽略:参考平面的“完整性”不只是看有没有被大面积挖空,还要看过孔密度。如果一个平面被大量信号过孔穿透到接近失效,高频返回电流同样会被迫绕行。布局阶段让光引擎区域的过孔分布稍微“留白”,对整板EMC的帮助有时比多加一排去耦电容还明显。

3.3 光引擎供电去耦:别只盯着数据信号

NPO板卡上,大家习惯把注意力集中在高速数据信号上,但实际踩坑最多的往往是供电网络。光引擎的激光器驱动在数据翻转时,瞬间电流脉冲可能达到几百毫安甚至安培级,这个瞬态电流会在供电网络上激起噪声,再跟数据信号耦合,就形成了以开关频点为间隔的干扰谱线。

去耦设计的思路是“多级围堵”:从远端电源模块过来,先在光引擎供电入口放低频电解电容和2.2uF/0.1uF的组合;靠近光引擎电源脚位置,用0.1uF加0.01uF甚至100pF的电容阵列覆盖几百MHz到GHz级的频谱。每个去耦电容尽量贴近负载电源脚,过孔要靠近电容焊盘,否则寄生电感一上来,电容等于白放。

如果光引擎支持多个独立电源域(模拟、数字、驱动器分别供电),各电源域之间不要共用一个平面,尽量用独立的窄条铜皮引到源端,再在汇合点放磁珠或0欧电阻,避免数字开关噪声窜到模拟段。这个“分区供电”的做法在板级EMC里几乎是性价比最高的投入之一。

提示:不要在版图阶段才考虑去耦电容位置。原理图阶段就把每个电源域的电容列表、数量和放置要求写进设计规格,让版图工程师有据可依。后补电容的位置往往都在离噪声源最远的地方,效果大打折扣。

4. 屏蔽与散热的协同:NPO区域的“盖帽怎么盖”有讲究

4.1 屏蔽罩接地引脚间距与缝隙天线的物理账

NPO区域要不要加屏蔽罩?我的答案很直接:只要光引擎本身没有自带金属壳,几乎都要加。但加屏蔽罩不等于画个六面体扣上去,真正决定屏蔽效果的是“缝隙”。金属屏蔽罩一旦有长缝隙,在几GHz到几十GHz频段,波长只有几毫米,缝隙只要超过约二十分之一波长,辐射泄漏就会明显劣化。

工程上常用的经验是把接地引脚间距控制在λ/20以内,更严格的项目会压到λ/50。以10GHz为例,波长约30mm,λ/20就是1.5mm。也就是说屏蔽罩四周接地点的间距最好不要超过1.5mm,否则高频辐射会从地脚间隙漏出去。这就是为什么高速板卡上,屏蔽罩不是用四个大焊盘固定,而是用一圈密集过孔加焊盘脚位的“围栏”结构。

罩子本身材料也有讲究,推荐镀锡钢板或镀银铜片,厚度至少0.2mm。如果光引擎上方要压散热器,尽量把散热器直接当作屏蔽罩的顶盖,保证顶盖与四壁之间有可靠的导电接触(导电弹片或导电泡棉)。散热和屏蔽二合一,既省空间又少一个潜在谐振点。

4.2 光缆出线口:最容易被忽视的“天线口”

NPO光引擎的光纤通常会以带状或束状引到机箱面板或中背板,这就要在屏蔽结构上开口。这个开口如果处理不好,就是整个屏蔽体系最大的漏点。实操中常见的问题:结构工程师给光缆留了一个十几毫米宽的槽口,金属挡板与机箱外壳的搭接又不到位,于是槽口变成了一条狭长缝隙天线,全频段辐射整体抬升。

解决思路是“波导式过渡”:把光缆出线口的金属挡板设计成带一排小孔或梳状弹片的结构,每个开孔尺寸压到对应最高频率的λ/20以下,同时让挡板与外壳之间保持连续的导电接触。实测下来,这个位置的改善通常能带来好几个dB的余量提升,尤其在GHz以上频段。

另一个更省事的办法是给光缆套一层金属编织屏蔽套,编织套两端分别可靠接地到光引擎屏蔽罩和面板挡板。注意接地不能靠“搭在上面”,要用金属卡箍压紧,否则高频下接触阻抗一上去,等于白接。

4.3 散热器是屏蔽帮手还是辐射天线,取决于接地点

NPO光引擎发热不低,激光器驱动和DSP在狭小空间里高密度工作,散热器几乎是标配。散热器对EMC是双刃剑:如果接地点多、位置合理,它可以当一块大屏蔽天板;如果接地稀疏或只在一端接地,它就变成一块巨大的浮空金属板,通过容性耦合接收光引擎的噪声,再朝外辐射。

关键是多点接地,且接地点尽量靠近噪声源。散热器与芯片之间通常有导热垫,但不导电,散热器必须通过专门的接地脚或弹片连到地平面,连接点过孔要密集,形成低阻抗。一块大型散热器如果和激励源之间有空气缝隙耦合,缝隙处还会形成驻波,导致某个频点突然冒尖。

我们遇到过某个频段附近的辐射尖峰,最后查下来是散热器长度刚好接近半波长形成谐振。调整安装点间距、增加接地点后消失。这种问题如果不做前置仿真,后期基本只能靠换散热器结构解决,成本极高。结构评审阶段,把散热器尺寸、安装脚位置、激励源位置丢进全波仿真扫一遍1-20GHz,半小时就能看出风险。

5. 暗室预测试前的自查清单与两个实测案例

5.1 投板前的EMC前置设计自查清单

把前面这些点压缩成一张可执行的检查表,每次设计评审逐项过:

设计阶段必查项典型的失败后果
频谱预算时钟、SerDes速率、DC-DC开关频率及倍频是否全部列入并标注风险频点实测超标后无法快速定位噪声源
叠层与回流光引擎下方是否有完整参考平面,高速差分返流是否被平面分割阻断高频辐射底噪整体抬高
过孔布局光引擎区域换层过孔是否成对放置、密度是否过高返回电流绕行形成环形天线
电源去耦各电源域是否按频段配置去耦电容,电容位置是否靠近负载脚供电纹波耦合进激光器驱动,形成梳状谐波
屏蔽罩接地引脚间距是否满足λ/20,顶盖与四壁是否导电闭合屏蔽罩本身成为窄缝天线
光缆出口槽口尺寸、弹片间距、编织套接地是否达标全频段辐射整体抬升,余量不足
散热器接地多点接地脚位置是否合理,接地点阻抗是否够低散热器作为浮空金属在某一频点谐振

这张表不是玄学,是全从实测吃亏里反推出来的。每次评审拉出来逐项过,虽然不能保证暗室一次通过,但能砍掉大概率出现的超标项。

5.2 案例一:光引擎电源DC-DC谐波的梳状谱定位

某次预兼容测试,扫描时发现一组等间距峰值,间隔正好等于板上一颗DC-DC的开关频率,幅度在几百MHz附近拖了一条“山脉”。第一反应是电源模块噪声通过光引擎供电走线耦合到了高速信号上。近场探头在光引擎电源输入脚附近确实抓到了明显更强的信号。

处理分两步:先给DC-DC加展频时钟,让开关频率在小范围内抖动,把单点峰值能量摊平;再在激光器驱动电源输入脚就近补一组0.1uF加100pF去耦电容。复测时梳状谱峰值明显下降,余量变大。这个案例说明,既然辐射谱是开关频率的谐波族,改变开关频率的控制方式和抖动,有时比单纯堆滤波电容更有效。

5.3 案例二:光缆挡板缝隙导致的高频宽带凸起

另一个案例是机箱前面板的两个光缆出口,结构件留线槽时开了十几毫米宽的槽,外壳搭接处只靠几个螺丝固定。在暗室里整机扫描时,从低到高全频段底噪都偏高,像一个大鼓包。近场探头在槽口附近一扫就抓到明显峰值,而且峰形随光缆位置变化在漂。

我们把挡板改成带一排小孔的波导式挡板,孔直径压到几毫米级别,并加导电泡棉确保接触连续,同时给光缆套上编织屏蔽套并用卡箍压接接地。改动后,那个“鼓包”整体塌下去好几个dB,整机余量立刻就有了。这案例想说明:NPO系统的EMC很多时候不是某个芯片辐射太强,而是结构边界上的开口让能量漏了出来,把边界封住,效果往往立竿见影。

6. 一点收尾经验

做AI算力集群NPO光互联项目,真正难的往往不是光链路本身,而是电磁兼容这条贯穿方案选型、原理图、版图、结构、测试全流程的隐形主线。我的体会是,EMC前置设计不是一道墙,而是一张路线图——早期把频谱预算、回流路径、屏蔽边界、接地策略都梳理清楚,后面暗室测试就只是一次验证,而不是开盲盒。特别是NPO这种把光电器件从标准模块搬进主板中心的方案,边界条件整个变了,老的模块级屏蔽经验只能当参考,真正要建立的是自己对干扰源、耦合路径和敏感器件的系统判断。希望这篇梳理能帮正准备投入NPO方案的同路人少走几步弯路。

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进