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

相关推荐
TSINGSEE2 天前
数据库选择有讲究?SQLite、PostgreSQL还是MySQL?
mysql·音视频·实时音视频·数据库架构·视频编解码
Natsume17104 天前
音视频开发入门:FFmpeg vs GStreamer,新手该如何选择?
c语言·c++·ffmpeg·音视频·webrtc·实时音视频·视频编解码
DogDaoDao5 天前
深入解析quiche开源项目:从QUIC协议到云原生实践
音视频·实时音视频·tcp·quic·视频直播·流媒体协议·quiche
leo__5207 天前
STM32的RTC模块及其应用场景
stm32·嵌入式硬件·实时音视频
智能物联实验室7 天前
如何解决网关断网后时间不再统计的问题?无RTC子设备如何打通主网关的时间同步功能?
嵌入式硬件·网关·实时音视频·智能硬件
DogDaoDao9 天前
视频软解码技术详解:原理、应用与未来发展
ffmpeg·音视频·实时音视频·视频编解码·hevc·视频解码·视频软解码
ZEGO即构开发者13 天前
简单4步,快速搭建数字人实时视频通话功能
实时互动·webrtc·实时音视频·数字人·即时通讯·rtc·视频聊天·虚拟人·社交·音视频技术·ai虚拟人·ai语音驱动·android多人语音·java多人语音通话·zego·泛娱乐·社交泛娱乐·视频美颜·虚拟形象sdk·自动聊天机器人
从后端到QT23 天前
RTCP详解
服务器·音视频·实时音视频·rctp
索迪迈科技23 天前
提升行车安全的关键技术:BSD(盲点监测)与DSM(驾驶员监测)是如何工作的?
智慧城市·实时音视频·量子计算·车载监控·车辆安全
DogDaoDao1 个月前
深入理解VideoToolbox:iOS/macOS视频硬编解码实战指南
macos·ios·音视频·实时音视频·视频编解码·videotoolbox·硬编码