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寄存器

相关推荐
海水冷却4 天前
2026年实时音视频服务计费模式指南
实时音视频
番茄灭世神6 天前
PN学堂GD32教程第8篇——RTC
实时音视频
runner365.git6 天前
RTC实现VoiceAgent(二)
大模型·webrtc·实时音视频·voiceagent
xuxie996 天前
N18 RTC
单片机·嵌入式硬件·实时音视频
runner365.git7 天前
RTC会议实时翻译系统
实时音视频
runner365.git7 天前
如何使用RTCPilot配置一个集群RTC服务
webrtc·实时音视频·音视频开发
深念Y8 天前
从WebSocket到WebRTC,豆包级实时语音交互背后的技术演进
websocket·网络协议·实时互动·webrtc·语音识别·实时音视频
海水冷却11 天前
2026 主流 RTC SDK 选型参考,7 大维度横向对比
实时音视频·rtc
TEL1892462247712 天前
IT6636/IT66362(3进1出 / 2进1出 HDMI 2.1 48Gbps Retiming Switch,内置 MCU)
音视频·实时音视频·视频编解码
天上路人17 天前
A-59F 多功能语音处理模组在本地会议系统扩音啸叫处理中的技术应用与性能分析
人工智能·神经网络·算法·硬件架构·音视频·语音识别·实时音视频