icore3l_arm-gd_13
银杏科技有限公司旗下技术文档发布平台 |
技术支持电话 | 0379-69926675-801 |
技术支持邮件 | Gingko@vip.163.com |
版本 | 日期 | 作者 | 修改内容 |
V1.0 | 2020-11-14 | gingko | 初次建立 |
实验十三:RTC实时时钟实验——显示日期和时间
一、实验目的与意义
了解GD32 RTC结构
了解GD32 RTC特征
了解 RTC特征和应用领域
掌握 GD32固件库中RTC属性的配置方法
掌握KEIL MDK集成开发环境使用方法
二、实验设备及平台
iCore3L 双核心板
JLINK(或相同功能)仿真器
Micro USB线缆
Keil MDK 开发平台
装有WIN XP(及更高版本)系统的计算机
三、实验原理
GD32 RTC简介
RTC模块提供了一个包含日期(年/月/日)和时间(时/分/秒/亚秒)的日历功能。除亚秒用二进制码显示外,时间和日期都以BCD码的形式显示。RTC可以进行夏令时补偿。RTC可以工作在省电模式下,并通过软件配置来智能唤醒。RTC支持外接更高精度的低频时钟,用以达到更高的日历精度。
RTC 单元有三个可选的独立时钟源:LXTAL、IRC32K和HXTAL的2~31(由 RCU_CFG 寄存器配置)分频后的时钟。
在RTC单元,有两个预分频器用来实现日历功能和其他功能。一个分频器是7位异步预分频器,另一个是15位同步预分频器。异步分频器主要用来降低功率消耗。如果两个分频器都被使用,建议异步分频器的值尽可能大。
RTC主要特征
通过软件设置来实现夏令时补偿;
参考时钟检测功能:通过外接更高精度的低频率时钟源(50Hz或60Hz)来提高日历精度;
数字校准功能:通过调整最小时间单位(最大可调精度0.95ppm)来进行日历校准;
通过移位功能进行亚秒级调整;
记录事件时间的时间戳功能;
两个模式可配置的独立的侵入检测;
可编程的日历和两个位域可屏蔽的闹钟;
可屏蔽的中断源: 闹钟0和闹钟1;时间戳检测;侵入检测;自动唤醒事件;
20个32位(共80字节)通用备份寄存器,能够在省电模式下保存数据。当有外部事件侵入时,备份寄存器将会复位。
RTC结构框图如图所示:
预分频器:预分频器PRER由7位的异步预分频器和15位的同步预分频器组成。异步预分频器时钟用于为二进制 RTC_SS亚秒递减计数器提供时钟,同步预分频器时钟用于更新日历。
影子寄存器:当APB总线访问RTC日历寄存器RTC_DATE、RTC_TIME和RTC_SS时,BPSHAD位决定是访问影子寄存器还是真实日历寄存器。默认情况下BPSHAD为0,APB总线访问影子日历寄存器。每两个RTC时钟,影子日历寄存器值会更新为真实日历寄存器的值,与此同时RSYNF位也会再次置位。
实时时钟和日历:实时时钟一般表示为:时/分/秒/亚秒,时分秒可直接从RTC时间寄存器(RTC_TIME)中读取。日期包含的年月日可直接从RTC 日期寄存器 (RTC_DATE)中读取。
四、实验步骤
把仿真器与iCore3L的SWD调试口相连(直接相连或者通过转接器相连);
把iCore3L通过Micro USB线与计算机相连,为iCore3L供电;
打开Keil MDK 开发环境,并打开本实验工程;
烧写程序到iCore3L上;
也可以进入Debug 模式,单步运行或设置断点验证程序逻辑。
五、实验现象
串口打印时间日期正常,结果如图所示。
icore3l_arm-gd_13.txt · 最后更改: 2022/06/10 14:45 由 sean