MCU

ADSP-BF533之RTC学习总结A

0
阅读(31429)

RTC的英文全称是Real-Time Clock,翻译过来是实时时钟芯片。现在很多比较高级的微处理器都内置有RTC功能,特别是像ARM、DSP这些芯片,这些芯片的RTC功能一般是由系统时钟或者外部晶振来实现的,系统时钟在每一个cpu周期加一,RTC时钟也跟着计时,从而实现时钟功能,ADSP-BF533处理器也内置有RTC功能。

ADSP-BF53x 处理器的实时时钟(RTC)提供了一个具有当前时间、跑表和报警等功能的稳定的数字表。该RTC的时钟采用ADSP-BF53x 处理器外部的32.768KHz 晶振。RTC 有专用的电源引脚,以使得当处理器其它部分处于低功耗状态时RTC 仍然保持供电和时钟。RTC 提供了数个可编程的中断选择包括以日、时、分、秒计数中断,可编程跑表倒数计数中断,或者已编程的警报时钟中断。

如下图为开发板上RTC外部晶振的连接图,32.768KHz的晶振的两端连接至RTXI和RTXO管脚,这两个连接至内部RTC时钟的时钟输入。

下面再看一下BF533的RTC功能的内部结构图。

从图中红框内部可以看出,32.768KHz的输入时钟频率通过内部分频器成为1Hz信号。具有计数功能的定时器包括4个计数器:一个60秒的计数器、一个60分钟的计数器、一个24小时的计数器和一个32768天的计数器。

另外RTC提供两个报警功能,通过对RTC报警寄存器(RTC_ALARM)的编程而实现。第一个是闹钟的时间,包括小时,分钟和秒。当启用报警中断,RTC将在每天指定的时间产生一个中断,从而实现闹钟功能。第二个报警功能是允许应用程序指定是在哪一天的某个时间报警。当某一天启用报警中断时,RTC将在指定的日期和时间产生一个中断。这两种报警功能可以独立启用或者禁用。

BF533的RTC还提供了秒表功能,它可以作为一个倒数计时器。应用程序可以编程到RTC的秒表计数寄存器(RTC_SWCNT)来实现倒计数功能​​。当秒表中断被允许并且指定的秒数已经过去时,RTC产生一个中断。

BF533的RTC功能应用起来是非常强大的,基本上我们现在的智能手机所具有的时钟功能,它都可以实现,包括时钟、闹钟、秒表和计时器等等,后面我们将继续学习如何实现这些功能。