您当前的位置:首页 > 问答 > 内容

RTC时钟讲解 一

RTC时钟讲解 一

什么是RTCRTC(实时时钟):实时时钟

RTC是一个独立的定时器。RTC模块有一个连续计数的计数器,可以在相应的软件配置下提供时钟日历的功能。修改计数器的值可以重置当前时间和日期。RTC还包含一个自动唤醒单元,用于管理低功耗模式。

在断电的情况下,RTC仍然可以独立运行。只要芯片的备用电源一直供电,RTC上的时间就会一直运行。

RTC的本质是一个断电后继续运行的定时器。从定时器的角度来说,它的功能相对于一般的定时器TIM外设来说是非常简单的,只有定时的功能(也可以触发中断)。但它的先进点在于断电后仍能正常运行。

两个32位寄存器包含二进制十进制(BCD)格式的秒、分、小时(12或24小时制)、星期几、日期、月份和年份。此外,还可以提供二进制格式的亚秒值。系统可以自动将一个月的天数补偿到28、29(闰年),30,31天。

上电复位后,所有RTC寄存器都受到保护,以防止可能的异常写访问。

无论设备状态如何(运行模式、低功耗模式或复位状态),只要电源电压保持在工作范围内,RTC就不会停止工作。

RCT特点:可编程预分频系数:分频系数高达220。 32位可编程计数器,可用于长期测量。两个独立的时钟:用于APB1接口的PCLK1和RTC时钟(RTC时钟的频率必须小于PCLK1时钟频率的四分之一)。可以选择以下三种RTC时钟源: HSE时钟除以128; LSE振荡器时钟; LSI振荡器时钟

两种独立的复位类型: APB1接口由系统复位; RTC内核(预分频器、闹钟、计数器和分频器)只能通过备份域复位。

3个特殊的可屏蔽中断: 1。闹钟中断,用于产生软件可编程闹钟中断。

2.第二中断,用于产生可编程的周期性中断信号(最长1秒)。

3.溢出中断,表示内部可编程计数器溢出并变为0。

RTC时钟源:三种不同的时钟源可用于驱动系统时钟(SYSCLK):

HSI振荡器时钟 HSE振荡器时钟 PLL时钟

这些器件有以下两个辅助时钟源:

40kHz低速内部RC,可用于通过程序选择驱动独立的看门狗和RTC。RTC用于自动将系统从关机/待机模式中唤醒。通过程序选择,32.768kHz低速外部晶振也可用于驱动RTC(RTCCLK)。

RTC原理框图

RTC的框图相对简单。这里我们把它分成两部分:

APB1接口:用于连接APB1总线。该单元还包含一组16位寄存器,可通过APB1总线读写。APB1接口由APB1总线时钟驱动,用于连接APB1总线。

RTC的相关寄存器(预分频值、计数器值和报警值)可以通过APB1接口访问。

RTC核心接口:由一组可编程计数器组成,分为两个主要模块。

第一个模块是RTC的预分频器模块,可以通过编程产生1秒RTC时间参考TR_CLK。RTC的预分频器模块包含一个20位可编程分频器(RTC预分频器)。如果在RTC_CR寄存器中设置了相应的使能位,RTC会在每个TR_CLK周期产生一个中断(第二个中断)。

第二个模块是32位可编程计数器(RTC_CNT),可以初始化为当前系统时间。32位时钟计数器可以记录4294967296秒,大约136年。作为一般应用,这就足够了。

RTC的具体过程:RTCCLK通过RTC_DIV进行预分频,RTC_PRL设置预分频系数,然后得到TR_CLK时钟信号。一般情况下,我们将其周期设置为1s,RTC_CNT计数器进行计数。如果将1970设置为0s,则可以通过当前时间的秒来计算当前时间。RTC_ALR是设置闹钟的时间。当RTC_CNT计数到RTC_ALR时,将产生计数中断。

RTC_Second是第二个中断,用于刷新时间,RTC_Overflow是溢出中断。当RTC报警控制RTC时钟的启动和关闭时,使用HSE分频时钟或LSI。当主电源VDD断电时,这两个时钟源都会受到影响,无法保证RTC的正常工作。因此,RTC一般采用低速外部时钟LSE,频率为实时时钟模块常用的32.768KHz。因为32768=2 ^ 15,分频容易实现。因此,它被广泛应用于RTC模块中。(当主电源VDD可用(待机)时,RTC还可以配置报警事件,使STM32退出待机模式。) 。

RTC复位过程除了RTC_PRL、RTC_ALR、RTC_CNT和RTC_DIV寄存器,所有系统寄存器都通过系统复位或电源复位异步复位。RTC_PRL、RTC_ALR、RTC_CNT和RTC_DIV寄存器只能通过备份域复位信号复位。

系统复位后,禁止访问备份寄存器和RCT,防止意外写入保护区(BKP)

读取RTC寄存器RTC内核完全独立于APB1接口,软件通过APB1接口访问RTC相关寄存器。然而,相关寄存器仅在RTC APB1时钟重新同步的RTC时钟上升沿更新。因此,软件在读取寄存器同步标志位(RTC_CRL的RSF位)之前,必须等待硬件置1。

配置寄存器必须设置RTC_CRL寄存器中的CNF位,以便RTC可以在写入RTC_PRL、RTC_CNT和RTC_ALR寄存器之前进入配置模式。

此外,RTC的任何寄存器都必须在前一次写操作之后写入。通过查询RTC_CR寄存器中的RTOFF状态位,可以判断RTC寄存器是否正在更新。仅当RTOFF状态位为1'可以写入RTC寄存器。审计福冈江

标签:RTC时钟器


声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,谢谢。

上一篇: redminote4x详细参数(红米note4x尺寸是多少)

下一篇: 免费无线路由器(无线路由器怎么安装 免费的上网的那种)



猜你感兴趣

推荐阅读

网站内容来自网络,如有侵权请联系我们,立即删除! | 软文发布 | 粤ICP备2021106084号