前阵子公司一款 5G CPE 在客户现场低温环境下频繁入网失败,半天连不上 5G 网络。大家一开始怀疑天线匹配、怀疑协议栈,排查了一整周,最后发现根因居然是一个“毫不起眼”的参数——晶振的 ppm 超标。这个问题在 4G 时代几乎没人正眼瞧过,到了 5G 却直接卡死了入网流程。这篇文章就把 ppm 和 5G 入网之间的那根线彻底拆开,讲讲它到底卡在哪一步、会坏到什么程度、以及设计阶段怎么避开这类坑。适合终端硬件工程师、射频工程师、协议开发以及做 5G 入网测试的同行参考。
1. ppm 不是玄学:它是“频率有多准”的度量,也是 5G 入网当天的裁判
1.1 一个百万分之一,放在频率上是什么概念
ppm 是 parts per million 的缩写,翻译过来就是“百万分之一”。用在晶振上,表示的是实际输出频率和标称频率之间的相对偏差。一颗标称 26MHz 的晶振,如果精度标着 ±10ppm,那实际频率允许落在 26MHz 正负 260Hz 的范围内。260Hz 乍一听很小,但当载波频率叠到 3.5GHz、甚至 28GHz 的时候,这个相对偏差会被放大到几千赫兹甚至上万赫兹。
终端设备里常见的晶振有三大类:普通石英晶振(XO)、温补晶振(TCXO)和恒温晶振(OCXO)。普通晶振全温范围内能做到 ±10ppm 已经算不错,很多低成本物料甚至是 ±20ppm;TCXO 通过温度补偿网络把精度拉到 ±0.5ppm 到 ±1ppm;OCXO 用恒温槽把晶体控制在一个恒定温度附近,精度可以做到 ±0.05ppm 甚至更高,但体积和成本都不是普通消费终端能接受的。所以手机、CPE、模组这类产品,基本都围绕 TCXO 来做时钟方案。
| 晶振类型 | 典型全温精度 | 应用场景 | 成本量级 |
|---|---|---|---|
| XO 普通晶振 | ±10~±20ppm | 低成本嵌入式设备、Wi-Fi | 低 |
| TCXO 温补晶振 | ±0.1~±1ppm | 手机、CPE、5G 模组 | 中 |
| OCXO 恒温晶振 | ±0.01~±0.05ppm | 基站、测试仪表 | 高 |
1.2 4G 时代没人天天念叨,为什么到 5G 就绕不开
4G LTE 时代,终端对晶振精度的要求也一直存在,但问题不像 5G 这么尖锐。原因是多方面的。第一,4G 主流频段集中在 1.8GHz 到 2.6GHz,同样的 ppm 换算成绝对频偏要小一截。第二,LTE 的子载波间隔固定是 15kHz,OFDM 符号周期长、对频偏的容忍度相对宽松。第三,4G 时代终端多用在纯语音和移动宽带场景,入网失败重试几次用户感知不强。
5G NR 把这些条件全部改变了。频段往上走,高频段 FR1 上探到 6GHz,FR2 毫米波甚至到了 28GHz、39GHz。子载波间隔变得灵活,30kHz、60kHz、120kHz 都有,间隔越大意味着 OFDM 符号周期越短,对频偏造成的相位旋转越敏感。再加上 5G 入网过程里大量依赖波束扫描和窄波束同步,UE 必须在很短的波束驻留时间内完成信号检测和同步,本地频率偏太多,相关峰直接被压低,同步就失败。这些因素叠加在一起,让 ppm 从一个“出厂参数表里的一行字”变成了能决定设备能不能入网的生死线。
2. 从搜网到握手:5G 入网流程里每一步都被 ppm 卡着
2.1 第一关:SSB 同步与小区搜索
5G 终端入网的第一步是小区搜索。UE 在支持的频点上扫描同步信号块(SSB),通过检测主同步信号(PSS)和辅同步信号(SSS)来识别小区 ID,并获取粗略的时频同步。这一步的核心是接收信号和本地序列做相关运算,相关峰的高度直接决定了检测灵敏度。
如果本地晶振频率有偏差,接收链路拿到的采样信号和本地序列之间就有频率偏移。频偏会让相关峰幅度下降,这种衰减跟频偏大小和积分时间都有关系。更麻烦的是,5G 小区在发送 SSB 的时候会用波束扫描,每个波束驻留的时间窗口很短,UE 必须在几十微秒到几百微秒的时间里完成检测。频率偏差大了,UE 需要拉长积分时间才能凑出足够的信噪比,结果波束已经扫到下个方向去了,导致频繁漏检。低温环境下晶振偏差变大的时候,搜网失败率会明显上升,就是这一步被卡住了。
2.2 第二关:PBCH 与 SIB1 解调
同步做上之后,UE 要解调 PBCH 上的 MIB。PBCH 用 QPSK 调制,承载的信息量不大,但承载它的 DMRS 对相位一致性有要求。频偏会造成符号间相位旋转,原本星座图上的点会因为相位偏移而“转起来”,解调时如果频偏补偿不干净,误比特率直接抬升。别看 MIB 只有二十多个比特,解错一个关键字段,后续 SIB1 的调度信息就拿不到,入网流程原地卡死。
SIB1 承载着小区的接入参数,是入网的必读消息。它的传输方式也是 OFDM,调制阶数虽然不高,但传输块比 MIB 大得多,需要多个符号拼接解调。频偏在这些符号上造成的相位旋转如果不被估计和补偿,块错误率会迅速恶化。检测阶段已经完成频率粗校正的情况下,残余频偏通常能做到 0.1ppm 以内,这一步还能扛得住;问题出在冷启动或者晶振本身精度太差的时候。
2.3 第三关:PRACH 随机接入,最容易泄底的环节
随机接入是整个入网流程里对频偏最敏感的一步,也是最容易被忽略的一步。UE 发送 PRACH 前导序列,基站通过检测前导序列的相关峰来判断有没有 UE 要接入。PRACH 用了 Zadoff-Chu 序列的循环移位来区分不同用户,不同用户的随机接入前导用不同的循环移位值表达。
问题在于,频率偏移会在相关检测中被“翻译”成时间偏移。频偏越大,相关峰出现的位置偏离真实循环移位越远,一旦偏到别人的检测窗口里,基站就把这个前导误判成另一个用户的接入请求。这就可能导致两个后果:要么基站误检到不存在的前导,调度资源被浪费;要么真实 UE 的前导被漏检,接入失败。NR 长格式 PRACH 的子载波间隔只有 1.25kHz,OFDM 符号周期接近 800 微秒,比数据信道的 30kHz 间隔敏感得多。同样一个频偏,放在数据信道上可能只是信噪比损失几 dB,放在 PRACH 上就是接入失败。
2.4 第四关:入网后的闭环维持
UE 成功完成随机接入、进入连接态之后,不是就高枕无忧了。上行数据发射的频率必须以基站为基准,偏差超过一定范围,基站解调上行信号就会出错。好在连接态有闭环的自动频率控制(AFC),UE 可以持续跟踪基站参考信号来估计频偏并校准本地振荡器。这个过程能兜住不少问题,但它的前提是初始接入已经成功。换句话说,AFC 是在“入网之后”才帮你擦屁股,入网那一刻的“初始同步”靠的是晶振自身的硬精度。
下面这张表可以快速总览整个入网链路里 ppm 的影响位置:
| 入网阶段 | 关键信号 | 受影响机制 | ppm 偏大的典型后果 |
|---|---|---|---|
| 小区搜索 | PSS/SSS | 相关峰幅度下降、波束漏检 | 搜不到小区、长时间驻留失败 |
| 系统消息读取 | PBCH/SIB1 | 相位旋转、误比特率上升 | MIB 解错、接入参数拿不到 |
| 随机接入 | PRACH | 循环移位误判、虚假相关峰 | 前导漏检、接入冲突 |
| 连接态维持 | DMRS/CSI-RS | 上行频偏补偿难度加大 | 上行业务质量差、掉线 |
3. 用公式算清楚:不同 ppm 的晶振会把信号推到多远
3.1 频偏公式和几个关键数字
晶振带来的载波频偏计算很简单:Δf = fc × ppm × 10⁻⁶。fc 是载波频率,单位是 Hz,ppm 是频率偏差的百万分数。把几个典型场景代入就知道问题有多严重。
以 3.5GHz 作为 FR1 的代表频点。一颗 ±20ppm 的普通晶振在最差偏差下会产生 3.5×10⁹ × 20×10⁻⁶ = 70000Hz,也就是 70kHz 的频偏。NR 在这个频段常用的子载波间隔是 30kHz,70kHz 已经超过两个子载波间隔。放到 OFDM 系统里,这意味着一个子载波的能量会泄露到相邻好几个子载波上,子载波之间彻底失去正交性。这已经不是“信噪比损失几个 dB”的量级,而是直接解调失败。就算用 ±1ppm 的 TCXO,在 3.5GHz 下也有 3500Hz 的频偏,依然占 30kHz 子载波间隔的 11.7%,在接入阶段仍然不能忽略,必须靠 AFC 逐步抵消。
再看毫米波。28GHz 下,±0.5ppm 的典型 TCXO 对应 14000Hz 的绝对频偏。FR2 的子载波间隔通常是 120kHz,14000Hz 占 11.7%,和上面 3.5GHz 的情况相当。但毫米波的相位噪声本来就大,再加上波束窄、覆盖受限,频率误差的预算被压得更紧。很多毫米波方案对晶振的要求会提高到 ±0.2ppm 甚至更高,原因就在这里。
| 载波频段 | 晶振精度 | 换算频偏 | 对常用子载波间隔的影响 |
|---|---|---|---|
| 3.5GHz,FR1 | ±20ppm | 70kHz | 超过 30kHz 间隔的 2 个子载波,无法解调 |
| 3.5GHz,FR1 | ±1ppm | 3.5kHz | 占 30kHz 的 11.7%,需 AFC 收敛 |
| 3.5GHz,FR1 | ±0.1ppm | 350Hz | 占 30kHz 的 1.2%,基本可控 |
| 28GHz,FR2 | ±0.5ppm | 14kHz | 占 120kHz 的 11.7%,对初始接入不友好 |
| 28GHz,FR2 | ±0.1ppm | 2.8kHz | 占 120kHz 的 2.3%,可接受 |
3.2 对 OFDM 正交性和 EVM 的破坏,要算到数值
OFDM 系统之所以能承受一定的频偏,靠的是循环前缀(CP)和接收端的频率补偿。CP 能容忍的频率偏差大约在子载波间隔的几个百分点量级。以 30kHz 间隔为例,如果想保持比较理想的解调性能,残余频偏最好控制在 300Hz 到 600Hz 以内,也就是子载波间隔的 1% 到 2%。3.5GHz 下对应晶振精度大约 0.1ppm 左右。所以很多主流芯片平台在做完 AFC 收敛后,系统内的残余频偏指标就按 0.05 到 0.1ppm 来设计,这不是拍脑袋定的。
频偏对 EVM(误差向量幅度)的影响也是可以量化的。在归一化频偏比较小的时候,EVM 随频偏近似线性增长;归一化频偏到 5%,EVM 可能被推到 10% 以上,直接顶到 256QAM 调制的解调门限。5G 的上下行数据信道在好信噪比下会用到 256QAM,对 EVM 的要求非常苛刻。晶振频偏大,等于从源头给发射链路的 EVM 加了底噪。
3.3 PRACH 长前导对频偏更敏感
再来算 PRACH。NR 的 PRACH 有长短两种格式,长格式的子载波间隔是 1.25kHz 或 5kHz。以 1.25kHz 为例,一个 OFDM 符号的有效时间接近 800 微秒。频偏在这个时间窗口内造成的相位旋转是 2π×Δf×T。假设一个 ±5ppm 的晶振用在 3.5GHz 频段,频偏 17.5kHz,一个符号上的相位旋转大约是 2π×17500×0.0008 ≈ 88 弧度,相当于好几个整圈。相关检测依然能找到峰值,但峰值位置被平移了,且旁瓣显著抬高,Zadoff-Chu 序列的循环移位检测窗口就会错乱。
这就是为什么随机接入阶段对初始频偏的要求特别严格。基站的 PRACH 接收机一般期望 UE 的残余频偏在几百赫兹以内,尤其是在大覆盖小区里,前导循环移位间隔本身就小,频偏带来的“假偏移”很容易把检测结果推到另一个接入机会上。很多现场入网失败、接入冲突问题,查到最后都绕回频率精度上。
4. 一次真实的低温入网失败排查:从“怀疑天线”到“锤定晶振”
4.1 现象与复现,先把问题锁定在物理层
回到开头说的那台 5G CPE。现场反馈是设备在低温环境放置一段时间后开机,搜网时间长,偶尔能注册上但马上又掉线,整体入网成功率不到七成。常温状态下这个型号做了大量测试都没问题,所以最初没人往晶振上想。
复现实验把设备放进低温试验箱,-20℃ 保温两小时后上电,通过某款综测仪模拟 5G 基站,观察终端的入网行为。复现结果很稳定:大约 30% 的冷启动尝试会停留在小区搜索阶段,其余成功入网的设备也出现了随机接入重传偏多的情况。有了稳定复现,就可以开始逐层排除了。
4.2 抓取信号与逐层排除,关键是把“看不见的频率”变成看得见的数字
排查的第一步是确认小区搜索失败到底是不是信号问题。用综测仪的发射功率扫描功能看 UE 有没有在正确的频点上扫描,把综测仪的接收天线靠近设备天线口,确认参考信号强度正常,排除天线问题。再抓 UE 侧的物理层日志,发现 SSB 相关检出的信噪比明显偏低,PSS/SSS 相关峰宽度也不正常,但综测仪端发射的信号本身是干净的,这就说明问题在 UE 接收侧的本地频率基准。
用频谱仪直接测这颗 TCXO 输出的参考时钟,-20℃ 下实测偏差约 5.2ppm,而标称参数写的是 ±0.5ppm。5.2ppm 在 3.5GHz 下对应 18.2kHz 的频偏,小区搜索还能勉强捞到信号,但 PBCH 解调的质量已经大幅下降,随机接入的 PRACH 前导也频繁发生循环移位误判,这就是入网失败和重传增多的根因。
| 排查步骤 | 手段 | 发现 | 结论 |
|---|---|---|---|
| 复现环境温循测试 | 低温试验箱+模拟基站 | 30% 冷启动失败 | 问题可稳定复现 |
| 排除射频通道 | 综测仪信号强度确认 | 下行信号正常 | 不是天线/屏蔽问题 |
| 物理层日志分析 | PSS/SSS 相关峰信噪比观测 | 相关峰压低 | 接收频率基准可疑 |
| 参考时钟实测 | 频谱仪测晶体输出 | 偏差 5.2ppm | 根因锁定晶振 |
4.3 换料验证与根因定性
把同批次的 TCXO 全部更换成另一家经过全温范围实测的物料,同样的低温测试跑三轮,冷启动入网成功率恢复到 99% 以上,随机接入重传也回到正常水平。后续把失效物料送到原厂分析,发现它的温度补偿曲线在 -20℃ 附近出现了异常拐点,补偿电压没有跟随温度变化,导致低温下频率突然拉偏。这是典型的物料一致性波动问题,单颗样品抽样在常温下测不出差异,只有做全温范围验证才会暴露。
这个案例给我们的教训很直接:晶振选型不能只看 25℃ 附近的精度,必须看整个工作温度范围内的频率温度特性,尤其是温度边界的余量。很多“常温没问题、低温就入网失败”的案子,最后都逃不出这个逻辑。
5. 设计阶段的保命经验:晶振选型、AFC 补偿和测试建议
5.1 终端晶振怎么选:别只盯着 25℃ 那一行参数
选晶振的时候,硬件工程师习惯性先看规格书首页的“频率精度”,那个数字通常是室温附近的典型值。真正要关注的是另外三行:全工作温度范围内的频率误差、频率温度特性曲线、以及长期老化率。一颗 TCXO 标着 ±0.5ppm,往往指的是 25℃ 附近的指标,全温范围放宽到 ±2ppm 甚至 ±3ppm 的情况并不少见。如果设计时没有给系统留出足够频偏预算,低温场景就会顶到入网失败的门槛。
具体选型时我会按这样的思路来评估:先确定设备的预期工作温度范围和目标入网成功率,再根据最高载波频点换算可接受的绝对频偏,反推晶振需要的全温精度。比如设计一款 FR1 的 5G CPE,希望系统在任何工作温度下初始频偏不超过 1kHz,那么在 3.5GHz 下对应的精度就是 1kHz / 3.5GHz ≈ 0.29ppm。这种推算会把需求量化得特别清楚,也方便和晶振供应商讨论余量。毫米波产品再在这个基础上收紧 2 到 3 倍。
| 设计场景 | 预期频偏预算 | 对应 3.5GHz 精度要求 | 建议晶振类型 |
|---|---|---|---|
| 低成本随身 WiFi | ≤2kHz | ≤0.57ppm | TCXO(全温范围确认) |
| 常规 5G CPE | ≤1kHz | ≤0.29ppm | 全温 TCXO |
| 毫米波设备 | ≤500Hz(28GHz) | ≤0.18ppm | 高精度 TCXO/双晶振方案 |
| 工业级模组 | ≤800Hz | ≤0.23ppm | 工业级 TCXO + 温度补偿 |
5.2 AFC 能补救一部分,但前提是别让它从负数开始
AFC 环路是基站同步之后才会正常工作的闭环机制,它利用基站下行的参考信号估计频偏,再去微调本地振荡器。它的收敛范围通常以接收机捕获能力为前提,一次性塞给它几十 kHz 的初始频偏,环路可能收敛很慢,甚至收敛到错误的子载波上。所以在初始接入阶段,设计上一定要保证“开环频偏”在 AFC 能兜住的范围以内。
一个实用的办法是在基带软件里加一版温度补偿查找表。出厂校准的时候记录晶振在不同温度下的频偏特征,把数据烧进设备,冷启动时先根据温度查表做一次开环补偿,把频偏压到接近零,再让 AFC 闭环去做细调。这样能大幅减少冷启动搜网时长。这块逻辑看起来简单,实际做起来要细心:查找表的温度点间隔不能太粗,至少每隔 5℃ 一个校准点,而且要在升温和降温双向都做数据采集,因为晶振的温滞效应会带来额外偏差。
5.3 测试验证:一致性测试之外一定要做场景测试
最后说说测试。很多团队做晶振相关的验证只跑协议一致性测试里的频率误差用例,但一致性测试是在室温环境下完成的,根本覆盖不到现场的温度边界。我自己经手过的项目里,凡是入网类问题最后查回时钟域的,几乎都是在极端温度、冷启动、长期老化这类场景里暴露出来的。
建议在研发阶段的测试计划里加几项硬性用例。第一项是全温冷启动入网测试,温度范围至少覆盖产品规格书标称的最低和最高温度,每个温度点保温两小时以上再做冷启动入网统计。第二项是随机接入压力测试,在综测仪上设置较低的 PRACH 检测门限,连续发起 100 次以上接入请求,统计重传率和失败率,这个用例能非常敏锐地暴露频偏问题。第三项是老化推演测试,用老化的晶振物料对比新物料的入网表现,评估产品生命周期末期的频偏余量。这三个用例跑下来,ppm 层面的风险基本能提前暴露在设计阶段,而不是等客户现场的投诉单来了才去救火。