0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

RTC时钟偶发性延时或超时该怎么办?

ZLG致远电子 2024-12-18 11:37 次阅读

导读

嵌入式系统运行时,RTC 时钟受多种因素干扰致延时或超时,影响系统时间同步与功能稳定。本文将提出从硬件适配到软件算法优化的综合性方案,以解决此问题,保障 RTC 时钟的精确性与可靠性。

引起延时和超时的主要原因是计时系统使用的基准频率32.768Khz精度不够。MCU片内自带的RTC功能电路由于受到芯片集成工艺的影响一般计量精度都比较差而且功耗也比较大,一般在对时钟精度要求比较高的情况下建议直接使用外部RTC专用时钟芯片,比如PCF8563/PCF85063,下表列出了不同RTC芯片的时钟精度。

60eae2dc-bcf1-11ef-8084-92fbcf53809c.jpg

图1 不同RTC芯片的时钟精度

在选择高精度的RTC时钟芯片后,还需注意32.768Khz晶振的匹配电容选型是否符合晶振设计手册的要求。

610a52a2-bcf1-11ef-8084-92fbcf53809c.jpg

图2 晶振的匹配电容负载电容CL 的计算公式:

6116eaf8-bcf1-11ef-8084-92fbcf53809c.png

其中:CL1、CL2 :晶振匹配电容;Cstray:电路板杂散电容

612f1024-bcf1-11ef-8084-92fbcf53809c.png

图3 晶体的连接方式及器件参数

代入数值:CL =[(15*15)/(15+15)]+5=12.5pF以上是通过硬件电路设计的优化来提高时钟精度,但由于生产工艺、芯片差异等其它不可控因素的存在,实际的时钟精度会存在一定偏差,在时钟频偏稳定的情况下还可以通过软件方式进一步对时钟精度进行补偿,即通过设置RTC内部的补偿寄存器来补偿时间。补偿寄存器的基本原理是通过增加或者减少时钟的修正脉冲来补偿时间而不是改变晶振的频率,如图4所示,补偿寄存器的bit7设置补偿的模式,bit[6:0]设置补偿的值。

614f5a14-bcf1-11ef-8084-92fbcf53809c.jpg

图4 补偿寄存器描述

1. 补偿值计算方法

计算流程如图5所示。

61742934-bcf1-11ef-8084-92fbcf53809c.png

图5 补偿值计算方法一

  1. 先用频率计或者高精度的示波器测量PCF8563芯片pin7脚CLKOUT的频率Fmeas(软件要先设置pin7输出才可测到波形);
  2. 转化成时间tmeas;
  3. 计算和理想时钟32.768KHz周期的偏差Dmeas;
  4. 根据测量值计算ppm的偏移量;
  5. 根据设置模式计算补偿寄存器的值,如图中32768.48Hz计算得到的ppm偏移量是14.648ppm,如果是模式0,则算出来的补偿值为3.375,四舍五入取值3。

根据补偿计算方式的算式整合简化,若测得实际频率F实测值,ppm的偏移量Eppm可以用以下公式快速计算:

618bb266-bcf1-11ef-8084-92fbcf53809c.png

如上补偿校准计算框架图32768.48Hz算出来的值也是14.648。由此可见,若F实测值≥32768Hz,则算出的补偿值≥0;若F实测值<32768Hz,则算出的补偿值<0。

2. 补偿值计算方法二

61928870-bcf1-11ef-8084-92fbcf53809c.png

图6 补偿值计算方法二

如图6所示,±20ppm的晶振频率每1 ppm的偏差会导致每天偏差0.0864 s。在没有测试条件测频率的情况下,可以先测试24h下的时间偏差,时间走的快补偿正值,时间走的慢补偿负值,比如某个RTC 24小时下测得比北京时间快7s,那么先算出ppm的偏移量Eppm = 7/0.0864 = 81.0185 ppm,然后算出模式0下补偿寄存器的值为81.0185/4.34 = 18.67,取值19;算出模式1下补偿寄存器的值为81.0185/4.069 = 19.9119.91,取值20。再比如某个RTC 24小时下测得比北京时间慢7s,那么先算出ppm的偏移量Eppm = 7/0.0864 = 81.0185 ppm,然后算出模式0下补偿寄存器的值为81.0185/4.34 = 18.67,取值-19;算出模式1下补偿寄存器的值为81.0185/4.069 = 19.91,取值-20。

注意:0.0864 s的计算方式为:ppm的单位是百万分之一,20ppm一天的偏差描述为(24小时*60分*60秒*20)/106 = 1.728s,所以1ppm一天的偏差时间为1.728s/20=0.0864 s。其他精度的晶振也可以用此类方式推算。

如果产品对RTC精度要求较高,使用常规RTC通过以上校准/补偿仍达不到产品要求,就需要考虑选用高精度的RTC芯片,如RX8025T。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    146

    文章

    17123

    浏览量

    350995
  • 时钟
    +关注

    关注

    10

    文章

    1733

    浏览量

    131451
  • RTC
    RTC
    +关注

    关注

    2

    文章

    538

    浏览量

    66468
