扩频时钟与EMC整改:从RE超标到ADC/DAC时钟抖动布局
工作台前的频谱仪上120MHz 附近那根尖峰又一次精准地停在限值线下方 1.5dB——不多不少刚好让你过不去。板子改了三版屏蔽罩加了磁珠换了两轮线束重新捆过唯独那根时钟线旁边的谐波家族依旧整整齐齐地排着队。这种场景做过 EMC 测试的人都不陌生尤其是辐射发射RE项目时钟信号几乎是永远的第一嫌疑人。而大多数时候真正能让曲线整体往下压的那一刀不是屏蔽也不是滤波而是让时钟抖起来——把能量从一根尖刺摊成一片缓坡。这篇内容面向的是硬件工程师、PCB Layout 工程师、EMC 整改工程师以及在 ADC/DAC 电路设计里被时钟抖动和电源噪声折磨过的人。我会把时钟抖动、频偏、漂移这几个容易混淆的概念捋清楚把扩频时钟Spread Spectrum Clocking的扩展量、调制频率怎么算怎么配讲透再补上 ADC/DAC 电路里规避时钟抖动与电源噪声的三个 PCB 布局要点最后给一份 CE 与 RE 联动的排查速查表。基础一般的读者可以跟着思路走有经验的可以直接跳到参数计算和配置那几节抄作业。1. 从一次RE超标说起时钟为什么总在嫌疑名单第一位1.1 RE测试的读点到底在告诉你什么先解决一个基础但很多人含糊的问题RE 测试的读点是什么意思。频谱仪上扫出来的那条曲线横轴是频率纵轴是场强单位一般是 dBμV/m。所谓读点就是曲线在某个频点上的幅度读数以及这个读数对应的检波方式——峰值Peak、准峰值QP、平均值Average。整改阶段我们通常先看峰值因为峰值检波最快、最容易暴露问题但最终判定看的是准峰值或平均值加限值线。关键在于同一个尖峰用峰值看可能是超限 10dB换成平均值看可能只超 3dB。这不是仪器在骗你而是检波方式的物理含义不同。峰值检波对窄带尖刺特别敏感而这恰恰就是时钟谐波的形态——能量集中在极窄的带宽里。理解这一点非常重要因为它直接引出了后面所有内容的核心逻辑如果能把窄带尖峰的能量摊开成宽带峰值检波的读数就会明显下降而总能量并没有凭空消失。我见过太多人一上来就加屏蔽、加磁环结果曲线纹丝不动。原因很简单辐射的源头在板子内部屏蔽罩只能压住已经跑到盒子外面的那部分而超标往往是近场耦合就已经形成了。先定位到是哪个时钟的哪次谐波再决定用扩频、滤波还是布线的手段顺序不能反。1.2 时钟谐波的能量为什么这么刺眼时钟信号本质上是周期性的方波或类似方波的数字信号。理想方波的频谱是一系列离散的谐波分量幅度按一定规律衰减但每个分量都集中在极其狭窄的频带内。周期性越强、边沿越陡、幅度越大谐波能量就越高、越往高频延伸。这就解释了为什么一块板上那么多信号偏偏时钟最容易把 RE 拉爆它是全板最稳定、最周期、边沿最陡的信号源。再往深一层看时钟的辐射有两条路径。一条是差模辐射电流在时钟走线和回流路径构成的环路里流动环路面积越大辐射效率越高。另一条是共模辐射本质上是因为走线阻抗不匹配、参考平面不连续导致部分电流跑到电缆、外壳上形成了一根效率极高的天线。很多整改案例里时钟谐波其实是搭着线束跑出去的你在板子上怎么改都压不住得从共模路径下手。还有一点常被忽略时钟的电源引脚本身就是一个辐射源。数字时钟芯片在每次翻转时都要从电源网络抽取瞬态电流这个电流在电源平面与地平面之间形成腔体谐振再通过过孔、连接器辐射出去。所以你在频谱上看到的某些尖峰源头可能不是时钟走线而是时钟芯片的供电网络。定位时要在近场探头的帮助下挨个确认别一上来就认定是走线。1.3 先定位再动手近场扫描的价值近场探头是我认为最值得投入的一件整改神器。它不贵但能把问题从猜变成看。操作上先把板子通电、时钟正常工作用近场探头贴着板面缓慢扫过重点关注时钟芯片、晶振、时钟走线、连接器附近。频谱仪上哪一段幅度最高就把探头停在那里细扫记录下频点和幅度。这一步的产出是一张辐射地图哪些频点是时钟基频的整数倍哪些是开关电源的开关频率及其谐波哪些是接口的周期信号。把这张图和 RE 曲线对照就能很快锁定是哪几个源在贡献主要能量。实测下来一块普通单板上的超标频点七八成能追溯到两三个时钟源。确认了源头接下来才谈得上选择手段而扩频时钟往往是性价比最高的那一招。2. 抖动、频偏、漂移三个容易被混为一谈的概念2.1 抖动是时间轴上的颤动抖动Jitter描述的是信号边沿相对于理想位置的时间偏移。你可以把它想象成一个人走路每一步落地的位置本应精确相等但实际上有时早一点有时晚一点这个早晚的量就是抖动。它衡量的是时间维度上的不确定性单位通常是皮秒或飞秒。抖动分随机抖动和确定性抖动。随机抖动来自热噪声这类不可预测的因素服从高斯分布确定性抖动来自电源纹波、串扰、占空比失真等可预测因素。对 EMC 和高速信号来说确定性抖动往往更值得关注因为它的来源明确、可优化。这也是后面讲扩频时钟时的一个关键点扩频时钟引入的是确定性抖动而且是可控的那一种。有意思的是抖动在不同场合的身份完全相反。对 ADC 采样时钟、高速串行链路来说抖动是敌人越干净越好但对 EMC 辐射来说抖动是朋友越脏越有利于把尖峰摊平。这个矛盾贯穿本文始终理解了它你就理解了为什么很多芯片 datasheet 里对时钟抖动的要求会写得那么纠结。2.2 频偏和漂移是频率坐标的偏离频偏Frequency Offset指的是实际频率与标称频率之间的固定偏差。比如标称 25MHz 的晶振实际输出 25.001MHz偏差 1kHz这就是频偏。它通常用 ppm 表示一个 25MHz、±20ppm 的晶振允许的偏差是 ±500Hz。频偏是静态的只要温度、电压不变它基本不变。漂移Drift则是频偏随时间、温度、老化的缓慢变化。它关注的是变化率而不是偏移量。在通信系统里漂移过大会导致收发两端频率对不上需要更频繁的同步在测量系统里漂移会直接变成测量误差。工程上常把频偏和漂移放在一起看统称频率稳定度。这三个概念经常被混用但它们的物理含义和优化手段完全不同。抖动靠优化电源、布线、负载来改善频偏靠选更好的晶振、校准来修正漂移靠温补晶振TCXO或恒温晶振OCXO来控制。做 EMC 整改时你要用的是抖动而不是去折腾频偏——这一点很多人一开始就搞反了。2.3 扩频时钟主动把时钟抖起来扩频时钟SSCSpread Spectrum Clocking的思路非常直白既然尖峰的能量集中在一个窄频带里那我就主动让时钟频率在一个小范围内周期性地来回扫动把原本集中的能量摊到一段带宽上去。频带展宽了单个频点上的幅度自然就下来了而总能量基本不变。打个比方原本有一束光全部打在一个点上烫得吓人现在让这束光快速在这点周围来回扫每一处的温度都降下来了但总的光通量没变。RE 测试看的是每一个点有多烫所以扩频有效如果测的是总能量扩频就没用了——好在 EMC 限值正是按频点幅度来定的。实现上扩频是在时钟源内部用一个低频调制信号去调制输出频率。这个调制信号通常由芯片内部产生工程师要做的只是通过寄存器配置几个参数扩展量、调制频率、调制波形、以及是中心扩展还是向下扩展。听起来简单但参数选错会导致系统时序出问题下一节详细说。3. 扩频时钟怎么配扩展量、调制频率与调制波形的取舍3.1 中心扩展还是向下扩展选错了会出事中心扩展Center Spread是把频率在标称值上下对称扫动比如 100MHz 配 0.5% 中心扩展频率在 99.75MHz 到 100.25MHz 之间来回。向下扩展Down Spread则是只在标称值以下扫动100MHz 配 -0.5% 向下扩展频率在 99.5MHz 到 100MHz 之间。怎么选关键看系统对最高频率的容忍度。中心扩展会有超过标称频率的瞬间如果下游某个接口的时序是按标称频率算死了的那这 0.25% 的上偏可能就会咬掉你最后一点建立/保持余量。向下扩展不会超过标称频率相对更安全适合那些时序本来就紧的接口。但向下扩展也有代价它的平均频率低于标称相当于系统整体跑慢了一点点。对于需要和外部参考严格同步的场合比如某些音视频接口的精确帧率这可能引入额外的问题。我的经验是通用数字电路优先选向下扩展接口时钟看规格书里的明确要求实在拿不准就选中心扩展但把扩展量压小。注意如果时钟是给外部接口用的一定先翻规格书确认这个接口允不允许扩频以及允许的扩展量上限。硬件上改了寄存器软件那边可能完全不知情出问题时排查成本极高。3.2 扩展量算多大才够别拍脑袋扩展量决定了能量被摊开多宽。理论上原本落在测量分辨率带宽RBW内的能量被摊到整个扩展带宽上之后峰值下降量大约是 10·log₁₀(展宽后带宽 / RBW)。举个例子时钟 100MHz扩展量 0.5% 向下扩展展宽带宽是 500kHzRE 测试常用 RBW 是 120kHz。那么理论下降量约 10·log₁₀(500/120) ≈ 6.2dB。这个估算很有用因为它能告诉你我要压 6dB 需要多大的扩展量。如果实测只降了 3dB说明能量并没有完全按理想方式摊开或者还有别的路径在贡献辐射。但扩展量不是越大越好。工程上常见的范围是 0.5% 到 4%具体看时钟频率和芯片支持范围。扩展量太大下游接收端的时钟恢复可能跟不上误码率上升扩展量太小降幅不够。我一般的做法是先从 0.5% 起步看降幅够不够不够就往上加到 1% 或 1.5%同时盯着系统功能测试别出问题。3.3 调制频率为什么卡在30kHz附近调制频率是指频率来回扫动的快慢典型值在 30kHz 到 33kHz 之间。这个数字不是随便定的背后有两个约束。上限约束来自展宽效果调制频率越高扫动越快但接收机在测量时的积分时间有限扫得太快会导致能量还没来得及摊开就被测到了展宽效果打折。而且调制频率太高边带会离主峰太远反而在别的地方形成新的小尖峰。下限约束来自可听噪声和系统容忍度如果调制频率落进人耳可听范围20Hz到20kHz电源或电容可能会因为压电效应产生啸叫这在消费类产品上是不能接受的。所以 30kHz 附近刚好卡在人耳上限之上同时又足够低以保证展宽效果。实际配置时很多时钟芯片提供 30kHz 到 60kHz 的选择也有用 31.5kHz 或 33kHz 的。我实测下来这个区间的差异对 RE 降幅影响不大主要看芯片支持的选项和系统兼容性。如果发现板子有啸叫优先检查是不是调制频率设得太低了。3.4 寄存器配置实操与验证方法以一个常见的可编程时钟发生器为例配置流程大致是这样几步。先确定输出频率和目标扩展方式然后设置扩展量和调制频率最后使能扩频并锁定配置。# 伪代码示意具体寄存器名以芯片手册为准 CLK_OUT_FREQ 100MHz # 目标输出频率 SSC_MODE DOWN_SPREAD # 向下扩展 SSC_SPREAD 0.5% # 扩展量 SSC_MOD_FREQ 31.5kHz # 调制频率 SSC_ENABLE 1 # 使能扩频配置完之后一定要验证不能只看寄存器写进去了。验证分两步第一步用频谱仪看时钟本身的频谱正常情况下原来的单根尖峰应该变成一段小山丘顶部被削平两侧有斜坡。如果看到的还是尖峰说明扩频没生效检查寄存器是否被后续初始化流程覆盖了。第二步是重新做 RE 扫描重点看原来超标的那些频点降了多少。我的经验是时钟基频和高次谐波通常能降 3dB 到 8dB具体取决于扩展量和原来的谐波形态。如果降幅只有 1dB 到 2dB多半是扩展量太小或者辐射的主要路径不是时钟走线本身比如是共模路径这时候再怎么调扩频也没用得换思路。提示调试阶段建议把扩展量、调制频率都做成可运行时修改的参数方便快速试错。固化到量产版本时再锁定避免不同批次行为不一致。4. ADC/DAC 电路设计规避时钟抖动与电源噪声的三个布局要点4.1 时钟抖动对采样信噪比的定量影响在 ADC/DAC 电路里时钟抖动的身份从EMC 帮手变回了性能杀手。采样时钟的抖动会直接调制采样时刻等效于给输入信号叠加了相位噪声表现为信噪比SNR下降。这个关系可以用一个简洁的公式估算SNR_jitter -20 · log₁₀(2π · f_analog · t_jitter)其中 f_analog 是模拟输入信号频率t_jitter 是时钟抖动的均方根值。举两个实际数模拟输入 10MHz、时钟抖动 10ps 时SNR 上限约 64dB如果把抖动恶化到 100psSNR 就掉到 44dB。也就是说抖动翻十倍信噪比直接损失 20dB——这是灾难性的。这个公式还告诉我们两件事。第一输入信号频率越高抖动的影响越大所以高频采样系统对时钟的要求近乎苛刻。第二抖动是总账时钟源本身、走线耦合、电源噪声引入的抖动都会累加进去你不能只盯着晶振的参数。下面三个布局要点本质上都是在控制抖动从哪来。4.2 要点一时钟走线的参考平面与包地处理第一个要点是时钟走线的参考平面必须连续完整。时钟信号的回流电流走的是参考平面上紧贴走线的那一层如果走线跨过了平面分割缝回流路径被迫绕行环路面积瞬间变大既恶化信号完整性也把抖动放大了。做 ADC/DAC 板子时我一般要求时钟走线所在的区域下方的地平面绝对不能开槽也不能被其他电源平面切断。其次是包地。时钟走线两侧加地线并打过孔到地平面能有效抑制相邻走线的串扰。但包地不是万能的地线必须每隔一段距离比如波长的十分之一以内打过孔否则那条地线自己会变成一根辐射天线。我见过包了地反而更差的案例就是因为地线只在两端接地中间悬空形成了一个谐振腔。第三是走线长度和匹配。时钟走线尽量短、直避免不必要的过孔和拐角。如果必须走长线要按传输线来处理做好端接避免反射。反射会让边沿变形等效增加抖动。对于差分时钟两条线的长度差要控制在很小的范围内不然差分对会退化成单端共模噪声直接进接收端。4.3 要点二电源去耦的分层设计与ESL控制第二个要点是电源去耦。时钟芯片和 ADC/DAC 的电源引脚对噪声极其敏感电源上的任何纹波都会通过芯片内部电路调制到时钟上变成抖动。去耦的核心思路是分层不同容值的电容负责不同频段小容值管高频、大容值管低频而且要按从近到远、从小到大的顺序摆放。具体摆放上0.1μF 或更小的电容要紧贴电源引脚走线越短越好因为它的作用频段高任何额外的寄生电感都会让它在高频段失效。10μF 级别的电容可以稍远一点负责中低频。再大容值的电解或钽电容放在板子电源入口附近管整体储能和低频。这里有个常被忽略的点电容的等效串联电感ESL比容值更影响高频性能。同样 0.1μF0402 封装的 ESL 明显小于 0805高频去耦效果更好。所以别只看容值封装也要选对。另外多个电容并联时要注意反谐振不同容值组合可能在某个频段形成高阻抗峰有条件的话用阻抗分析仪扫一下电源网络的阻抗曲线确认。注意去耦电容的地回路同样要短。电容一端接电源引脚另一端接地的过孔最好就在电容焊盘旁边别让地电流绕一大圈。地回路长了电容的高频效果基本就废了。4.4 要点三回流路径与模拟地分割的取舍第三个要点是回流路径和地平面分割。关于模拟地和数字地要不要分行业里争论了很多年。我的看法是不要盲目分割先看回流路径。地平面分割的本质目的是阻止数字噪声电流流进模拟区域但分割不当反而会迫使回流绕行制造出更大的环路和更严重的辐射。一个更稳妥的做法是分区不分割整块板用统一的地平面但通过布局把模拟器件和数字器件物理上分开让模拟信号的回流自然集中在模拟区域数字信号的回流集中在数字区域。这样既保证了回流路径连续又实现了噪声隔离。只有在混合信号芯片的 AGND 和 DGND 引脚之间才按手册要求做单点连接。ADC/DAC 的参考电压和模拟输入走线要远离时钟线和数字总线至少保持三倍线宽以上的间距能加地线隔离就加。如果空间允许把敏感的模拟部分放在远离时钟源和开关电源的位置。这些布局上的取舍最终都会体现在抖动和噪声指标上而且是后期用软件补偿不了的。5. CE测试项目与时钟谐波的联动排查5.1 CE测试都测哪些项目CE 是传导发射Conducted Emission测的是产品通过电源线、信号线向外传导的骚扰频率范围通常从 150kHz 到 30MHz。和 RE 不同的地方在于CE 看的是线上的电流或电压通过线路阻抗稳定网络LISN来测量。常见的 CE 测试项目包括电源端子的传导骚扰电压、通信端口的传导骚扰电压以及一些标准里要求的骚扰功率。CE 和 RE 虽然测的东西不一样但源头经常是同一个。时钟的谐波能量如果耦合到了电源平面再通过电源线传导出去就会在 CE 曲线上形成一排等间距的尖峰间距正好等于时钟基频。这种情况在只有单一时钟源的板子上特别好认。反过来有时候 RE 压下去了但 CE 还超标说明能量主要是沿着电源线走的这时候光调扩频不够还得在电源入口加滤波。5.2 从CE曲线反推时钟问题判断 CE 曲线上的尖峰是不是时钟引起的有几个特征可以对照。第一是等间距时钟谐波的间隔严格等于基频比如 25MHz 时钟会出现 25、50、75、100MHz 一系列尖峰。第二是随频率缓慢衰减呈现典型的方波谐波包络。第三是对温度、电压比较敏感因为时钟电路的工作状态会随这些条件变化。排查时我一般这样做先把时钟的扩频关掉看 CE 曲线上的尖峰有没有变得更尖锐再打开扩频看尖峰有没有被削平。如果变化明显基本可以确认是时钟贡献的。如果没变化就要考虑开关电源的开关频率、或者接口的周期信号。还有一种情况是时钟本身没问题但电源滤波不够时钟的电源噪声通过 LDO 的寄生通路跑到了电源线上。这时候光在时钟引脚加电容没用得在 LDO 的输入输出都做处理必要时换更低噪声的 LDO。这个坑我踩过折腾了两天才定位到是 LDO 的问题。6. 常见问题与排查技巧速查6.1 问题速查表把前面几节的内容浓缩成一张表方便对着现象找原因。现象可能原因排查手段处理方向RE 尖峰等间距排列时钟谐波差模辐射近场探头定位源启用扩频、缩短环路扩频后降幅只有 1-2dB扩展量太小或辐射走共模查看频谱展宽形态加大扩展量、查共模路径扩频后系统误码率上升扩展量过大、接收端跟不上回读误码统计减小扩展量或改向下扩展板上有啸叫声调制频率落进音频范围改变调制频率观察提到 30kHz 以上ADC 信噪比不达标时钟抖动或电源噪声用相噪仪测时钟优化去耦、减小走线环路CE 尖峰仍存在电源滤波不足关扩频对比曲线加强 LDO 与入口滤波包地后辐射反而变差地线悬空形成天线检查包地过孔密度加密过孔或取消包地6.2 我踩过的那些坑第一个坑是过早固化扩频参数。有一次调试阶段扩频设了 2%系统各项测试都过结果量产换了批次晶振之后时序余量不够开始偶发死机。后来复盘发现2% 的扩展量对那个接口来说本来就接近极限只是样机运气好。教训是扩频参数要留余量并且在不同批次、不同温度下都验证一遍。第二个坑是只改扩频不改布局。有个项目 RE 超标 8dB我把扩频拉满也只降了 4dB剩下 4dB 死活下不去。后来用近场探头一查真正的辐射源是时钟线旁边一根平行走了十几厘米的数据线时钟通过串扰耦合过去再从那根线上辐射出去。这种情况扩频只能治标治本得改布局把并行距离缩短、加地线隔离。第三个坑是忽略电源噪声对时钟抖动的贡献。做 ADC 板子时采样信噪比总是差 2dB 到 3dB时钟换了好几个型号都没用。最后发现是开关电源的纹波通过 LDO 耦合到了时钟芯片的供电上LDO 的电源抑制比在那个频段只有 30dB 左右。换了一颗高 PSRR 的 LDO问题就解决了。这件事让我养成了一个习惯遇到时钟抖动问题先看电源再看走线最后才怀疑时钟源本身。6.3 关于工具和仪器的几句实在话相噪分析仪当然好用但价格摆在那里不是每个团队都配。退而求其次可以用频谱仪加相位噪声选件来测精度差一些但足够定位问题。再退一步示波器配合直方图和眼图功能也能看出抖动的量级尤其是确定性抖动。关键是先建立一个基线知道健康状态下是什么样这样出问题时差异才看得出来。近场探头、LISN、电流探头这几样属于 EMC 整改的基础装备投入不大但回报极高。我建议每个做硬件的团队都配一套前期定位效率能提升好几倍。很多时候整改慢不是因为问题难而是因为根本不知道问题在哪靠猜和试错在耗时间。最后分享一个我个人常用的快速判断法拿到 RE 或 CE 曲线后先算尖峰之间的频率间隔再拿这个间隔去和板上所有时钟频率、开关电源频率对一遍。能对上的基本就是它了。这个方法不需要任何额外设备五分钟就能缩小一大半排查范围比盲目换器件高效得多。