logo资料库

ARM处理器RTC实时时钟.ppt

第1页 / 共19页
第2页 / 共19页
第3页 / 共19页
第4页 / 共19页
第5页 / 共19页
第6页 / 共19页
第7页 / 共19页
第8页 / 共19页
资料共19页,剩余部分请下载后查看
RTC实时时钟 王华斌 Wanghuabin-2003@163.com
RTC综述 vS3C44B0X内部RTC (Real Time Clock) 单元,能在系统断电时,通过备份电池来 供电,从而保持了日历时间的连续。 vRTC能通过ARM的STRB/LDRB指令传 输8位BCD数据到CPU,该数据包括秒、 分、时、星期、月和年,RTC使用一个 外部32.768KHZ的晶体。
功能和特点 功能: v 闰年产生器 v 报警功能 v 时钟节拍中断 特点: v BCD数据,秒、分、时、日、月、年; v 闰年产生器; v 具有报警中断或者从掉电模式中唤醒等功能; v 解决2000年闰年问题; v 独立的电源端口(VDDRTC); v 支持毫秒级的时钟节拍中断,可用于RTOS的内核时钟节拍; v 循环复位功能;
RTC模块功能结构
功能详述: 闰年产生器 这个模块可以决定每个月的最后日期是 28,29,30 还 是 31,这些日期数据是由BCDDAY、BCDMON和 BCDYEAR寄存器中的数据来决定的。一个8位计数器只能 表示2个BCD数据,因此它不能判断00年是否为闰年。 例如它不能够满足 1900 年和 2000 年的差别。为了解 决这个问题,S3C44B0X 内的 RTC 模块中有一个固定的逻 辑,用来支持 2000 年为闰年。请注意虽然 2000 年是闰年, 但 1900 年不是闰年。因此,S3C44B0X中 00 代表 2000 年, 而不是 1900 年。
读写寄存器 RTCCON 寄存器的 0 位来表示读和写 RTC 模块中的寄 存器。为了显示秒,分,小时,日期,月和年,CPU会从 BCDSEC, BCDMIN, BCDHOUR, BCDDAY, BCDDATE, BCDMON, 和 BCDYEAR寄存器中读取数据。 但是,由于多个寄存器的读取,可能产生 1 秒钟的偏离。 例如,如果用户读取寄存器 BCDYEAR 到 BCDMIN,假设 结果为 1959 年,12 月,31 日,23 点,59 分。在用户读 取 BCDSEC寄存器时,如果结果是 1~59,肯定没有问题。 但如果结果是 0,那么很有可能年、月、日、时、分已经变 成了 1960 年 1 月 1 日 0 时 0 分,这就是上面所说的 1 秒 偏离。 解决的方法是,当读取到的 BCDSEC 等于 0 时,用户 应该再读取一次 BCDYEAR 到 BCDSEC 的值。
备用电池操作 RTC逻辑可用备用电池驱动,即使系统电 源关闭了,它也可以通过RTCVDD端口向 RTC模块提供电源。当系统关闭时,CPU和 RTC逻辑间的接口应关闭。备用电池只驱动 晶振电路和BCD计数器,以最小化电源消耗。
报警功能 在掉电模式或正常工作模式下,RTC 都 能够在指定的时间产生一个报警信号。 v 在正常工作模式下,报警中断(ALMINT)被激 活。 v 在掉电模式下,电源管理苏醒(PMWKUP) 信号也与 ALMINT 一样处于激活状态。 RTC 的报警寄存器:RTCALM 可以决定报警 的使能或禁止和报警时间。
分享到:
收藏