本节摘要:SOURCE 5.3:晶振、DC-DC、连接器、继电器等强干扰源/敏感端的器件级 Layout 与外围电路。
时钟 下方无完整地 + 串扰导致振荡器增益条件破坏。整改:No Route Below、Guard ring、驱动器远离 analog。
该案例细节:32.768 kHz 晶振的走线从 RTC 引脚引出后,恰好经过 UART 信号下方,UART 的 115.2 kbps 边沿噪声通过层间耦合进入振荡回路,破坏了振荡器的小信号增益条件(晶振激励电平掉到停振阈值以下)。修复动作:晶振及走线下方整片设为禁行区(No Route Below)、晶振两侧加接地 guard ring、把 UART 布线移到地平面的另一侧。修复后 RTC 重新稳定走时。这个案例的通用意义:晶振不是普通器件,它是「模拟敏感 + 周期性辐射」的双重角色,必须按最坏情况对待。
| 器件 | 风险 | 处理 |
|---|---|---|
| 晶振/TCXO | 谐波、停振 | 下方禁线、包地 |
| DC-DC | 开关谐波 | 远 RF、屏蔽、SYNC |
| 继电器/电机驱动 | 电弧、di/dt | 续流、RC snubber、分区 |
| 连接器 | CE 共模 | 净区+ESD |
| 光耦 | 慢边沿/噪声 | 单独地、滤波 |
晶振负载电容的取值必须按数据手册的 CL 与 PCB 寄生电容核算,而不是用「默认 15 pF」:
def load_cap(c1, c2, stray): return ((c1 + stray) * (c2 + stray)) / (c1 + c2 + 2 * stray) # 例:目标 CL=12.5pF,估算 stray=2pF,两脚对称 C1=C2=C for C in [10, 12, 15, 18]: print(f"C1=C2={C:>2} pF, stray=2pF → 等效 CL ≈ {load_cap(C, C, 2):5.1f} pF") # 结论:要得到 12.5pF 目标,对称电容约取 20pF(stray 占用相当部分) # 若按默认 15pF 焊接,实际 CL≈8.8pF,频偏可达数十 ppm,同时激励电平变化影响 EMI
晶振布局规则:
DC-DC 是板卡上最强的周期性干扰源之一,其治理分「频率规划」与「物理布局」两条线:
频率规划:使开关频率及其谐波避开 RF IF 与 ADC 采样带。若无法避开,则把开关频率 SYNC 到系统时钟的派生频率,保证谐波落在「已知且可滤波」的位置。以 1.575 GHz GPS 为例,开关频率选 1.5 MHz 时其 1050 次谐波恰在 1.575 GHz,必须避免;改选 1.6 MHz 则谐波错开。
# 检查开关谐波是否落入敏感带 def check_harmonics(fsw_khz, f_lo, f_hi, nmax=2000): hits = [(n, fsw_khz * n / 1000) for n in range(1, nmax + 1) if f_lo <= fsw_khz * n / 1000 <= f_hi] print(f"fsw={fsw_khz/1000:.2f}MHz 谐波命中 {f_lo}~{f_hi}MHz: {len(hits)} 个") return hits[:5] check_harmonics(1500, 1574, 1577) # GPS L1 带 check_harmonics(1600, 1574, 1577)
物理布局:
| 器件 | 主要失效 | 专项措施 |
|---|---|---|
| 继电器 | 触点电弧 | RC snubber(如 100 Ω + 10 nF)、续流二极管(感性负载) |
| 电机驱动 | 换向 di/dt | 续流、TVS、RC 吸收、单独地分区 |
| 光耦 | 边沿慢、噪声串扰 | 输入输出单独地、输出侧加施密特整形 |
| 连接器 | 共模泄漏 | 净区 + 滤波 + ESD(见 4.3) |
继电器与电机驱动的共性问题是大电流瞬变与电弧。续流器件(二极管/TVS/RC)必须紧贴负载与触点放置,否则吸收路径自身的电感会让抑制失效。光耦的输入输出两侧若共地,隔离就形同虚设——必须保持两侧参考分离,只在需要处单点汇合。
把器件级问题按「现象—根因—对策—复测」四段归档,是团队沉淀 EMC 经验最有效的方式。三个高频案例示范:
| 案例 | 现象 | 根因 | 对策 | 复测结果 |
|---|---|---|---|---|
| RTC 停走 | 32 kHz 停振 | UART 串扰振荡回路 | 禁行区 + guard ring | 停走率降 0 |
| GPS 劣化 | SNR 降 8 dB | DC-DC 谐波耦合 | 频率错开 + LC 滤波 | 降 1.2 dB |
| USB CE | 5 GHz 超标 | SS 无净区无 choke | 净区 + π + choke | 余量 6 dB |
# 器件风险登记表模板(评审用) devices = [ ("晶振", "停振/谐波", "下方禁线+guard ring", "布局阶段"), ("DC-DC", "开关谐波", "频率规划+功率环路最小", "原理图阶段"), ("继电器", "电弧/续流", "RC snubber+续流二极管", "原理图阶段"), ("连接器", "CE共模", "净区+滤波+ESD", "布局阶段"), ("光耦", "慢边沿/串扰", "两侧独立地+整形", "原理图阶段"), ] print(f"{'器件':<6}{'风险':<12}{'对策':<22}{'介入时机':<10}") for d in devices: print(f"{d[0]:<6}{d[1]:<12}{d[2]:<22}{d[3]:<10}")
这张表的价值在于把「器件处理」从经验记忆变成原理图阶段就能执行的检查项。每个高风险器件都有明确的介入时机与对策,评审时按表逐行打钩,就能把器件级 EMC 问题拦截在 Layout 之前。
器件处理完成,整条 EMC 设计链即闭合:第 1 章机制 → 第 2 章结构 → 第 3 章信号/电源 → 第 4 章空间 → 第 5 章硬件兜底。回到本册开篇的问题——「能否互不侵扰地存在」——答案是:把每一层都做对,而不是把某一层做到极致。一块辐射超标板,根因往往同时横跨叠层、布局与器件处理;只有建立起「机制—结构—信号—空间—硬件」的完整视图,才能在一次测试前就预测结果,在一次整改后就拿到稳定余量。

⚠️ 常见坑:晶振 load cap 按默认值,未按 CL spec 与 stray C 核算——频偏+EMI 双问题。
💡 关键直觉:器件级 = 把 datasheet 的「Layout recommendation」当强制规则。