STM32 RTC 时钟

发布者:yanfeng00最新更新时间:2019-03-06 来源: eefocus关键字:STM32  RTC  时钟 手机看文章 扫描二维码
随时随地手机看文章






6.2.8  RTC 时钟

通过设置备份域控制寄存器(RCC_BDCR)里的RTCSEL[1:0]位,RTCCLK时钟源可以由

HSE/128、LSE或LSI时钟提供。除非备份域复位,此选择不能被改变。

LSE时钟在备份域里,但HSE和LSI时钟不是。因此:


● 如果LSE被选为RTC时钟:

─  只要V BAT 维持供电,尽管V DD 供电被切断,RTC仍继续工作。

● 如果LSI被选为自动唤醒单元(AWU)时钟:

─  如果V DD 供电被切断, AWU状态不能被保证。有关LSI校准,详见6.2.559/754节LSI时钟。

● 如果HSE时钟128分频后作为RTC时钟:

─  如果V DD 供电被切断或内部电压调压器被关闭(1.8V域的供电被切断),则RTC状态不确定。

─  必须设置电源控制寄存器(见4.4.1节)的DPB位(取消后备区域的写保护)为’1’。


16  实时时钟 实时时钟(RTC)

小容量产品是指闪存存储器容量在16K至32K字节之间的STM32F101xx、STM32F102xx和STM32F103xx微控制器。


中容量产品是指闪存存储器容量在64K至128K字节之间的STM32F101xx、STM32F102xx和STM32F103xx微控制器。


大容量产品是指闪存存储器容量在256K至512K字节之间的STM32F101xx和STM32F103xx微控制器。


互联型产品是指STM32F105xx和STM32F107xx微控制器。


除非特别说明,本章描述的模块适用于整个STM32F10xxx微控制器系列。


16.1  RTC 简介

实时时钟是一个独立的定时器。RTC模块拥有一组连续计数的计数器,在相应软件配置下,可提供时钟日历的功能。修改计数器的值可以重新设置系统当前的时间和日期。


RTC模块和时钟配置系统(RCC_BDCR寄存器)处于后备区域,即在系统复位或从待机模式唤醒后,RTC的设置和时间维持不变。


系统复位后,对后备寄存器和RTC的访问被禁止,这是为了防止对后备区域(BKP)的意外写操作。执行以下操作将使能对后备寄存器和RTC的访问:


● 设置寄存器RCC_APB1ENR的PWREN和BKPEN位,使能电源和后备接口时钟

● 设置寄存器PWR_CR的DBP位,使能对后备寄存器和RTC的访问。


16.2  主要特性 主要特性


● 可编程的预分频系数:分频系数最高为2 20 。

● 32位的可编程计数器,可用于较长时间段的测量。

● 2个分离的时钟:用于APB1接口的PCLK1和RTC时钟(RTC时钟的频率必须小于PCLK1时钟频率的四分之一以上)。

● 可以选择以下三种RTC的时钟源:

─  HSE时钟除以128;

─  LSE振荡器时钟;

─  LSI振荡器时钟(详见6.2.8308/754节RTC时钟)。

● 2个独立的复位类型:

─  APB1接口由系统复位;

─  RTC核心(预分频器、闹钟、计数器和分频器)只能由后备域复位(详见6.1.3节)。

● 3个专门的可屏蔽中断:

─  闹钟中断,用来产生一个软件可编程的闹钟中断。

─  秒中断,用来产生一个可编程的周期性中断信号(最长可达1秒)。

─  溢出中断,指示内部可编程计数器溢出并回转为0的状态。


16.3  功能描述 功能描述


16.3.1  概述


RTC由两个主要部分组成(参见下图)。第一部分(APB1接口)用来和APB1总线相连。此单元还包含一组16位寄存器,可通过APB1总线对其进行读写操作(参见16.4节)。APB1接口由APB1总线时钟驱动,用来与APB1总线接口。


另一部分(RTC核心)由一组可编程计数器组成,分成两个主要模块。第一个模块是RTC的预分频模块,它可编程产生最长为1秒的RTC时间基准TR_CLK。RTC的预分频模块包含了一个20位的可编程分频器(RTC预分频器)。如果在RTC_CR寄存器中设置了相应的允许位,则在每个实时时钟(RTC)  STM32F10xxx参考手册


TR_CLK周期中RTC产生一个中断(秒中断)。第二个模块是一个32位的可编程计数器,可被初始化为当前的系统时间。系统时间按TR_CLK周期累加并与存储在RTC_ALR寄存器中的可编程时间相比较,如果RTC_CR控制寄存器中设置了相应允许位,比较匹配时将产生一个闹钟中断。


图154  简化的RTC框图


16.3.2  复位过程


