《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計 > 設(shè)計應(yīng)用 > 基于LPC2131的實時時鐘控制設(shè)計
基于LPC2131的實時時鐘控制設(shè)計
吳懷明,,童子權(quán) 哈爾濱理工大學
摘要: 實時時鐘在工業(yè)系統(tǒng)中具有良好的應(yīng)用前景,。本系統(tǒng)以微控制器LPC2131為核心控制器,,控制內(nèi)部實時時鐘,,實現(xiàn)對秒,、分,、小時等各個時間寄存器的準確操作,,通過串口將采集到的數(shù)據(jù)發(fā)送到上位機,。本文詳細給出硬件設(shè)計總體框圖,、設(shè)計原理和軟件實現(xiàn)的方法,得出了實驗結(jié)果,。這種實時時鐘的控制方法,,很容易應(yīng)用到現(xiàn)代工業(yè)以及各種智能化應(yīng)用系統(tǒng)中。
Abstract:
Key words :

引言
    嵌入式技術(shù)是當前發(fā)展速度最快,、應(yīng)用最廣、前景最好的信息技術(shù)領(lǐng)域之一,。目前,,社會上嵌入式系統(tǒng)人才短缺的現(xiàn)狀給各大高校帶來了契機,很多高校的電子信息工程專業(yè)都開設(shè)了相關(guān)的嵌入式課程,。嵌入式系統(tǒng)主要由兩部分組成:一是硬件,,二是軟件。本設(shè)計是基于32位ARM7TDMI-S核的LPC2131微控制器,,內(nèi)部帶有獨立電源和時鐘源的實時時鐘,,在節(jié)電模式下極大地降低了功耗。通過硬件和軟件的結(jié)合操作,,實現(xiàn)了對內(nèi)部各個時間寄存器的秒,、分、小時,、日,、月、年和星期的控制,,能夠?qū)⒉杉礁鱾€時間數(shù)據(jù)通過串口發(fā)送到上位機上,,達到實時系統(tǒng)的顯示功能。此設(shè)計便于形成專用的時鐘控制的嵌入式裝置,,也能夠嵌入到各種智能化應(yīng)用系統(tǒng)中,。

1 系統(tǒng)工作原理
    該系統(tǒng)主要基于LPC2131為核心的主控電路,由JTAG下載模塊、外部時鐘源模塊,、ARM7微控制器模塊,、串口通信模塊(RS-232)等電路組成。LPC2131微控制器內(nèi)部帶有實時時鐘模塊,,可以由外部獨立的時鐘振蕩器來提供時鐘源或由基于內(nèi)部VPB時鐘的可編程預分頻器來提供時鐘源,,達到對時鐘寄存器秒、分,、小時,、日、月,、年和星期的控制,。同時將控制的數(shù)據(jù)通過串口與PC機通信,來實現(xiàn)結(jié)果,,將數(shù)據(jù)顯示在PC機上,。
1.1 實時時鐘內(nèi)部結(jié)構(gòu)介紹
    LPC2131內(nèi)部實時時鐘結(jié)構(gòu)框圖如圖1所示。實時時鐘包含混合寄存器,、時間寄存器,、時間計數(shù)器、報警寄存器和預分頻器等,。其中,,混合寄存器包括:中斷位置寄存器(ILR)、時鐘節(jié)拍計數(shù)器(CTC),、時鐘控制寄存器(CCR),、計數(shù)器遞增中斷寄存器(CIIR)、報警屏蔽寄存器(A-MR),;時間計數(shù)器包括:秒寄存器(SEC),、分寄存器(MIN)、小時寄存器(HOUR),、日期寄存器(DOM),、星期寄存器(DOW)、年寄存器(DOY),、月寄存器(MONTH),、年寄存器(YEAR);時間寄存器組包括:完整時間寄存器0(CTIME0),、完整時間寄存器1(CTIME1),、完整時間寄存器2(CTIME2);報警寄存器包括:秒報警值(ALSEC),、分報警值(ALMIN),、小時報警值(ALHOUR),、日期報警值(ALDOM)、星期報警值(ALDOW),、月報警值(ALM-ON),、年報警值(ALYEAR);預分頻器包括:預分頻值整數(shù)部分(PREINT),、預分頻值小數(shù)部分(PREFRAC),。

a.jpg


1.2 實時時鐘的基本操作
    首先,設(shè)置時鐘控制寄存器(CCR)可以選擇RTC的計數(shù)時鐘,,可以由外部振蕩器32.768 kHz提供或內(nèi)部Fpclk分頻得到,。當使用Fpclk作為時鐘源時,它的基準時鐘分頻器允許調(diào)節(jié)任何頻率高于65.536 kHz的外設(shè)時鐘源產(chǎn)生一個32.768 kHz的基準時鐘,,實現(xiàn)準確計時操作。
    其次,,如果CCR選擇內(nèi)部時鐘源,,則設(shè)置RTC基準時鐘分頻器(PREINT、PREFRAC),,如果選擇外部32.768kHz就不必設(shè)置預分頻寄存器的值,,預分頻寄存器值的計數(shù)如下:
    b.jpg
    接著初始化實時時鐘(RTC)的各個時鐘值,如YEAR,、MONTH,、DOM等,報警中斷設(shè)置,,如CIIR,、AMR等,然后啟動RTC,,即CCR的CLKEN位置位,,讀取完整的時間寄存器值。在此過程中時鐘節(jié)拍計數(shù)器(CTC)是一個15位計數(shù)器,,每秒計數(shù)32 768個時鐘,,當有CTC秒進位時,完整時間CTIME0~CTIME2,、RTC時間寄存器(如SEC,、MIN)將會更新。實時時鐘中斷有兩種:一種增量中斷,,由CIIR控制,;另一種為報警中斷。本設(shè)計使用的是增量中斷,。
    最后將串口初始化,,設(shè)置串口的波特率,、數(shù)據(jù)位、停止位,、校驗位等,,將串口與上位機連接,將串口采集到的時間寄存器變化的時間值發(fā)送到上位機上顯示,,得到對實時時鐘的控制結(jié)果,。
