STM32F407 实时时钟
STM32F407 实时时钟
好的,STM32F407 的实时时钟 (RTC) 是一个独立的、低功耗的计时器模块,即使在主电源关闭时(通过备用电池 VBAT 供电),也能持续计数,用于提供日历和时间信息。
以下是关于 STM32F407 RTC 的关键点:
-
核心功能:
- 持续计时:提供秒、分、时、星期、日、月、年(带闰年补偿)的日历功能。
- 闹钟:可编程的闹钟功能,可以在特定时间或日期产生中断或唤醒处于低功耗模式的 MCU。
- 唤醒定时器:可编程的周期性自动重载计数器,用于产生周期性中断/唤醒(间隔可设置)。
- 时间戳:能捕获外部事件(特定引脚边沿)发生的精确时间。
- 入侵检测:检测特定引脚上的入侵事件(如篡改),并可选择将备份寄存器清零以保护敏感数据。
-
硬件特性:
- 独立供电域 (Backup Domain):
- 包含 RTC、备份寄存器 (BKP registers)。
- 由主电源
VDD或备用电源VBAT供电。 - 当
VDD关闭时,VBAT(通常连接纽扣电池或超级电容)保持 RTC 运行和备份寄存器内容不丢失。 - 关键点:硬件设计时必须正确连接
VBAT(即使不用 RTC,也要按推荐电路处理)。
- 时钟源:
- 低速外部时钟 (LSE):通常连接 32.768 kHz 晶振。最常用且最精准的选择,功耗很低。
- 低速内部时钟 (LSI):芯片内部约 32 kHz RC 振荡器。精度较低(典型偏差 ±5%),但不需要外部元件。适用于对精度要求不高或节省成本/BOM空间的应用。
- 高速外部时钟分频 (HSE / 128):将外部高速晶振(通常 8MHz)分频到 1 MHz 后再分频到 ~7.8125 kHz 或 ~15.625 kHz (取决于配置)。极少使用,因为功耗较高,违背了 RTC 低功耗的初衷。
- 预分频器 (Prescaler):
- 包含一个 7 位的异步预分频器 (
PREDIV_A) 和一个 15 位的同步预分频器 (PREDIV_S)。 - 将时钟源频率分频到所需的 1 Hz 信号(用于日历计数器)。
- 典型配置 (使用 32.768 kHz LSE):
PREDIV_A = 127,PREDIV_S = 255->(127+1) * (255+1) = 32768-> 1 Hz。
- 包含一个 7 位的异步预分频器 (
- 32 位可编程计数器:核心计数器,每秒递增一次。可通过该计数器的值直接获取时间或计算日历。
- 独立供电域 (Backup Domain):
-
软件配置 (通常使用 HAL 库或 LL 库):
- 初始化流程 (关键步骤):
- 启用电源和备份域时钟:
__HAL_RCC_PWR_CLK_ENABLE()和__HAL_RCC_BKP_CLK_ENABLE()。 - 使能对备份域的访问 (解除写保护):
HAL_PWR_EnableBkUpAccess()。 - 选择时钟源 (LSE/LSI/HSE):通过 RCC 寄存器配置。例如
__HAL_RCC_RTC_CONFIG(RCC_RTCCLKSOURCE_LSE)。 - 使能 RTC 时钟:
__HAL_RCC_RTC_ENABLE()。 - 初始化 RTC 句柄:指定时钟源、异步/同步预分频值 (
RTC_InitTypeDef)。 - 初始化日历:设置起始日期和时间 (
RTC_DateTypeDef,RTC_TimeTypeDef)。 - (可选)配置闹钟、唤醒定时器、时间戳、入侵检测。
- (可选)配置中断:闹钟中断、唤醒定时器中断、时间戳中断、入侵中断、秒中断 (
ALRAIE,WUTIE,TSIE,TAMPIE,SECIE)。
- 启用电源和备份域时钟:
- 访问 RTC 寄存器:
- 通过
RTC->寄存器结构体直接访问。 - 等待寄存器同步标志 (
RTC_ISR的RSF位) 或操作允许标志 (RTC_ISR的INIT,ALRAWF等) 是必要的。 - HAL 库提供了封装好的函数 (如
HAL_RTC_GetTime,HAL_RTC_GetDate,HAL_RTC_SetTime,HAL_RTC_SetDate,HAL_RTC_SetAlarm等)。
- 通过
- 处理备份域复位:
- 当系统复位或备份域复位后,需要再次解除备份域的写保护 (
HAL_PWR_EnableBkUpAccess()) 才能配置 RTC。 - 检查
RCC_BDCR寄存器的BDRST标志来判断是否发生了备份域复位。
- 当系统复位或备份域复位后,需要再次解除备份域的写保护 (
- 初始化流程 (关键步骤):
-
重要注意事项:
- VBAT 连接:这是 RTC 在主电源掉电后保持运行的关键。务必按数据手册设计电路。
- 时钟源启动:LSE/LSI 启动需要时间,软件需要等待其稳定(通过
RCC_BDCR的LSERDY/LSIRDY位判断)。 - 精度:LSE 晶振精度最高(典型值 ±20ppm)。LSI 精度较低(±5%)。外部电路(负载电容)会影响 LSE 精度。
- 中断处理:中断服务程序 (IRQ Handler) 需要清除相应的中断标志位 (
EXTI->PR和RTC->ISR)。 - 调试:如果 RTC 不工作,首先检查:
- 电源和
VBAT是否正确连接? - LSE/LSI 是否启动 (
LSERDY/LSIRDY)? - 是否解除了备份域写保护 (
HAL_PWR_EnableBkUpAccess())? - 预分频器配置是否正确?
- 中断配置是否正确(NVIC、EXTI)?
- 电源和
-
常用开发工具:
- STM32CubeMX:图形化配置工具,自动生成 RTC 初始化代码(配置时钟源、预分频、日历、闹钟、中断等),强烈推荐使用。
- STM32CubeIDE:集成开发环境,包含 CubeMX 和调试器。
- ST-Link Utility / STM32CubeProgrammer:烧录工具,有时也用于调试和查看 RTC 寄存器。
总结:STM32F407 的 RTC 是一个功能强大且关键的模块,用于需要持续计时和日历的应用。使用时需特别注意其独立的供电域 (VBAT)、时钟源选择、预分频器配置以及备份域访问权限的管理。利用 STM32CubeMX 可以大大简化配置过程。
stm32f407 double类型
STM32F407是意法半导体(STMicroelectronics)推出的一款ARM Cortex-M4内核的微控制器。它是针对智能电动车领域的实时操作、数字信号处理和高性能应用而设计的。在这
2024-01-07 16:45:45
stm32f407 LAN8720A速率调整
STM32F407是一款基于ARM Cortex-M4内核的高性能微控制器,而LAN8720A是一款高速以太网PHY芯片。它们的组合可以实现在STM32F407上使用以太网功能。 调整
2024-01-05 13:54:13
STM32F407与STM32F105 CAN通讯失败的定位解决
STM32F407与STM32F105的CAN通讯失败问题,经过一系列的测试分析,发现并解决问题,实现正常的CAN通讯。问题的现象STM32F407
资料下载
小峰
2021-12-02 16:51:16
【STM32F407开发板用户手册】第14章 STM32F407的电源,复位和时钟系统
【STM32F407开发板用户手册】第14章 STM32F407的电源,复位和时钟系统
资料下载
佚名
2021-12-02 16:21:14
STM32F407 DCMI摄像头源码
STM32F407 DCMI摄像头源码(电源技术存在的问题总结)-【资源描述】:STM32F407 DCMI摄像头源码【编程语言】:C语言
资料下载
h1654155275.0032
2021-09-16 16:15:00
rt-thread studio新建stm32f407工程
rt-thread studio新建stm32f407工程,使用的版本是:2.2.6,stm32f4的支持包版本为0.2.2。先不用0.2.3,因为使用0.2.3建立的模板编译会报错。
2023-10-12 17:42:05
国产优秀替代_APM32F407替代STM32F407记录
前言 最近一段时间在玩极海的APM32F407系列的MCU,在研究一段时间后发现其资源和意法半导体的STM32F407不相上下。通过对比两者的数据手册和参考手册,我发现APM32
2022-05-10 11:22:36
换一换
- 如何分清usb-c和type-c的区别
- 中国芯片现状怎样?芯片发展分析
- vga接口接线图及vga接口定义
- 芯片的工作原理是什么?
- 华为harmonyos是什么意思,看懂鸿蒙OS系统!
- 什么是蓝牙?它的主要作用是什么?
- ssd是什么意思
- 汽车电子包含哪些领域?
- TWS蓝牙耳机是什么意思?你真的了解吗
- 什么是单片机?有什么用?
- 升压电路图汇总解析
- plc的工作原理是什么?
- 再次免费公开一肖一吗
- 充电桩一般是如何收费的?有哪些收费标准?
- ADC是什么?高精度ADC是什么意思?
- dtmb信号覆盖城市查询
- EDA是什么?有什么作用?
- 苹果手机哪几个支持无线充电的?
- type-c四根线接法图解
- 华为芯片为什么受制于美国?
- 怎样挑选路由器?
- 元宇宙概念股龙头一览
- 锂电池和铅酸电池哪个好?
- 什么是场效应管?它的作用是什么?
- 如何进行编码器的正确接线?接线方法介绍
- 虚短与虚断的概念介绍及区别
- 晶振的作用是什么?
- 大疆无人机的价格贵吗?大约在什么价位?
- 苹果nfc功能怎么复制门禁卡
- amoled屏幕和oled区别
- 单片机和嵌入式的区别是什么
- 复位电路的原理及作用
- BLDC电机技术分析
- dsp是什么意思?有什么作用?
- 苹果无线充电器怎么使用?
- iphone13promax电池容量是多少毫安
- 芯片的组成材料有什么
- 特斯拉充电桩充电是如何收费的?收费标准是什么?
- 直流电机驱动电路及原理图
- 传感器常见类型有哪些?
- 自举电路图
- 通讯隔离作用
- 苹果笔记本macbookpro18款与19款区别
- 新斯的指纹芯片供哪些客户
- 伺服电机是如何进行工作的?它的原理是什么?
- 无人机价钱多少?为什么说无人机烧钱?
- 以太网VPN技术概述
- 手机nfc功能打开好还是关闭好
- 十大公认音质好的无线蓝牙耳机
- 元宇宙概念龙头股一览