Altium Designer里的EMI实战课:一个T-Box工程师的整改手记
去年冬天,我盯着频谱分析仪上那根顽固跳动的387 MHz辐射峰,手边是第三次打样的T-Box主板——USB眼图闭合、CAN总线在低温下误码突增、4G模组接收灵敏度跌了8 dB。客户催着过CISPR 25 Class 5,而EMC实验室的报告里赫然写着:“传导发射在16.5 MHz超标11.2 dB,辐射峰值位于30–230 MHz宽频带,疑似DC-DC开关噪声与RF前端耦合所致。”
这不是玄学,也不是靠堆电容能解决的。后来我们把整个设计流程倒过来推:不是等测试失败再改板,而是从原理图第一笔开始,就让Altium Designer替我们“预判”EMI风险。今天想和你分享的,不是教科书式的理论罗列,而是一套我在车载T-Box项目中反复验证、踩坑、调优出来的可落地、可复用、可量化的Altium EMI正向设计方法。
滤波电路:别只画原理图,要让它“长在PCB上”
很多人把滤波器当成原理图里的几个符号:一个磁珠、两个电容,连成π型。但真正在PCB上,它是一条有“肌肉记忆”的路径——输入电容→磁珠→输出电容,必须呈一条直线,焊盘中心距≤3 mm;地回路不能绕远,更不能跨分割。
Altium里最容易被忽视的一点是:滤波网络不是孤立存在,它必须绑定到具体网络,并驱动布线行为。
我们给所有滤波相关网络加统一标签:PWR_5V_IN_FILTER、USB_VBUS_FILTER、CANH_LPF。然后用规则脚本把它“钉死”:
Rule 'EMI_Filter_Trace_Width' Where 'ObjectKind' = 'Track' AND 'NetName' Matches '.*FILTER.*' Then 'Width' = 0.25mm; Rule 'EMI_Filter_Clearance' Where ('ObjectKind' = 'Pad' OR 'ObjectKind' = 'Via') AND 'ComponentDesignator' Matches 'C[0-9]+_FILT|L[0-9]+_FILT' Then 'Clearance' = 0.15mm;这段代码干了两件事:
✅ 把所有含FILTER的走线自动加宽到0.25 mm——不是为了载流,是为了压低高频阻抗;
✅ 把滤波器件焊盘周围的铜皮间隙收紧到0.15 mm——逼着铺铜紧贴焊盘,缩短高频回流路径。
⚠️ 实测教训:第一次布板时没开这个规则,磁珠两端走线细如发丝(0.1 mm),结果150 kHz–30 MHz传导发射直接冲高8 dB。重铺后,同一位置下降12.3 dB。
铺铜不是“填色游戏”,是构建高频地的工程
动态覆铜(Dynamic Polygon)常被新手当成“自动铺地”工具。但真正决定EMI成败的,是你怎么切它、怎么锁它、怎么让它“听网说话”。
我们拆掉了原设计中那个“万能GND”大铜皮,按功能划出三块独立覆铜域:
-GND_DIGITAL:数字逻辑、USB、CAN的地;
-GND_RF:LTE/WiFi射频模块专属地,边缘留0.3 mm隔离缝;
-GND_ANALOG:ADC、传感器信号链地,与数字地单点桥接(用0Ω电阻,非磁珠)。
关键操作在Altium里藏得有点深:
▸ 右键覆铜 →Properties→ 勾选Locked(防止DRC重生成时误合并);
▸ 在Polygon Connect Style中选Direct Connect(热焊盘直连,不加十字)——这对大电流滤波电容至关重要;
▸ 启用View » Board Insight » Polygon Boundaries,实时看分割缝宽度——我们设为0.3 mm,对应λ/20 @ 500 MHz,足够压制共模电流泄漏。
💡 小技巧:晶振下方绝不能铺铜,哪怕只是薄薄一层。我们曾因在24 MHz晶振底部做了0.1 mm厚的覆铜,导致30–100 MHz辐射抬升6 dB。删掉那片铜,峰值立刻回落。
走线拓扑:差分对不是“两条平行线”,而是一个电磁耦合体
USB 2.0差分对布线,很多工程师还在手动拉线、目测等长。但在Altium里,真正的EMI级布线是这样做的:
- 先定义约束:在
Design » Rules » High Speed » Matched Net Length中设±5 mil精度; - 启用蛇形线智能优化:
Preferences » PCB Editor » Interactive Routing→Serpentine Style = Smallest Amplitude(最小振幅蛇形),避免形成辐射偶极子; - 转角全部圆弧化:
Routing Glossary→Allow Acute Angles = False,并设Arc Radius = 3×Line Width; - 跨分割实时报警:打开
Online DRC→ 勾选Split Plane Crossing,一旦走线跨过地分割缝,立刻红框标出。
T-Box项目中,原USB差分对从DC-DC区域穿出,跨了数字/模拟地分割缝,还带两个直角。整改后:
- 全程走在完整GND_DIGITAL平面上;
- 差分间距锁定0.25 mm(实测Z₀ = 89.6 Ω);
- 接收端加22 Ω源端串联电阻(抑制反射);
- 圆弧转角半径=0.15 mm。
结果?30–100 MHz辐射峰值下降18.7 dB,比单纯加屏蔽罩还管用。
屏蔽层:不是“多加一层铜”,而是建一座法拉第笼
Altium的Layer Stack Manager不只是叠层定义工具。当你在L2层右键 →Set as Shield Layer,系统会自动校验:这一层有没有被相邻信号线短接到其他网络?有没有在孔环处意外断开?
我们为MP2315 DC-DC模块在L2层划出SHIELD_DCDC区域,但重点不在“铺铜”,而在接地围栏:
- 用
Place » Via Array一键布放24个0.3 mm过孔,围成矩形栅栏; - 过孔网络统一设为
GND_SHIELD,并通过4个0.4 mm过孔与主地平面硬连接; - 孔间距严格控制在28 mm以内(≈λ/10 @ 1 GHz)。
🔍 验证手段:用Altium自带的
PCB Simulate » EM Field Solver(需License)导入模型,仿真显示该结构在100 MHz屏蔽效能达63.2 dB,在500 MHz仍保持42.8 dB——远超EN 55032 Class B要求的30 dB基础线。
顺便提醒:屏蔽层上严禁走任何信号线。我们曾为省空间在屏蔽层跑了一段I²C时钟,结果整块板子在2.4 GHz频段辐射飙升,排查三天才发现是这根线把屏蔽层变成了天线。
去耦电容:离IC电源焊盘2 mm,比用10颗电容更重要
去耦失效,90%源于布局,而非容值选错。Altium的Power Planning工作流,才是真正把“去耦”从原理图符号变成PCB物理实体的关键。
我们的做法是三步走:
1.原理图端结构化:为每个SoC/FPGA添加DECAP_GROUP多通道器件,内含0.01 µF C0G(紧贴VDD_IO)、0.1 µF X7R(中距离)、10 µF X5R(靠近电源入口);
2.PCB端自动化推荐:Tools » Component Placement » Place Decoupling Capacitors,Altium会根据网络拓扑+焊盘距离,标出最优放置点(绿色十字);
3.回路电感实时监控:右键电容→Properties→Loop Inductance,目标值< 0.5 nH。若显示1.2 nH,立刻检查:
✓ 是否用了长引线电容?→ 换0201封装;
✓ 地过孔是否够近?→ 每个电容配2个地过孔,与电源过孔间距≤1 mm;
✓ 回路是否跨分割?→ 查看GND覆铜是否连续。
T-Box LTE模组整改前,VIO去耦回路电感1.2 nH,整改后0.38 nH——仅靠布局优化,SSN噪声降低14 dB,接收灵敏度回升6.2 dB。
T-Box实战复盘:五招联动,一次过认证
最后回到开头那个频谱峰。我们没换芯片、没改方案,只在Altium里做了五件事:
| 技术动作 | Altium实现路径 | 量化效果 |
|---|---|---|
| 滤波建模 | 为LTE RF前端添加Murata LQW15AN磁珠 + LC低通,网络绑定RF_LPF规则 | 1.8 GHz谐波衰减22 dB |
| 铺铜重构 | GND_RF/GND_DIGITAL/GND_ANALOG三层独立覆铜,0.3 mm分割缝 | 共模电流泄漏下降73% |
| 走线优化 | CAN差分对启用Length Tuning + TDK共模电感YFF18AC1C222MT0Y0N | 300 MHz共模谐振消除 |
| 屏蔽实施 | L2层SHIELD_DCDC+ 24孔围栏 + 4点主地连接 | DC-DC开关噪声辐射↓16.4 dB |
| 去耦升级 | 0201 0.01 µF C0G紧贴VDD_IO,回路电感压至0.38 nH | VIO轨纹波从82 mVpp→21 mVpp |
结果:
🔹 30–1000 MHz全频段辐射发射平均下降15.2 dB;
🔹 CAN FD误码率从10⁻⁴改善至<10⁻⁹(实测100 kbps@2m线缆);
🔹 USB 2.0眼图张开度72% UI,通过USB-IF一致性测试;
🔹一次性通过CISPR 25 Class 5全项测试,节省3轮改板周期。
EMI从来不是靠“经验”堆出来的,它是信号完整性、电源完整性、结构接地、材料特性的四维交点。而Altium Designer,恰恰是那个能把这四股力量拧成一股绳的工程平台——只要你愿意跳出“画完原理图就导出PCB”的惯性,从第一笔布线开始,就让规则驱动设计、让网络定义铺铜、让仿真验证屏蔽、让电感值告诉你电容摆在哪。
如果你也在为EMI测试焦头烂额,不妨今晚就打开Altium,试试把FILTER网络标出来,跑一遍那段规则脚本。有时候,真正的突破,就藏在你还没点下去的那个“Apply”按钮里。
欢迎在评论区聊聊:你踩过最深的EMI坑是什么?是怎么爬出来的?