基于LPC2131的實(shí)時(shí)時(shí)鐘控制設計
摘要:實(shí)時(shí)時(shí)鐘在工業(yè)系統中具有良好的應用前景。本系統以微控制器LPC2131為核心控制器,控制內部實(shí)時(shí)時(shí)鐘,實(shí)現對秒、分、小時(shí)等各個(gè)時(shí)間寄存器的準確操作,通過(guò)串口將采集到的數據發(fā)送到上位機。本文詳細給出硬件設計總體框圖、設計原理和軟件實(shí)現的方法,得出了實(shí)驗結果。這種實(shí)時(shí)時(shí)鐘的控制方法,很容易應用到現代工業(yè)以及各種智能化應用系統中。
關(guān)鍵詞:LPC2131;實(shí)時(shí)時(shí)鐘;串口
引言
嵌入式技術(shù)是當前發(fā)展速度最快、應用最廣、前景最好的信息技術(shù)領(lǐng)域之一。目前,社會(huì )上嵌入式系統人才短缺的現狀給各大高校帶來(lái)了契機,很多高校的電子信息工程專(zhuān)業(yè)都開(kāi)設了相關(guān)的嵌入式課程。嵌入式系統主要由兩部分組成:一是硬件,二是軟件。本設計是基于32位ARM7TDMI-S核的LPC2131微控制器,內部帶有獨立電源和時(shí)鐘源的實(shí)時(shí)時(shí)鐘,在節電模式下極大地降低了功耗。通過(guò)硬件和軟件的結合操作,實(shí)現了對內部各個(gè)時(shí)間寄存器的秒、分、小時(shí)、日、月、年和星期的控制,能夠將采集到各個(gè)時(shí)間數據通過(guò)串口發(fā)送到上位機上,達到實(shí)時(shí)系統的顯示功能。此設計便于形成專(zhuān)用的時(shí)鐘控制的嵌入式裝置,也能夠嵌入到各種智能化應用系統中。
1 系統工作原理
該系統主要基于LPC2131為核心的主控電路,由JTAG下載模塊、外部時(shí)鐘源模塊、ARM7微控制器模塊、串口通信模塊(RS-232)等電路組成。LPC2131微控制器內部帶有實(shí)時(shí)時(shí)鐘模塊,可以由外部獨立的時(shí)鐘振蕩器來(lái)提供時(shí)鐘源或由基于內部VPB時(shí)鐘的可編程預分頻器來(lái)提供時(shí)鐘源,達到對時(shí)鐘寄存器秒、分、小時(shí)、日、月、年和星期的控制。同時(shí)將控制的數據通過(guò)串口與PC機通信,來(lái)實(shí)現結果,將數據顯示在PC機上。
1.1 實(shí)時(shí)時(shí)鐘內部結構介紹
LPC2131內部實(shí)時(shí)時(shí)鐘結構框圖如圖1所示。實(shí)時(shí)時(shí)鐘包含混合寄存器、時(shí)間寄存器、時(shí)間計數器、報警寄存器和預分頻器等。其中,混合寄存器包括:中斷位置寄存器(ILR)、時(shí)鐘節拍計數器(CTC)、時(shí)鐘控制寄存器(CCR)、計數器遞增中斷寄存器(CIIR)、報警屏蔽寄存器(A-MR);時(shí)間計數器包括:秒寄存器(SEC)、分寄存器(MIN)、小時(shí)寄存器(HOUR)、日期寄存器(DOM)、星期寄存器(DOW)、年寄存器(DOY)、月寄存器(MONTH)、年寄存器(YEAR);時(shí)間寄存器組包括:完整時(shí)間寄存器0(CTIME0)、完整時(shí)間寄存器1(CTIME1)、完整時(shí)間寄存器2(CTIME2);報警寄存器包括:秒報警值(ALSEC)、分報警值(ALMIN)、小時(shí)報警值(ALHOUR)、日期報警值(ALDOM)、星期報警值(ALDOW)、月報警值(ALM-ON)、年報警值(ALYEAR);預分頻器包括:預分頻值整數部分(PREINT)、預分頻值小數部分(PREFRAC)。
1.2 實(shí)時(shí)時(shí)鐘的基本操作
首先,設置時(shí)鐘控制寄存器(CCR)可以選擇RTC的計數時(shí)鐘,可以由外部振蕩器32.768 kHz提供或內部Fpclk分頻得到。當使用Fpclk作為時(shí)鐘源時(shí),它的基準時(shí)鐘分頻器允許調節任何頻率高于65.536 kHz的外設時(shí)鐘源產(chǎn)生一個(gè)32.768 kHz的基準時(shí)鐘,實(shí)現準確計時(shí)操作。
其次,如果CCR選擇內部時(shí)鐘源,則設置RTC基準時(shí)鐘分頻器(PREINT、PREFRAC),如果選擇外部32.768kHz就不必設置預分頻寄存器的值,預分頻寄存器值的計數如下:
接著(zhù)初始化實(shí)時(shí)時(shí)鐘(RTC)的各個(gè)時(shí)鐘值,如YEAR、MONTH、DOM等,報警中斷設置,如CIIR、AMR等,然后啟動(dòng)RTC,即CCR的CLKEN位置位,讀取完整的時(shí)間寄存器值。在此過(guò)程中時(shí)鐘節拍計數器(CTC)是一個(gè)15位計數器,每秒計數32 768個(gè)時(shí)鐘,當有CTC秒進(jìn)位時(shí),完整時(shí)間CTIME0~CTIME2、RTC時(shí)間寄存器(如SEC、MIN)將會(huì )更新。實(shí)時(shí)時(shí)鐘中斷有兩種:一種增量中斷,由CIIR控制;另一種為報警中斷。本設計使用的是增量中斷。
最后將串口初始化,設置串口的波特率、數據位、停止位、校驗位等,將串口與上位機連接,將串口采集到的時(shí)間寄存器變化的時(shí)間值發(fā)送到上位機上顯示,得到對實(shí)時(shí)時(shí)鐘的控制結果。
評論