找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 14121|回復(fù): 20
打印 上一主題 下一主題
收起左側(cè)

MSP430設(shè)計極低功耗數(shù)字溫度計

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:34 發(fā)表于 2008-6-29 12:00 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
用MSP430設(shè)計極低功耗數(shù)字溫度計

--------------------------------------------------------------------------------

很多地方都需要測量溫度。在設(shè)計溫度遙測系統(tǒng)時,通常需要采用電池供電的極低功耗模塊。傳統(tǒng)的測溫手段比較多,但不論是采用分立晶體管、熱敏電阻,或者是熱電偶,功耗都降不下來。本文介紹了一種滿足低功耗要求的可行方案,該方案使用一枚極低功耗的、帶Flash存儲器的MCU,以及數(shù)字溫度傳感器、液晶模塊(LCD)和一個32kHz的鐘表用振蕩器。該方案的突出特點是節(jié)能耐用,僅需一枚紐扣電池,就可以連續(xù)工作10年以上。

工作原理

  MCU擴(kuò)展系統(tǒng)的電源是一枚CR-2032型紐扣式鋰電池,這種電池的容量為220mAh。要讓系統(tǒng)達(dá)到連續(xù)工作10年(87600小時)的要求,允許的最大負(fù)載電流可以用以下方法計算出來:

220mAh / 87,600小時 = 2.51 A

  這個測溫系統(tǒng)不但要測量溫度,還要連續(xù)顯示測量結(jié)果。當(dāng)系統(tǒng)處于單步模式時,TMP100溫度傳感器每完成一次測量,就會自動進(jìn)入關(guān)斷模式,此時的典型功耗為0.1 A;系統(tǒng)處于節(jié)能低功率模式(LPM3)時,晶振、LCD驅(qū)動器和16位定時器繼續(xù)工作,此時MSP430的典型功耗為0.9 A;3位半LCD的典型功耗為1 A。

  系統(tǒng)每個工作周期的耗電情況如圖2所示,溫度傳感器、MCU和LCD的總功耗平均值為2.45 A。為了盡可能延長電池的使用壽命,在工作周期內(nèi)的絕大多數(shù)時間,系統(tǒng)都處于等待模式。

硬件設(shè)計說明

  電池加上一只0.1 F的去耦電容,構(gòu)成了這個系統(tǒng)的電源。MCU的復(fù)位端連接一只68k的上拉電阻,時鐘脈沖(ACLK)取自32.768KHz的鐘表用晶體。在I2C總線的SCL(時鐘)和SDA(數(shù)據(jù))上,分別連接一只10K的上拉電阻。

工作原理

  MCU同溫度傳感器之間通過I2C總線連接。I2C總線占用2條MCU輸入輸出口線,二者之間的通信完全依靠軟件完成。溫度傳感器的地址可以通過2根地址引腳設(shè)定,這使得一根I2C總線上可以同時連接8個這樣的傳感器。本方案中,傳感器的7位地址已經(jīng)設(shè)定為1001000。MCU需要訪問傳感器時,先要發(fā)出一個8位的寄存器指針,然后再發(fā)出傳感器的地址(7位地址,低位是WR信號)。傳感器中有3個寄存器可供MCU使用,8位寄存器指針就是用來確定MCU究竟要使用哪個寄存器的。本方案中,主程序會不斷更新傳感器的配置寄存器,這會使傳感器工作于單步模式,每更新一次就會測量一次溫度。

  要讀取傳感器測量值寄存器的內(nèi)容,MCU必須首先發(fā)送傳感器地址和寄存器指針。MCU發(fā)出一個啟動信號,接著發(fā)出傳感器地址,然后將RD/WR管腳設(shè)為高電平,就可以讀取測量值寄存器。

  為了讀出傳感器測量值寄存器中的16位數(shù)據(jù),MCU必須與傳感器進(jìn)行兩次8位數(shù)據(jù)通信。當(dāng)傳感器上電工作時,默認(rèn)的測量精度為9位,分辨力為0.5 C/LSB(量程為-128.5 C至128.5 C)。本方案采用默認(rèn)測量精度,根據(jù)需要,可以重新設(shè)置傳感器,將測量精度提高到12位。如果只要求作一般的溫度指示,比如自動調(diào)溫器,那么分辨力達(dá)到1 C就可以滿足要求了。這種情況下,傳感器的低8位數(shù)據(jù)可以忽略,只用高8位數(shù)據(jù)就可以達(dá)到分辨力1 C的設(shè)計要求。由于讀取寄存器時是按先高8位后低8位的順序,所以低8位數(shù)據(jù)既可以讀,也可以不讀。只讀取高8位數(shù)據(jù)的好處有二,第一是可以縮短MCU和傳感器的工作時間,降低功耗;第二是不影響分辨力指標(biāo)。

  MCU讀取傳感器的測量值后,接下來就要進(jìn)行換算并將結(jié)果顯示在LCD上。整個處理過程包括:判斷顯示結(jié)果的正負(fù)號,進(jìn)行二進(jìn)制碼到BCD碼的轉(zhuǎn)換,將數(shù)據(jù)傳到LCD的相關(guān)寄存器中。

  數(shù)據(jù)處理完畢并顯示結(jié)果之后,MCU會向傳感器發(fā)出一個單步指令。單步指令會讓傳感器啟動一次溫度測試,然后自動進(jìn)入等待模式,直到模數(shù)轉(zhuǎn)換完畢。MCU發(fā)出單步指令后,就進(jìn)入LPM3模式,這時MCU系統(tǒng)時鐘繼續(xù)工作,產(chǎn)生定時中斷喚醒CPU。定時的長短可以通過編程調(diào)整,以便適應(yīng)具體應(yīng)用的需要。

