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

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

3天内不再提示

单片机定时器中的实时时钟(RTC)注意事项

姚小熊27 来源:英锐恩 作者:英锐恩 2020-06-29 09:28 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

实时时钟(RTC)是专用于维持一秒时基的计时器。此外,RTC通常用于在软件或硬件中跟踪时钟时间和日历日期。RTC的许多功能是非常专业的,是维持高精度和非常可靠的操作所必需的。单片机外部有RTC设备,可与I2C或SPI总线接口。

一、实时时钟概述

实时时钟的基本功能是产生一秒的间隔并保持连续计数。如下图所示,该时序图描述了RTC的基本功能。

单片机定时器中的实时时钟(RTC)注意事项

还显示了程序功能A,该功能读取秒计数器并安排事件B在未来三秒发生。此操作称为警报。请注意,秒计数器连续运行,并且不会停止和启动。对于RTC有两个主要要求,分别是准确性和连续运行。下图为RTC的常见硬件功能:

单片机定时器中的实时时钟(RTC)注意事项

RTC通常具有自己的内部振荡器和外部晶体,并可以选择使用外部频率基准。所有时钟源均以32768Hz运行。外部时钟源允许使用非常精确和稳定的设备,例如TCXO(温度补偿晶体振荡器)。

使用多路复用器选择时钟源,并将其输入到预分频器中,该预分频器将时钟分频为32768(215),以产生一秒的时钟。

基本上RTC都具有秒计数器,通常为32位或更多。一些RTC具有专门的计数器来跟踪一天中的时间和日历日期。

没有时间和日期计数器的基本RTC为此目的使用软件。常见的选择是来自输出引脚的1Hz方波。RTC将具有多个可能的事件来生成处理器中断。

RTC通常具有专用的电源引脚,以允许在单片机的其余部分掉电时进行操作。该电源引脚通常连接到电池或单独的电源。

二、RTC精度和频率补偿

RTC的精度取决于32,768Hz时钟源。在设计良好的晶体振荡器中,误差的主要来源是晶体。外部TCXO可用于高度精确的定时,或者特殊的频率补偿技术可用于较便宜的晶体和内部振荡器。晶体误差的三个主要来源:

1.初始电路和晶体容差。

2.晶体随温度漂移。

3.晶体老化。

下图为一些与RTC精度有关的概念:

单片机定时器中的实时时钟(RTC)注意事项

该图上的深蓝色迹线显示了典型的初始公差以及随温度的变化。粉色轨迹仅显示温度误差。补偿温度的关键在于,晶体的行为是众所周知的,并可以通过二次方程式进行预测。如果在制造电路板并且已知温度之后测量初始误差,则可以补偿最大的误差源。

经过仔细补偿后,黄色面积是准确度的合理目标。请记住,一年中1 ppm大约需要30秒。晶体老化难以弥补。幸运的是,老化通常每年只有几ppm。

三、如何更改RTC时间

目前,有两种方法可以更改RTC的时序,作为系统的一部分以补偿错误。如前面所讲的,在秒计数器的每个周期内,可得到预分频器所计数的振荡器周期数。

前两秒是通常的32768个周期。该软件使用温度读数和初始误差来确定振荡器正在快速运行,并且32768个周期实际上为0.99990秒。为了补偿这个小误差,该软件会告诉RTC每四秒钟将预分频器的模数更改为32781,以增加一些时间。 下图为预分频器计数的振荡器周期:

单片机定时器中的实时时钟(RTC)注意事项

此技术的优势在于,从第二秒到第二秒的时间间隔变化很小。但是,该技术需要一个可调节的预分频器和其他寄存器来保存特殊的预分频计数和特殊计数应用之间的秒数。

如果RTC没有特殊的预分频器来调整时序怎么办?下图为另一种方法,该方法没有预分频器:

单片机定时器中的实时时钟(RTC)注意事项

在这种情况下,框中的数字是秒计数器。显示的计数是100251,后跟100252。软件一直在连续计算调整并跟踪RTC秒计数。当错误累积到精确的一秒时,软件会增加或减少一秒以调整累积的错误。

