AI算力集群越做越大交换芯片的数量和高速SerDes速率都在往上顶NPO光互联Near Package Optics近封装光学几乎成了新一代集群里绕不开的关键词。NPO把光引擎从面板可插拔模块挪到靠近交换芯片的位置用很短的电通道把高速信号送进光芯片再靠光纤完成长距离互连。这个方向对信号完整性确实友好但很多硬件团队只盯着“短走线”忽略了另一件事噪声源也跟着搬到了ASIC脚边EMC问题并不会因为换光纤就自动消失。这篇文章就从我实际接触过的NPO项目谈起说说为什么EMC必须前置设计以及前置设计具体该做什么、怎么做。我最早做可插拔光模块平台时高速信号要跨过很长的PCB走线再到面板SI是头号问题EMC问题虽然也要处理但整改空间大给模块加屏蔽罩、调整连接器位置、换导电衬垫都相对方便。到了NPO形态光引擎直接靠近交换芯片大量高速通道和电源网络挤在同一片区域布线上几乎不留“缓冲区”。更关键的是EMC常见整改手段在封装区域施展不开——空间太紧过孔密密麻麻想加磁环、换屏蔽罩往往牵一发动全身。前置设计不是一句口号我把它理解为四件事一是在方案阶段把EMC风险点讲清楚二是在叠层和分板上把噪声回流路径提前规划好三是在结构设计时把屏蔽、接地和散热器谐振考虑进去四是把EMC检查项排进原理图评审、layout评审和结构图纸评审三个节点。等到样机再测那就叫“后置救火”不叫前置设计。1. 为什么AI算力集群里EMC问题绕不开“前置设计”1.1 速率提升带来的三大隐性变化第一个变化是信号边沿更快。比如112G PAM4的符号率已经到56GBaud左右能量一直延伸到几十GHz即使信号本身是差分结构只要有一点点不平衡共模分量就会通过电源、地平面、结构件辐射出去。传统“先看眼图再看EMC”的做法在NPO场景下行不通眼图可能是好的近场探头贴上去却能扫出一堆热点。第二个变化是噪声密度。NPO把几十甚至上百个高速通道集中在与ASIC相邻的区域还要在附近布置光引擎的供电、温度检测、I2C管理信号等整个区域就像一个“射频大杂烩”。通道之间不仅会串扰而且会互相叠加共同激励起地平面上的噪声导致某个频点在系统级测试时超标。第三个变化是整改空间消失。可插拔光模块至少还有模块壳体能做文章NPO光引擎边上就是高速芯片封装、散热器和密密麻麻的贴片器件。我见过某项目的板卡从测试回来想给光引擎加一个屏蔽罩结果发现罩体要跨过供电电感、晶体和一大堆电容根本压不进去最后只能接受巨额代价改layout。其实这三点变化可以归纳成一句话NPO不是把EMC问题解决了而是把辐射路径从“长走线”搬到了“短通道金属结构件电源网络”上。问题并没有变少只是换了个形态绕到封装近旁等着你。这也是为什么NPO系统里EMC前置设计的时间点要比传统方案更早你必须在噪声源还没成型前先把它的回路、屏蔽和接地“画”进去。1.2 从可插拔到NPO噪声路径发生了哪些变化一个典型的NPO板卡上可以抽象成几个噪声域交换芯片或者GPU核心域高频数字开关、动态负载变化都集中在这里SerDes收发域高速差分对、时钟、并串转换全在玻封附近信号边沿极陡光引擎域里面有激光器驱动、TIA、DSP是整个系统中模拟射频最敏感的地方电源变换域从VRM输出到ASIC和多点供电开关频率几百kHz到几MHz谐波可能一路延伸到VHF频段。这些域在传统可插拔模块里被物理拉开NPO里却全部被压缩到基板的一角。光纤本身不导电所以很多人误以为“不会再有天线”但实际的天线由PCB边缘、参考平面开槽、散热器、电源线、面板连接器以及机箱缝隙构成。举个例子一个悬浮的金属散热器悬在光引擎上方散热器与地平面之间形成电场耦合整块金属成了偶极子它就在噪声源正上方谐振峰自然很容易落到辐射发射的测试频段。有些人可能觉得NPO不就是把电信号走得短一点吗问题应该更小才对。实际不是这样。NPO里的高速电连接虽然短但光引擎内部的光驱动电路依然要在很宽的频带内高速开关TIA依然要处理微弱的模拟信号电源网络依然要为多个通道同时供能。可以说NPO把整个系统的EMC问题从“PCB长走线”压缩成了“封装级近场问题”问题没有消失而是变得更集中、更隐蔽。1.3 前置设计到底前置到什么阶段前置设计在流程上应该贯穿所有决策点而不是“测试前做一次”。我习惯把时间线拉出来需求阶段明确光引擎选择的封装尺寸、功耗、是否带DSP、是否需要外置电源如果功耗和工作模式没有定义后面所有EMC评估都是空谈。原理图阶段确定供电拓扑、去耦电容数量、滤波位置、管理信号与高速信号的分布所有预留开关或屏蔽罩占位都要进BOM。layout前阶段做叠层规划、分区布板、接地过孔密度、屏蔽罩占位这段是真正的“前置”核心窗口。结构设计阶段散热器的接地方式、机箱缝隙长度、光纤出口孔缝控制这些要在3D图上标注清楚。样机预测试阶段提前做近场扫描和远场预扫发现问题还能小范围改版或调整结构。“前置”不是做一次就完成的而是每个阶段都要把上一阶段的EMC判断带下去。很多团队开方案会时根本不让EMC工程师参加等原理图冻结了才把EMC要求硬塞进去到了NPO这种高密度方案这种做法基本都会返工。前置设计的本质是把合格判据提前到设计决策中。如果layout都凝固了才讨论电磁兼容上层博弈已经没有空间了。2. 动手之前三个至少先算清楚的EMC评估2.1 高速通道的共模辐射到底能控到多少很多人一看NPO走线长度只有几十毫米觉得SI和EMC肯定没压力。实际上到了56GBaud甚至更高这一代信号能量里的谐波已经远超“走线长度”可以控制的范围。我经常用一个粗略估算来提醒同事假设一个高速信号边沿时间0.15ns等效带宽约0.35/0.15ns算出来大概2.3GHz以上但PAM4信号的谐波还会更高辐射频谱散得很宽。环形天线辐射强度近似正比于环路面积环路面积增大一倍辐射场强约增加6dB。NPO看似把环路面积缩小了但别忘了光引擎内部驱动级、去耦电容、地平面过孔之间的“微观环路”很多光引擎本身又有大电流脉冲这些微观环路面积不受你控制你能控制的是让高频回流经过的参考平面保持连续以及让所有接地过孔、去耦电容真正做到“贴近引脚”。所以我不建议只靠长度估算来证明“一定没问题”而是在通道设计时用SI/PI仿真同时提取共模电压看看差分信号的不平衡到底处于什么水平。现在的仿真工具都能输出差分对间的共模分量这个值在几十GHz范围内如果有明显谐振峰那NPO区域极有可能就是辐射源头。曾经某板卡仿真时忽略了这个步骤样机出来后近场扫描发现高速通道正上方有一个很强的单频峰回头看仿真模型原来就是差分对由于换层和参考平面不连续产生了共模激励改版后加了回流地过孔才消掉。2.2 电源域的噪声隔离与去耦设计评估第二个前置评估是电源。AI算力集群里的NPO板卡ASIC核心供电电流动辄几十A甚至上百A但旁边光引擎对电源噪声又非常敏感。给光引擎供电的路径如果和ASIC电源共享ASIC大动态负载产生的开关噪声会沿着电源网络窜扰最后进入光驱动电路和TIA再被调制到光信号上或通过地环路辐射出来。前置设计时通常要做三件事。第一功率预算与源阻抗估算。算出光引擎需要的电压、电流、瞬态变化确定去耦电容数量和容值组合不能“先摆几个再说”。第二滤波占位。在每个光引擎供电入口预留LC/T型滤波位置必要时可以装磁珠但磁珠要选能在目标频率段提供高阻抗的型号不能只看直流电阻。第三环路最小化。DC-DC开关节点、输出电感和去耦电容组成的电流环路要尽量小经验上环路面积每翻一倍辐射噪声约增加6dB。这听上去很小但很多板卡从勉强接手到超标几十dB差距往往就在这些“几平方毫米”的环路上。电源EMC最容易忽略的是切换瞬态。光引擎在开启、关断、调光、突发模式时电源电流突然变化会在共享地网络上产生共模跳变。前置设计要求软件层面也要配合不要把光通道在同一时刻做突发开启而是分阶段复位时序里也要保证光引擎和ASIC的电源域不会同时发生大电流冲击。这个“软件层面的EMC设计”很多团队不重视但它确实能省掉一批整机测试时才能发现的低频杂散。2.3 结构接地与散热器的“伪接地”坑第三个评估是结构件的EMC这往往是NPO项目里最容易被排在最后、却最容易翻车的部分。先聊散热器接地。某项目的光引擎上配了一个大型铝挤散热器因为导热垫片很厚散热器与光引擎顶面之间形成不小的寄生电容散热器本身又没有做射频接地。样机在1GHz附近出现了很强的辐射峰值排查到最后才确认就是散热器。整改时在散热器边缘压了三根导电弹片压接到PCB主地峰值直接掉了约10dB以上。前置设计时散热器到底是接地还是浮地应该通过仿真决定接地位置、弹片数量、接触阻抗都会影响谐振频率。最怕的是“假装接地”——在散热器上拧一个螺丝但螺丝周围喷了绝缘漆高频完全不导通测试时怎么压弹片都不见效果。结构缝隙评估也很重要。机箱前面板、风扇口、维护盖板都有缝隙。缝隙的电磁泄漏大约正比于缝长如果缝长接近目标频率的波长这个缝隙就是一条缝隙天线。前置设计要控制所有可接触缝隙的搭接长度在缝隙处放置导电泡棉或弹片并规定压缩率。特别是光纤出口光纤本身不导电但光纤护套、金属卡扣、穿线孔都能形成缝隙。很多人只在结构图上看“孔大于线径”没注意孔的边长是否满足电磁屏蔽要求结果一测一个准。3. 实操落地从叠层、分区到屏蔽和结构协同3.1 叠层与分区参考平面完整性优先NPO板卡的叠层设计我可以直接给一个比较可靠的原则所有高速信号层都要与一个完整参考平面相邻参考平面尽可能是GND并且不要在NPO区域下方做任何大面积挖空。如果你为了“模拟隔离”把光引擎数字地和模拟地用一条缝切开反而会切断高速回流路径让共模电流没地方回最后在缝隙边缘形成新的激励源。电源平面可以作为参考但前提是电源平面与相邻地平面之间距离很近并且有足够的去耦电容。否则差分信号的回流会在电源平面上流过阻抗较高的路径产生压降和辐射。分区的物理含义不是割地而是把产生高频噪声的电路聚在一起把敏感电路拉远一点同时让大家都落在同一个连续GND平面上。比如把光引擎、ASIC的SerDes区域、高速时钟布置在板卡同一侧DC-DC开关电源和其电感布置在末端低速管理总线走线远离高速区域或者加接地过孔。分区决定在layout前要具体到“某一排电阻不能跨高速区域”否则后期很难维护。这里的常见坑是“分区之后电源平面也被切开”。很多layout工程师为了满足多个电源域把内部电源平面切成好几条结果高速信号跨过电源层断裂时回流只能绕弯共模噪声立刻变大。前置做法是所有电源域在同一层上可以通过分割铜皮来分区但必须保证关键信号下方至少有一层连续GND如果电源完整性和EMC两者只能选其一NPO区域优先保GND连续。3.2 光引擎区域的屏蔽罩和过孔围栏NPO光引擎通常需要一个定制屏蔽罩把电信号到光引擎的入口、光驱动、TIA等敏感部分罩起来。屏蔽罩本身材质可以是镀锡钢板或铝但关键不是材料而是怎么接地。屏蔽罩的接地过孔要沿罩体周边排一圈间距尽量小于目标频率对应波长的1/20。举个例子如果关注3GHz的辐射真空波长约100mm如果介质等效修正后更短1/20大约就是5mm以内所以屏蔽罩周边的接地过孔间距至少要压在5mm以内。如果关注到更高频间距要更密。很多屏蔽罩失效不是因为罩子厚度不够而是四周只有四个角接地中间长边悬空屏蔽罩本身成了谐振腔。过孔围栏的做法也很讲究。NPO区域高速通道的左右两侧建议用接地过孔围栏或地桩来约束回流。特别是光引擎与ASIC高速接口之间每一对差分信号旁边都应该留出回流过孔位。实际layout里过孔密度不是越高越好——过孔太密会破坏电源平面的供电甚至造成不必要的参考平面碎化关键路径上的“回流地过孔”要靠近信号换层的位置尽量对称布置。光纤出口同样属于光引擎屏蔽的一部分。光纤要从屏蔽罩或机箱穿出时孔缝尺寸要远小于目标频率波长。金属孔四周最好有导电泡棉或弹性金属片把光纤护套的缝隙封住。同时要小心不要压伤光纤过大的金属毛刺会带来可靠性问题。前置设计时最好和结构工程师确认穿线孔的直径、护线套材质、泡棉的压缩比提前在3D图上标好。3.3 电源滤波与去耦电容的“贴脚原则”电源EMC的另一手是去耦电容。对于光引擎这类小功耗、但对噪声敏感的场景常见做法是在供电入口放一组“10nF 100nF 1uF/10uF”组合。但电容不是摆上去就完事。之前某项目就是因为去耦电容离电源引脚太远环路隔着好几毫米实际去耦频率比预期低了一个数量级导致电源纹波和辐射一起恶化。前置设计要求电容尽量贴近引脚电源在板卡上的路径要先经过滤波电容再进入光引擎不要先经过一条长走线到负载再绕回电容。如果光引擎功耗不大还可以采用π型滤波前面串磁珠后面并联电容。选磁珠时要关注目标频段的阻抗曲线不能只看100MHz的标称阻抗。有些磁珠在几百MHz阻抗很低但对几百kHz的DC-DC谐波没作用有的磁珠在GHz以上阻抗反而下降。前置设计最好把目标频段写清楚再去选器件而不是让采购随手找一个“看着像”的。另一个容易漏的点是磁珠摆放位置。磁珠应该靠近负载端让负载侧先经过电容再经过磁珠回源端如果放反高频噪声照样进光引擎。3.4 预测试和仿真验证该怎么闭环样机刚出来时至少要做两轮自测。第一轮是近场扫描用电场探头在光引擎、ASIC、连接器、面板口附近扫描30MHz到6GHz记录热点频率和位置。近场探头的价值不是测绝对幅度而是找“相对高”的位置方便定位噪声源。第二轮是远场预扫有条件时在开阔场地或半电波暗室做辐射发射预扫至少覆盖认证关心的频段。远场和近场的对应关系不一定是线性的但近场热点越集中远场越容易出问题。仿真不是用完就丢而是要和对标测试结果闭环。比如近场发现在1.2GHz有峰值回到仿真模型里看1.2GHz处的电流分布、屏蔽腔体谐振或散热器谐振修正模型参数后让仿真仿出来的峰值频率和测试对得上后面做微调和改版就有底了。最忌讳的是“仿真报告做完了归档样机测起来另算”。如果仿真和实测结果差异大先怀疑模型里的地平面、过孔、屏蔽罩接地方式是不是跟实际板卡一致而不是急着调参数“凑结果”。4. 现场踩坑记录NPO项目里典型EMC问题与排查4.1 散热器悬浮谐振看不见的辐射大坑这个坑我印象很深。某板卡光引擎顶部用了一块整铝散热器看了固定结构螺丝确实拧了但从射频角度看都是“假接地”——螺丝周围有绝缘垫片螺丝柱本身也没和PCB地平面接好。近场扫描时在光引擎散热器正上方发现1.1GHz强峰试探性地用手靠近散热器峰值频率发生偏移这就说明它已经成了等效天线。整改方案是在散热器与PCB主地之间压接了三处导电弹片左右两侧各一条后侧再加一条保证至少三点接地峰值掉到限值以下。但“盲加弹片”也不是万能的。弹片位置不同接地路径长短不同散热器的谐振频率会跟着移动。稳妥做法是先用仿真扫一下散热器在目标频段的电流分布再去选弹片位置。实测下来三点接地比单点接地更稳因为单点接地容易在散热器远端正生出另一个谐振点。前置设计时可以在结构BOM里直接指定导电导热垫、导电泡棉、接地弹片的型号和压缩量而不是等测试后再补。4.2 光纤穿出口的“小孔大缝”某系统机箱前面板设计了一个光纤面板光纤束穿出时为了安装方便开了几个长方形孔单孔长约50mm。在辐射发射预扫中800MHz到1GHz出现很高的峰值近场探头在孔边扫到的信号强到离谱。原因很简单50mm的缝在某频段已经接近半波长尺寸等效成了缝隙天线。后来在孔位加了导电泡棉只留几个直径5mm以内的圆孔让光纤和护线套穿过峰值立刻掉下去。所以前置设计中穿线孔一定是“多个小圆孔”优于“一个长条孔”如果不得不开长条形口也得在内部用导电泡棉或金属网切成多个小格。这个坑特别隐蔽因为结构工程师总想着施工方便喜欢开长条检修口或者盖板。电磁屏蔽恰恰最讨厌这样的结构。前置设计时建议把机箱上所有开口列一张表包括用途、最长边尺寸、目标频段再决定用导电泡棉、金属网还是波导通风窗。不要把“不加导电泡棉”留成默认选项。4.3 连接器挖空参考平面引起共模噪声NPO与背板或主板之间常需要连接器。某项目连接器所在区域引脚很密参考平面被过孔割得七零八落高速信号跨过连接器区时回流被迫绕到相邻层共模噪声明显增大。用差分探头测眼图勉强能看但近场探头在连接器上方一测就有强热点。排查方法是用近场探头沿信号路径扫描同时用电流探头测连接器外壳电流找到共模电流的路径。整改动作有几项在连接器接地引脚附近增加过孔地桩尽量让每个信号地引脚旁边都有低阻抗回路在允许情况下把引脚下方参考平面补回地铜如果连接器本身共模抑制能力一般就要换方案。这个点如果前置设计时就把连接器的过孔密度和参考平面挖空面积列入评审指标就能避免样机返工。经验值是连接器区域的参考平面挖空率每增加10%高速通道的共模噪声可能明显上升所以layout阶段就要看连接器pin map提前规划地针位置和过孔数量。4.4 电源电感漏磁干扰光引擎敏感电路NPO光引擎旁边有一个功率电感因为体积和位置限制放得离光引擎很近。电感是磁元件漏磁会在相邻走线上感应出电流导致一系列低频噪声分量。这个问题近场扫描能看到但定位时需要把探头在电感周围沿不同方向旋转找到最大耦合方向。整改时有两个选择换用屏蔽型功率电感或者把电感旋转90度摆让漏磁场方向避开光引擎。我的经验是在NPO这种高密度区域选电感时优先选择带磁屏蔽的结构哪怕体积大一点。普通工字电感或圆柱电感的漏磁非常严重放在光引擎附近几乎必出问题。前置设计时可以在选料阶段就规定“NPO区域三厘米内只能使用屏蔽型功率电感”这个要求看起来简单但能省掉很多麻烦。4.5 常见问题速查表现场现象可能原因前置动作快速整改光引擎散热器上方有强辐射峰散热器悬浮谐振仿真散热器接地位置与弹片数量压接导电弹片必要时加吸收材料光纤出口孔缝频段泄漏长条孔或大孔设计多个小圆孔加导电泡棉填泡棉、金属网封堵连接器区域共模热点参考平面挖空、出线过长评估连接器引脚区过孔密度加地桩、补地铜、选低共模连接器电源电感低频干扰使用非屏蔽电感选屏蔽电感规定方向与间距加屏蔽罩、旋转方向高速差分对边缘超标共模不平衡、回流不连续差分线旁设回流地过孔调整端接加共模扼流这张表不复杂但每次设计评审都很管用。我在团队里一直强调前置设计不是写出厚厚一本EMC规范而是让每个人在对应的步骤都知道自己要看什么。5. 团队协作把EMC前置设计落到评审机制里5.1 硬件、结构和测试怎么配合NPO光互联项目的EMC前置需要的不是一个人开“脑内模拟”而是跨角色配合。硬件设计在方案阶段确认光引擎选型和接口拓扑结构工程师提供机箱、散热器、前面板的3D模型测试工程师在layout冻结前就准备近场探头和预测试计划项目经理把EMC检查节点排进里程碑。我见过比较成功的模式是每个里程碑评审前EMC负责人先发一份“风险清单”列出已确认项、待评估项和必测项。评审不是走过场而是逐条回答风险清单里的问题。这个机制的难点不在技术而在流程惯性。很多团队习惯等EMC测试报告出来把整改当成“测试工程师的活”。到了NPO这种高密度方案测试工程师想整改也没有空间只能反馈给硬件和结构重新来一轮。所以前置设计不是某一个人比另一个人多干了活而是所有人在评审节点共同背责任。我也常建议把EMC预算写进项目WBS至少预留出仿真、coupon测试板和预测试的时间否则进度一紧第一个被砍掉的就是EMC。5.2 评审清单可以直接抄走的关键条目下面这份清单我每次评审NPO光互联板卡时都会带上。原理图评审NPO光引擎供电入口是否有滤波占位高速差分信号是否明确参考平面去耦电容位置是否贴近引脚时钟与高速通道是否远离敏感区域复位和使能信号是否做了滤波或RC处理。layout评审NPO区域下方参考平面是否连续高速通道换层处是否有回流地过孔屏蔽罩接地过孔间距是否满足频段要求DC-DC开关环路是否最小电源电感方向是否避开光引擎光纤出口和面板连接器位置是否影响缝隙。结构评审散热器接地方式是否在3D里明确光纤穿线孔和面板缝隙是否满足尺寸要求导电泡棉的压缩率和搭接长度是否标注维护门、风扇口有没有潜在槽缝连接器面板开口是否符合屏蔽设计。实际执行时我还会在ECAD规则管理器里为NPO区域单独增加安全间距、禁止铺铜区、过孔密度等约束让layout工程师在操作时不容易“顺手破坏”关键区域。这种做法比口头叮嘱可靠得多因为layout工作量大细节多光靠人盯总有疏忽。5.3 后置整改的成本到底有多大这里可以简单量化假如前置设计阶段用一周时间做EMC仿真和评审人力成本是几个人一个星期的投入如果在样机测试后整改往往要改叠层、改结构件、开新模周期可能以月计而且不一定一次改完。更麻烦的是AI算力集群往往不是单板卡问题而是整机柜叠加放大的问题。一个节点板卡的辐射问题放到几百个节点的集群里可能被放大也可能在系统级测试中和其他板卡互相激励出现新的峰值。前置设计不是“多花功夫”而是把成本从后置的“推翻重来”变成前置的“一次做对”。另外还要算可靠性成本。NPO光互联里光纤比铜缆脆弱EMC整改时动结构件、动散热器都可能带来额外的机械应力和热应力。我见过一个项目为了堵缝隙把导电泡棉压缩率加得过大后来泡棉回弹把光纤支架顶歪了导致光链路中断。这种事虽然属于机械工程问题但根源还是后置整改太仓促。前置设计时定义压缩量和公差就不会出现这种“修了电磁却弄断光路”的尴尬。最后聊一点我自己的经验。这几年做下来我个人最大的体会是NPO光互联的EMC问题不会因为“光纤不导电”就自动消失它只是换了一套天线系统。越是这种把高速电路压到封装附近的方案越要在问题还没出发前就把路堵上。前置设计不一定要一开始就上多高级的仿真哪怕只是拉一张表格把散热器接地、光纤出口、连接器参考平面、电源电感方向这些条目列清楚按节点检查也能省掉大量不必要的返工。另一个小建议是条件允许时做一块小的coupon测试板专门验证NPO光引擎区域的高频去耦、连接器和地过孔方案。我们后来很多设计决策都是从这样一块小板子、一台频谱仪和几根近场探头里得到的。