除了RTC_PRL、RTC_ALR、RTC_CNT和RTC_DIV寄存器外,所有的系统寄存器都由系统复位或电源复位进行异步复位。


RTC_PRL、RTC_ALR、RTC_CNT和RTC_DIV寄存器仅能通过备份域复位信号复位,详见第6.1.3节


16.3.3  读RTC 寄存器


RTC核完全独立于RTC APB1接口。


软件通过APB1接口访问RTC的预分频值 、 计数器值和闹钟值。但是,相关的可读寄存器只在与RTC APB1时钟进行重新同步的RTC时钟的上升沿被更新。RTC标志也是如此的。


这意味着,如果APB1接口曾经被关闭,而读操作又是在刚刚重新开启APB1之后,则在第一次的内部寄存器更新之前,从APB1上读出的RTC寄存器数值可能被破坏了(通常读到0)。下述几种情况下能够发生这种情形:

● 发生系统复位或电源复位

● 系统刚从待机模式唤醒(参见第4.3309/754节:低功耗模式)。


4.3 ● 系统刚从停机模式唤醒(参见第 节:低功耗模式)。

所有以上情况中,APB1接口被禁止时(复位、无时钟或断电)RTC核仍保持运行状态。

因此,若在读取RTC寄存器时,RTC的APB1接口曾经处于禁止状态,则软件首先必须等待

RTC_CRL寄存器中的RSF位(寄存器同步标志)被硬件置’1’。

注: RTC 的 APB1 接口不受 WFI 和 WFE 等低功耗模式的影响。


16.3.4  配置RTC 寄存器

必须设置RTC_CRL寄存器中的CNF位,使RTC进入配置模式后,才能写入RTC_PRL、RTC_CNT、RTC_ALR寄存器。

另外,对RTC任何寄存器的写操作,都必须在前一次写操作结束后进行。可以通过查询RTC_CR寄存器中的RTOFF状态位,判断RTC寄存器是否处于更新中。仅当RTOFF状态位是’1’时,才可以写入RTC寄存器。


配置过程: 配置过程:

1. 查询RTOFF位,直到RTOFF的值变为’1’

2. 置CNF值为1,进入配置模式

3. 对一个或多个RTC寄存器进行写操作

4. 清除CNF标志位,退出配置模式

5. 查询RTOFF,直至RTOFF位变为’1’以确认写操作已经完成。


仅当CNF标志位被清除时,写操作才能进行,这个过程至少需要3个RTCCLK周期。

16.3.5 RTC 标志的设置在每一个RTC核心的时钟周期中,更改RTC计数器之前设置RTC秒标志(SECF)。


在计数器到达0x0000之前的最后一个RTC时钟周期中,设置RTC溢出标志(OWF)。


在计数器的值到达闹钟寄存器的值加1(RTC_ALR+1)之前的RTC时钟周期中,设置RTC_Alarm和RTC闹钟标志(ALRF)。对RTC闹钟的写操作必须使用下述过程之一与RTC秒标志同步:

● 使用RTC闹钟中断,并在中断处理程序中修改RTC闹钟和/或RTC计数器。

● 等待RTC控制寄存器中的SECF位被设置,再更改RTC闹钟和/或RTC计数器。


关键字:STM32  RTC  时钟 引用地址:STM32 RTC 时钟

上一篇:stm32 rtc 误差实验
下一篇:stm32 RTC_WaitForSynchro()死循环

推荐阅读最新更新时间:2024-03-16 16:24

