基于MSP430F11X的低功耗低成本實(shí)時(shí)時(shí)鐘
前言
本文引用地址:http://cafeforensic.com/article/172017.htm實(shí)時(shí)時(shí)鐘(RTC)可應(yīng)用于多種領(lǐng)域--從鐘表到時(shí)間標(biāo)記事件,甚至到產(chǎn)生事件。對(duì)于通信工程、電力自動(dòng)化、工業(yè)控制等自動(dòng)化程度高的領(lǐng)域大多數(shù)情況下很多設(shè)備都處于無(wú)人值守的情況,都希望能把故障發(fā)生的時(shí)間和相關(guān)信息記錄下來(lái),以便具體分析。目前市面上有很多專用RTC器件,這些器件往往靈活性差,系統(tǒng)集成度低。而MSP430F11X系列單片機(jī)具有低成本、低電流損耗、使用靈活簡(jiǎn)單及擴(kuò)展性好等優(yōu)點(diǎn),使之成為專用RTC器件在某些特殊場(chǎng)合的理想替代品。
本系統(tǒng)采用了TI公司超低功耗16位微處理器--MSP430F111,具有極低功耗特性、極強(qiáng)的抗干擾能力和極高的性價(jià)比。整個(gè)系統(tǒng)僅用兩個(gè)普通電池(工作電壓為3V)就可以長(zhǎng)期工作,無(wú)需其他電源,大大拓寬了應(yīng)用范圍。
系統(tǒng)工作原理和實(shí)現(xiàn)
本系統(tǒng)的主要難點(diǎn)在于如何產(chǎn)生一個(gè)穩(wěn)定的系統(tǒng)時(shí)鐘。所有MSP430器件既包含一個(gè)數(shù)字控制的RC型振蕩器,又包含一個(gè)晶體振蕩器。一般RC型振蕩器用于 CPU時(shí)鐘,而晶體振蕩器則用于外圍器件。在實(shí)時(shí)時(shí)鐘的應(yīng)用中,晶體振蕩器可作為用作時(shí)基的定時(shí)器/計(jì)數(shù)器的時(shí)鐘源。因此,不存在對(duì)RC型振蕩器很普遍的不穩(wěn)定問(wèn)題。
將MSP430制作成RTC的過(guò)程很簡(jiǎn)單,包括一個(gè)定時(shí)器/計(jì)數(shù)器提供1s的中斷以及一個(gè)小型CPU子程序來(lái)計(jì)算中斷。在中斷之間,CPU可以處于休眠狀態(tài)或執(zhí)行其他功能。實(shí)際操作過(guò)程中還應(yīng)包括一個(gè)用于主機(jī)處理器從MSP430 RTC中抽取時(shí)間的接口子程序,以及其他系統(tǒng)功能,如電池監(jiān)控、系統(tǒng)監(jiān)控、通訊接口等。
MSP430F111是MSP430F11X系列中的一個(gè)很簡(jiǎn)單、價(jià)格也很便宜的器件,具有14個(gè)通用I/O引腳、2個(gè)16位定時(shí)器、2KB 閃速存儲(chǔ)器、128B RAM和基本時(shí)鐘模塊。
時(shí)鐘的產(chǎn)生
RTC中采用在LF工作方式下具有32768Hz晶振的LFXT1振蕩器來(lái)產(chǎn)生時(shí)鐘。LFXT1振蕩器的輸出用于提供ACLK,然后ACLK則用作定時(shí)器/計(jì)數(shù)器的時(shí)鐘源,而定時(shí)器/計(jì)數(shù)器用作RTC的時(shí)基。
DCO產(chǎn)生CPU時(shí)鐘MCLK。實(shí)際上CPU和外圍器件定時(shí)器/計(jì)數(shù)器異步運(yùn)行。只要CPU能在下一個(gè)中斷到達(dá)之前計(jì)算每個(gè)來(lái)自定時(shí)器/計(jì)數(shù)器的中斷,RTC的精度就不受影響。
定時(shí)器/計(jì)數(shù)器的選擇
MSP430F111 包含2個(gè)定時(shí)器:看門狗定時(shí)器和定時(shí)器A。定時(shí)器A用作時(shí)基,設(shè)計(jì)成能連續(xù)計(jì)數(shù)并每隔1s時(shí)間提供一次中斷。由于定時(shí)器A用ACLK作為自己的時(shí)鐘源,而 ACLK的工作晶振頻率精確為32768Hz,所以定時(shí)器A可簡(jiǎn)單的計(jì)數(shù)到32768,然后開(kāi)始翻轉(zhuǎn)到0,每次數(shù)到32768時(shí)便給出一個(gè)中斷。而CPU 則可簡(jiǎn)單的計(jì)算來(lái)自定時(shí)器A的中斷。
外部接口
因?yàn)楝F(xiàn)在可以方便的得到各種RTC的接口,其中絕大部分可以應(yīng)用于 MSP430,如I2C、并行接口、UART及串行接口等。TI有現(xiàn)成的程序代碼模塊以實(shí)現(xiàn)與 MSP430的接口,并易于集成。這樣,建立一個(gè)基于MSP430的完整RTC就成為一件簡(jiǎn)單的事,即選擇一個(gè)接口。
電路描述
圖1為RTC的電路圖,此處唯一需要的外部元件是32768Hz的晶體。
圖1 RTC的電路圖
電流損耗
MSP430F111 在正常工作方式下(3V,1MHz)的典型電流消耗是330μA。而在低功耗方式(休眠方式)下的典型電流損耗為1.5μA(3V)。器件從低功耗方式下喚醒的時(shí)間小于6μs,并且時(shí)鐘程序大約可在130μs內(nèi)執(zhí)行。由于極低的電流消耗以及處于有效方式的時(shí)間極短,采用'F111作為一個(gè)RTC僅消耗極少的電流,因此其電池壽命最長(zhǎng)。
晶體的精度和選擇
RTC的精度僅取決于為晶體振蕩器而選擇的晶體的精度。我們可以根據(jù)自己期望的精度而購(gòu)買適當(dāng)?shù)木w。
晶體的精度主要受下面兩個(gè)因素影響:晶體的頻率容限和指定的負(fù)載電容。
晶體的容限是很顯而易見(jiàn)的。晶體頻率的容限越小,RTC的精度越高。
評(píng)論