基于MSP430F11X的低功耗低成本實(shí)時(shí)時(shí)鐘

發(fā)布時(shí)間:2008-1-1 15:09    發(fā)布者:MSP430
摘要:本文詳細介紹了基于MSP430F11X單片機的低功耗低成本實(shí)時(shí)時(shí)鐘的工作原理和軟硬件的具體設計,同時(shí)還給出硬件電路圖、源代碼舉例和精度及實(shí)現方面的詳細說(shuō)明。 前言 實(shí)時(shí)時(shí)鐘(RTC)可應用于多種領(lǐng)域--從鐘表到時(shí)間標記事件,甚至到產(chǎn)生事件。對于通信工程、電力自動(dòng)化、工業(yè)控制等自動(dòng)化程度高的領(lǐng)域大多數情 況下很多設備都處于無(wú)人值守的情況,都希望能把故障發(fā)生的時(shí)間和相關(guān)信息記錄下來(lái),以便具體分析。目前市面上有很多專(zhuān)用RTC器件,這些器件往往靈活性 差,系統集成度低。而MSP430F11X系列單片機具有低成本、低電流損耗、使用靈活簡(jiǎn)單及擴展性好等優(yōu)點(diǎn),使之成為專(zhuān)用RTC器件在某些特殊場(chǎng)合的理 想替代品。 本系統采用了TI公司超低功耗16位微處理器--MSP430F111,具有極低功耗特性、極強的抗干擾能力和極高的性?xún)r(jià)比。整個(gè)系統僅用兩個(gè)普通電池(工作電壓為3V)就可以長(cháng)期工作,無(wú)需其他電源,大大拓寬了應用范圍。 系統工作原理和實(shí)現 本系統的主要難點(diǎn)在于如何產(chǎn)生一個(gè)穩定的系統時(shí)鐘。所有MSP430器件既包含一個(gè)數字控制的RC型振蕩器,又包含一個(gè)晶體振蕩器。一般RC型振蕩 器用于CPU時(shí)鐘,而晶體振蕩器則用于外圍器件。在實(shí)時(shí)時(shí)鐘的應用中,晶體振蕩器可作為用作時(shí)基的定時(shí)器/計數器的時(shí)鐘源。因此,不存在對RC型振蕩器很 普遍的不穩定問(wèn)題。 將MSP430制作成RTC的過(guò)程很簡(jiǎn)單,包括一個(gè)定時(shí)器/計數器提供1s的中斷以及一個(gè)小型CPU子程序來(lái)計算中斷。在中斷之 間,CPU可以處于休眠狀態(tài)或執行其他功能。實(shí)際操作過(guò)程中還應包括一個(gè)用于主機處理器從MSP430 RTC中抽取時(shí)間的接口子程序,以及其他系統功能,如電池監控、系統監控、通訊接口等。 MSP430F111是MSP430F11X系列中的一個(gè)很簡(jiǎn)單、價(jià)格也很便宜的器件,具有14個(gè)通用I/O引腳、2個(gè)16位定時(shí)器、2KB 閃速存儲器、128B RAM和基本時(shí)鐘模塊。 時(shí)鐘的產(chǎn)生 RTC中采用在LF工作方式下具有32768Hz晶振的LFXT1振蕩器來(lái)產(chǎn)生時(shí)鐘。LFXT1振蕩器的輸出用于提供ACLK,然后ACLK則用作定時(shí)器/計數器的時(shí)鐘源,而定時(shí)器/計數器用作RTC的時(shí)基。 DCO產(chǎn)生CPU時(shí)鐘MCLK。實(shí)際上CPU和外圍器件定時(shí)器/計數器異步運行。只要CPU能在下一個(gè)中斷到達之前計算每個(gè)來(lái)自定時(shí)器/計數器的中斷,RTC的精度就不受影響。 定時(shí)器/計數器的選擇 MSP430F111包含2個(gè)定時(shí)器:看門(mén)狗定時(shí)器和定時(shí)器A。定時(shí)器A用作時(shí)基,設計成能連續計數并每隔1s時(shí)間提供一次中斷。由于定時(shí)器A用 ACLK作為自己的時(shí)鐘源,而ACLK的工作晶振頻率精確為32768Hz,所以定時(shí)器A可簡(jiǎn)單的計數到32768,然后開(kāi)始翻轉到0,每次數到 32768時(shí)便給出一個(gè)中斷。而CPU則可簡(jiǎn)單的計算來(lái)自定時(shí)器A的中斷。 外部接口 因為現在可以方便的得到各種RTC的接口,其中絕大部分可以應用于MSP430,如I2C、并行接口、UART及串行接口等。TI有現成的程序代 碼模塊以實(shí)現與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內執行。由于極低的電流消耗以及處于有效方式的時(shí)間極短, 采用'F111作為一個(gè)RTC僅消耗極少的電流,因此其電池壽命最長(cháng)。 晶體的精度和選擇 RTC的精度僅取決于為晶體振蕩器而選擇的晶體的精度。我們可以根據自己期望的精度而購買(mǎi)適當的晶體。 晶體的精度主要受下面兩個(gè)因素影響:晶體的頻率容限和指定的負載電容。 晶體的容限是很顯而易見(jiàn)的。晶體頻率的容限越小,RTC的精度越高。 晶體的指定負載電容也影響RTC的精度,晶體的負載電容是晶體所需電容的總和,而不是晶體所提供電容的總和,晶體需要適當的負載電容以便在 指定的頻率起振。所有的MSP430器件所用的32768Hz振蕩器已經(jīng)集成了額定電容值為12pF的負載。這就為晶體提供了全部12pF的負載,它意味 著(zhù)為了獲取最佳的RTC精度,必須指定所連接的32768Hz的晶體使用12pF的負載電容。 在RTC容限要求更高的應用領(lǐng)域,可以使用一個(gè)更易調整的電容,在制造時(shí)進(jìn)行調節。 更高級別的陶瓷(即NP0型)電容和聚酯軟片電容較適用于定時(shí)應用領(lǐng)域,因為它們和通用陶瓷電容相比具有更少的介質(zhì)損耗和更佳的溫度系數。 可擴展型 MSP430F111是極低功耗、低價(jià)格的微控制器,可理想的適用于實(shí)時(shí)時(shí)鐘器件。將MSP430作為RTC的一個(gè)主要優(yōu)點(diǎn)是它與專(zhuān)用的RTC器 件相比具有可擴展性。所有的MSP430x11x期間都包括一個(gè)16位RISC CPU、16位看門(mén)狗定時(shí)器、16位定時(shí)器A(帶3個(gè)捕捉/比較寄存器和模擬比較器)、最小128B的RAM、最小2Kb的ROM和最少14個(gè)腳通用I /O口。很明顯MSP430能提供其它專(zhuān)用RTC所無(wú)法比擬的靈活性。 除此之外,定時(shí)器A模塊能提供斜率A/D轉換、PWM輸出和工作速率高達115200波特率的UART?撮T(mén)狗定時(shí)器也能作為一個(gè)簡(jiǎn)單的定時(shí)器,并且通用I/O口和所有外圍設備具有可擴展的中斷能力。 軟件設計 RTC的應用程序代碼相當簡(jiǎn)單,包括一個(gè)初始化子程序、一個(gè)主循環(huán)、一個(gè)計算時(shí)、分、秒的時(shí)鐘計數子程序和一個(gè)處理來(lái)自定時(shí)器A的1s中斷的中斷服務(wù)子程序。 初始化子程序可初始化MSP430的的不同部分?撮T(mén)狗定時(shí)器被禁止,定時(shí)器A模塊被配置為可連續從0數到32768,每次到達32768時(shí)便給出一個(gè)中斷;緯r(shí)鐘模塊也被設置。 主循環(huán)是一個(gè)無(wú)窮循環(huán),每當定時(shí)器A發(fā)出一個(gè)中斷時(shí),它便調用時(shí)鐘計數子程序,否則將CPU置于休眠方式。當CPU休眠時(shí),定時(shí)器A繼續計數。 定時(shí)器A中斷服務(wù)程序(ISR)處理狀態(tài)寄存器(SR)位,該位在進(jìn)入ISR之前被壓入堆棧。這可使CPU在剛從ISR返回時(shí)處于有效方式,而不是休眠方式。ISR也可清零定時(shí)器A中斷標志。 時(shí)鐘計數子程序將每一個(gè)定時(shí)器A中斷計為1秒。 源程序 START MOV #Stack,SP CALL #Setup ;初始化設置 Mainloop BIS #LPM3,SR ;CPU進(jìn)入低功耗模式3 CALL #Clock ;中斷處理后進(jìn)入時(shí)鐘計算 JMP Mainloop ;再次進(jìn)入省電模式 Clock SETC ;設進(jìn)位位 DADC.b SECOND ;秒加1 CMP.b #060d,SECOND ;判斷是否滿(mǎn)1分鐘 JLO Clockend ;若不滿(mǎn)則跳出 CLR.b SECOND ;清空秒計數器 DADC.b MINUTE ;分加1 CMP.b #60d,MINUTE ;判斷是否滿(mǎn)1小時(shí) JLO Clockend ;若不滿(mǎn)則跳出 CLR.b MINUTE ;清空分鐘計數器 DADC.b HOUR ;小時(shí)加1 CMP.b #024d,HOUR ;判斷是否滿(mǎn)24小時(shí) JLO Clockend ;若不滿(mǎn)則跳出 CLR.b HOUR ;清空小時(shí)計數器 Clockend RET ;設置模塊和控制寄存器 Setup MOV #WDTPW+WDTHOLD,&WDTCTL ;禁止看門(mén)狗 MOV.b #08Ch,&BCSCTL1 ;設置振蕩器和時(shí)鐘控制寄存器 MOV.b #000h,&BCSCTL2 ;選擇DCOCLK為MCLK時(shí)鐘源 SetupTA MOV #0106h,&TACTL ;設置定時(shí)器A控制寄存器 MOV #CCRE0,&CCTL0 ;中斷使能 MOV #8000h,&CCR0 ;設置時(shí)間間隔 BIS #10h,&TACTL ;啟動(dòng)TA,開(kāi)始增計數模式 ClearRAM MOV.b #00h,SECOND ;清空秒、分、時(shí)計數器 MOV.b #00h,MINUTE MOV.b #00h,HOUR EINT ;中斷使能 RET 定時(shí)器A中斷服務(wù)程序(ISR) TAint BIC #SCG0+CPUOFF,0 (SP) ;處理狀態(tài)寄存器(SR)位 BIC #TAIFG,&TACTL ;清零定時(shí)器A中斷標志 RETI 結語(yǔ) 整個(gè)系統結構簡(jiǎn)單,可擴展性強,成本低(一片'F111才10多元),另外系統在大多數時(shí)間都處于低功耗模式。因此,在無(wú)人值守的情況和惡劣環(huán)境下適合采用本系統實(shí)現實(shí)時(shí)時(shí)鐘,而無(wú)須考慮供電問(wèn)題。 參考文獻 1 胡大可 MSP430系列FLASH型超低功耗16位單片機 北京航空航天大學(xué)出版社 2001年 作者簡(jiǎn)介: 桓 毅:男,1978年生,碩士生。研究方向為微機檢測與控制。
本文地址:http://selenalain.com/thread-2850-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)在線(xiàn)工具

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页