基于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控制;另一種為報警中斷。本設計使用的是增量中斷。
最后將串口初始化,設置串口的波特率、數據位、停止位、校驗位等,將串口與上位機連接,將串口采集到的時間寄存器變化的時間值發送到上位機上顯示,得到對實時時鐘的控制結果。
評論