stm32g0b1RTC时钟不准
用的是stm32g0b1的内部RTC,在外部电源供电时,时间不准确,当断开电源后,用内部电池时间准确;现在的产品是一个电源,怀疑是有干扰, 除了去改善硬件, 在MCU端如何处理? 大家是否有遇到这种情况?现在的产品是一个电源,怀疑是有干扰 应该问题就出在电源不稳定上了,换一个LDO呢?内部时钟一般本省就有误差 使用的什么电源?干扰这么大能干扰RTC? 你说的情况可能是外部电源的噪声干扰导致RTC时钟不准,试着在电源线加上一些滤波电容,看看能否改善。 有可能是RTC时钟源的稳定性问题,检查一下外部晶体的质量和连接是否稳定,噪声干扰会影响晶体的精度。 你可以尝试启用MCU内部的时钟校准机制,比如通过配置RTC的内部校准寄存器来改善时钟精度。 另一种方法是通过软件定期校准RTC时间,可以通过获取系统时钟与RTC时间的差异,然后调整RTC时钟来修正误差。 另外,STM32G0B1的RTC支持通过外部32.768kHz晶体来获取准确的时钟,如果这个部分的干扰比较大,可能需要做一些硬件屏蔽。 有时电源不稳定的情况下,给RTC添加一个滤波电路(比如LC滤波器)可以有效降低噪声,帮助提高时钟精度。 如果怀疑是干扰,可以通过在软件中做一些噪声检测,比如监控电源电压或电流的波动,从而判断是否是外部干扰导致的。 如果断开电源后RTC能保持准确,可能是电池电源部分更稳定,检查下电池电压是否在正常范围,确保它能正常供电。 如果外部电源有很多噪声,可以考虑使用低噪声的稳压芯片或电源滤波器,改善整体电源质量。 你也可以考虑增加硬件看门狗功能,监测RTC是否因为电源干扰出现偏差,并自动进行校正。
页:
[1]