李超
(第七一五研究所,浙江杭州,310023)
隨著陸地資源的過度開發(fā),各個(gè)國家紛紛開始加大對海洋資源的開發(fā)投入。通過海洋水文氣象的觀測能夠幫助人們更好的分析了解海洋環(huán)境的變化規(guī)律,為海洋資源開發(fā)、預(yù)防海洋災(zāi)害等方面提供科學(xué)依據(jù)。
海洋浮標(biāo)是一種能夠?qū)崿F(xiàn)實(shí)時(shí)、自動、全天候海洋觀測的設(shè)備平臺,是海洋觀測中最重要、最可靠、最穩(wěn)定的手段之一[1]。隨著我國“數(shù)字海洋”建設(shè)不斷推進(jìn),海洋觀測已進(jìn)入到對海洋動力、大氣、環(huán)境、突發(fā)事件等實(shí)行全天候立體觀測階段,海洋浮標(biāo)從單一的氣象浮標(biāo)或水文浮標(biāo),發(fā)展到綜合多參數(shù)浮標(biāo)[2]。海洋浮標(biāo)所搭載的傳感器數(shù)量也由幾個(gè)增加到十幾個(gè)。為適應(yīng)海洋浮標(biāo)發(fā)展的需求,設(shè)計(jì)了一種用于海洋浮標(biāo)的多串口數(shù)據(jù)采集系統(tǒng)。
多串口數(shù)據(jù)采集系統(tǒng)包括供電模塊、數(shù)據(jù)采集模塊和無線傳輸模塊組成。供電模塊用于各傳感器的電源管理,當(dāng)傳感器不工作時(shí)關(guān)斷傳感器電源減少電量消耗。數(shù)據(jù)采集模塊是浮標(biāo)的控制中心,用于采集各個(gè)傳感器的輸出數(shù)據(jù)、監(jiān)控浮標(biāo)的狀態(tài)信息。無線傳輸模塊用于發(fā)送浮標(biāo)采集的各個(gè)傳感器的數(shù)據(jù),實(shí)時(shí)發(fā)送到網(wǎng)站接收平臺,實(shí)現(xiàn)浮標(biāo)的實(shí)時(shí)采集觀測。如圖1所示。
圖1 多串口數(shù)據(jù)采集系統(tǒng)結(jié)構(gòu)框圖
浮標(biāo)大多采用蓄電池加太陽能充電板的供電方式,當(dāng)白天陽光充足時(shí),太陽能充電板給浮標(biāo)系統(tǒng)提供電量的同時(shí)將多余的電量沖入蓄電池,當(dāng)夜晚無陽光時(shí),使用蓄電池的電量給浮標(biāo)供電,這種供電方式?jīng)Q定對系統(tǒng)的整體功耗要求比較高,所以供電模塊采用低功耗設(shè)計(jì)。
供電模塊主要包括電壓轉(zhuǎn)換電路和開關(guān)控制電路兩部分。電壓轉(zhuǎn)化電路將蓄電池輸出的標(biāo)稱為12V的電壓轉(zhuǎn)化為5V和24V輸出,滿足不同傳感器的供電需求。選用的電壓轉(zhuǎn)化電源具有高轉(zhuǎn)化效率、寬電壓輸入、輸出短路保護(hù)、高可靠性等功能,能夠滿足海上惡劣的使用環(huán)境和低功耗的要求。開關(guān)控制電路主要由三極管和MOS管組成,數(shù)據(jù)采集模塊通過IO端口控制12V和24V輸出電壓的通斷,當(dāng)IO端口為高電平時(shí)輸出電壓打開,當(dāng)IO端口為低電平時(shí)輸出電壓關(guān)閉。數(shù)據(jù)采集模塊根據(jù)內(nèi)部邏輯控制傳感器加電斷電,達(dá)到降低功耗的要求。如圖2所示。
圖2 開關(guān)控制電路原理圖
數(shù)據(jù)采集模塊是整個(gè)海洋浮標(biāo)的控制中心。數(shù)據(jù)采集模塊通過模擬或者數(shù)字接口采集不同種類的傳感器的數(shù)據(jù),處理打包之后通過無線傳輸模塊發(fā)送到岸站接收平臺。同時(shí)通過供電模塊對傳感器進(jìn)行電源管理,降低系統(tǒng)功耗。目前數(shù)據(jù)采集模塊的核心芯片一般采用單片機(jī),但是單片機(jī)的數(shù)字外設(shè)接口有限,已經(jīng)無法滿足海洋浮標(biāo)多樣化和集成化的發(fā)展要求。本文提出了一種串口擴(kuò)展的設(shè)計(jì)方法,將串口數(shù)量擴(kuò)展到20個(gè)以上,能夠滿足大多數(shù)海洋浮標(biāo)的使用要求。
數(shù)據(jù)采集模塊的核心控制芯片采用的是STM32F429芯片。其芯片特性如下:1.71V-3.6V寬電壓供電;主頻高達(dá)180MHz;具有睡眠、停機(jī)和待機(jī)等多種低功耗模式;支持最多24通道的12位高精度模數(shù)轉(zhuǎn)換器;4個(gè)USART模塊和4個(gè)UART模塊;高達(dá)6個(gè)SPI模塊;具有外部和內(nèi)部看門狗檢測。
時(shí)鐘芯片采用的是DS3234芯片。該芯片是一款低成本、超高精度、低功耗、采用SPI總線的實(shí)時(shí)時(shí)鐘(RTC),并且集成了溫度補(bǔ)償晶體振蕩器(TCXO)和晶體。DS3234芯片還集成了256字節(jié)SRAM,通過外部紐扣電池供電實(shí)現(xiàn)掉電存儲。RTC可以計(jì)數(shù)秒、分、時(shí)、星期、日期、月份和年份信息。該芯片為數(shù)據(jù)采集模塊提供了精準(zhǔn)的系統(tǒng)時(shí)鐘。
串口擴(kuò)展電路采用的是一轉(zhuǎn)多路模擬開關(guān)的模式,通過單片機(jī)的IO端口控制不同的通道打開,達(dá)到串口擴(kuò)展的目的。模擬開關(guān)選用CD4051芯片。CD4051芯片是單端8通道多路開關(guān),輸入的數(shù)字信號范圍是3-20V,具有導(dǎo)通延時(shí)短、阻抗小等優(yōu)點(diǎn),它有3個(gè)通道選擇輸入端A、B、C,通道選擇輸入端用來選擇打開的通道號。
STM32F429芯片輸出的串口引腳TX和RX分別接到兩片CD4051的公共輸入輸出端,然后CD4051的0-7通道輸入輸出端分別接到不同串口轉(zhuǎn)換芯片的輸入輸出端口。串口擴(kuò)展電路原理圖如圖3所示。通過兩片CD4051模擬開關(guān)芯片,實(shí)現(xiàn)了一個(gè)串口擴(kuò)展成8個(gè)串口。本設(shè)計(jì)一共采用了四片模擬開關(guān)芯片,對兩個(gè)串口分別進(jìn)行了擴(kuò)展,擴(kuò)展之后串口總數(shù)達(dá)到了22個(gè)。
圖3 串口擴(kuò)展電路原理圖
數(shù)據(jù)采集模塊軟件程序主要包括四部分組成:初始化程序、時(shí)間校準(zhǔn)程序、傳感器采集處理程序和打包上傳程序。系統(tǒng)上電后,首先進(jìn)行初始化設(shè)置,包括初始化系統(tǒng)時(shí)鐘、IO、SD卡、串口等。然后接收GPS時(shí)間數(shù)據(jù),判斷數(shù)據(jù)有效之后對系統(tǒng)時(shí)間進(jìn)行校準(zhǔn),如果無效則不進(jìn)行校準(zhǔn),使用系統(tǒng)自帶時(shí)鐘芯片的時(shí)間。然后判斷是否到達(dá)傳感器采樣時(shí)間,通常傳感器工作周期設(shè)置為0.25h、0.5h、1h、4h,即從零點(diǎn)開始,每隔固定時(shí)間采集一次傳感器數(shù)據(jù)。當(dāng)?shù)竭_(dá)某一儀器的采集時(shí)間時(shí),先判斷該儀器對應(yīng)的串口是否為擴(kuò)展串口,如果是擴(kuò)展串口,需要先通過IO設(shè)置切換到對應(yīng)的通道,然后在進(jìn)行傳感器數(shù)據(jù)采集處理。最后到達(dá)數(shù)據(jù)上傳時(shí)間后,將所采集的所有傳感器數(shù)據(jù)進(jìn)行打包,并通過無線傳輸模塊將數(shù)據(jù)上傳。如圖4所示。
圖4 數(shù)據(jù)采集模塊軟件設(shè)計(jì)流程
無線傳輸模塊可選用北斗通信終端或者GPRS無線數(shù)傳模塊。北斗通信終端的優(yōu)點(diǎn)是傳輸數(shù)據(jù)保密性好,能夠在遠(yuǎn)海使用,但是通信帶寬較低。而GPRS無線數(shù)傳模塊則傳輸數(shù)據(jù)量大,但是只能在近?;拘盘柛采w的地方使用,具有局限性。系統(tǒng)同時(shí)兼容兩種傳輸模式,可根據(jù)使用環(huán)境和需求選用合適的傳輸方式。
本文基于海洋浮標(biāo)設(shè)計(jì)了多串口數(shù)據(jù)采集系統(tǒng),該系統(tǒng)具有擴(kuò)展性強(qiáng)、性價(jià)比高、開發(fā)便利等特點(diǎn)?;灸軌驖M足用戶不同水域、不同功能的水質(zhì)監(jiān)測要求,使得海洋浮標(biāo)實(shí)現(xiàn)了海上連續(xù)、實(shí)時(shí)、長期、自動獲取海洋水文氣象的監(jiān)測數(shù)據(jù),相比傳統(tǒng)的方法節(jié)約了大量的人力物力,并且能夠及時(shí)了解布放水域中水質(zhì)的變化,對了解海洋、開發(fā)海洋有十分重要的意義[3]。