该技术的缺点是,在进行调整时,从秒到秒的变化很大。该技术具有与任何RTC兼容的优势。

四、 实时时钟的安全性

安全性是一个有趣的要求。在某些应用程序中,时间用于为客户计费以使用服务或消耗资源。关于防止或检测RTC的黑客攻击,有广泛的实践体系。技术的范围从外壳的入侵检测到单片机的特殊功能。

如果单片机上的RTC具有特殊的寄存器,可以允许软件永久锁定关键寄存器。一旦锁定,就无法更改它们,并且可以防止它们被黑客入侵或失控。需要注意的是,更改时间需要完全复位单片机。

五、时间和日期

一些RTC具有硬件计数器,可以维护一天中的时间和日历日期。这需要分钟、小时、天、月、年的计数器,并考虑润年。时间和日历日期也可以通过软件保存。

一个突出的例子是time.h文件中C标准库中的函数。对于微控制器,该系统可以基于RTC的秒计数器。必须编写四个小的自定义函数以完全支持time.h库。

此处感兴趣的一个函数由库中的time()函数调用,该函数以从称为“纪元”的起点开始的秒数返回时间,通常是1970年1月1日。通常,要读取的自定义函数硬件计时器名为get_time()或类似的变体。get_time()所做的所有操作都会读取秒计数器并返回该值。图书馆会做剩下的事情,以秒为单位将此时间转换为当前日期和日期。

