摘 要: 介紹了可同時測量本地溫濕度和異地溫度的系統的硬件和軟件設計,并就電池供電的低功耗" title="低功耗">低功耗要求,詳細討論了增加的光控電路、電子開關等硬件節能措施和保證收發同步的軟件措施。
關鍵詞: HT48R06A-1單片機 MSP430F135單片機 低功耗
便攜式智能儀器具有體積小、重量輕和便于攜帶的特點,一般用電池作為其供電電源,因此降低功耗便成為主要的設計指標。在設計過程中,除了選用各種低功耗的器件和芯片外,還必須在滿足(或犧牲一點)速度等指標要求的前提下,進行降低功耗的硬件和軟件設計,以使整個系統運行的功耗最小。本文詳細介紹了一種低功耗的便攜式無線溫濕度測量系統的設計,該系統能同時測量20米范圍內的異地溫度及本地溫濕度,還具有時間顯示、鬧鐘提醒等功能。
1 系統的硬件設計
本系統由無線發送和接收兩部分組成,發送部分由HT48R06A-1單片機、溫度/頻率轉換電路、無線發送模塊等組成,接收部分由MSP430F135單片機、無線接收模塊" title="接收模塊">接收模塊、溫濕度測量電路、時鐘電路及其它電路組成。系統硬件框圖如圖1所示。
1.1無線發送部分
發送部分的處理器采用HT48R06A-1單片機,片內集成了一個外部中斷、一個8位定時器和一個看門狗定時器,其休眠狀態電流僅為5μA,可以滿足本系統硬件的要求和低功耗要求[1]。HT48R06A-1內部沒有A/D轉換器,出于成本考慮,采用圖2所示的由555定時器組成的溫度╱頻率轉換電路。它其實是一個多諧振蕩器,Rt為熱敏電阻,圖中多諧振蕩器產生的高、低電平脈寬分別為:
利用HT48R06A-1的定時器測出TH和TL后,便可求出熱敏電阻值,查表后即可得到相應的溫度值。
1.2 接收部分
接收部分的處理器選用TI公司的MSP430F135單片機,它的片內集成了豐富的功能單元,能夠滿足本系統的硬件要求;它同時提供ACLK、MCLK和SMCLK三種不同頻率的時鐘給不同的模塊,使整個系統具有超低功耗。單片機在低功耗模式" title="低功耗模式">低功耗模式3下,耗電僅為1.6μA左右,且ACLK仍保持活動以提供實時時鐘,可以滿足系統的低功耗要求和實時性要求[2~3]。
液晶驅動器選用Holtek公司的HT1622芯片,它的工作電壓為2.7~5.2V,可驅動32×8段段碼,正常工作時耗電80μA(VCC=3V)左右,液晶玻璃片的工作電壓不超過2.7V。時鐘電路選用Philips公司的低功耗實時時鐘芯片PCF8563,它有1.0~5.5V的大工作電壓范圍,工作電流僅為0.25μA(VCC=3.0V,25℃)左右。
為進一步降低系統功耗,在系統中加入光控節能電路。在光線不足時,關閉液晶驅動器和無線接收模塊,單片機進入低功耗模式3,以降低功耗。圖3為光控節能電路的原理圖,Rg為光敏電阻。P1口是具有施密特輸入特性的帶中斷功能的I/O口,設置P1.2口為上升沿觸發,P1.3口為下降沿觸發。隨著光線的增強(減弱),Rg阻值減小(增大),P1.3(P1.2)口電位下降(上升),當下降(上升)到下降沿(上升沿)輸入門檻電壓時,觸發中斷,單片機退出(進入)低功耗模式,同時打開(關閉)液晶驅動模塊和無線接收模塊電源。實驗測得,加入該節能電路后,接收部分在夜間耗電至少比白天減少70μA。
1.3 無線收發模塊
從成本和可靠性的角度考慮,選用河南安陽新世紀電子研究所的F05C(發射模塊)和J04H(接收模塊)。它們的頻率一致性好,采用AM調制方式,兩者相配合,開闊區最大通信距離約為250m,特別適合多發一收無線遙控及低速數據傳輸系統。
2 系統的軟件設計
2.1發送部分主程序
發送端主要完成溫度的測量及數據發送任務。為降低功耗,HT48R06A-1單片機不需工作時應處于休眠狀態。單片機片內的8位定時器用于溫度的測量,看門狗定時器和片內RC振蕩器配合控制連續兩次測量和發送數據的時間間隔。發送部分的主程序" title="主程序">主程序流程圖如圖4所示。看門狗定時器溢出時,系統復位并置狀態寄存器(STATUS)的T0位,故在程序開始時應先查詢STATUS的T0位和PD位以確定系統復位源。若是由WDT溢出導致的系統復位,則先確定是否應進行新的測量和數據發送,若是其它復位方式,則先對系統初始化,然后測量溫度并把測量數據發送出去。
2.2 接收部分主程序
為降低系統功耗,接收端" title="接收端">接收端MSP430F135單片機在不需要工作時應處于低功耗模式。接收端主程序流程圖如圖5所示。主程序在完成初始化和第一次測量任務后,單片機立即進入低功耗模式3,同時內部定時器開始工作,每隔一段時間(例如白天1秒,晚上1分)喚醒單片機一次,執行中斷處理程序。中斷處理程序執行完后,若需測量,則跳到主程序,完成一次測量;否則,直接進入低功耗模式3。無線數據的接收由外部中斷完成,數據接收完成后,退出中斷處理程序,進入低功耗模式3。
3 低功耗設計
在本系統中,發送端的結構功能較簡單,這里主要討論接收端的節能措施。除了前面所述的硬件節能手段[4]外,由于本系統中選用了待機電流(實測)約為0.7mA(VCC=3.3V)的J04H接收模塊,發送端不能和接收端很好地實現同步,為了既保證數據的可靠接收,又不給系統帶來過大的功耗,必須使用合適的軟件措施控制J04H的電源供給。本系統采用預測下次數據發送時間的方法,即以前兩次連續接收數據的時間間隔為基準,推測本次數據發送的時間,以實時地打開接收模塊電源開關來接收數據。
圖6(a)是接收模塊J04H正常工作時的程序流程圖。系統在下列四種情況下都要進行圖6(b)所示的通信異常處理過程:系統上電或復位、系統的環境光線由不足變為充足、系統無線通信工作中出現異常、手動重新接收按鍵被按下。通信異常處理的步驟如下:
(1)給接收模塊供電,準備接收數據,設置開始通信異常處理標志,并計算等待時間。
(2)等待一段時間(如5分鐘),若一直沒有收到數據,則關閉接收模塊電源,清除通信異常處理標志,退出處理程序。
(3)若收到數據,則關閉接收模塊30s(設發送端約1分鐘發送一次數據)后打開,等待接收新的數據,同時重新開始計算等待時間。
(4)第二次數據沒有收到,則回到(2);第二次收到數據后,計算出這兩次數據發送的時間間隔,判斷此間隔值是否有效。
(5)時間間隔無效,則回到(3);有效,將此時間間隔值作為下次打開接收模塊電源開關的時間基準,同時清除通信異常標志,置通信正常標志,退出異常處理過程。
試驗表明,本系統很好地完成了預計的各項功能,通過文中所述的軟硬件手段,接收端白天運行時耗電為120μA左右,晚上運行時耗電為50μA左右,使用普通的電池,系統可連續工作三個月以上。而對于功能相近的系統,選用51系列低功耗單片機時,系統的耗電達50mA。
參考文獻
1 八位元單片機概論及應用設計.Holtek Co.,2002.5
2 胡大可.MSP430系列超低功耗16位單片機原理與應用.北京:北京航空航天大學出版社,2001.11
3 魏小龍.MSP430系列單片機接口技術及系統設計實例.北京:北京航空航天大學出版社,2002.11
4 何為民.低功耗單片機微機系統設計.北京:北京航空航天大學出版社,1994.4