摘要: 電源管理系統是深海海底邊界層原位檢測系統的供電模塊。系統以MSP430F149單片機為主控制器件,控制7塊程序可控DC/DC模塊,IAR Embedded Workbench IDE為軟件平臺,提供實時、穩定、有效的電源管理與控制。該系統采用程序控制各個DC/DC模塊工作與否的方式,達到電源管理與控制的目的。該系統隨東方紅2號與海洋4號2次出海試驗結果表明,這種設計達到了項目的要求,極大地降低了系統的功耗。
關鍵詞: 邊界層; MSP430F149單片機; DC/DC; 功耗
中圖分類號: TN964?34 文獻標識碼: A 文章編號: 1004?373X(2013)06?0136?03
0 引 言
深海海底原位監測技術是一種對海底界面生物地球化學過程進行長期、原位、多參數同步測量的水下監測技術。該技術在海底水合物系統及其勘探試采過程中的環境效應監測評估等方面有重要的應用前景。
因系統在深海海底長期使用且更換電池不方便,故電源管理系統的主要功能是使其工作時電流消耗盡可能的小、不工作時電源可以被切斷,以及采集模擬量。單片機在不斷電的情況下,實現長期控制整個電源系統的功能。由于海底原位監測工作具有長期性的特點,要求系統具有較高的穩定性和較低的功耗。
1 電源管理系統結構和總設計方案
本電源系統以MSP430F149為主控制器件,是一款16位超低功耗的單片機,其CPU功耗可以通過開關狀態寄存器的控制位來控制:正常運行時電流160 μA,備用時為0.1 μA,低功耗的優點為系統設計提供了有利條件;內部集成了8路12位具有高速、通用特點的ADC12模塊,可在沒有CPU干預的情況下進行16次獨立采樣并保存結果[1],系統中用到2路模擬通道來分別采集模擬量DO和PH;其所有的I/O端口的管腳都是雙向的[2],設置I/O口可控制DC/DC模塊,圖1中C1~C6為單片機I/O口輸出的DC/DC模塊的Ctrl信號,即通過I/O口輸出1或者0控制DC/DC模塊的開啟或關斷。
2 電源管理系統軟件設計
整個系統的管理主要分為3個階段:甲板上設置參數階段、設備投放階段、數據采集階段。甲板上設置參數階段主要是對單片機進行對時、設置投放階段睡眠的時間長度以及數據采集周期。設備投放階段主要是控制上位機和深海設備處于斷電狀態并且單片機進入低功耗狀態,等待先前設置的投放階段睡眠的時間長度到了之后退出低功耗,給上位機供電,然后等待上位機的命令。數據采集階段主要是周期性的給上位機供電,上位機給單片機命令給相應的深海設備供電或斷電。系統的設計中涉及到功耗、時鐘切換、RTC等,以下是各個部分的具體實現過程。
2.1 低功耗設計
系統的功耗可以由公式P=CV2f計算出來[3],式中C為負載電容,V為電源電壓,f為系統工作頻率,可見一個系統的功耗主要由電源電壓決定,其次是工作頻率、負載電容。因負載電容不可控制,要設計一個低功耗的系統,在不影響其性能的前提下,應該盡可能地降低電源電壓和使用低頻率的時鐘。
電源電壓方面,一方面MSP430F149具有1.8~3.6 V的低電源電壓工作范圍;另一方面,系統中使用的DC/DC模塊為程序可控的,即只有在要求給相應的負載供電時,才會程序控制相應的DC/DC模塊開啟,否則其一直處于關斷狀態。從以上2個方面,降低了整個系統電源電壓以降低整個系統的功耗。
另外,MSP430F149具有1種活動模式和5種低功耗模式(LPM0?LPM4)[4],通過程序控制可使單片機在指定的時刻通過定時器中斷退出低功耗模式進入活動模式,其他時刻均處于LPM3模式下。因系統中用定時器B實現軟時鐘,定時器B的時鐘源選擇的是ACLK,LPM4模式下CPU及所有的時鐘(包括ACLK)都停止工作,但是系統要求軟時鐘即使在低功耗的狀態下可用且可中斷喚醒CPU,故選擇的是LPM3模式。
系統設計中有兩路模擬量采集用到ADC模塊,此模塊僅在單片機接收到上位機發送來的采集這兩路模擬量的時候才開啟,采集完之后可通過程序控制把ADC模塊關閉,在一定程度上這也可以降低系統功耗[5]。
2.2 時鐘切換設計
由2.1知,從低功耗的角度出發,選擇了較低的工作頻率,但是系統中涉及到單片機控制步進電機。MCLK為32 768 Hz時,由此時鐘延時產生的矩形脈沖的頻率太低,導致步進電機不能轉動,所以在系統中考慮到時鐘的切換,即在調整步進電機時,要把單片機的主系統時鐘(MCLK)從LFXT1切換到LFXT2。BCSCTL2|=SELM1+SELM0該語句實現的是選擇MCLK的時鐘源為LFXT1,即設置了BCSCTL2寄存器的高兩位為1(默認為0)。當要把MCLK的時鐘源選擇為LFXT2時,如果寄存器BCSCTL2的各個位仍為默認值,則只需BCSCTL2|=SELM1語句便可成功的設置MCLK的時鐘源為LFXT2[6],但是程序沒能達到預期目標。分析發現寄存器BCSCTL2被設置過之后,被設置的相應位的默認值就發生了改變,在進行下一次設置之前要保證把上一次設置過的相應位恢復為默認值,然后再進行設置才能達到預期目標,意思就是說在語句BCSCTL2|=SELM1前面加上語句BCSCTL2=0X3F即可成功的將MCLK的時鐘源由LFXT1切換到LFXT2。
2.3 實時時鐘RTC的設計
一方面,系統長期工作于深海海底,甲板上設置好參數后,從投放到回收期間,不會再有外部工作人員的干預,系統自動化的完成數據的采集工作,對電源管理系統提出了能夠按點、按周期周期性給嵌入式系統和深海設備加電的要求;另一方面,深海海底原位監測的DO,PH,CO2,CH4等要在嚴格的準同步下測得,才具有研究的意義和價值。以上兩方面要求電源管理系統要有RTC,能夠接受上位機發送來的時間,并以此時間為基準開始計時。程序能記錄上次數據采集的時刻,并計算出下次數據采集的時刻。每次數據采集完單片機關閉電源,進入LPM3模式,等待到下一個數據采集時刻從低功耗狀態退出然后給上位機供電,然后等待上位機命令給哪些深海設備供電與斷電。
2.4 系統的健壯性
系統從硬件和軟件2個方面來保證系統運行的穩定性。
(2)核對工作狀態:ARM板相對于單片機有3個階段,且其信息斷電不丟失,而單片機一旦出現意外斷電,其信息將全部丟失,程序被重新初始化,就會出現單片機和ARM板的工作狀態不一致。為了消除因兩者工作狀態不一致給整個系統帶來的風險,程序中設置了接收上位機核對工作狀態的命令,單片機一旦發現兩者工作狀態不一致,將修改自己的狀態,以與ARM板保持同步。系統流程圖如圖3所示。
3 結 語
通過2次海試,結果表明系統可以穩定地實時給上位機供電,系統功耗低,程序結構靈活穩定,修改方便,能夠滿足深海原位監測的要求。
參考文獻
[1] 謝興紅.MSP430單片機基礎與實踐[M].北京:北京航空航天大學出版社,2008.
[2] 秦龍.MSP430單片機常用模塊與綜合系統實例精講[M].北京:電子工業出版社,2007.
[3] 胡淑軍.嵌入式系統低功耗技術研究[EB/OL].[2007?07?23].中國科技論文在線,http://www.paper.deu.cn.
[4] 張晞,王德銀,張晨.MSP430系列實用C語言程序設計[M].北京:人民郵電出版社,2005.
[5] 董文軍,汪仁煌.基于MSP430的極低功耗系統設計[J].單片機與嵌入式系統應用,2003(6):19?20.
[6] 胡大可.MSP430系列超低功耗16位單片機原理與應用[M].北京:北京航空航天大學出版社,2000.