以上就是单片机开发工程师分享的单片机定时器中的实时时钟(RTC)。

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

    关注

    4

    文章

    325

    浏览量

    68002
  • RTC
    RTC
    +关注

    关注

    2

    文章

    639

    浏览量

    71025
  • 单片机定时器

    关注

    1

    文章

    12

    浏览量

    11786
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    芯伯乐PCF8563:0.25µA低功耗实时时钟解决方案

    ,广泛应用于便携设备、智能电表、物联网终端等场景。一产品概述PCF8563是一款CMOS实时时钟/日历芯片,内置32.768kHz晶体振荡,具备时钟输出、定时器、报警
    的头像 发表于 11-28 18:34 134次阅读
    芯伯乐PCF8563:0.25µA低功耗<b class='flag-5'>实时时钟</b>解决方案

    单片机定时器中断

    51单片机内部共有两个16位可编程的定时器/计数,即定时器T0和定时器T1。它们既有定时功能又
    发表于 11-24 06:22

    PWM、定时器、SysTick 区别及应用场景

    单片机和嵌入式开发,经常会遇到PWM(脉宽调制)、定时器、SysTick(系统滴答定时器)这几个词。很多初学者容易把它们混为一谈,以为都是“定时
    的头像 发表于 11-17 10:53 238次阅读
    PWM、<b class='flag-5'>定时器</b>、SysTick 区别及应用场景

    ST M41T66Q6F 低功耗串行实时时钟RTC)内置32.768 kHz振荡参数特性 EDA模型与数据手册

    ST M41T66Q6F 低功耗串行实时时钟RTC)内置32.768 kHz振荡参数特性 EDA模型与数据手册
    的头像 发表于 06-16 17:39 945次阅读
    ST M41T66Q6F 低功耗串行<b class='flag-5'>实时时钟</b>(<b class='flag-5'>RTC</b>)内置32.768 kHz振荡<b class='flag-5'>器</b>参数特性 EDA模型与数据手册

    智多晶PLL使用注意事项

    在FPGA设计,PLL(锁相环)模块作为核心时钟管理单元,通过灵活的倍频、分频和相位调整功能,为系统提供多路高精度时钟信号。它不仅解决了时序同步问题,还能有效消除时钟偏移,提升系统稳
    的头像 发表于 06-13 16:37 1271次阅读
    智多晶PLL使用<b class='flag-5'>注意事项</b>

    “耐高温!”RTC时钟芯片+电池的应用案例(二)

    实时时钟,简称RTC,是广泛应用于电子产品的重要元器件。爱普生RTC实时时钟具有高精度、高稳定性和多功能等特点,广泛应用于多个行业。RTC
    的头像 发表于 06-04 17:35 1352次阅读
    “耐高温!”<b class='flag-5'>RTC</b><b class='flag-5'>时钟</b>芯片+电池的应用案例(二)

    锥齿轮减速的使用安装和维护维修注意事项

    锥齿轮减速的使用、安装和维护维修注意事项涵盖了多个方面,以下是对这些注意事项的详细归纳: 一、使用注意事项 1. 确认规格与设计相符:在使用减速
    的头像 发表于 04-21 18:13 958次阅读
    锥齿轮减速<b class='flag-5'>机</b>的使用安装和维护维修<b class='flag-5'>注意事项</b>

    瑞萨RA8D1单片机RTC模块实现方法

    以前做项目要用时钟,都是外挂一个时钟芯片,随着需求的增长和技术的发展,很多MCU内部都集成了RTC(实时时钟)这个模块。
    的头像 发表于 04-16 14:08 1503次阅读
    瑞萨RA8D1<b class='flag-5'>单片机</b><b class='flag-5'>RTC</b>模块实现方法

    RA4000CE爱普生RTC实时时钟模块:车载BMS系统的理想选择

    的数字温度补偿晶体振荡(DTCXO)可在不同温度环境下提供稳定时钟频率,广泛应用于精确计时场景。RA4000CE是爱普生RTC模块的一款型号,专为汽车应用设计的高精度
    的头像 发表于 03-12 17:16 1053次阅读

    DS1511系列看门狗实时时钟技术手册

    DS1501/DS1511为完备的、2000年兼容的、实时时钟/日历(RTC),具有RTC报警、看门狗定时器、上电复位、电池监控、256字节非易失(NV) SRAM以及一个32.768
    的头像 发表于 02-26 16:38 800次阅读
    DS1511系列看门狗<b class='flag-5'>实时时钟</b>技术手册

    DS1501系列看门狗实时时钟技术手册

    DS1501/DS1511为完备的、2000年兼容的、实时时钟/日历(RTC),具有RTC报警、看门狗定时器、上电复位、电池监控、256字节非易失(NV) SRAM以及一个32.768
    的头像 发表于 02-26 16:23 756次阅读
    DS1501系列看门狗<b class='flag-5'>实时时钟</b>技术手册

    CKS32F107系列RTC实时时钟外设的硬件结构和工作原理

    RTC外设(Real Time Clock)实质是一个掉电后还继续运行的定时器。从定时器的角度,相对于通用定时器Timer外设,它十分简单,只有很纯粹的计时和触发中断的功能,但具备掉电
    的头像 发表于 02-18 16:54 1184次阅读
    CKS32F107系列<b class='flag-5'>RTC</b><b class='flag-5'>实时时钟</b>外设的硬件结构和工作原理

    GD32单片机GPIO结构及注意事项

    电子发烧友网站提供《GD32单片机GPIO结构及注意事项.pdf》资料免费下载
    发表于 02-07 17:27 3次下载
    GD32<b class='flag-5'>单片机</b>GPIO结构及<b class='flag-5'>注意事项</b>

    Abracon推出内置XO实时时钟

    Abracon近期推出内置XO实时时钟(RTC)是现代电子系统的核心组件,专为追求极低功耗与高精度时间记录的应用而设计。 与传统基于外部晶体的RTC不同,Abracon的内置XO
    的头像 发表于 02-06 11:20 1276次阅读

    RTC时钟芯片+电池的应用案例(一)

    实时时钟,简称RTC,是广泛应用于电子产品的重要元器件。爱普生RTC实时时钟具有高精度、高稳定性和多功能的特点,目前广泛应用于多个行业。下面通过几个视频来详细了解一下爱普生
    的头像 发表于 01-08 11:25 2419次阅读
    <b class='flag-5'>RTC</b><b class='flag-5'>时钟</b>芯片+电池的应用案例(一)