STM32WB RTC
实时时钟 (RTC) 是一个独立的 BCD 定时器/计数器。RTC 提供一个带可编程闹钟中断的日历时钟以及一个具有中断功能的周期性可编程唤醒标志。RTC 还包含用于管理所有低功耗模式的自动唤醒单元。
两个 32 位寄存器包含二进码十进数格式 (BCD) 的秒、分钟、小时(12 或 24 小时制)、星 期几、日期、月份和年份。此外,还可提供二进制格式的亚秒值。
系统可以自动将月份的天数补偿为 28、29(闰年)、30 和 31 天。并且还可以进行夏令时 补偿。
其它 32 位寄存器还包含可编程的闹钟亚秒、秒、分钟、小时、星期几和日期。
数字校准功能可以对晶振精度的偏差进行补偿。
后备域复位后,所有 RTC 寄存器都会受到保护,以防止可能的非正常写访问。
无论器件状态如何(运行模式、低功耗模式或处于复位状态),只要电源电压保持在工作范围内,RTC 便不会停止工作。
方框图:

特点:
● 包含亚秒、秒、分钟、小时(12/24 小时制)、星期几、日期、月份和年份的日历
● 软件可编程的夏令时补偿
● 具有中断功能的可编程闹钟。可通过任意日历字段的组合驱动闹钟
● 自动唤醒单元,可周期性地生成标志以触发自动唤醒中断
● 参考时钟检测:可使用更加精确的第二时钟源(50 Hz 或 60 Hz)来提高日历的精确度
● 利用亚秒级移位特性与外部时钟实现精确同步
● 数字校准电路(周期性计数器调整)
— 精度为 0.95 ppm,在数秒钟的校准窗口中获得
● 用于事件保存的时间戳功能
● 带配置过滤器和内部上拉的入侵检测
● 可屏蔽中断/事件:
— 闹钟 A
— 闹钟 B
— 唤醒中断
— 时间戳
— 入侵检测
● 20 个备份寄存器
日历功能:
RTC的时钟源(LSE(32.768KHZ)、HSE_RTC、LSI)经过一个精密校准(RTC_CALR),再经过7位的预分频器进行分频(RTC_PRER,默认127+1=128)会产生一个ck_apre()时钟。再经过粗略校准(RTC_CALPR),再经过RTC_PRER(一个同步15位预分频器(默认值=256),影子寄存器(RTC_SSR)),然后再产生一个ck_spre(默认1HZ)为真正的RTC核心时钟。然后提供1HZ的频率给日历(影子寄存器,RTC_TR,RTC_DR,是时间和日期的寄存器)。同步15位预分频器的影子寄存器(RTC_SSR的时钟来自于ck_apre,它的初值来自于RTC_PRER,假设为256,当它计数到零,那么ck_apre就产生了256次,而ck_spre只产生了一次送到日历去)和日历的影子寄存器决定了精确的时间。当闹钟A或者B的时间跟日历时间相等,则产生闹钟。
周期自动唤醒功能:
周期性唤醒标志由 16 位可编程自动重载递减计数器生成。唤醒定时器范围可扩展至 17 位。 可通过 RTC_CR 寄存器中的 WUTE 位来使能此唤醒功能。 唤醒定时器的时钟输入可以是:
● 2、4、8 或 16 分频的 RTC 时钟 (RTCCLK)。 当 RTCCLK 为 LSE (32.768 kHz) 时,可配置的唤醒中断周期介于 122 μs 和 32 s 之间,且分辨率低至 61 μs。
● ck_spre(通常为 1 Hz 内部时钟) 当 ck_spre 频率为 1 Hz 时,可得到的唤醒时间为 1s 到 36h 左右,分辨率为 1 秒。这一较大的可编程时间范围分为两部分:
— WUCKSEL [2:1] = 10 时为 1s 到 18h。
— WUCKSEL [2:1] = 11 时约为 18h 到 36h。在后一种情况下,会将 216 添加到 16 位计数器当前值。完成初始化序列后,定时器开始递减计数。在低功耗模式下使能唤醒功能时,递减计数保持有效。此外,当计数器计数到 0 时,RTC_ISR 寄存器的 WUTF 标志会置 1,并且唤醒寄存器会使用其重载值(RTC_WUTR 寄存器值)动重载。
必须用软件清零 WUTF 标志。
通过将 RTC_CR寄存器中的 WUTIE 位置 1 来使能周期性唤醒中断时,它会使器件退出低功耗模式。
如果已通过 RTC_CR 寄存器中的位 OSEL[0:1] 使能周期性唤醒标志,则该标志可连接到 RTC_ALARM 输出。可通过 RTC_CR 寄存器的 POL 位配置 RTC_ALARM 极性。
系统复位以及低功耗模式(睡眠、停机和待机)对唤醒定时器没有任何影响。
闹钟输出:
RTC_CR寄存器中的OSEL[1:0]位用于激活闹钟输出RTC_ALARM和选择哪一个功能输出。RTC_ISR寄存器中的相应标志反应出了这些功能。
闹钟输出:使用RTC_OR寄存器中的RTC_ALARM_TYPE控制位可以配置RTC_ALARM引脚为漏极开路与推挽输出。
NOTE:一旦使能RTC_ALARM输出,它的优先级高于RTC_CALIB(COE位不关心且必须清零)
当RTC_CALIB或RTC_ALARM输出被选择的时候, RTC_OUT引脚自动被配置为输出
STM32WB RTC的更多相关文章
- STM32F746的RTC使用
1.RTC模块采用低速晶振外接始终:32.768KHz,如下图所示 2.配置RTC模块: 其中,Fck_apre.Fck_spre始终上配置不容易理解, 如果想得到1Hz的始终频率,则需要将PERDI ...
- [nRF51822] 10、基础实验代码解析大全 · 实验15 - RTC
一.实验内容: 配置NRF51822 的RTC0 的TICK 频率为8Hz,COMPARE0 匹配事件触发周期为3 秒,并使能了TICK 和COMPARE0 中断. TICK 中断中驱动指示灯D1 翻 ...
- RTC时钟
1.设置时间之前取消备份区域(BKP)写保护 主要有两部分组成 1.用来和APB1总线对接,对其进行读写操作 2. 预分频模块:在RTC_CR设置相应的允许,位每个TR_CLK周期中RTC产生一个中断 ...
- S3C2440上RTC时钟驱动开发实例讲解(转载)
嵌入式Linux之我行,主要讲述和总结了本人在学习嵌入式linux中的每个步骤.一为总结经验,二希望能给想入门嵌入式Linux的朋友提供方便.如有错误之处,谢请指正. 共享资源,欢迎转载:http:/ ...
- RTC实时时钟
作者:宋老师,华清远见嵌入式学院讲师. 1.1 RTC介绍 在 一个嵌入式系统中,通常采用RTC 来提供可靠的系统时间,包括时分秒和年月日等,而且要求在系统处于关机状态下它也能够正常工作(通常采用后备 ...
- 解决服务器时间Local time和RTC time不一致的问题
今天遇到了一个问题,发现程序读取的时间比实际的时间快了几分钟. 执行 timedatectl status 发现 Local time比实际的快,但是RTC time是准确的. 各种google也没搞 ...
- alarm rtc
http://sharp2wing.iteye.com/blog/1329518 http://blog.csdn.net/sking002007/article/details/6593809 io ...
- 转:RTC搭建android下三层应用程序访问服务器MsSql-服务器端
原文:http://www.cnblogs.com/delphi007/p/3346061.html 前几天通过Ro搭建webservice,然后在android下调用,虽然已近成功,但是返回的数据库 ...
- 转(Delphi 新窑洞):使用delphi 开发多层应用(十七)使用RTC web 服务器返回JSON
RTC作为delphi 的最专业的web 应用服务器,如果客户端要使用JSON 的话,那么使用RTC 应该也是一种 非常好的选择.下面我们做一个使用RTC web 服务器返回数据库JSON 的例子. ...
随机推荐
- excel怎么设置密码保护?Excel文件添加密码保护教程
excel怎么设置密码保护?Excel文件添加密码保护教程 众所周知,Excel具有强大的数据处理和数据分析能力,广泛应用于加工学统计及金融统计中.特别是金融统计需要较高的安全性,那么就一定要为Exc ...
- Java数组(1):数组与多维数组
我们对数组的基本看法是,你可以创建它们,通过使用整型索引值访问它们的元素,并且他们的尺寸不能改变. 但是有时候我们需要评估,到底是使用数组还是更加灵活的工具.数组是一个简单的线性序列,这使得元素访问非 ...
- jQuery,javascript获得网页的高度和宽度【收藏】
网页可见区域宽: document.body.clientWidth 网页可见区域高: document.body.clientHeight 网页可见区域宽: document.body.offset ...
- MySQL常用维护命令和操作
MySQL数据库安装后,除了包括MySQL服务器进程管理外,还提供了大量工具用于管理和维护MySQL服务器的其它工作.下面PHP程序员雷雪松介绍的这些命令都是在MySQL交互界面以外的命令行中执行的. ...
- APP安全_Android反编译
反编译 Android的反编译工具:apktool,JEB等. Apk 文件的结构,如下: META-INF:签名文件 res:资源文件,里面的 xml 格式文件在编译过程中由文本格式转化为二进制的 ...
- vue 新闻列表滚动效果
效果如下: <template> <div> <div class="scroll-wrap"> <ul class="scro ...
- D3 GEO应用专题(一):绘制旋转的3D地球
https://gallery.echartsjs.com/explore.html#sort=rank~timeframe=all~author=all 雷达图 https://blog.csdn. ...
- [转帖]nginx 80端口重定向 转发到443端口
nginx 80端口重定向到443端口 2017年05月16日 13:53:58 幸福丶如此 阅读数 33387 版权声明:本文为博主原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文 ...
- 记日杂-log4net组件使用
下面我给大家介绍一下记日杂-log4net组件使用,当程序发布有服务器上,有时出现了错误, 都不知道出现在那,所以log4net组件很好解决这个问题. 1.添加开发包,并对log4net.dll的引用 ...
- shell基础篇
1. Shell概述 为什么要学习Shell呢? 1)需要看懂运维人员编写的Shell程序. 2)偶尔会编写一些简单Shell程序来管理集群.提高开发效率. 2 .Shell解析器 (1)Linux提 ...