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