RTC实时时钟

简介

RTC时钟是一个独立的定时器,可以在后备电源不掉电的情况下一直运行。在对应的软件配置下一般可以做时钟日历功能。

RTC模块和时钟配置系统(RCC_BDCR寄存器)是在后备区域,即使系统复位或者待机唤醒后RTC的设置和时间都维持不变。但是在系统复位后,会自动禁止访问后备寄存器和RTC,以防止对后备区域(BKP)的意外写操作。所以在设置时间之前,要取消备份区域(BKP)写保护。

RTC框图

灰色部分属于后备区域,在VDD掉电的情况下可在VBAT的驱动下继续工作 。这部分包括RTC的分频器,计数器以及闹钟控制器。

(1)APB1接口:用来和APB1总线连接,通过APB1总线可以访问RTC相关寄存器,对齐进行读写操作。

(2)RTC核心:由一组可编程计数器组成,分成两个模块。第一个模块是RTC的预分频模块,它可以编程产生一个1秒的RTC时间基准TR_CLK,RTC的预分频模块包括了一个20位的可编程分频器(预分频器)。如果在RTC_CR寄存器中设置了相应的允许位,则在每个TR_CLK周期中RTC产生一个中断(秒中断)。第二个模块是一个32位可编程计数器,可被初始化位当前系统的时间,一个32位计数器,按秒钟计算,可以记录的时间长达136年之久。

RTC还有一个闹钟寄存器RTC_ALR,用于产生闹钟,如果RTC中的可编程计数器与RTC_ALR寄存器中的可编程时间相等,且在RTC_CR控制寄存器中设置了相应允许位,比较匹配时将产生一个闹钟中断。

由于备份域的存在,所以 RTC 内核可以完全独立于 RTC APB1 接口。而软件是通过 APB1接口访问 RTC 的预分频值、计数器值和闹钟值的。但是相关可读寄存器只在 RTC APB1 时钟进行重新同步的 RTC 时钟的上升沿被更新, RTC 标志也是如此。这就意味着,如果 APB1 接口刚刚被开启之后,在第一次的内部寄存器更新之前,从 APB1 上读取的 RTC 寄存器值可能被破坏了(通常读到 0)。因此,若在读取 RTC 寄存器曾经被禁止的 RTC APB1 接口,软件首先必须等待 RTC_CRL 寄存器的 RSF 位(寄存器同步标志位, bit3)被硬件置 1。

RTC寄存器

相关推荐
eguid_12 天前
WebRTC流媒体传输协议RTP点到点传输协议介绍,WebRTC为什么使用RTP协议传输音视频流?
java·网络协议·音视频·webrtc·实时音视频
eguid_12 天前
WebRTC工作原理详细介绍、WebRTC信令交互过程和WebRTC流媒体传输协议介绍
java·音视频·webrtc·实时音视频
MCU_wb3 天前
RT Thread Studio创建软件和硬件RTC工程
实时音视频
NYFEA3 天前
RTC实时时钟DS1337S/PT7C4337WEX国产替代FRTC1337S
实时音视频
电鱼智能的电小鱼4 天前
eFish-SBC-RK3576工控板外部RTC测试操作指南
linux·嵌入式硬件·实时音视频
小咖自动剪辑9 天前
自动剪辑批量混剪视频过原创软件工具视频帧级处理技术实践批量截图解析
实时互动·音视频·语音识别·实时音视频·视频编解码
小咖自动剪辑11 天前
海外平台短剧批量混剪自动剪辑智能去重与多语言适配方案解析
音视频·语音识别·实时音视频·视频编解码
智联视频超融合平台12 天前
慧港口新纪元:视频监控联网平台赋能高效安全运营
网络·网络协议·音视频·实时音视频·视频编解码
平凡灵感码头13 天前
STM32 RTC配置
stm32·单片机·实时音视频
带电的小王16 天前
sherpa-ncnn:Linux(x86/ARM32/ARM64)构建sherpa-ncnn --语音转文本大模型
linux·语音识别·实时音视频·sherpa-ncnn