
晶振作为电子系统的时间基石,其频率偏差直接决定了产品的“准头”。生产偏差、温度偏差和老化是影响晶振性能的主要因素,规格书中通常会列出这些参数的影响。咱们今天就来逐一剖析这三者的影响,算算它们如何把时间搞偏,再聊聊选型时的实战经验。
晶振的PPM值如何计算呢?
计算晶振的PPM值需要两个重要参数:实际频率和额定频率。实际频率是通过测量晶振输出的信号频率得到的。额定频率是晶振器制造商提供的标准频率,一般以兆赫兹(MHz)为单位。
晶振频偏计算公式如下:

常见MHz晶振精度PPM值一般为±10PPM;±20PPM;±30PPM
针对于RTC时钟晶振32.768KHz的频率精度, 则另有算法,32.768KHz晶振计时公式如下:
举例:若晶振32.768KHz精度为±10PPM,一天时间误差计算公式如下:
10(PPM)×24(1天=24小时)×60(1小时=60分钟)×60(1分钟=60秒)=864000*1/1000000=0.864秒
即:该RTC晶振每天的时间误差不超过0.864秒,即:若为 10PPM,每天最多快0.864秒,若为-10PPM,每天最多慢0.864秒。
±10PPM:频差为:32768.32768Hz~32767.67232Hz,每天时间误差为0.864×1=0.864秒,月误差25.92秒,一年时间总偏差为5.184分钟。
±20PPM:频差为:32768.65536Hz~32767.34464Hz,每天时间误差为0.864×2=1.728秒,月误差51.84秒,一年时间总偏差为10.368分钟。
±30PPM:频差为:32768.98304Hz~32767.01696Hz,每天时间误差为0.864×3=2.592秒,月误差77.76秒,一年时间总偏差为15.552分钟。
对于低功耗蓝牙BLE这种总偏差要求小于±40PPM的应用,初始偏差占大头,后续设计得留足余量。
预算宽裕就上±10PPM的高精度晶振,误差小,稳定性强;若成本敏感,±20PPM是主流选择,性价比高,但得靠电路设计补短板。
晶振调整频差及温度频差的区别
1、晶振调整频差指的是晶振在常温(25℃±2℃)下,输出的理想频率精度,包括在振荡电路最佳匹配状态及没有受到电磁干扰等状态下。
2、晶振温度频差指的是在给定的工作温度区间,晶振工作时输出的频率范围。
3、晶振的工作温度一般分为三个区间: -20℃~ 70℃; -40℃~ 85℃;-55℃~ 105℃。晶振超出指定温度区间工作,会存在频偏超差或不起振风险。关于温度对晶振实际工作时输出频率的影响,请点击下面标签查阅本网站相关文章。
当然不同规格书,对于温度影响表示方法不同,上图中是直接给出对应温度范围内的频率偏差(注意上图中红框内已经包含了晶振制造的初始生产偏差),有些规格书会给出温度每变化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,价格贵点但值回这个价。
温补晶振(TCXO)全称温度补偿式石英晶振, 一般频率有几MHZ到200MHZ比较常见比较常见,频率误差可以做到2PPM,1PPM,0.5PPM,甚至更低,这种就对频率精准率要求非常严格。
老化偏差:时间磨出的“慢性病”
晶振用久了,内部晶体结构会微调,频率随之漂移。规格书中以第一年老化率Aging Rate标示,如±3PPM/年,后续逐年递减。

比如RTC 32.768kHz晶振,首年老化±3PPM:
频率偏移=32768Hz×3÷1000000=0.0983Hz
时间偏差=0.0983×86400÷32768≈0.26秒/天
一年累积=0.26×365≈95秒
短期看老化影响小,但长寿命设备如工业仪表得算好累积效应。
规格书中的总偏差是三者叠加。例如:
生产偏差:±20PPM
温度偏差:±20PPM
第一年老化:±3PPM
总偏差:±43PPM
以32.768kHz为例计算总影响:
频率偏移=32768Hz×43÷1000000≈1.41Hz
时间偏差=1.41×86400÷32768≈3.71秒/天
对于BLE的±40PPM红线要求,43PPM超标,通信可能不稳,RTC场景下,3.71秒/天还能凑合,但得看用户能不能接受。
串口通信的影响

串口通讯由起始位、数据位、校验位、停止位组成。以常见的8N1为例,即1位起始位,8位数据位,无校验,1位停止位。也就是说传输一个字节需要10bits。每一个字节都有一个起始位做同步,所以误差只会在一个字节内累计。
不难看出,在最后一个位采样时,误差最大,允许极限误差为0.5位。按照每个字节10位计算,最大允许误差为±0.5/10=±0.05,即±5%。考虑到串口通讯涉及收发两端,两端都可能存在误差,所以,每端的误差最好控制在±2.5%以内。
当数据位、校验位等较多时,要求的时钟误差就更高一些。考虑到上面所说的分频误差,一般来说,当时钟误差小于±2%时,串口通信是比较可靠的。
暂无评论