第4节:UFS时钟信号的EMI控制策略
时钟信号,说白了就是EMI的“震中”。
UFS链路的时钟频率通常在几十兆到上百兆赫兹。这个频段的谐波能量特别丰富,一不小心就会辐射超标。我个人习惯是:先搞定时钟,再谈其他信号。
4.1 时钟信号为什么是EMI的“主凶”?
你想想看,时钟信号是周期性方波。方波的上升沿和下降沿越陡,高频分量就越丰富。UFS的时钟信号通常是差分对(如REF_CLK),信号幅度虽然只有1.8V左右,但跳变沿特别陡——快的话只有几百皮秒。
关键概念:
- 谐波能量:时钟基频的奇数倍频(3次、5次、7次...)具有较强能量
- 辐射效率:当谐波频率接近PCB走线或电缆的天线谐振点时,辐射效率会急剧升高
- 共模转换:差分时钟的共模分量,是造成EMI的主要原因
我在项目中遇到过这样的情况:某个产品UFS读写时,865MHz处出现超标噪声。查了半天,发现是REF_CLK的7次谐波(约868MHz)耦合到了外壳地线上。嗯,时钟信号的谐波真的不能小看。
4.2 核心控制策略有哪些?
控制时钟信号的EMI,主要从三个维度入手:源头控制、路径阻断和末端处理。我列了个表,方便你对照选择:
| 策略类别 | 具体方法 | 适用场景 | 效果等级 |
|---|---|---|---|
| 源头控制 | 展频时钟(SSC) | 系统级EMI超标,频率可调 | ★★★★★ |
| 源头控制 | 降低时钟幅度 | 链路余量充足时 | ★★★☆☆ |
| 源头控制 | 减慢上升/下降时间 | 时序余量允许时 | ★★★☆☆ |
| 路径阻断 | 时钟走线包地 | PCB层数充足时 | ★★★★☆ |
| 路径阻断 | 远离IO和缝隙 | 布局阶段 | ★★★★★ |
| 末端处理 | RC端接或共模扼流圈 | 信号完整性允许时 | ★★★★☆ |
我的经验:展频时钟是最有效的“第一个动作”。只要系统允许,我一定会优先打开SSC功能。但不建议把展频率设得太高——展频过大可能导致UFS链路的时序抖动超标。
4.3 展频技术(SSC)的具体用法
展频时钟,简单说就是让时钟频率在一定范围内“抖动”。这样,能量的峰值就会被摊平。展频的方式有两种:
- 中心展频(Center Spread):频率在中心值上下变化,如±0.5%
- 向下展频(Down Spread):频率只在中心值以下变化,如-0.5%~-1%
UFS规范中,REF_CLK通常支持向下展频。展频率一般在-1000ppm到-5000ppm之间(ppm代表百万分之一,即0.1%~0.5%)。
注意坑:展频不是万能的!如果你PCB上的时钟走线本身就是一根“大天线”,那展频的效果会大打折扣。我曾经在一个项目上,展频开了20kHz调制深度,连续测试了6种设置,结果发现走线过长、跨分割的问题才是根源。先改PCB,再调展频,问题才算真正解决。
展频参数怎么调?我一般按这个步骤来:
- 先确认系统对时钟抖动的耐受度——UFS控制器手册里会有jitter tolerance的指标
- 选择展频率,建议从较低值(如-1000ppm)开始试
- 用频谱仪看EMI峰值有没有明显下降
- 如果下降不明显,逐步增大展频率,直到效果和信号完整性之间找到平衡
4.4 时钟走线的包地与隔离
包地,是PCB上最老实但也最好用的招。
时钟差分对的包地处理,我习惯这么做:
- 在差分对两侧各加一条GND走线,线宽3~5mil,间距保持在2H以内(H是介质厚度)
- 包地走线上每隔100~200mil打一个GND过孔
- 过孔不能打在包地线的末端,而是要分布在整条走线上
为什么过孔不能只放在两头?因为如果包地线的“地”回流路径太长,它会变成一根新的天线。我以前就犯过这个错——包地线没打过孔,结果EMI反而更差了。
小技巧:时钟走线两侧的包地线不要悬空,一定要接到完整的地平面上。如果PCB层数有限,可以考虑在地层上“开槽隔离”——把时钟区域与其他噪声区域的地平面隔开,但要注意不能破坏信号的回流路径。
4.5 时钟链路的RC端接
端接的作用是匹配阻抗、抑制反射。UFS时钟通常是LVDS或HCSL电平,端接方式略有不同。
| 时钟电平类型 | 端接方式 | 阻值参考 | 注 |
|---|---|---|---|
| LVDS | 100Ω跨接在差分端 | 100Ω±1% | 尽量靠近接收端 |
| HCSL | 50Ω下拉到GND(每端) | 50Ω±1% + 串阻 | 串阻在源端 |
| 单端CMOS | 末端RC串联到GND | R=22~47Ω, C=15~33pF | R和C值需实验调整 |
我建议在时钟信号的源端加一个小电阻(串阻),比如22Ω。这能显著抑制过冲和振铃,减少高频辐射。但电阻不能太大,否则信号幅度会衰减过多,影响UFS链路的时序眼图。
直接用的参数参考:
UFS REF_CLK(频率范围19.2MHz~52MHz):
- 源端串阻:22Ω(0402封装,靠近时钟源)
- 差分阻抗:100Ω(控制在95Ω~105Ω)
- 终端匹配:100Ω跨接在接收端
- 走线长度:尽量控制在2000mil以内
4.6 PCB布局与走线的“铁律”
布局阶段就要想清楚时钟线的走向。我有一个基本的检查清单:
- 时钟源要靠近UFS控制器,走线越短越好
- 时钟走线不跨过任何分割槽(地平面或电源平面)
- 时钟周围3W范围内不要走其他高速信号
- 时钟走线远离板边、连接器、按键、天线区域
- 时钟走线换层时,旁边要有至少2个GND过孔
我曾经遇到过一个典型案例:UFS时钟走线从顶层换到底层,但旁边只有一个GND过孔。换层处的回流路径瞬间变长,形成了一个小环天线。结果UFS读操作时,带宽在3.2GHz处出现一个明显的尖峰。加了一个过孔后,尖峰直接消失了。
下面是本章知识点的结构图,方便你对照记忆:
4.7 一些很实际的调试技巧
调试时钟EMI的时候,我通常会这样做:
- 用近场探头沿着时钟走线扫一下,找到辐射最强的位置
- 如果某个谐波特别突出,先检查时钟源端的端接电阻有没有虚焊
- 试试在时钟差分对的串阻后面并联一个10pF的电容(对地)——这是最简单的低通滤波
- 如果时钟走线必须跨过分割槽,那就加个GND stitching capacitor(桥接电容),容值100pF或1nF
最后一条建议:时钟走线的长度一定要匹配。差分对的两条线长度差不要超过5mil。如果误差太大,共模噪声会明显增加。我以前用示波器看过——长度差10mil的差分时钟,共模分量比匹配好的大了将近3dB。
时钟EMI控制,说白了就是“让时钟信号呆在自己的地盘上,别乱跑”。
做到这一点,UFS链路的EMI问题就解决了一大半。