基于LPC2131的实时时钟控制设计
摘要:实时时钟在工业系统中具有良好的应用前景。本系统以微控制器LPC2131为核心控制器,控制内部实时时钟,实现对秒、分、小时等各个时间寄存器的准确操作,通过串口将采集到的数据发送到上位机。本文详细给出硬件设计总体框图、设计原理和软件实现的方法,得出了实验结果。这种实时时钟的控制方法,很容易应用到现代工业以及各种智能化应用系统中。
关键词:LPC2131;实时时钟;串口
引言
嵌入式技术是当前发展速度最快、应用最广、前景最好的信息技术领域之一。目前,社会上嵌入式系统人才短缺的现状给各大高校带来了契机,很多高校的电子信息工程专业都开设了相关的嵌入式课程。嵌入式系统主要由两部分组成:一是硬件,二是软件。本设计是基于32位ARM7TDMI-S核的LPC2131微控制器,内部带有独立电源和时钟源的实时时钟,在节电模式下极大地降低了功耗。通过硬件和软件的结合操作,实现了对内部各个时间寄存器的秒、分、小时、日、月、年和星期的控制,能够将采集到各个时间数据通过串口发送到上位机上,达到实时系统的显示功能。此设计便于形成专用的时钟控制的嵌入式装置,也能够嵌入到各种智能化应用系统中。
1 系统工作原理
该系统主要基于LPC2131为核心的主控电路,由JTAG下载模块、外部时钟源模块、ARM7微控制器模块、串口通信模块(RS-232)等电路组成。LPC2131微控制器内部带有实时时钟模块,可以由外部独立的时钟振荡器来提供时钟源或由基于内部VPB时钟的可编程预分频器来提供时钟源,达到对时钟寄存器秒、分、小时、日、月、年和星期的控制。同时将控制的数据通过串口与PC机通信,来实现结果,将数据显示在PC机上。
1.1 实时时钟内部结构介绍
LPC2131内部实时时钟结构框图如图1所示。实时时钟包含混合寄存器、时间寄存器、时间计数器、报警寄存器和预分频器等。其中,混合寄存器包括:中断位置寄存器(ILR)、时钟节拍计数器(CTC)、时钟控制寄存器(CCR)、计数器递增中断寄存器(CIIR)、报警屏蔽寄存器(A-MR);时间计数器包括:秒寄存器(SEC)、分寄存器(MIN)、小时寄存器(HOUR)、日期寄存器(DOM)、星期寄存器(DOW)、年寄存器(DOY)、月寄存器(MONTH)、年寄存器(YEAR);时间寄存器组包括:完整时间寄存器0(CTIME0)、完整时间寄存器1(CTIME1)、完整时间寄存器2(CTIME2);报警寄存器包括:秒报警值(ALSEC)、分报警值(ALMIN)、小时报警值(ALHOUR)、日期报警值(ALDOM)、星期报警值(ALDOW)、月报警值(ALM-ON)、年报警值(ALYEAR);预分频器包括:预分频值整数部分(PREINT)、预分频值小数部分(PREFRAC)。
1.2 实时时钟的基本操作
首先,设置时钟控制寄存器(CCR)可以选择RTC的计数时钟,可以由外部振荡器32.768 kHz提供或内部Fpclk分频得到。当使用Fpclk作为时钟源时,它的基准时钟分频器允许调节任何频率高于65.536 kHz的外设时钟源产生一个32.768 kHz的基准时钟,实现准确计时操作。
其次,如果CCR选择内部时钟源,则设置RTC基准时钟分频器(PREINT、PREFRAC),如果选择外部32.768kHz就不必设置预分频寄存器的值,预分频寄存器值的计数如下:
接着初始化实时时钟(RTC)的各个时钟值,如YEAR、MONTH、DOM等,报警中断设置,如CIIR、AMR等,然后启动RTC,即CCR的CLKEN位置位,读取完整的时间寄存器值。在此过程中时钟节拍计数器(CTC)是一个15位计数器,每秒计数32 768个时钟,当有CTC秒进位时,完整时间CTIME0~CTIME2、RTC时间寄存器(如SEC、MIN)将会更新。实时时钟中断有两种:一种增量中断,由CIIR控制;另一种为报警中断。本设计使用的是增量中断。
最后将串口初始化,设置串口的波特率、数据位、停止位、校验位等,将串口与上位机连接,将串口采集到的时间寄存器变化的时间值发送到上位机上显示,得到对实时时钟的控制结果。
加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW
或用微信扫描左侧二维码