收藏 人收藏

    评论

    相关推荐

    RTC时钟偶发性延时和超前现象解决方案

    在非常温的工作环境下,RTC时钟出现偶发性延时或超时现象,成熟的RTC电路设计看似简单,但如
    的头像 发表于 11-21 14:57 1w次阅读
    <b class='flag-5'>RTC</b><b class='flag-5'>时钟</b><b class='flag-5'>偶发性</b><b class='flag-5'>延时</b>和超前现象解决方案

    如何用大数据分析来解决偶发性异常问题?

    在研发、生产过程中,如何发现和解决偶发性异常问题,是电子工程师始终想攻克的威廉希尔官方网站 点,利用互联网思维,将大数据分析引入传统测量仪器,是否能碰撞出新的火花?
    的头像 发表于 03-01 14:44 3518次阅读

    CYT2B97低功耗模式下RTC唤醒偶发性失败的原因?

    , CY_RTC_ALARM_1)!= CY_RET_SUCCESS); 2.设置进入DSM Cy_SysPm_DeepSleep(CY_SYSPM_WAIT_FOR_INTERRUPT); MCU进入DSM后,等待设置的唤醒时间,但是出现偶发性(概率比较低),到达时间后
    发表于 02-02 07:20

    嵌入式设备在远端运行,会有偶发性代码跑飞的情况,无法到现场调试的情况下如何检查出问题?

    (没什么积分希望大家一起讨论一下) 现状:目前设备在远端运行,会有偶发性代码跑飞的情况 ,无法到现场调试的情况下如何检查出问题? 解决:在设备端增加日志报告上传(通过4G模块)机制,希望可以通过日志
    发表于 07-22 15:05

    AD9129偶发性底噪过高,请问怎么解决?

    你好,我在使用AD9129中发现,AD9129输出会出现偶发性底噪过高,原因不明,出现几率大约1/10,即对AD9129按照芯片手册推荐的初始化序列进行配置后,有几率会出现底噪过高,主信号还是有的
    发表于 08-13 09:28

    分享下一些嵌入式隐形问题或偶发性问题的定位思路

    偶发性问题的定位思路。 一、有线类 第一步,查看总线硬件特性。顾名思义,有线类产品分为uart、spi、i2c、sdio、u***等等,如果出现问题,由...
    发表于 08-06 08:00

    如果STM32 RTC实时时钟要获取到毫秒级的时钟怎么办

    STM32的实时时钟RTC是什么?如果STM32 RTC实时时钟要获取到毫秒级的时钟怎么办
    发表于 11-22 06:08

    为什么ESP32对接腾讯云ASR平台会出现偶发性的签名错误问题呢

    为什么ESP32对接腾讯云ASR平台会出现偶发性的签名错误问题呢?怎样去解决这个问题?
    发表于 12-23 09:24

    交换机芯片KSZ9896偶发性死机

    有谁用过microchip的交换机芯片KSZ9896吗?现在遇到有的板子交换机芯片偶发性死机,用到的5个PHY网口灯都灭了。附件是电路图。已经检查过晶振、电源,没发现明显问题。有用过的能提供点思路吗?
    发表于 06-11 09:57

    原子的P100下载器经常偶发性出现下载失败如何解决?

    原子的P100下载器经常偶发性出现下载失败在同一个板子上死活刷不进去能刷进去就刷进去了 而且这个问题很有意思 看提示 目标芯片连接成功 解除读保护成功 然后就开始失败
    发表于 09-28 08:06

    AD9129偶发性底噪过高怎么解决?

    你好,我在使用AD9129中发现,AD9129输出会出现偶发性底噪过高,原因不明,出现几率大约1/10,即对AD9129按照芯片手册推荐的初始化序列进行配置后,有几率会出现底噪过高,主信号还是有的
    发表于 12-12 08:33

    分享一个案例告诉你如何保证RTC时钟的精确度

    在非常温的工作环境下,RTC时钟出现偶发性延时或超时现象,成熟的RTC电路设计看似简单,但如
    发表于 11-29 12:09 7499次阅读

    RTC时钟偶发性延时或超时怎么办

    在非常温的工作环境下,RTC时钟出现偶发性延时或超时现象。成熟的RTC电路设计看似简单,但如
    发表于 02-11 10:52 0次下载
    <b class='flag-5'>RTC</b><b class='flag-5'>时钟</b><b class='flag-5'>偶发性</b><b class='flag-5'>延时或</b><b class='flag-5'>超时</b><b class='flag-5'>该</b><b class='flag-5'>怎么办</b>?

    2013 款路虎神行者 2 车偶发性无法起动

    2013款路虎神行者2车偶发性无法起动蔡永福故障现象故障诊断故障排除一辆2013款路虎神行者2车,搭载2.0LSi4Petrol发动机,累计行驶里程约为4.5万km。车主反映,车辆偶发性无法起动
    的头像 发表于 06-06 10:00 376次阅读
    2013 款路虎神行者 2 车<b class='flag-5'>偶发性</b>无法起动

    盛显科技:投影融合处理器连接出现超时怎么办?

    了连接尝试的失败。这样的情形无疑会给我们的使用带来诸多不便与困扰。那么您知道投影融合处理器连接出现超时怎么办吗?下面盛显科技小编为您介绍: 投影融合处理器连接出现超时,可采取以下处
    的头像 发表于 11-06 10:58 165次阅读
    盛显科技:投影融合处理器连接出现<b class='flag-5'>超时</b>,<b class='flag-5'>该</b><b class='flag-5'>怎么办</b>?