摘 要: 針對浮標(biāo)技術(shù)在海洋環(huán)境監(jiān)測中的應(yīng)用,研究并改進(jìn)了現(xiàn)有的浮標(biāo)系統(tǒng),,設(shè)計并實(shí)現(xiàn)了自升降式浮標(biāo)控制系統(tǒng),,以獲取水下不同深度的環(huán)境數(shù)據(jù),具有很好的安全性和隱蔽性,。系統(tǒng)以MSP430處理器為核心,,以Si4432為無線收發(fā)模塊,結(jié)合溫濕度,、光照,、加速度、傾角,、CTD,、溶解氧傳感器和SD卡,實(shí)現(xiàn)了對海洋數(shù)據(jù)的采集,、存儲和傳輸,。經(jīng)測試,能可靠地將數(shù)據(jù)傳輸至岸基模塊,,滿足了設(shè)計要求,。
關(guān)鍵詞: 自升降式浮標(biāo);MSP430,;Si4432,;數(shù)據(jù)采集
以自升降式浮標(biāo)系統(tǒng)為載體的海洋數(shù)據(jù)傳感采集與傳輸系統(tǒng)可以實(shí)現(xiàn)海平面以下不同深度水環(huán)境監(jiān)測數(shù)據(jù)的獲取和更新。國外在上世紀(jì)80年代研制出了一種將潛標(biāo)和錨泊浮標(biāo)相結(jié)合的系統(tǒng),,由于該系統(tǒng)既能采集海洋定點(diǎn)數(shù)據(jù),,又能實(shí)時回傳數(shù)據(jù),,因此得到了廣泛使用,。國內(nèi)潛標(biāo)技術(shù)緊隨國際潮流,提出了具備緊繃式錨泊潛標(biāo)系統(tǒng)架構(gòu)的自治式海洋監(jiān)測潛標(biāo),,但該系統(tǒng)仍處于研制階段,,未投入實(shí)際使用。本文提出將潛標(biāo)和浮標(biāo)合二為一的錨泊自升降海洋潛標(biāo)系統(tǒng),,可以為海洋環(huán)境監(jiān)測提供充分的數(shù)據(jù)材料,,同時對海洋環(huán)境保護(hù)和海洋資源開發(fā)有深遠(yuǎn)意義,應(yīng)用前景寬廣[1]。自升降傳動裝置及其控制系統(tǒng)是本次研究中的一項(xiàng)核心關(guān)鍵技術(shù)和創(chuàng)新點(diǎn),。Si4432模塊采用的是半雙工的通信方式,,其中通信的可靠性和沖突處理為本研究的技術(shù)難點(diǎn)。
1 系統(tǒng)工作原理
自升降式浮標(biāo)數(shù)據(jù)采集與傳輸系統(tǒng)的整體結(jié)構(gòu)如圖1所示,,主要包含傳感器組,、岸基模塊、中繼模塊,、浮標(biāo)模塊,、潛標(biāo)模塊、無線收發(fā)模塊和上位機(jī)監(jiān)測平臺,。
本系統(tǒng)主要由數(shù)據(jù)采集傳輸板,、傳感器組和用戶遠(yuǎn)程監(jiān)控終端組成。其中數(shù)據(jù)采集傳輸板包括岸基系統(tǒng),、中繼系統(tǒng),、浮標(biāo)系統(tǒng)和潛標(biāo)系統(tǒng)。岸基系統(tǒng)和浮標(biāo)系統(tǒng)與中繼系統(tǒng)的通信是通過Si4432[2]無線收發(fā)模塊實(shí)現(xiàn)的,。浮標(biāo)系統(tǒng)與潛標(biāo)系統(tǒng)在海底的通信是以電纜及導(dǎo)電滑環(huán)為介質(zhì),,按照RS485協(xié)議進(jìn)行通信的。系統(tǒng)結(jié)構(gòu)框圖如圖2所示,。
系統(tǒng)設(shè)計要求指標(biāo)如下:
(1)無線通信可靠傳輸距離:1 000 m,;
(2)數(shù)據(jù)包傳輸誤碼率低于0.1%;
(3)浮標(biāo)板下潛深度:5 m~20 m,;
(4)潛標(biāo)板下潛深度:20 m~100 m,。
海洋環(huán)境采集與傳輸系統(tǒng)的工作原理:浮標(biāo)發(fā)送浮標(biāo)下降命令給潛標(biāo),潛標(biāo)控制絞盤電機(jī)拉動浮標(biāo)作垂直向下運(yùn)動,。當(dāng)浮標(biāo)被拉到海面以下時,,浮標(biāo)就開始采集海洋環(huán)境參數(shù),同時將采集到的數(shù)據(jù)寫入SD卡中,。電機(jī)拉動浮標(biāo)向下運(yùn)動到一定深度后,,電機(jī)向相反方向運(yùn)動,浮標(biāo)開始上浮,。當(dāng)浮標(biāo)被再次釋放到海面上時,,浮標(biāo)板停止采集,然后將采集到的海洋環(huán)境參數(shù)結(jié)合當(dāng)前時間打包為一幀數(shù)據(jù)后發(fā)送給中繼模塊,。中繼模塊直接與岸基模塊進(jìn)行通信,,中繼模塊將接收到的浮標(biāo)數(shù)據(jù)結(jié)合自身傳感器采集到的數(shù)據(jù)打包為一幀數(shù)據(jù)后發(fā)送到岸基模塊,通過上位機(jī)監(jiān)控軟件實(shí)時顯示當(dāng)前各項(xiàng)傳感器測得的海洋環(huán)境參數(shù),。同時,,可以通過上位機(jī)向中繼模塊發(fā)送回收浮標(biāo)的命令,浮標(biāo)將對應(yīng)命令轉(zhuǎn)發(fā)給潛標(biāo),對應(yīng)步進(jìn)電機(jī)執(zhí)行釋放動作,,完成釋放任務(wù),。
上述傳感器組集中在中繼模塊和浮標(biāo)模塊,中繼模塊的傳感器組包括加速度傳感器MMA7361,、傾角傳感器SCA60C,、溫度傳感器DS18B20、溫濕度傳感器SHT11和光照傳感器BH1750,;浮標(biāo)模塊的傳感器組包括CTD[3]傳感器和DO溶解氧傳感器,。為了記錄采集數(shù)據(jù)的時間,浮標(biāo)模塊帶有實(shí)時時鐘芯片DS1302,。同時,,為了能實(shí)現(xiàn)水下采集數(shù)據(jù)的大容量存儲,通過FAT文件系統(tǒng)可以很方便地實(shí)現(xiàn)對SD卡的數(shù)據(jù)寫入和讀出,。
2 系統(tǒng)硬件
Si4432的工作頻段為433 MHz,,最大輸出功率可以達(dá)到+20 dBm,外圍可加入功率放大電路,,以提高發(fā)送功率,。Si4432主要有關(guān)閉模式、掛機(jī)模式,、發(fā)射模式和接收模式,。關(guān)閉狀態(tài)下可以降低功耗,各模式間的切換必須先進(jìn)入掛起狀態(tài),。本設(shè)計中,,Si4432模塊在發(fā)送或者接收完數(shù)據(jù)后立即切換到關(guān)閉模式,從而可以降低系統(tǒng)工作功耗,。Si4432數(shù)據(jù)傳輸方式主要有FIFO模式,、直接模式和PN9模式3種。本設(shè)計中Si4432工作在FIFO模式下,,使用片內(nèi)的先入先出堆棧區(qū)來發(fā)送和接收數(shù)據(jù),。此狀態(tài)下,Si4432自動退出發(fā)送或者接收狀態(tài),,當(dāng)相關(guān)的中斷信號產(chǎn)生時,,自動處理字頭和CRC校驗(yàn)碼。在接收數(shù)據(jù)時,,自動把字頭和CRC校驗(yàn)碼移去,。在發(fā)送數(shù)據(jù)時,自動加上字頭和CRC校驗(yàn)碼,。Si4432的通信距離可以達(dá)到1 km,可以達(dá)到本設(shè)計的指標(biāo)要求??傊?,Si4432具有低功耗特性,并且數(shù)據(jù)傳輸有效距離可以達(dá)到1 km,,從數(shù)據(jù)傳輸有效距離和功耗上來考慮,,Si4432可以實(shí)現(xiàn)海洋環(huán)境下的數(shù)據(jù)可靠傳輸,因此本文采用Si4432來實(shí)現(xiàn)數(shù)據(jù)傳輸,。
本設(shè)計的創(chuàng)新點(diǎn)在于低功耗升降式浮標(biāo)的設(shè)計,,浮標(biāo)升降的實(shí)現(xiàn)是通過潛標(biāo)控制電機(jī)的正反轉(zhuǎn)來實(shí)現(xiàn)的。浮標(biāo)與潛標(biāo)的通信以RS485為接口,,以電纜為傳輸途徑實(shí)現(xiàn),。由于電纜是盤繞在電機(jī)上的,利用導(dǎo)電滑環(huán)可以實(shí)現(xiàn)浮標(biāo)與潛標(biāo)間信號的穩(wěn)定可靠傳輸,。水下電機(jī)采用12 V直流無刷電機(jī),,減速比為153:1,最大拉力1 500磅,,在無負(fù)載情況下電流4.5 A左右,,在最大拉力下電流能高達(dá)27 A,所以在浮標(biāo)上要加上配重裝置以平衡浮力,,減小拉力,。驅(qū)動采用BTN7960芯片為主的模塊,驅(qū)動電壓范圍為6 V~24 V,,最大驅(qū)動電流約為40 A,。
本系統(tǒng)中微處理器選用TI公司16 bit單片機(jī)MSP430F149。這款單片機(jī)特點(diǎn)之一是它的低功耗,,同時還可以很方便地在5種低功耗模式下進(jìn)行切換,。MSP430F149內(nèi)部具有兩個USART收發(fā)控制器,12 bit A/D轉(zhuǎn)換器,,以及豐富的定時器資源,;片上集成2 KB RAM和60 KB Flash Memory,完全能滿足本系統(tǒng)設(shè)計的資源要求[4],。
加速度和傾角傳感器輸出的模擬電壓信號,,可以通過430單片機(jī)內(nèi)部12 bit A/D轉(zhuǎn)換器獲得;溫度傳感器采用單總線的通信方式,,可以通過430單片機(jī)I/O訪問,;濕度傳感器[5]和光強(qiáng)度傳感器采用I2C協(xié)議進(jìn)行訪問;CTD傳感器和DO溶解氧傳感器通過串口進(jìn)行訪問,。
3 系統(tǒng)軟件設(shè)計
本系統(tǒng)軟件設(shè)計包括3大部分:中繼板傳感器組數(shù)據(jù)采集和傳輸程序,,浮標(biāo)板傳感器組數(shù)據(jù)采集和傳輸程序以及潛標(biāo)板控制程序,,本設(shè)計程序均在IAR下編譯、調(diào)試,。
3.1 中繼板數(shù)據(jù)采集及傳輸程序設(shè)計
中繼板程序設(shè)計可以分為以下5個步驟:
(1)系統(tǒng)初始化
上電后,,對系統(tǒng)時鐘、I/O口,、UART,、A/D以及傳感器接口初始化配置。
(2)Si4432模塊參數(shù)配置
通過單片機(jī)配置Si4432模塊的工作模式,、收發(fā)波特率,、本機(jī)地址、目的地址以及發(fā)射功率等級等參數(shù),。中繼板參數(shù)配置:工作模式為收發(fā)工作模式,,波特率2 400 b/s,本機(jī)地址為0x60,,目的地址為0x59,,發(fā)射功率等級為7。
(3)中繼板接收浮標(biāo)板數(shù)據(jù)包
Si4432接收中斷程序4432_RX判斷是否接收到浮標(biāo)板發(fā)送數(shù)據(jù)的請求,,如果接收到發(fā)送請求,,則中繼板進(jìn)入接收數(shù)據(jù)的狀態(tài),并且一直等接收到完整的數(shù)據(jù)幀后才使能發(fā)送功能,。使能發(fā)送后,,中繼板可以將完整的數(shù)據(jù)幀發(fā)送給岸基板。
(4)數(shù)據(jù)幀整合和發(fā)送
中繼板使能發(fā)送數(shù)據(jù)后,,發(fā)送程序開始將數(shù)據(jù)裝成完整的64 B數(shù)據(jù)幀格式,,然后通過Si4432模塊發(fā)送64 B的數(shù)據(jù)到岸基模塊,發(fā)完為止,。
(5)中繼板傳感器采集數(shù)據(jù)并更新緩沖區(qū)
中繼板在沒有請求發(fā)送和請求接收數(shù)據(jù)的情況下,,溫度傳感器、濕度傳感器,、光照傳感器,、傾角傳感器和加速度傳感器開始工作并不斷獲取當(dāng)前傳感器數(shù)據(jù),以及時更新緩沖區(qū),。中繼板程序流程圖如圖3所示,。
3.2 浮標(biāo)板數(shù)據(jù)采集及傳輸程序設(shè)計
浮標(biāo)板程序設(shè)計可以分為以下4個步驟:
(1)系統(tǒng)初始化
上電后,對系統(tǒng)時鐘,、I/O口,、UART、A/D,、傳感器接口,、DS1302以及FAT文件系統(tǒng)初始化配置,。
(2)Si4432模塊參數(shù)配置
通過單片機(jī)配置Si4432模塊的工作模式、收發(fā)波特率,、本機(jī)地址,、目的地址以及發(fā)射功率等級等參數(shù),。中繼板參數(shù)配置:工作模式為收發(fā)工作模式,,波特率為2 400 b/s,本機(jī)地址為0x61,,目的地址為0x60,,發(fā)射功率等級為7。
(3)浮標(biāo)板發(fā)送控制命令到潛標(biāo)板
浮標(biāo)板與潛標(biāo)板通信是在電纜上以RS485協(xié)議為基礎(chǔ)進(jìn)行通信,,通過時間片切換的方法依次發(fā)送如下命令給潛標(biāo)板:電機(jī)下降命令0x01,,上傳電池剩余電量命令0x03,釋放潛標(biāo)系統(tǒng)命令0x02,。每發(fā)送一個命令后,,要等到相應(yīng)的動作執(zhí)行完畢后才能執(zhí)行下一條命令。
(4)浮標(biāo)板發(fā)送數(shù)據(jù)幀到中繼板
浮標(biāo)板在接收到發(fā)送數(shù)據(jù)請求時,,將傳感器數(shù)據(jù)和時間一起從SD卡中讀出,,準(zhǔn)備待發(fā)送的數(shù)據(jù),將數(shù)據(jù)打包成完整的64 B數(shù)據(jù)幀格式,,通過Si4432模塊發(fā)送到中繼板,,發(fā)完為止。
(5)傳感器組開始工作并更新緩沖區(qū)
在浮標(biāo)板發(fā)送電機(jī)下降命令,,浮標(biāo)下降到海面以下后,,CTD傳感器和DO溶解氧傳感器開始工作,并將傳感器數(shù)據(jù)和當(dāng)前時間以FAT文件系統(tǒng)形式存放到SD卡中,,直到浮標(biāo)再次浮到海面上為止,。浮標(biāo)板程序流程圖如圖4所示。
3.3 潛標(biāo)板程序設(shè)計
潛標(biāo)板程序設(shè)計可以分為以下2個步驟:
(1)系統(tǒng)初始化
上電后,,對系統(tǒng)時鐘,、I/O口、UART,、A/D進(jìn)行初始化配置,。
(2)潛標(biāo)板接收浮標(biāo)板命令,進(jìn)行解析并執(zhí)行
潛標(biāo)板接收浮標(biāo)板發(fā)送的命令:浮標(biāo)系統(tǒng)釋放命令0x02,,電機(jī)下降命令0x01以及上傳電量命令0x03,。潛標(biāo)板接收到系統(tǒng)釋放命令后,驅(qū)動步進(jìn)電機(jī)執(zhí)行釋放命令,;潛標(biāo)板接收到電機(jī)下降命令后,,驅(qū)動直流電機(jī)先做向下運(yùn)動,,過一段時間后再做向上運(yùn)動,將浮標(biāo)板送至海面上,;潛標(biāo)板接收到電量上傳命令后,,將電量信號上傳到浮標(biāo)板。潛標(biāo)板程序流程圖如圖5所示,。
4 系統(tǒng)調(diào)試
在實(shí)驗(yàn)室環(huán)境下,,通過Si4432無線收發(fā)模塊建立岸基模塊、中繼模塊,、浮標(biāo)模塊之間的通信,;浮標(biāo)模塊與潛標(biāo)模塊之間通過RS485總線電纜連接。
外圍的傳感器組掛接到單片機(jī)系統(tǒng)中,,然后設(shè)定岸基模塊的本地地址為0x59,,中繼模塊的本地地址為0x60,浮標(biāo)模塊的本地地址為0x61,,打開電源,,讓系統(tǒng)開始工作。接著以64 B為一個數(shù)據(jù)包,,連續(xù)發(fā)送1 000個數(shù)據(jù)包,,以不同距離和不同發(fā)送波特率完成數(shù)據(jù)傳輸誤碼率的測試,得出結(jié)果如表1所示,。
由表1中測試結(jié)果可知,,在傳輸距離為1 000 m以內(nèi),數(shù)據(jù)傳輸速率低于9 600 b/s的條件下,,數(shù)據(jù)傳輸誤碼率基本為零,,所以本系統(tǒng)基本上符合設(shè)計要求。
在實(shí)驗(yàn)室模擬調(diào)試的基礎(chǔ)上,,在戶外也進(jìn)行了進(jìn)一步的測試,,選擇測試點(diǎn)為海洋二所。將中繼板,、浮標(biāo)板和潛標(biāo)板放入水中,,基站板連接上位機(jī)軟件,對系統(tǒng)實(shí)行為期一周的實(shí)地測試,。結(jié)果表明,,系統(tǒng)工作正常,達(dá)到預(yù)期的測試結(jié)果,。
本文利用升降式浮標(biāo)設(shè)計和實(shí)現(xiàn)了一種海洋數(shù)據(jù)采集與傳輸系統(tǒng),。該系統(tǒng)在設(shè)計時還保留了一些傳感器接口,為以后改進(jìn),、升級系統(tǒng)做準(zhǔn)備,。同時由于浮標(biāo)系統(tǒng)在海水中受到浮力作用,,為保證浮標(biāo)系統(tǒng)可靠的上升和下降,配備了一個重物掛在浮標(biāo)系統(tǒng)上,,已減去浮標(biāo)系統(tǒng)的浮力,,從而減輕了直流電機(jī)的負(fù)擔(dān),節(jié)省電量,,進(jìn)而提高了水下系統(tǒng)持續(xù)工作時間,。本系統(tǒng)很好地滿足了海洋數(shù)據(jù)實(shí)時傳輸要求,達(dá)到了預(yù)期的目標(biāo),。
參考文獻(xiàn)
[1] 姚泊.海洋環(huán)境概論[M].北京:化學(xué)工業(yè)出版社,,2007.
[2] 郭亮.基于Si4432的無線射頻收發(fā)系統(tǒng)的設(shè)計[J].新器件新技術(shù),,2009,,11(1):38-41.
[3] 孫貴新,史峰.SBE25 CTD剖面儀以及使用方法[J].氣象水文海洋儀器,,2010,,3(3):18-20.
[4] 張福才.MSP430單片機(jī)自學(xué)筆記[M].北京:北京航空航天大學(xué)出版社,2011.
[5] Sensirion公司.SHT1x datasheet[Z].2008.