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