續(xù) 蕾
(遼寧對外經(jīng)貿(mào)學(xué)院 信息技術(shù)系,大連 116052)
隨著以手機、數(shù)碼相機、機頂盒(STB)、MOBTV、PDA、MP4和IPTV等為代表的嵌入式系統(tǒng)新產(chǎn)品不斷問世,嵌入式系統(tǒng)已成為了IT業(yè)的一個焦點。而相當(dāng)數(shù)量的嵌入式系統(tǒng)對實時性要求很高,因此實時性也成為了評價一個嵌入式系統(tǒng)優(yōu)劣的重要標(biāo)準(zhǔn)。那么對于一個嵌入式系統(tǒng)的實時性起著至關(guān)重要作用的實時時鐘的性能也越來越被人們重視起來。
嵌入式系統(tǒng)依托微電子技術(shù)、操作系統(tǒng)等相關(guān)技術(shù)的快速發(fā)展,目前已經(jīng)滲透到日常生活、工業(yè)生產(chǎn)、通信和交通運輸工具等眾多領(lǐng)域,極大地推動了信息社會的構(gòu)建和發(fā)展。嵌入式系統(tǒng)技術(shù)涵蓋了計算機、電子與通信、自動控制等眾多領(lǐng)域,已經(jīng)成為相關(guān)領(lǐng)域研究、應(yīng)用和開發(fā)專業(yè)技術(shù)人員必須掌握的重要技術(shù)之一。
提到微處理器大家都會想到Intel公司和AMD公司的產(chǎn)品,但在當(dāng)今嵌入式系統(tǒng)應(yīng)用中還有一個同樣響亮的名字ARM微處理器,它是一種RISC架構(gòu)下嵌入式系統(tǒng)的核心部件,被廣泛的應(yīng)用到工業(yè)控制、無線通訊、消費類電子產(chǎn)品等很多領(lǐng)域。ARM(Advanced RISC Machines),既可以認(rèn)為是一個公司的名字,也可以認(rèn)為是對一類微處理器的通稱,還可以認(rèn)為是一種技術(shù)的名字。ARM公司成立于1990年11月,全稱是“Advanced RISC Machines Ltd.”,它是由英國Acorn公司提供技術(shù)和12名工程師、美國蘋果電腦和VLSI Technology出資合手組建的美英混血公司。是微處理器行業(yè)的一家知名企業(yè),設(shè)計了大量高性能、廉價、耗能低的RISC處理器、相關(guān)技術(shù)及軟件。技術(shù)具有性能高、成本低和能耗省的特點。適用于多種領(lǐng)域,比如嵌入控制、消費/教育類多媒體、DSP和移動式應(yīng)用等。
隨著更多應(yīng)用在嵌入式系統(tǒng)中的實現(xiàn),嵌入式系統(tǒng)設(shè)計向著更高級、更復(fù)雜的方向發(fā)展。作為32位結(jié)構(gòu)體系中的佼佼者,ARM在各種領(lǐng)域里得到了極其廣泛的應(yīng)用。而ARM9系列微處理器在高性能和低功效方面提供了最佳性能。目前,ARM9系列微處理器主要用于無線設(shè)備、儀器儀表、安全系統(tǒng)、機頂盒、數(shù)碼相機和攝像機等。
S3C2440A 微處理器是一款由Samsung公司為手持設(shè)備設(shè)計的低功耗、高度集成的微處理器,內(nèi)含一個ARM920T 內(nèi)核,0.13μm CMOS標(biāo)準(zhǔn)宏單元和存儲單元。它的低功耗、精簡和出色的全靜音設(shè)計特別適用于對成本和功耗敏感的應(yīng)用。同樣,它還采用了AMBA(Advanced Microcontroller Bus Architecture)的總線結(jié)構(gòu)。S3C2440A的顯著特性是它的CPU核心,是一個16/32位ARM920T RISC處理器。ARM920T實現(xiàn)了MMU、AMBA BUS和Harvard高速緩沖體系結(jié)構(gòu)。通過提供一系列完整的系統(tǒng)外圍設(shè)備,S3C2440A大大減少了整個系統(tǒng)的成本,消除了為系統(tǒng)系統(tǒng)配置額外器件的需要。
S3C2440A的片內(nèi)外圍:1個LCD控制器(支持STN和TFT帶有觸摸屏的液晶顯示器)、SDRAM控制器、3個通道的UART、4個通道的DMA、 4個具有PWM功能的計時器和1個內(nèi)部時鐘、 8通道的10位ADC、觸摸屏接口、I*2C總線接口、 1個USB主機接口,1個USB設(shè)備接口、 2個SPI接口SD接口和MMC卡接口、117位通用I/O口和24位外部中斷源、8通道10位AD控制器,ADC語音輸入接口AC97,攝像頭的接口Camera interface。
在時鐘方面S3C2440A也有突出的特點,該芯片集成了一個具有日歷功能的RTC和具有PLL(MPLL和UPLL)的芯片時鐘發(fā)生器。MPLL產(chǎn)生主時鐘,能夠使處理器工作頻率最高達(dá)到203MHz。這個工作頻率能夠使處理器輕松運行于Windows CE,Linux等操作系統(tǒng)以及進(jìn)行較為復(fù)雜的信息處理。UPLL產(chǎn)生實現(xiàn)主從USB功能的時鐘。
實時系統(tǒng)是系統(tǒng)運行時的反饋信息或者指令,必須在要求的時間內(nèi)發(fā)出或者返回,否則視為無效。例如,數(shù)據(jù)采集的時候,必須在對應(yīng)的時間內(nèi)得到信號,以保證數(shù)據(jù)采集的有效性。實時時鐘是采用獨立的晶振(或集成),擁有獨立供電系統(tǒng),永不間斷的運行,從而給系統(tǒng)提供可靠的系統(tǒng)時間。
在一個嵌入式系統(tǒng)中,實時時鐘單元可以提供可靠的時鐘,包括分秒和年月日。即使在系統(tǒng)處于關(guān)機狀態(tài)下,它也能正常工作,它的外圍也不需要太多的電路,典型的就是只需要一個高精度的晶振。實時時鐘的基本功能是保持跟蹤時間和日期等信息,但許多RTC還提供有多種附加功能,如:看門狗定時器、系統(tǒng)復(fù)位、非易失存儲器(NVRAM)、序列號、方波輸出、涓流充電等。
在電路設(shè)計中使用的時鐘格式主要有三種:BCD碼、二進(jìn)制碼、未格式化的二進(jìn)制計數(shù)值。其中BCD碼比較通用,因為它的時間和日期可以直接顯示,且不需要進(jìn)行數(shù)據(jù)轉(zhuǎn)換,每8位寄存器表示一個二位數(shù),對于某些特殊的時間和日期,由于不占用全部8位數(shù)據(jù),因此,不用的位可以充當(dāng)一些特殊功能(如用作讀/寫位),也可以在硬件讀取時始終保持固定狀態(tài)(1或0)。二進(jìn)制碼格式與BCD碼一樣具有獨立的秒、分鐘、小時、星期、日、月、年寄存器,在一些提供BCD碼格式的RTC中,常常也提供可選擇的二進(jìn)制碼格式。時間和日期寄存器每秒鐘更新一次,日期循環(huán)與月、年有關(guān)。星期寄存器與其它寄存器的變化關(guān)系不大,在子夜更新數(shù)據(jù),數(shù)據(jù)從7至1循環(huán)變化,程序中可以用1表示任何一個特定的星期數(shù),只要在整個程序中指定數(shù)值保持一致即可。在12小時制與24小時制或BCD碼與二進(jìn)制碼之間進(jìn)行轉(zhuǎn)換時,時間、日期、鬧鐘寄存器需要重新進(jìn)行初始化。二進(jìn)制計數(shù)碼用一個多字節(jié)(一般為32位)寄存器來存儲時間信息,時間信息用一個秒計數(shù)值表示,并可通過軟件將秒計數(shù)值轉(zhuǎn)換為合理的時間和日期。
S3C2440A的實時時鐘單元,時鐘數(shù)據(jù)采用BCD碼,能夠?qū)﹂c年的年月日進(jìn)行自動處理而且具有告警功能,當(dāng)系統(tǒng)處于關(guān)機狀態(tài)時,能產(chǎn)生告警中斷。具有獨立的電源輸入,提供毫秒級時鐘中斷,該中斷可用作嵌入式系統(tǒng)操作系統(tǒng)的內(nèi)核時鐘。S3C2440A的實時時鐘寄存器有控制寄存器、告警控制寄存器、實時時鐘計數(shù)器、告警時間寄存器。
S3C2440A的實時時鐘主要功能:
1)時鐘滴答功能
設(shè)置TICK的周期,rTICT=0x7F│0x80;計算公式:T=(1+0X7F)/128s。
注冊中斷服務(wù)例程。使用install_isr_handler(HaandleRTC,(void*)rtc_int_isr)將中斷服務(wù)例程的地址填寫到中斷地址表中。rtc_int_isr的函數(shù)為RTC TIMETICK 的處理例程。
輸入當(dāng)前時間,并通過串口顯示時間的運行情況。設(shè)置當(dāng)前時間,即向各個寄存器賦初值。
每個1s讀取一下時鐘數(shù)據(jù),并通過串口顯示數(shù)據(jù)。
2)時間告警功能
模式0x41表示RTC告警,以及秒時鐘告警。注冊中斷例程,打開中斷。
程序使用中斷方式處理TIME TICK以及告警,同時需要正確設(shè)置中斷的工作方式。讀取的時鐘數(shù)據(jù)格式是BCD碼;在輸入初始時間時也用BCD碼的格式輸入。
程序編寫包括三步,第一步是時鐘初始化,第二步把嵌入式系統(tǒng)投入運行時要將當(dāng)前準(zhǔn)確時間寫入RTC,俗稱效表;第三步是系統(tǒng)正常運行后,讀取RTC時間在LCD上顯示。
嵌入式系統(tǒng)投入運行時將當(dāng)前準(zhǔn)確時間寫入RTC的程序代碼:
void RTC_Time_Set( U8 wRTCyear,U8 wRTCmon,U8 wRTCdate,U8 wRTCday,U8 wRTChour,U8 wRTCmin,U8 wRTCsec )//時間設(shè)置函數(shù)
本文通過對嵌入式系統(tǒng)的分析,及Samsung公司ARM9處理器S3C2440A芯片實時時鐘結(jié)構(gòu)功能的研究。采用S3C2440A中提供的RTC時間節(jié)拍中斷,讓它在規(guī)定時間中斷一次,每次中斷讀取時間,刷新一次實時時鐘,實現(xiàn)RTC的實時控制。并通過應(yīng)用程序的編寫充分利用S3C2440A芯片實時時鐘單元資源,提高了整個系統(tǒng)的性能,為在需要時鐘作為參考的工作環(huán)境提供了便利。
[1] 肖俐平,孫巖.基于ARM的嵌入式系統(tǒng)組網(wǎng)設(shè)計與實[J].測控技術(shù).2007.
[2] 閔華松,魏洪興.嵌入式系統(tǒng)在電子信息類專業(yè)教學(xué)中的推廣[J].單片機與嵌入式系統(tǒng)應(yīng)用.2010.
[3] 周劍玲,梁秀榮.基于GPRS網(wǎng)絡(luò)的嵌入式系統(tǒng)的研究[J],微計算機信息.2009.