STM32系列第15篇--灵活的静态存储控制器FSMC
FSMC特性 FSMC管理1GB空间,拥有4个Bank连接外部存储器 每个Bank有独立的片选信号 每个Bank有独立的时序配置 同步批量传输访问最高频率可达60MHz fCLK= HCLK /2 静态地址映射存储器支持的存储器类型 SRAM PSRAM NOR/ONENAND ROM LCD接口-支持8080和6800模式 NANDFlash和16位PCCard,NAND Flash具有硬件ECC 结构 FSMC分为四块BANK,每块各占256M字节空间,每块分为四个区,每个区占64M。 NOR/PSRAM 256M字节的空间需要28根地址线寻址 HADDR是内部AHB地址总线 HADDR 来自外部存储器
[单片机]
<font color='red'>STM32</font>系列第15篇--灵活的静态存储控制器FSMC
STM32温度传感器DS18B20测试程序 可通过TFT显示屏显示
/* tanqi TFT*/ #include stm32f10x_lib.h #include tft.h #include DS18B20.h extern u8 presence; /************************************************************** 系统时钟初始化 ****************************************************************/ void RCC_Configuration(void) { ErrorStatus HSEStartUpStat
[单片机]
STM32学习之CAN控制器简介
1、STM32自带了基本扩展CAN外设,又称bxCAN,bxCAN的特点如下: 支持CAN协议2.0A和2.0B主动模式 波特率最高达1Mbps 支持时间触发通信 具有3个发送邮箱 具有3级深度的2个接收FIFO 可变的筛选器组(也称过滤器组,最多28个) 2、STM32 CAN控制器简介-模式 ①初始化模式(INRQ=1,SLEEP=0) ②正常模式(INRQ=0,SLEEP=0) ③睡眠模式(SLEEP=1) 测试模式 ①静默模式( LBKM=0,SILM=1 ) ②环回模式( LBKM=1,SILM=0 ) ③环回静默模式(LBKM=1,SILM=1
[单片机]
MSP430 5438时钟系统介绍
简介:UCS模块支持低功耗。它内部含有三个时钟信号,用户可以自行选择,找到性能和功耗的平衡点。UCS软件配置后,只需要一两个晶振或者电阻,而不需要使用外部振荡器。 1.1时钟系统介绍 UCS模块最多含有5个时钟源: l XT1CLK:低频/高频振荡器,可以使用低频 32768HZ 晶振和外部振荡器或者通过外部输入源输入4MHZ~32MHZ时钟。 l VLOCLK:内部低消耗,低频振荡器。典型值为 12KHZ。 l REFOCLK:内部低频振荡器,典型值为 32768HZ,作为 FLL基准源。 l DCOCLK:内部数字控制振荡器(DCO)可以通过 FLL来稳定。 l XT2CLK:可选择的高频振荡器,可以使用标准晶振,振荡
[单片机]
MSP430 5438<font color='red'>时钟</font>系统介绍
STM32的各个MCU性能评判
1写在前面 我们经常听见某手机发布会,安兔兔跑分多少多少,其实这个跑分就是体现手机性能的一个指标。我们使用STM32开发产品,选择MCU时,一般会综合考虑MCU各方面性能。对于MCU来说,一个重要指标是功耗,还有一个重要指标就是性能。 当我们进入ST官方微控制器网页,就会发现ST将MCU划分为不同层次,如下图: https://www.st.com/en/microcontrollers.html 从上面层次关系,大致可以了解ST各MCU的功耗和性能。 2 STM32 CoreMark跑分 STM32家族的32位微控制器基于ARM Cortex®-M处理器设计,为用户提供新的自由度。 产品集高性能、实时性、数字信号处理
[单片机]
<font color='red'>STM32</font>的各个MCU性能评判
STM32 printf函数重映射
/* Private function prototypes -----------------------------------------------*/ #ifdef __GNUC__ /* With GCC/RAISONANCE, small printf (option LD Linker- Libraries- Small printf set to 'Yes') calls __io_putchar() */ #define PUTCHAR_PROTOTYPE int __io_putchar(int ch) #else #define PUTCHAR_PROTOTYPE int fput
[单片机]
STM32片上Flash读写的一些重要知识
关于STM32片上Flash读写操作,之前很多朋友遇到过坑,也问过很多相关的问题,这里再简单总结一下。 1写在前面 STM32片上Flash除了存储我们的代码,多余的空间还可以供我自己编程(读写)。比如,存储标志位、字库等。 如果对片上Flash读写操作不当,将会导致不可挽回的结局。比如:修改了应用程序代码导致程序跑飞,非对其操作导致异常中断等。 因此,我们对片上Flash读写操作时,一定要避免一些错误的做法。下面将讲述一些关于STM32片上Flash的知识,让大家掌握更多相关知识。 2 Flash闪存接口 STM32片上Flash闪存接口是在AHB协议上实现了对指令和数据的访问,它通过对存储器的预取
[单片机]
<font color='red'>STM32</font>片上Flash读写的一些重要知识
STM32的一些基本知识总结
Cortex-M3缩略语 AMBA:先进单片机总线架构 ADK:AMBA设计套件 AHB:先进高性能总线 AHB-AP:AHB访问端口 APB:先进外设总线 ARM ARM:ARM架构参考手册 ASIC:行业领域专用集成电路 ATB :先进跟踪总线 BE8:字节不变式大端模式 CPI:每条指令的周期数 DAP:调试访问端口 DSP:数字信号处理(器) DWT:数据观察点及跟踪 ETM:嵌入式跟踪宏单元 FPB:闪存地址重载及断点 FSR:fault状态寄存器 HTM:Core Sight AHB跟踪宏单元 ICE:在线仿真器 IDE:集成开发环境 IRQ:中断请求(通常是外中断请求) ISA:指令系统架构 ISR:中断服务例程 I
[单片机]
<font color='red'>STM32</font>的一些基本知识总结
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved