
如果一块板子上跑着的只有几十kHz的I2C、UART和GPIO信号没有DDR、没有MIPI、没有SerDes那么PCB设计时还要不要认真考虑EMC问题在很多硬件工程师的印象里EMC主要是高速时钟、开关电源、射频模块才需要担心的事信号频率低似乎天然“安全”。但实际上预测试或正式认证时的超标案例里大量问题恰恰来自低速控制线、复位线、传感器接口和看似“人畜无害”的排线。西电PCB设计指南第4次直播课里有一讲专门讨论了“为什么信号频率很低的走线也要考虑EMC问题”。这个问题的答案并不复杂但需要把“信号频率”和“信号带宽”分开理解把“辐射源”和“天线条件”放到真实PCB环境中去分析。本文把直播中的核心思路整理成一篇可以对照排查的笔记从概念、原理、案例到PCB设计约束一次讲清楚。1. 低频率与低风险并不画等号1.1 一个让人困惑的测试现象先看一种常见场景一块板子的主控工作频率很低内部最高频信号可能只有100kHz左右所有的数字逻辑看起来都是“慢吞吞”的。按照直觉这么低的频率无论如何都不太可能在辐射发射测试中形成威胁。但现实情况是这类产品进入EMC实验室后往往在30MHz到100MHz之间冒出一串窄带骚扰而且频谱上相邻谱线的间隔正好等于某个低速时钟或控制信号的重复频率。这个现象让很多人想不通明明信号频率很低为什么超标频点全部落在高频段原因在于真正参与电磁辐射的频率并不是你在示波器上看到的“重复频率”而是信号波形的频域分量。只要一个数字信号存在陡峭边沿它的频谱就能扩展到很高频率。低速数字系统同样包含高速的电压变化过程所谓“低频走线”只是重复频率低不代表频谱分量只在低频区。1.2 EMC不只是“高频电路的事”EMC即电磁兼容性包含电磁干扰和电磁敏感性两个大方向。电磁干扰是指设备自身产生的能量通过传导或辐射影响别的设备电磁敏感性则指设备在外部电磁环境中能否正常工作。辐射发射只是电磁干扰的一部分抗扰度测试同样属于EMC范畴。一个信号频率很低的PCB走线也可能成为干扰源例如它在长线缆上耦合出共模电流它也同样可能成为受干扰对象例如复位线、中断线、模拟采样线一旦被外部射频场或板上开关噪声干扰就可能导致系统误动作、采样跳变甚至复位。所以“频率低所以不用考虑EMC”是一个过于理想化的判断。1.3 本文讨论的“低频走线”范围这里需要先界定一下讨论对象。所谓信号频率很低的走线通常指几百kHz以下的数字控制信号、传感器模拟信号、复位信号、GPIO信号、I2C/SPI这类低速接口以及PWM控制信号。它们不像DDR或USB那样需要严格阻抗控制但它们在PCB中普遍存在且往往承担着与外部设备互连的任务。这类信号在大多数PCB设计中并不会被特殊对待。工程师觉得它们速度低、时序余量大走线时比较随意结果是这些低速长线成了系统中的“隐形干扰路径”。理解了这一点再去分析具体机理就更有针对性。2. 频域视角数字信号的“实际威胁频带”2.1 示波器上看到的频率不是全部工程师习惯用示波器测量信号看到的是一个按周期重复的方波。如果周期是10微秒看起来就是100kHz的信号。可示波器展示的是时域波形而电磁辐射、导线耦合等问题更多依赖频域分析。一个理想方波可以分解成基频和一系列奇次谐波。基频是100kHz但信号频谱中还存在300kHz、500kHz、1MHz、10MHz、100MHz等频率分量。实际方波不可能无限陡这些谐波会按照一定规律衰减但衰减并不意味着完全消失。越是靠近信号上升边沿的突变越需要高频谐波来“拼凑”出来因此数字信号的频谱覆盖范围会远大于它的重复频率。2.2 上升时间决定了有效带宽工程中常用一个经验公式来估算数字信号的有效带宽f_knee 0.35 / tr其中tr是信号上升时间单位秒计算出的f_knee就是信号频谱能量明显开始衰减的转折频率常称为拐点频率。这个公式在信号完整性分析里非常常见虽然不同标准会选用0.35、0.5等不同系数但用来评估PCB设计风险已经足够。做个简单计算如果一个信号的重复频率只有100kHz但上升时间是1ns那么它的f_knee大约是350MHz。也就是说这个“低频信号”的能量可以作用到350MHz以上。反过来如果上升时间已经减缓到了100nsf_knee就降到3.5MHz左右高频辐射风险也会随之降低很多。2.3 用一段Python脚本快速估算风险下面给出一个简单的估算脚本可以在设计早期把每个网络的上升时间和重复频率输入进去粗略判断哪些“低频信号”其实潜在地能携带高频能量。# 文件路径bw_estimate.py def estimate_knee_mhz(rise_time_ns): 根据上升时间估算拐点频率单位 MHz return 0.35 / (rise_time_ns * 1e-9) / 1e6 def estimate_wavelength_m(freq_hz): 根据频率估算真空中的波长单位 m return 3e8 / freq_hz cases [ {name: 100kHz时钟, freq_hz: 100e3, rise_ns: 1}, {name: 100kHz时钟, freq_hz: 100e3, rise_ns: 5}, {name: 400kHz I2C, freq_hz: 400e3, rise_ns: 50}, ] print(信号名称\t上升时间\t拐点频率\t对应波长) for case in cases: knee_mhz estimate_knee_mhz(case[rise_ns]) wave_m estimate_wavelength_m(knee_mhz * 1e6) print(f{case[name]}\t{case[rise_ns]}ns\t{knee_mhz:.1f}MHz\t{wave_m:.2f}m)在终端中运行python bw_estimate.py预期输出大致如下信号名称 上升时间 拐点频率 对应波长 100kHz时钟 1ns 350.0MHz 0.86m 100kHz时钟 5ns 70.0MHz 4.29m 400kHz I2C 50ns 7.0MHz 42.86m注意脚本本身只是做一个量级估算不是说100kHz时钟信号一定会辐射到350MHz。它说明的是一个必要条件如果信号边沿足够快信号能量就有能力覆盖到几十到几百MHz这时候走线长度、回流路径、线缆长度才会成为需要考虑的天线条件。2.4 对PCB设计的意义很多MCU的IO口在负载很轻时上升时间其实可以做到几纳秒甚至更快。即使芯片运行频率不高IO边沿切换过程中也会产生丰富的高频分量。这意味着那些数据速率只有几百kbps的控制总线完全可能携带几十MHz的谐波能量。如果此时对应的走线从PCB一端拉到另一端再通过连接器接到外部线缆线缆长度又恰好达到这些谐波频率对应波长的四分之一量级那么天线效应就会明显起来。低频信号的基频可能根本无法有效辐射但它的高频谐波在真实物理尺寸下却具备辐射条件。3. 低频走线为什么也会成为辐射源3.1 辐射天线的三要素电磁辐射需要三个条件源、驱动方式和天线结构。对于PCB上的走线来说高频谐波电流是源走线本身的回路和连接线缆共同构成天线。不要只看一根单独的走线。信号从IC输出经过走线到达负载再经过回流路径返回驱动端整个路径才构成一个完整电流环路。环路面积越大高频电流在这个环路上形成的辐射就越大。很多时候所谓“低频走线”旁边没有完整地平面驱动电流只能绕很远的地线返回环路面积一下子被撑大问题就在不知不觉中出现了。3.2 走线长度要和“谐波波长”比较工程上判断一根导体能不能当有效天线要看它的物理尺寸与实际工作频率的波长关系。比如当导体的长度接近四分之一波长时辐射效率会显著提高。频率越高波长越短。100kHz对应波长约3000米一块PCB上的走线不可能形成有效辐射但35MHz对应波长约8.6米四分之一波长约2.1米一根外接线缆就可能接近或者超过这个尺寸350MHz对应波长约0.86米四分之一波长约0.21米此时哪怕PCB上的一截走线加上连接器引脚都可能成为明显的辐射体。这就是为什么低频信号线实际超标的频点往往在几十MHz以上不是信号重复频率高而是走线、线缆和接插件组成的物理结构与这些高频谐波的波长相匹配。3.3 回流路径断裂是最大的隐患低速数字设计对阻抗连续性的要求并不高但这并不代表地线可以随意处理。如果一条低速信号线跨越了分割的地平面或者换层时附近没有回流地过孔返回电流就会被挤到更远的路径上形成一个大环。这个环路中流动的如果是高频谐波电流那么即使信号本身只有100kHz也能在环路对应的谐振频点附近产生很强的辐射。尤其当这个环路靠近板边或连接器时耦合到外部线缆上的能量会进一步增加。因此低速走线同样要求“参考平面连续”这是PCB设计中成本最低、收益却很高的EMC措施。3.4 共模电流几十微安就足以超标除了差模电流形成的信号环路辐射低频系统还有一个容易被忽略的问题共模辐射。当内部电路中存在地电位波动时外部线缆相对于参考地会形成一种共模驱动。线缆越长越像一根垂直放置的鞭状天线即使流过的共模电流只有几微安到几十微安在几十MHz以上也可能让辐射发射远超标准限值。这也是为什么很多低频控制设备在连接外部传感器线之后测试结果会立刻变差。检查方法是把外部电缆整体穿过电流探头读取共模电流频谱。如果断开某根线缆后辐射明显下降并且电流探头夹住整束线缆时能测到噪声那问题往往不在PCB走线本身而在于线缆出口处没有任何共模抑制措施例如缺少滤波、屏蔽或对地连接。3.5 直流电源和PWM信号同样不例外有人会问如果信号已经是直流了是不是彻底与EMC无关直流本身没有变化频率但电源开关、PWM控制、继电器通断都会在导线上产生快速的电流变化。电流瞬间变化会产生很大的di/dt在回路电感上产生压降脉冲并激励出振荡。这种情况表面上是一个几kHz的PWM但实际振铃频率可能高达几十MHz。振铃电流会沿着电源线或控制线向外传播辐射问题依然存在。结论是低频时期望“不快速变化”比较好任何快速边沿都值得单独审查。4. 低速走线也容易成为受害对象4.1 高阻抗输入更容易收到射频干扰EMC不仅关心对外辐射也关心设备自身的抗扰能力。低频信号走线在电路设计上往往连接着高阻抗输入例如ADC输入、GPIO检测、比较器输入。高阻抗电路对电荷和耦合电流非常敏感走线上感应到的微弱电流就能形成可观电压。外部空间中的射频场作用于一根长走线时会在线上产生RF感应电压。这个射频信号进入芯片引脚后遇到半导体结的非线性就可能发生“解调”变成低频或者直流偏移。比如一个本来稳定的ADC采样结果突然出现几十mV甚至几百mV的跳变有时并不是参考源有问题而是走线把环境中的射频场“捡”了进来。4.2 复位线、中断线、模拟信号线是重灾区复位信号和中断信号平时保持高电平或低电平没有周期性跳变频率概念上甚至接近0。它们在PCB上往往不会引起工程师注意。可正是这种长期不变的电平最容易受到噪声干扰一个毛刺打进来系统就可能误复位、误中断整机出现莫名其妙的故障。模拟信号线则更麻烦因为模拟信号本身幅值连续无法通过数字协议重新同步。在布线上模拟信号要尽量远离开关电源电感、高频时钟和快速翻转的IO如果一定要穿过干扰区域可以在接收端加RC滤波必要时配合TVS或肖特基钳位避免外部瞬态直接进入芯片。4.3 低频长走线更容易发生串扰信号频率低不代表它不会把别处的噪声传播出去。恰恰因为低频信号源的内阻通常较高、终端匹配做得少走线往往呈现高阻抗更容易受到相邻走线寄生电容和寄生电感的耦合。当一个低频走线与高频PWM信号线平行走线很长距离时高频噪声会通过互容和互感耦合到低频线上再沿着低频线传到连接器和外部线缆。这时候低频线从“受害者”变成了“二次辐射源”。解决方式通常是拉开间距、避免长距离平行、在两线之间增加地线隔离而不是简单加粗低频走线。5. 三个典型整改案例带来的启发5.1 案例A低速IO排线导致辐射超标某设备内部有一根0.5米长的排线用于连接前面板上的几个按键指示灯和低速IO。主控频率很低IO切换频率只有100kHz左右。预测试时在40MHz附近出现了窄带尖峰间隔恰好是100kHz。排查过程中先断开排线与前面板的连接尖峰立刻消失。重新接上后用近场探头沿着排线查找发现噪声主要集中在地线跳线和信号线环路面积较大的区域。最终整改措施有三点在IO输出端串联33Ω电阻减缓边沿把排线从分散走线改成“信号-地-信号-地”的排列方式在排线入口处增加一颗共模电感。整改后噪声明显下降。这个案例的启示是问题并不在于IO本身速度有多高而在于排线成了能够辐射高频谐波的天线。5.2 案例B传感器线被板上开关噪声干扰另一个案例是低速传感器信号异常。传感器输出为0到5V直流电压通过一根0.3米线缆连接到主控板。系统上电后只要附近的大功率PWM开始工作ADC采样结果就发生跳变。用示波器测量传感器输入引脚时可以看到信号上叠加了与PWM开关频率同步的毛刺。进一步检查PCB发现传感器走线经过了功率电感正下方附近区域并且参考地平面在换层处被切开。整改时把传感器走线移到完整参考平面区域避开功率电感投影区增加一个RC低通滤波。考虑到传感器信号变化很慢滤波器并不会影响正常采集问题随之消失。5.3 案例C复位线看起来很短却没有安全感还有一类问题出在复位线上。工程师经常觉得复位线从按键到芯片只有两三厘米不可能受干扰。但复位线一旦穿过系统内部辐射较强的区域即使物理距离很短也会因为抗扰度测试中的瞬态脉冲而误动作。这类问题的处理思路是优先从源头降低干扰强度同时让芯片的复位引脚对瞬态不那么敏感。常见做法是在复位引脚到地之间并联0.1μF电容使用带内部上拉的复位芯片并在引脚入口增加RC滤波。针对外部浪涌或ESD场景可以预留TVS位置确保即使走线通过复杂环境复位信号也能保持稳定。6. 落地到PCB设计工具中的规则6.1 把低速敏感网络单独建组建议在原理图阶段就为传感器线、复位线、中断线等网络增加统一的网络名后缀例如_SENSE、_RST、_INT便于在PCB设计工具中按网络名创建规则。不要等Layout完成后才发现这些网络无法批量约束。很多EDA工具有网络类功能把敏感低速信号定义为一个NetClass然后统一设置线宽、间距、平行长度限制和过孔约束。这样做的好处是即使Layout人员不熟悉具体电路也能通过DRC强制保证布线安全。6.2 一类低频敏感信号的设计约束示例下面给出一个以文本形式整理的设计规则清单。这不是某个EDA软件的导出文件而是一种“规则需求清单”实际使用时要在Altium Designer、Cadence Allegro、KiCad等工具中按步骤配置。# 低频敏感信号网络类约束清单 # 适用网络RST、INT、SENSE、SLOW_IO 网络类名称SLOW_SENSITIVE 最小线宽0.2mm根据工艺和电流调整 与相邻信号间距≥0.25mm 与高频时钟或开关电源网络间距≥0.5mm 平行走线长度尽量控制在10mm以内 换层时必须提供回流地过孔 信号线上预留串联电阻或RC滤波位置 靠近板边和连接器处避免长距离走线这份清单的核心是让低速敏感信号拥有完整的参考平面、足够的间距和可以调试的滤波位置。很多EMC问题并不需要多么复杂的仿真而是要在设计阶段把这些容易被忽略的细节固定下来。6.3 进行DRC和人工检查的两个重点在PCB完成布线后先打开DRC检查间距、线宽和未连接网络然后再做两项人工检查。第一项检查是“换层路径”。查看每条敏感低速走线有没有跨越分割地平面有没有在过孔附近设置回流地孔。第二项检查是“板边禁区”。走线不能贴着板边或连接器引脚附近长距离平行否则外部干扰很容易通过连接器或机箱结构耦合进来。这两项检查不依赖高频仿真工具却能解决相当一部分低频走线的EMC问题。即便板子上没有任何高速信号也可以按照这个思路做一次清理。7. 常见误区与FAQ问题常见理解误区正确思路信号频率只有几十kHz是不是不用做阻抗匹配低速信号随便走都行多数低频点对点走线确实不需要严格阻抗匹配但仍要保证回流连续、环路面积小JTAG、SPI这类低速信号要等长吗等长只属于DDR/USBJTAG等慢速并行信号只要长度差引起的时延远小于一个位周期一般无需严格等长走线过长或边沿很快时需重新评估给低频IO串联33Ω电阻会不会影响信号串阻会把信号变差33Ω到100Ω电阻可以减缓边沿对低速信号时序余量影响很小反而能降低振铃和辐射加了磁珠是不是就彻底解决EMC磁珠万能磁珠只对特定频段有抑制作用选型不当可能无效甚至劣化信号需要结合源阻抗和负载阻抗综合考虑低频段低于30MHz测试测不到就不用管吗只看辐射发射标准30MHz以下更多考虑传导发射;汽车电子、军品等行业标准还会测更低频段不能一概而论这些问题的共同点是不要用“名义频率”代替频谱分析也不要用“高频信号才需要在意”来简化所有EMC判断。每一种走线都要结合其所在环路、相邻电路、线缆长度和实际谐波分量评估。8. 最佳实践与工程建议8.1 从原理图阶段开始审查板外交互路径低频走线是否需要考虑EMC不能只看PCB内部那一段走线还要看它最终通向哪里。只要一条信号线要经过连接器引出到板外就应该把它当作“具有天线潜力的路径”对待。原理图阶段可以做一次快速审查每个连接器引脚上有没有滤波和防护位置地引脚和屏蔽层是不是有清晰的连接计划低速信号线的滤波电容有没有预留000或0603空位。这些措施不会增加太多成本但为后期整改保留了调整余地。8.2 利用Slew Rate控制边沿速度很多MCU的IO引脚支持输出速率配置例如Low Speed、Medium Speed、High Speed。对于低频控制信号只要系统时序允许尽量选择低速率档位或者通过外部串联电阻降低边沿陡峭程度。边沿变缓之后信号频谱中的高频谐波会随之减弱辐射能力也会降低。尤其对按键扫描、LED控制、继电器驱动这类信号并不需要纳秒级上升时间慢一点反而更可靠。8.3 用预测试和频谱分析闭环验证当一款低频产品样机完成后不要等到正式认证才发现问题。可以先用一台频谱仪加上近场探头对PCB表面和板外线缆做一次预扫描。重点查看低速时钟、复位线、连接器附近有没有窄带尖峰并观察尖峰频点是否与某个低频信号的谐波对应。如果发现异常不要急着加屏蔽材料。先用电流探头或近场探头定位噪声路径判断问题是来自环路面积、共模电流还是线缆耦合。找到路径之后通过调整布局、增加串阻、改善地线连接来验证通常比盲目贴铜箔和加磁珠更有效。9. 为什么低频走线要考虑EMC答案已经清楚了回到标题中的问题“为什么信号频率很低的走线也要考虑EMC问题”的答案可以从几个层面来概括。信号频率低并不等于信号频谱窄。数字信号的边沿越陡能延伸到的高频谐波越高即使重复频率只有100kHz也可能携带几十到几百MHz的高频能量。频率低也不等于物理尺寸安全。低频基波的波长确实很长但谐波波长可能很短低速系统的外部线缆和PCB走线一旦落到这些谐波的波长范围内同样具备天线条件。除此之外低速走线还容易作为高阻抗受扰路径把外部射频场转换成低频干扰影响ADC、复位和中断。工程上的处理核心并不复杂无论信号速率如何都要认真对待回流路径、走线环路、板边禁区、连接器出口滤波和敏感信号隔离。把这些原则纳入PCB设计常规流程低速走线的EMC风险就会大幅下降。如果下次再有人告诉你“这信号才几百kHz不用管EMC”不妨把上面的分析方法拿出来先用上升时间估算一下拐点频率再量一下线缆长度和可能的天线尺寸。很多看似意外的问题换个频域视角之后就并不意外了。