ARM学习笔记—RTC编程(一) 下载本文

内容发布更新时间 : 2024/4/28 5:34:22星期一 下面是文章的全部内容请认真阅读。

ARM 学习笔记—RTC 编程(一)

要学习 RTC 的编程,首先我们得知道什么是 RTC?RTC 是怎样工作的? RTC 电路是如何搭建的?RTC 编程需要注意什么?要弄清楚这些,最好的方式 就是从用户手册上去找寻答案,我按照 LPC1788 提供的手册一步步分析和学习 RTC。 一、基础配置

1、RTC 的电源控制:在寄存器 PCONP 中,置位位 PCRTC。注意:复位的 时候 PCRTC 的值也为 1。(这里需要注意在 arm 中所有的 pin 操作都是通过读 写寄存器完成的,每一个 pin 脚都是对应寄存器的一位,不能直接对 pin 进行 置位或复位)

2、时钟源:RTC 从 RTC 晶振中获取 1HZ 作为内部功能时钟,外部时钟用 于接收 RTC 寄存器的值(目前还没有理解透彻,以后继续研究) 3、中断:中断在后面将会专门讲到这里就不多说了 二、特性

*通过走过的时间,维持日历和时钟的准确性。可以得出年、月、日、时、 分、秒、星期

*超低功耗的设计,工作电流低于 1 微安,当系统上电时自动切换到使用电 源供电,系统掉电使用电池供电

*系统有一个 20byte 的备份寄存器专门用来备份定时器的电源(不甚明白) *专用的极低功耗 32KHZ 振荡器 *专用的电源接入引脚 Vbat

*RTC 的电源与单片机的其他部件隔离开来

*标准的计数器是 RTC 的精度比正负 1 秒/每天都要精确

*时间寄存器的计数增加将会周期性的触发中断产生 *可以设置报警时间(即相当于设置一个闹钟) 三、描述

当系统处于上电的时候,可以给 RTC 设置一个时钟计数基准,RTC 就会按 照这个基准进行工作,系统掉电的时候亦然。当没有 CPU 来获取数据的时候, RTC 处于极低功耗工作,尤其是在省电模式下。LPC1788 中 RTC 是通过外部 的 32KHZ 晶振产生内部 1HZ 的时钟参考进行准确工作的。它通过独立的引脚 供电,既可以在掉电的时候使用电池,又可以在上电的时候使用外部的 3.3V 电源

四、框图描述

这是 RTC 电源作用的一个框图,从这个图我们清晰的看出 RTC 有一个电源 选择器,选择使用的电源。同时有一个 backupregister 这个寄存器,这个寄存器 作用是什么目前我还不清楚

这是 RTC 的一个功能框图,从功能图上我们获知这里有三个寄存器,一个 Alarm Register,用于设置警告中断的界限值,一个是 Time Register,用于存放 RTC 的时间值,还有一个是 Calibration Register(CIIR 增量中断寄存器),用于 产生计数的中断五、PIN 脚说明在前一篇已经说过 pin 脚的含义,这里就不赘 述了六、寄存器描述 1、RTC 中断 2、各种寄存器组(1)ILR(2)CCR(3) CIIR(4)AMR(5)RTC_AUX3、时间寄存器(1)CTIME0(2)

CTIME1(3)CTIME24、计数组(1)跳年计算(2)标准寄存器 5、明确的工 序 6、通用寄存器 7、警告寄存器组七、RTC 使用要点感觉之前看的说明书走 了很大的弯路,因为说明书有 1000 多页所以不可能在这几天的熟悉单片机的 时候读完,但是里面的内容又是互相牵连的,这个时候要求我们要学会阅读说 明书,在读 datasheet 的时候一定要看目录,找好大的方向,然后一直看到这个 知识点结束,这样才能很好的理解自己的所需。tips:感谢大家的阅读,本文由

我司收集整编。仅供参阅!