实验一、实时时钟试验
一、实时时钟介绍
实时时钟(RealTimeClock)模块,主要提供系统实时时钟,产生连续中断和定时的功能,具有下列特点:
1)、提供年,月,日,分,时,秒计时;
2)、设置定时中断;
3)、提供看门狗功能(定时需要操作系统复位寄存器,否则产生中断或者复位);
4)、提供1/256秒~1秒软件可配置的连续中断;
5)、提供闰年判断机制;
6)、32.768KHz操作。
二、寄存器地址映射表以及各个寄存器说明
(1)、寄存器地址映射表
地址 寄存器名称 读/写 宽度 描述 复位值
0x10002000 STA_YMOD 读/写 32 年、月、日计数寄存器 0x0000_0000
0x10002004 STA_HMS 读/写 32 小时、分钟、秒寄存器 0x0000_0000
0x10002008 ALARM_HM 读/写 32 定时小时、分寄存器 0x0000_0000
0x1000200c CTR 读/写 32 控制寄存器 0x0000_0001
0x10002010 INTREN 读/写 32 中断使能寄存器 0x0000_0010
0x10002014 INTRSTATUS 读 32 中断状态寄存器 0x0000_0000
0x10002018 SAMP 读/写 32 采样周期寄存器 0x0080_0080
0x1000201c WDCNT 读/写 32 Watch-Dog 计数值寄存器 0x8000_0080
0x10002020 WDSERVICE 写 32 Watch-Dog 服务寄存器 -
(2)、各个寄存器描述
1)、年、月、日计数寄存器(STA_YMOD)
Bits 31:27 ---- Reserved
STA_Y[10:0] ---- 年设定值
用于设定RTC 时钟的年。取值范围0~2047。
Bits 15:12 ---- Reserved
STA_MO[3:0]---- 月设定值
用于设定RTC 时钟的月。取值范围1~12
Bits 7:6 ---- Reserved
STA_D[5:0] ---- 日设定值
用于设定RTC 时钟的日。取值范围1~31
注意:由于RTC 中两个时域的同步问题,此寄存器设置新值后不能立即读取到设置的新值。一般而言,经
过1~2 个CLK32 时钟周期之后才可以正确读取到更新的新值。
2)、小时、分、秒计数寄存器(STA_HMS)
Bits 31:29 ---- Reserved
STA_H[4:0] ---- 小时设定值
设定RTC 时钟的小时。取值范围0~23。
Bits 23:22 ---- Reserved
STA_M[5:0] ---- 分设定值
设定RTC 时钟的分钟。取值范围0~59。
Bits 15:6 ---- Reserved
STA_S[5:0] ---- 秒设定值
设定RTC 时钟的秒。取值范围0~59。
注意:同年、月、日计数寄存器(STA_YMOD)。
3)、RTC Alarm 定时寄存器(ALARM_HM)
Bits 31:21 ---- Reserved
ALARM_H[4:0]---- 定时小时设定 设置定时器的小时。取值范围0~23。
Bits 15:6 ---- Reserved
ALARM_M[5:0]---- 定时分设定 设置定时器的分钟。取值范围0~59。
4)、RTC 控制寄存器(CTR)
Bits 31:2 ---- Reserved
WEN(1) ---- Watchdog Enable Watchdog 使能控制位。
0 = Watchdog disable
1 = Watchdog enable
DIS(0) ---- RTC Disable RTC使能控制位。控制TIMER 和SAMPLE 功能。
0 = RTC enable
1 = RTC disable
5)、RTC 中断使能寄存器(INTREN)
Bits 31:6 ---- Reserved
REN(5) ---- Reset Enable
Watchdog 复位使能位。应用软件必须在RTC 的Watchdog 的计数器减到1 之前对Watchdog 进行访问,否则Watchdog 会产生复位信号(如果REN 位使能)。
0 = Watchdog reset disable
1 = Watchdog reset enable
WIE(4) ---- Watchdog Interrupt Enable
Watchdog 中断使能位。RTC 的Watchdog 递减计数到1 时,如果中断使能则能够产生中断。
0 = Watchdog interrupt disable
1 = Watchdog interrupt enable
AIE(3) ---- Alarm Interrupt Enable
RTC的Alarm 中断使能位。当RTC Alarm 定时寄存器和当前计时匹配时,如果此中断使能则可以产生中断。
0 = Alarm interrupt disable
1 = Alarm interrupt enable
MIE(2) ---- Minute Interrupt Enable
RTC分钟中断使能位。如果此位使能,则每隔一分钟产生一次分中断。
0 = Minute interrupt disable
1 = Minute interrupt enable
SIE(1) ---- Second Interrupt Enable
RTC秒中断使能位。如果此位使能,则每隔一秒产生一次秒中断。
0 = Second interrupt disable
1 = Second interrupt enable
SAE(0) ---- Sample Interrupt Enable
RTC sample 中断使能位。如果RTC 使能,则RTC 通过sample 功能可以产生定时的中断信号。中断产生时间可以通过RTC 采样周期寄存器设置。
0 = Sample interrupt disable
1 = Sample interrupt enable
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |