• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

对于STM32L051的LSI RC(内部RTC晶振)不准

z986438343 2017-08-16 浏览量:4889

对于STM32L051的LSI RC(内部RTC晶振)不准,如何保证输出一个比较可靠的时间?

做一个终端,上报数据到平台,平台会下发时间数据下来可以进行校正终端MCU的时间,但是当终端没上报数据到平台比方说12小时没数据到平台,12小时后再上报数据,那么这一包数据就跟平台的时间差了比较多,会有1个小时的误差,这样是不允许的,有没什么办法能让输出的时间比较准确一些呢?目前硬件已定,不能采用外部晶振了,还有哪些办法可以让输出的时间准确一些呢?

0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 我记得RTC有一个校准寄存器的(不知道我有没有记错),让其输出一个脉冲信号,然后根据脉冲长度和实际时间做对比,把校准值写入校准寄存器。

    另外,可以自己手动校准,同上,出厂时设置校准值,然后隔一小段时间,把校准值参考如RTC中。

    可以参考这个官方文档:

    http://www.st.com/content/ccc/resource/technical/document/application_note/7a/9c/de/da/84/e7/47/8a/DM00025071.pdf/files/DM00025071.pdf/jcr:content/translations/zh.DM00025071.pdf​

    • 发布于 2017-08-16
    • 举报
    • 评论 1
    • 1
    • 0
z986438343 回复了 赤心木zqw:好像连接不能用啊,能再给一个吗?谢谢 回复

其他答案 数量:8
  • 59{%$LHAYF@3$D6DA4S2HQJ.png内部时钟就是不准的。

    如果任务不重的话,可以开一个定时器替代

    • 发布于2017-08-16
    • 举报
    • 评论 0
    • 1
    • 0

  • STM32F1、L1、L0、F0系列的时钟都是不太准的,这考虑到很多方面的因素,如MCU接的晶振质量、晶振的旁路电容质量等。如果要获得比较精准的走时,建议使用外接的RTC芯片如DS3231,淘宝报价6块钱,年误差40秒。

    5.JPG

    • 发布于2017-08-16
    • 举报
    • 评论 0
    • 1
    • 0

  • 虽然说内部rtc可能不准,但你这个也差的太多了,应该是程序有问题,不如你把程序贴上来看看
    • 发布于2017-08-16
    • 举报
    • 评论 0
    • 0
    • 0

  • 12小時誤差約1小時差不多(內部RC Oscillator約10%誤差)

    如果只是時間計時問題,強烈建議直接使用RTC就可

    以上

    • 发布于2017-08-16
    • 举报
    • 评论 0
    • 0
    • 0

  • 如果你要精准的时间,

    一般都是外接时钟芯片的。

    • 发布于2017-08-17
    • 举报
    • 评论 0
    • 0
    • 0

  • 外接个时钟芯片
    • 发布于2017-08-18
    • 举报
    • 评论 0
    • 0
    • 0

  • 这就是为什么好多板子都是外接晶振的原因,因为自带的不准
    • 发布于2017-10-29
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

对于STM32L051的LSI RC(内部RTC晶振)不准