用户工具

站点工具


icore3l_arm-gd_13
银杏科技有限公司旗下技术文档发布平台
技术支持电话0379-69926675-801
技术支持邮件Gingko@vip.163.com
版本 日期 作者 修改内容
V1.0 2020-11-14 gingko 初次建立



实验十三:RTC实时时钟实验——显示日期和时间

一、实验目的与意义

  1. 了解GD32 RTC结构
  2. 了解GD32 RTC特征
  3. 了解 RTC特征和应用领域
  4. 掌握 GD32固件库中RTC属性的配置方法
  5. 掌握KEIL MDK集成开发环境使用方法

二、实验设备及平台

  1. iCore3L 双核心板
  2. JLINK(或相同功能)仿真器
  3. Micro USB线缆
  4. Keil MDK 开发平台
  5. 装有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)中读取。

四、实验步骤

  1. 把仿真器与iCore3L的SWD调试口相连(直接相连或者通过转接器相连);
  2. 把iCore3L通过Micro USB线与计算机相连,为iCore3L供电;
  3. 打开Keil MDK 开发环境,并打开本实验工程;
  4. 烧写程序到iCore3L上;
  5. 也可以进入Debug 模式,单步运行或设置断点验证程序逻辑。

五、实验现象

串口打印时间日期正常,结果如图所示。

icore3l_arm-gd_13.txt · 最后更改: 2022/06/10 14:45 由 sean