▼关注微信公众号:硬件那点事儿▼
Part 01
前言
Part 02
影响因素
以RTC为例,假设用一颗32.768kHz晶振,初始频率容差±20PPM:
频率偏差=32768Hz×20÷1000000=±0.65536Hz
一天86400秒,时间偏差=0.65536×86400÷32768≈±1.73秒/天
如果是MCU用的高频晶振,比如16MHz晶振,初始频率容差为±15PPM:
频率偏差=16000000Hz×15÷1000000=±240Hz
时间偏差=240×86400÷16000000≈±1.3秒/天
这部分偏差是你一开机就得面对的“宿命”。对于低功耗蓝牙BLE这种总偏差要求小于±40PPM的应用,初始偏差占大头,后续设计得留足余量。预算宽裕就上±10PPM的高精度晶振,误差小,稳定性强;若成本敏感,±20PPM是主流选择,性价比高,但得靠电路设计补短板。
2.温度偏差:环境变化的“捣蛋鬼”
晶振的频率会随温度漂移,尤其是AT切型晶振,温度特性呈抛物线,25°C附近最稳定,高低温时偏差放大。规格书中以温度频率容差Frequency Tolerance over Temperature给出,比如±20PPM(-40°C至85°C)。比如下图中不同温度范围,晶振的频率偏差是不同的,温度范围越大,晶振的频率偏差就越大:
当然不同规格书,对于温度影响表示方法不同,上图中是直接给出对应温度范围内的频率偏差(注意上图中红框内已经包含了晶振制造的初始生产偏差),有些规格书会给出温度每变化1°C,对应的频率偏差比如下图:
举个例子,还是32.768kHz晶振,温度系数是±0.035PPM/°C,从25°C升到60°C,温差35°C:
偏差=0.035×35≈42.875PPM
频率偏移=32768Hz×42.875÷1000000≈1.405Hz
时间偏差=1.405×86400÷32768≈3.7秒/天
普通环境用±20PPM的AT切型晶振就行,成本低,苛刻场景如车载或工业对时间精度要求高的,考虑用温度补偿晶振TCXO,偏差能压到±2PPM,价格贵点但值回这个价。
3. 老化偏差:时间磨出的“慢性病”
晶振用久了,内部晶体结构会微调,频率随之漂移。规格书中以第一年老化率Aging Rate标示,如±3PPM/年,后续逐年递减。
比如RTC 32.768kHz晶振,首年老化±3PPM:
频率偏移=32768Hz×3÷1000000=0.0983Hz
时间偏差=0.0983×86400÷32768≈0.26秒/天
一年累积=0.26×365≈95秒
短期看老化影响小,但长寿命设备如工业仪表得算好累积效应。
Part 03
总结
生产偏差:±20PPM
温度偏差:±20PPM
第一年老化:±3PPM
总偏差:±43PPM
以32.768kHz为例计算总影响:
频率偏移=32768Hz×43÷1000000≈1.41Hz
时间偏差=1.41×86400÷32768≈3.71秒/天
对于BLE的±40PPM红线要求,43PPM超标,通信可能不稳,RTC场景下,3.71秒/天还能凑合,但得看用户能不能接受。
有问题欢迎在评论区留言交流哦!