我最近开始进行嵌入式编程,目前负责基于LSE时钟的LSI Calibration,这在设备进入低功耗模式时非常有用。根据此参考手册:
我看不到任何用于LSI校准的寄存器,例如HSICAL,HSI14CAL ...
这是否意味着在将其用作RTC时钟之前无法实现LSI的校准?
谢谢。
答案 0 :(得分:2)
如果您要驱动LSI的RTC,则可以调整sync_prediv和async_prediv值,以使RTC以正确的速率滴答。您可以通过针对LSE(或HSI或HSE)测量LSI的实际速率来解决这些问题。该文档(尤其是第4节)可能会有所帮助: Calibrating STM32F0x1, STM32F0x2 and STM32F0x8 lines internal RC oscillators
如果您有LSE,为什么不只将其用于RTC并禁用LSI?在任何一种情况下,低功率模式下的功耗都将相似,并且如果您可以将LSE与“低驱动”功率一起使用,则LSE的功耗实际上将比LSI略低。
答案 1 :(得分:0)
您是正确的,LSI在这部分不可调整,并且如数据表中所述,典型频率为40 kHz,但可以在30至50 kHz之间,对于RTC而言,它不是一个很好的选择如果您需要任何准确性。
我想,如果您可以测量LSI和LSE时钟之间的差异,则可以在知道运行速度快还是慢的情况下补偿RTC中的时间偏移,但这将取决于温度。