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