在手表、智能穿戴、MCU、智能家居、工业控制器、汽车电子、物联网设备应用中,都可以看到32.768kHz RTC晶体的身影。32.768kHz为什么比较容易受到干扰?主要与与RTC振荡器的低功耗、低驱动能力、高阻抗以及小信号特性有关。
为什么RTC晶体使用32.768kHz?
32768=2^15
32.768kHz → ÷2 → ÷2 → …… → 1Hz
15级二进制分频就可以得到1Hz。1Hz正好适合秒计时、分钟、小时、日期、定时唤醒。为了降低待机功耗,RTC振荡器通常不会使用很强的驱动。低功耗 → 低驱动 → 较小的振荡信号 → 对外部噪声更加敏感。
高速数字信号会干扰32.768kHz吗?
会。例如,一个100MHz的数字信号,其快速上升沿和下降沿会产生大量高频谐波。32.768kHz RTC晶体也可能受到附近高速数字电路产生的电场、磁场、电源噪声、地弹噪声的影响。
最常见的干扰为电容耦合。假设RTC_XIN / RTC_XOUT旁边有一条高速数字信号线。两者之间天然存在寄生电容。当高速信号快速变化时:高速信号 → 寄生电容 → RTC振荡节点 → 产生干扰。
RTC晶体受到干扰会有什么表现?
RTC时间变快或变慢:假设实际86400秒,RTC却可能累计出86400.5秒或者86399.8秒。长期下来就会出现时间误差。
频率发生短期变化:外部噪声可能使RTC振荡器瞬时工作点发生变化。
RTC抖动增加:对于普通时间显示可能影响不明显,但对于需要精确计时的系统需要特别关注抖动。
偶发停振:如果RTC振荡器本身的起振裕量就比较小,再加上低温、低电压、高ESR晶体、PCB噪声,可能导致振荡器停振。
唤醒功能异常:低功耗MCU通常用RTC晶体进行:休眠 → RTC计时 → 唤醒。如果RTC时钟异常,就可能影响定时唤醒、低功耗计时、周期采样、无线设备睡眠周期。
为什么RTC晶体不能像普通晶振一样随便放?
32.768kHz晶体通常建议尽量靠近MCU的RTC/OSC引脚。这样可以减少PCB寄生电容、减少寄生电感、减少干扰耦合、提高起振稳定性、减少PCB批次差异。另外,不要让RTC晶体走线长距离绕路。
RTC晶体为什么不建议使用过大的负载电容?
RTC振荡器通常是低功耗设计。如果外部负载过大:振荡器驱动负载增加 → 起振困难 → 起振时间增加 → 低温或低电压条件下稳定性下降 → 可能不起振。
RTC晶体的ESR为什么也很重要?
低频晶体的等效串联电阻ESR可能相对较高。而低功耗RTC振荡器的驱动能力又比较有限。晶体ESR过高 → 振荡器驱动能力不足 → 负阻裕量下降 → 起振困难。
为什么有时候RTC晶体在实验室正常,量产后却出现问题?
RTC振荡器对PCB和器件差异可能比较敏感。假设样机工作正常,到了量产时,可能因为以下问题出现RTC起振变慢或者偶发停振的情况:PCB板材批次变化、焊盘工艺变化、晶体批次变化、MCU批次变化、温度变化、电池电压下降等。
134