系列文章目录
内容来源主要是官方手册
RH850记录:RTC
文章目录
- 系列文章目录
- 前言
- 1.概述
- 2 框图
- 3 寄存器
-
- 3.1 RTCAnCTL0 — RTCA Control Register 0
- 3.2 RTCAnCTL1 — RTCA Control Register 1
- 3.3 RTCAnCTL2 — RTCA Control Register 2
- 3.4 RTCAnSUBC — RTCA Sub-Count Register
- 3.5 RTCAnSRBU — RTCA Sub-Count Register Read Buffer
- 3.6 RTCAnSUBU — RTCA Clock Error Correction Register
- 3.7 RTCAnSCMP — RTCA Sub-Counter Compare Register
- 3.8 RTCAnSECC — RTCA Seconds Count Register
- 3.9 RTCAnSEC — RTCA Seconds Count Buffer Register
- 3.10RTCAnMINC — RTCA Minutes Count Register
- 3.11 RTCAnSUBC — RTCAnMIN — RTCA Minutes Count Buffer Register
- 3.12 RTCAnHOURC — RTCA Hours Count Register
- 3.13 RTCAnHOUR — RTCA Hours Count Buffer Register
- 3.14 RTCAnWEEKC — RTCA Day of the Week Count Register
- 3.15 RTCAnWEEK — RTCA Day of the Week Count Buffer Register
- 3.16 RTCAnDAYC — RTCA Day of the Month Count Register
- 3.17 RTCAnDAY — RTCA Day of the Month Count Buffer Register
- 3.18 RTCAnMONC — RTCA Month Count Register
- 3.19 RTCAnMONTH — RTCA Month Count Buffer Register
- 3.20 RTCAnYEARC — RTCA Year Count Register
- 3.21 RTCAnYEAR — RTCA Year Count Buffer Register
- 3.22 RTCAnTIMEC — RTCA Time Count Register
- 3.23 RTCAnTIME — RTCA Time Count Buffer Register
- 3.24 RTCAnCALC — RTCA Calendar Count Register
- 3.25 RTCAnCAL — RTCA Calendar Count Buffer Register
- 3.26 RTCAnALM — RTCA Alarm Minute Setting Register
- 3.27 RTCAnALH — RTCA Alarm Hour Setting Register
- 3.28 RTCAnALW — RTCA Alarm Day of the Week Setting Register
- 3.29 RTCAnEMU — RTCA Emulation Register
前言
记录RH850 内部RTC
1.概述
1.1、RTC模块寄存器基地址
RTCA0_base == FFE7 8000
1.2、需要的时钟支持
1.3 RTC模块的中断请求源及其编号
告警中断请求(INTRTCA0AL)
1秒中断请求(INTRTCA01S)
固定间隔中断请求(INTRTCA0R)
1.4 RTC的复位触发源
1.5 信号输出引脚
1.6特性
●计数时钟选择从32 kHz到4 MHz
●计数器年,月,月,星期,小时,分钟,秒,和一个子计数器。历法涵盖99年。闰年由硬件自动处理。
●1 Hz脉冲输出功能
●固定间隔中断功能
●报警中断功能
●如果使用32.768 khz计数时钟,则具有时钟误差校正功能
2 框图
Sub-counter:
- RTCATCKI是子计数器RTCAnSUBC的输入。子计数器从0开始计数,直到达到比较值。比较值总是定义为RTCATCKI - 1的频率(单位为Hz)。因此,子计数器在一秒后溢出。然后将其重置为0并触发秒计数器RTCAnSECC(如果指定,还会触发中断INTRTCA01S)。
- 子计数器可以每0.25秒、0.5秒或1秒产生一次固定间隔中断,并且可以输出1hz脉冲。
Time and date counters:
- 分钟、小时、星期、月、月、年的计数器也会计数。它们有自己的溢出限制。如果所有下层计数器溢出,上层计数器向上计数
- 计数器的溢出限制取决于当前月份(28、30或31天)和(在2月)年计数器RTCAnYEARC(0、4、8、12等年份被认为是闰年)。
- 小时计数器RTCAnHOURC可以在12小时和24小时格式之间切换。
- 秒、分、小时、月、日的计数器可以产生一个固定间隔的溢出中断(INTRTCA0R)。
- 计数器的分钟,小时,和一天的一周也可以产生一个报警中断(INTRTCA0AL),例如每星期二和星期四的10:32。
Counter buffers:
- 所有计数器都可以在任何时候直接读取。用于访问读/写寄存器的时钟信号和计数时钟通常是异步的。在读取操作期间,子计数器溢出会使所有读取值失效。因此,读取计数器必须使用一个特殊的过程来执行。
- 由于同步的原因,计数器不能直接写入。
- 对于读和写,所有的计数器都伴随着缓冲寄存器。缓冲寄存器为读取计数器和设置时间和日期提供了一种同步的方式。当它们被使用时,必须先暂停子计数器的操作,然后再重新激活
- RTCAnTIMEC和rtcanalc寄存器和它们对应的缓冲寄存器可以用来检查和设置时间(小时、分钟和秒)或日期(星期几、月几、月几、年几),只需一次读/写操作。
3 寄存器
3.1 RTCAnCTL0 — RTCA Control Register 0
该寄存器控制子计数器RTCAnSUBC的计数操作,小时计数器RTCAnHOURC的格式(12小时/24小时)和报警小时设置寄存器RTCAnALH,以及操作模式。
RTCAnCE:
启动/停止子计数器RTCAnSUBC操作。
0:停止子计数器操作。 清除控制寄存器RTCAnCTL2中的所有输出引脚和状态标志
1:启动子计数器操作。 子计数器计数。
RTCAnCEST:
表示子计数器的操作使能/停止