1.3 寄存器的功能介紹
    時鐘控制寄存器(CCR)是一個5位寄存器,控制時鐘電路的分頻操作,。計數(shù)器增量中斷寄存器(CIIR):可以使計數(shù)器每次增加時產(chǎn)生一次中斷,,在中斷位置寄存器的位0(ILR[0])寫入1之前,該中斷一直保持有效,。完整時間寄存器0(CTIME0)和完整時間寄存器1(CTIME1):
CTIME0包括秒,、分、小時,、和星期,,CTIME1包括日期、月和年,。具體寄存器描述略——編者注,。
    預分頻整數(shù)寄存器(PREINT):預分頻的整數(shù)部分。預分頻整數(shù)部分計算如下:
    c.jpg
    預分頻小數(shù)寄存器(PREFRAC):預分頻的小數(shù)部分,。預分頻小數(shù)部分計算如下:
    d.jpg

2 系統(tǒng)硬件設(shè)計
2.1 系統(tǒng)的硬件結(jié)構(gòu)
    該系統(tǒng)對ARM7微控制器LPC2131的實時時鐘模塊的各個寄存器控制,,來達到對時鐘的精確控制。該系統(tǒng)的硬件結(jié)構(gòu)圖,,如圖2所示,。包括復位電路模塊、JTAG下載模塊,、通信模塊(RS-232),、ARM7微控制器模塊及外部振蕩電路模塊。

2.2 系統(tǒng)的硬件原理圖
    復位電路如圖3所示,,采用復位芯片SP708S,,可以大大提高MCU的復位性能。通過確定的電壓值(閾值)啟動復位操作,,同時排除瞬間干擾的影響,,又防MCU在電源啟動和關(guān)閉期間的誤操作,保證數(shù)據(jù)安全,。用阻容復位穩(wěn)定性差,,常常有按了復位鍵沒反應(yīng),要按一段時間才能復位的經(jīng)歷,,容易復位不成功,。

    JTAG下載電路如圖4所示,,采用20引腳的JTAG口,使用下載工具J-LINK,,由軟件MDK將從PC機通過J-LINK,,下載到LPC2131里。

g.jpg


    串口通信電路如圖5所示,,采用串口芯片MAX3232,,將MAX3232與LPC2131連接起來,實現(xiàn)上位機與下位機數(shù)據(jù)通信,。

h.jpg


    ARM7微控制器模塊及外部振蕩電路的系統(tǒng)時鐘源晶振為11.059 2 MHz,,實時時鐘的晶振為32.768 kHz。電路圖略——編者注,。

3 系統(tǒng)軟件設(shè)計
3.1 程序流程
    本系統(tǒng)采用了高級語言C編寫LPC2131程序,,本程序主要完成對實時時鐘RTC的各個時間寄存器的設(shè)定、顯示以及對串口0的初始化設(shè)定,。然后通過CPU采集實時時鐘的各個時間寄存器變化的數(shù)據(jù),,經(jīng)串口連接到上位機,在上位機上顯示出時間來,。程序流程如圖6所示。

i.jpg


3.2 控制程序
    根據(jù)程序流程,,可將程序分為三大部分:第一部分,,對串口的初始化及串口發(fā)送數(shù)據(jù)的函數(shù)初始化。第二部分,,對實時時鐘的初始化,,來設(shè)置基準時鐘、時,、分,、秒等各個寄存器,將采集到的數(shù)據(jù)通過終端顯示出來,。第三部分,,主函數(shù)部分,將秒增量中斷標志置位,、清楚RTC中斷,,而后循環(huán)地將時間在串口調(diào)試助手上顯示。
j.jpg


k.jpg

4 實驗結(jié)果
    將以上程序在MDK中運行,,下載到LPC2131中,,將串口與PC機連接,設(shè)置好串口調(diào)試助手,,波特率9 600bps,,數(shù)據(jù)位8位,,1個停止位,無校驗位,。得到時間結(jié)果,。

結(jié)語
    本文介紹了基于ARM7TDMI-S核的芯片LPC2131和內(nèi)部的實時時鐘(RTC)的工作原理,設(shè)計了基于實時時鐘與LPC2131的串行通信的采樣系統(tǒng),,將時間顯示在上位機上,。這種時鐘控制系統(tǒng)在現(xiàn)代生產(chǎn)、生活中應(yīng)用廣泛,。在實際應(yīng)用中,,只需根據(jù)本文的基本思想進行適當?shù)囊浦玻纯稍O(shè)計成專用的時鐘控制的嵌入式裝置,,并嵌入到各種智能化應(yīng)用系統(tǒng)中,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。