深海海底邊界層原位監測中電源管理系統的設計
摘要:電源管理系統是深海海底邊界層原位檢測系統的供電模塊。系統以MSP430F149單片機為主控制器件,控制7塊程序可控DC/DC模塊,IAR Embedded Workbench IDE為軟件平臺,提供實(shí)時(shí)、穩定、有效的電源管理與控制。該系統采用程序控制各個(gè)DC/DC模塊工作與否的方式,達到電源管理與控制的目的。該系統隨東方紅2號與海洋4號2次出海試驗結果表明,這種設計達到了項目的要求,極大地降低了系統的功耗。
關(guān)鍵詞:邊界層;MSP430F149單片機;DC/DC;功耗
0 引言
深海海底原位監測技術(shù)是一種對海底界面生物地球化學(xué)過(guò)程進(jìn)行長(cháng)期、原位、多參數同步測量的水下監測技術(shù)。該技術(shù)在海底水合物系統及其勘探試采過(guò)程中的環(huán)境效應監測評估等方面有重要的應用前景。
因系統在深海海底長(cháng)期使用且更換電池不方便,故電源管理系統的主要功能是使其工作時(shí)電流消耗盡可能的小、不工作時(shí)電源可以被切斷,以及采集模擬量。單片機在不斷電的情況下,實(shí)現長(cháng)期控制整個(gè)電源系統的功能。由于海底原位監測工作具有長(cháng)期性的特點(diǎn),要求系統具有較高的穩定性和較低的功耗。
1 電源管理系統結構和總設計方案
系統框圖如圖1所示,包括27 V電池組、鋰電池、MSP430F149單片機、7塊可控DC/DC、一塊普通DC/DC、電平轉換芯片、繼電器等。主板ARM1和ARM2,串口服務(wù)器、交換機為上位機;DO,PH,CO2,CH4傳感器,高度計、電機、錄像機為深海設備。
本電源系統以MSP430F149為主控制器件,是一款16位超低功耗的單片機,其CPU功耗可以通過(guò)開(kāi)關(guān)狀態(tài)寄存器的控制位來(lái)控制:正常運行時(shí)電流160μA,備用時(shí)為0.1 μA,低功耗的優(yōu)點(diǎn)為系統設計提供了有利條件;內部集成了8路12位具有高速、通用特點(diǎn)的ADC12模塊,可在沒(méi)有CPU干預的情況下進(jìn)行16次獨立采樣并保存結果,系統中用到2路模擬通道來(lái)分別采集模擬量DO和PH;其所有的I/O端口的管腳都是雙向的,設置I/O口可控制DC/DC模塊,圖1中C1~C6為單片機I/O口輸出的DC/DC模塊的Ctrl信號,即通過(guò)I/O口輸出1或者0控制DC/DC模塊的開(kāi)啟或關(guān)斷。
因外部電池組只能提供一個(gè)固定的電壓,為了實(shí)現輸出多路不同數值的直流電壓的目的,采用不同的DC/DC模塊。比較論證之后選擇了金升陽(yáng)科技有限公司的芯片,其具有程序可控、輸出效率高、寬輸入電壓范圍、輸出過(guò)壓保護、過(guò)流保護以及短路保護的特點(diǎn)。
2 電源管理系統軟件設計
整個(gè)系統的管理主要分為3個(gè)階段:甲板上設置參數階段、設備投放階段、數據采集階段。甲板上設置參數階段主要是對單片機進(jìn)行對時(shí)、設置投放階段睡眠的時(shí)間長(cháng)度以及數據采集周期。設備投放階段主要是控制上位機和深海設備處于斷電狀態(tài)并且單片機進(jìn)入低功耗狀態(tài),等待先前設置的投放階段睡眠的時(shí)間長(cháng)度到了之后退出低功耗,給上位機供電,然后等待上位機的命令。數據采集階段主要是周期性的給上位機供電,上位機給單片機命令給相應的深海設備供電或斷電。系統的設計中涉及到功耗、時(shí)鐘切換、RTC等,以下是各個(gè)部分的具體實(shí)現過(guò)程。
2.1 低功耗設計
系統的功耗可以由公式P=CV2f計算出來(lái),式中C為負載電容,V為電源電壓,f為系統工作頻率,可見(jiàn)一個(gè)系統的功耗主要由電源電壓決定,其次是工作頻率、負載電容。因負載電容不可控制,要設計一個(gè)低功耗的系統,在不影響其性能的前提下,應該盡可能地降低電源電壓和使用低頻率的時(shí)鐘。
電源電壓方面,一方面MSP430F149具有1.8~3.6 V的低電源電壓工作范圍;另一方面,系統中使用的DC/DC模塊為程序可控的,即只有在要求給相應的負載供電時(shí),才會(huì )程序控制相應的DC/DC模塊開(kāi)啟,否則其一直處于關(guān)斷狀態(tài)。從以上2個(gè)方面,降低了整個(gè)系統電源電壓以降低整個(gè)系統的功耗。
系統工作頻率方面,MSP430F149內部的基礎時(shí)鐘主要是由低頻晶體振蕩器LFXT1、高頻晶體振蕩器LFXT2及數字控制振蕩器DCO組成??梢愿鶕枰x擇合適的振蕩頻率,并在不需要時(shí)關(guān)閉振蕩器以降低功耗。一方面,為了降低系統工作頻率,系統中ACLK(輔助時(shí)鐘)以及MCLK(主系統時(shí)鐘)均使用的是由低頻晶體振蕩器LFXT1產(chǎn)生的32768 Hz;另一方面,通過(guò)設置狀態(tài)寄存器中SCG0位關(guān)閉了DCO。
另外,MSP430F149具有1種活動(dòng)模式和5種低功耗模式(LPM0-LPM4),通過(guò)程序控制可使單片機在指定的時(shí)刻通過(guò)定時(shí)器中斷退出低功耗模式進(jìn)入活動(dòng)模式,其他時(shí)刻均處于LPM3模式下。因系統中用定時(shí)器B實(shí)現軟時(shí)鐘,定時(shí)器B的時(shí)鐘源選擇的是ACLK,LPM4模式下CPU及所有的時(shí)鐘(包括ACLK)都停止工作,但是系統要求軟時(shí)鐘即使在低功耗的狀態(tài)下可用且可中斷喚醒CPU,故選擇的是LPM3模式。
系統設計中有兩路模擬量采集用到ADC模塊,此模塊僅在單片機接收到上位機發(fā)送來(lái)的采集這兩路模擬量的時(shí)候才開(kāi)啟,采集完之后可通過(guò)程序控制把ADC模塊關(guān)閉,在一定程度上這也可以降低系統功耗。
2.2 時(shí)鐘切換設計
由2.1知,從低功耗的角度出發(fā),選擇了較低的工作頻率,但是系統中涉及到單片機控制步進(jìn)電機。MCLK為32768 Hz時(shí),由此時(shí)鐘延時(shí)產(chǎn)生的矩形脈沖的頻率太低,導致步進(jìn)電機不能轉動(dòng),所以在系統中考慮到時(shí)鐘的切換,即在調整步進(jìn)電機時(shí),要把單片機的主系統時(shí)鐘(MCLK)從LFXT1切換到LFXT2。BCSCTL2=SELM1+SELM0該語(yǔ)句實(shí)現的是選擇MCLK的時(shí)鐘源為L(cháng)FXT1,即設置了BCSCTL2寄存器的高兩位為1(默認為0)。當要把MCLK的時(shí)鐘源選擇為L(cháng)FXT2時(shí),如果寄存器BCSCTL2的各個(gè)位仍為默認值,則只需BCSCTL2=SELM1語(yǔ)句便可成功的設置MCLK的時(shí)鐘源為L(cháng)FXT2,但是程序沒(méi)能達到預期目標。分析發(fā)現寄存器BCSCTL2被設置過(guò)之后,被設置的相應位的默認值就發(fā)生了改變,在進(jìn)行下一次設置之前要保證把上一次設置過(guò)的相應位恢復為默認值,然后再進(jìn)行設置才能達到預期目標,意思就是說(shuō)在語(yǔ)句BCSCTL2=SELM1前面加上語(yǔ)句BCS CTL2=0X3F即可成功的將MCLK的時(shí)鐘源由LFXT1切換到LFXT2。
2.3 實(shí)時(shí)時(shí)鐘RTC的設計
一方面,系統長(cháng)期工作于深海海底,甲板上設置好參數后,從投放到回收期間,不會(huì )再有外部工作人員的干預,系統自動(dòng)化的完成數據的采集工作,對電源管理系統提出了能夠按點(diǎn)、按周期周期性給嵌入式系統和深海設備加電的要求;另一方面,深海海底原位監測的DO,PH,CO2,CH4等要在嚴格的準同步下測得,才具有研究的意義和價(jià)值。以上兩方面要求電源管理系統要有RTC,能夠接受上位機發(fā)送來(lái)的時(shí)間,并以此時(shí)間為基準開(kāi)始計時(shí)。程序能記錄上次數據采集的時(shí)刻,并計算出下次數據采集的時(shí)刻。每次數據采集完單片機關(guān)閉電源,進(jìn)入LPM3模式,等待到下一個(gè)數據采集時(shí)刻從低功耗狀態(tài)退出然后給上位機供電,然后等待上位機命令給哪些深海設備供電與斷電。
2.4 系統的健壯性
系統從硬件和軟件2個(gè)方面來(lái)保證系統運行的穩定性。
2.4.1 硬件方面
單片機的電源由兩部分來(lái)提供,鋰電池作為備用電池,一旦外部電池組出現故障,便由鋰電池給單片機供電,防止單片機意外斷電給整個(gè)系統帶來(lái)風(fēng)險。
2.4.2 軟件方面
(1)與上位機的通信協(xié)議:為保證通訊的準確性和完整性,單片機和嵌入式系統之間采用數據包的方式進(jìn)行通訊,包括采集數據,關(guān)閉電源,設置周期和校準RTC時(shí)鐘。幀格式如圖2所示。
(2)核對工作狀態(tài):ARM板相對于單片機有3個(gè)階段,且其信息斷電不丟失,而單片機一旦出現意外斷電,其信息將全部丟失,程序被重新初始化,就會(huì )出現單片機和ARM板的工作狀態(tài)不一致。為了消除因兩者工作狀態(tài)不一致給整個(gè)系統帶來(lái)的風(fēng)險,程序中設置了接收上位機核對工作狀態(tài)的命令,單片機一旦發(fā)現兩者工作狀態(tài)不一致,將修改自己的狀態(tài),以與ARM板保持同步。系統流程圖如圖3所示。
3 結語(yǔ)
通過(guò)2次海試,結果表明系統可以穩定地實(shí)時(shí)給上位機供電,系統功耗低,程序結構靈活穩定,修改方便,能夠滿(mǎn)足深海原位監測的要求。
評論