功能擴(kuò)充

  實現(xiàn)上文所述方案的程序代碼只有400字節(jié)左右,而MCU的Flash程序存儲器有8k之多。此外,雖然MCU有256字節(jié)的RAM,但是本程序一個字節(jié)都不必用。這256字節(jié)的RAM以及那些未用的在系統(tǒng)可編程(ISP)Flash存儲器可以用來記錄歷史數(shù)據(jù)。另外,MCU還剩余22根輸入輸出口線、一個雙端電壓比較器和一個完整的三通道16位定時器Timer A,這些空閑的資源可以用來實現(xiàn)其他一些常用的功能,例如鍵盤、合成鈴聲、模數(shù)轉(zhuǎn)換、電池電量檢測以及串行通信功能。由于系統(tǒng)時鐘使用的是32kHz的鐘表晶體,所以可以利用定時器中斷實現(xiàn)時鐘功能(RTC)。

  由于溫度傳感器和MCU之間采用了I2C總線,所以,可以依靠分配不同的地址連接更多的傳感器。以3位地址的TMP100傳感器為例,總線上最多可以同時連接8枚傳感器。

評分

參與人數(shù) 1黑幣 +5 收起 理由
yedakai + 5 絕世好帖!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:24424 發(fā)表于 2010-7-10 13:04 | 只看該作者

好東西

就應(yīng)該用 呼呼

回復(fù)

使用道具 舉報

板凳
ID:22598 發(fā)表于 2010-7-15 16:14 | 只看該作者
頂一下了,樓主辛苦了。
回復(fù)

使用道具 舉報

地板
ID:15556 發(fā)表于 2010-8-19 17:25 | 只看該作者
頂一下  大家一起學(xué)
回復(fù)

使用道具 舉報

5#
ID:39615 發(fā)表于 2012-5-7 08:33 | 只看該作者

頂一下

 

回復(fù)

使用道具 舉報

6#
ID:65709 發(fā)表于 2014-9-2 15:23 | 只看該作者
看一下使用的什么傳感器?
回復(fù)

使用道具 舉報

7#
ID:65709 發(fā)表于 2014-9-2 15:24 | 只看該作者
可惜沒有詳細(xì)的電路圖
回復(fù)

使用道具 舉報

8#
ID:65787 發(fā)表于 2014-9-4 14:55 | 只看該作者
好東西,學(xué)習(xí)一下
回復(fù)

使用道具 舉報

9#
ID:65802 發(fā)表于 2014-9-4 18:34 | 只看該作者
好啊。。。。。
回復(fù)

使用道具 舉報

10#
ID:68745 發(fā)表于 2014-11-13 13:14 | 只看該作者
謝謝分享�。�!
回復(fù)

使用道具 舉報

11#
ID:58241 發(fā)表于 2015-2-27 16:30 | 只看該作者

謝謝分享�。�!
回復(fù)

使用道具 舉報

12#
ID:73757 發(fā)表于 2015-3-7 20:59 | 只看該作者
下載來看看,謝謝樓主。
回復(fù)

使用道具 舉報

13#
ID:77714 發(fā)表于 2015-4-22 13:56 | 只看該作者
謝謝分享
回復(fù)

使用道具 舉報

14#
ID:74484 發(fā)表于 2015-4-22 22:31 | 只看該作者
雖然是節(jié)選,還是有點用
回復(fù)

使用道具 舉報

15#
ID:105425 發(fā)表于 2016-2-20 23:29 | 只看該作者
感謝樓主分享資料
回復(fù)

使用道具 舉報

16#
ID:136393 發(fā)表于 2016-11-10 08:49 | 只看該作者
主要是連程序也沒有  哎  
回復(fù)

使用道具 舉報

17#
ID:166717 發(fā)表于 2017-5-21 14:41 | 只看該作者
是用的msp430g2553么?
回復(fù)

使用道具 舉報

18#
ID:236490 發(fā)表于 2017-9-29 08:08 | 只看該作者
不錯,謝謝分享
回復(fù)

使用道具 舉報

19#
ID:265426 發(fā)表于 2017-12-22 20:56 | 只看該作者
謝謝分享
回復(fù)

使用道具 舉報

20#
ID:344232 發(fā)表于 2018-7-8 11:14 | 只看該作者
感覺是一個成熟的設(shè)計方案
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表