有没有办法降低rtc的误差啊?
机器不联网的没法授时,有没有别的办法啊- 上温补晶振,并进行校准,减小误差。
- 添加按键,让用户自己经常调调。
RTC的晶振精度本身就是个问题,换个更精准的晶振可能会有改善。 STM32的RTC寄存器里有个校准寄存器,可以试着通过这个来微调时钟误差。 RTC的误差和晶振精度关系很大,换个更精准的晶振可能是个好办法,特别是温补晶振(TCXO)效果会更好。 如果你的RTC芯片支持,可以考虑使用温度补偿功能,很多RTC芯片都有这个特性,能显著降低温度漂移带来的误差。 RTC本身也可以做软件补偿,比如定期检测RTC的偏差,使用软件校准来修正时间误差。 试试在代码里启用RTC的校准寄存器(RTC_CALR),STM32的RTC模块支持每秒加快或减慢时钟脉冲来调整时间。 如果RTC的误差是因为供电不稳定,可以考虑在RTC电源部分加个滤波电容,稳定电压有时能明显改善时钟稳定性。 如果是温度波动引起的误差,可以加个温度传感器,结合软件算法动态补偿,这种方法效果不错。 有些RTC芯片有内置的晶振老化补偿功能,检查一下你的RTC芯片手册,看看是否支持类似的功能。 定期让用户手动调整一下时间也是个办法,结合外部参考,比如收音机时间信号或手动对时。 如果允许的话,可以增加GPS模块,每隔一段时间校准一次RTC,这种方式误差会小很多。 你也可以考虑用更精准的时钟芯片,比如DS3231这种带温度补偿的RTC,精度高且误差极小。 不联网还不能定时的校时的话,那你就用高精度的RTC呗
我觉得这种没啥问题,你定期校时一下不就好了吗
一般来说,可以用8025或者高端一些的RTC能好一些
其实只要是想用RTC芯片还不给校时,那基本都会飘
一般可以用温补晶振,但是也没啥太大用的
我理解就是还得用校时的方法才行
页:
[1]