(海南熱帶海洋學(xué)院 海洋信息工程學(xué)院,海南 三亞 572022)
隨著經(jīng)濟的發(fā)展和人們生活水平的提高,尤其是近海工業(yè)化進程的發(fā)展,使得海洋測量、海洋環(huán)境監(jiān)測、災(zāi)害預(yù)警、海洋安全等已經(jīng)成為海洋監(jiān)測的重要任務(wù)。目前已經(jīng)有各類海洋監(jiān)測平臺,如浮標(biāo)、自動臺站、海床基、深潛器和海底監(jiān)測網(wǎng)等。多種海洋監(jiān)測硬件平臺的有序運行可以滿足海洋監(jiān)測項目需求[1]。
海洋數(shù)據(jù)采集器是海洋數(shù)據(jù)采集監(jiān)控系統(tǒng)的重要設(shè)備,其主要功能是通過傳感器和檢測儀器種讀取數(shù)據(jù),并對這些數(shù)據(jù)進行處理、存儲和上傳。海洋數(shù)據(jù)采集器讀取的主要數(shù)據(jù)信息包括:氣溫、氣壓、潮位、波浪和海流。采集的數(shù)據(jù)信息主要包括三類傳感器:水文傳感器、氣象傳感器和浪流傳感器。
目前已有不少工作已經(jīng)著力設(shè)計海洋數(shù)據(jù)采集器:如文獻[2]以IXP422作為主控制器,將其嵌入到LINUX系統(tǒng)中,從而設(shè)計了一種實現(xiàn)海氣邊界監(jiān)測系統(tǒng)數(shù)據(jù)采集和處理以及轉(zhuǎn)發(fā)的數(shù)據(jù)采集器。文獻[3]設(shè)計了能夠?qū)Q蟋F(xiàn)場監(jiān)測的數(shù)據(jù)結(jié)構(gòu),能對數(shù)據(jù)采集器的屬性,采集器所帶的傳感器數(shù)據(jù)和傳感器屬性分別建累,并將屬性和數(shù)據(jù)組織起來。文獻[4]設(shè)計了一種對水文、氣象和浪流進行信息檢測的通用海洋數(shù)據(jù)傳感器。通過選用工業(yè)級的集成電路模塊和器件,來保證系統(tǒng)可行性,采用密封金屬封裝,并應(yīng)用看門狗程序能在斷電和意外死機情況下自動重啟。文獻[5]提出了一種用于海洋觀測領(lǐng)域的水文氣象通用數(shù)據(jù)采集器,并闡述了數(shù)據(jù)采集器的硬件通用性構(gòu)架和可靠性設(shè)計、軟件通用構(gòu)架、開發(fā)方式和狀態(tài)流程等。文獻[6]采用C805F120作為控制器核心來設(shè)計低功耗的海洋數(shù)據(jù)傳感器,數(shù)據(jù)采集器采用B1203LS,OCM12864-8作為液晶顯示,采用AT45DB041作為大容量存儲器,并通過RS232來實現(xiàn)遠程有線和無線傳輸。
本文在上述工作上,設(shè)計了一種低功耗的海洋數(shù)據(jù)傳感器,并通過實驗驗證了所提方法的可行性。
本文設(shè)計的海洋數(shù)據(jù)傳感器主要是對氣壓、氣溫、濕度、降水、風(fēng)速、風(fēng)向、潮汐和鹽度等各類信息進行采集。
圖1 總體硬件設(shè)計框圖
微控制器是海洋數(shù)據(jù)采集器的核心,其主要功能是對各類數(shù)據(jù)進行采集、對軟件進行濾波、對數(shù)據(jù)進行運算、傳輸、存儲和顯示設(shè)備進行顯示;輸入接口主要是對各類信號進行輸入:即對氣壓、氣溫、濕度、降水、風(fēng)速、風(fēng)向、潮汐和鹽度進行采集;通信接口是實現(xiàn)上位機和下位機的穿行通信,上位機位于遠程服務(wù)器上,主要是通過發(fā)送命令來進行遠程控制;外部設(shè)備包括:存儲器模塊、看門狗和時鐘庫模塊。
由于本文設(shè)計的硬件要應(yīng)用于海洋環(huán)境,而海洋環(huán)境需要采集的信息量種類多而數(shù)據(jù)量大,采集的數(shù)據(jù)類型包括:氣壓、溫度、濕度、雨量、風(fēng)速、潮汐、溫鹽和浪流等信息,采集數(shù)據(jù)的傳感器類型主要有:氣壓傳感器、溫度傳感器、濕度傳感器、雨量傳感器、風(fēng)速傳感器、潮汐傳感器、溫鹽傳感器和浪流傳感器因此,需要對數(shù)據(jù)采集的接口進行更精確地設(shè)計。將整個硬件部分分為:數(shù)據(jù)采集接口、存儲器模塊、通訊模塊和時鐘和看門狗。
傳感器主要負責(zé)對各類海洋信息進行檢測,由于傳感器數(shù)據(jù)量眾多,具有不同的信號輸入,且工作原理和結(jié)構(gòu)也不相同,輸出信號也可以分為數(shù)字信號、模擬信號和脈沖信號。表1為本文設(shè)計的海洋數(shù)據(jù)傳感器的輸出接口以及對應(yīng)的類型。
表1 海洋數(shù)據(jù)傳感器輸出接口
相應(yīng)的接口配置可以設(shè)置如表2所示。
表2 接口配置
存儲模塊應(yīng)具有非易失性特征,即在掉電后的數(shù)據(jù)不會被丟失。常有的固化存儲器主要包括FLASH、EEPROM和數(shù)據(jù)插寫。FLASH和EEPRON分別用于存儲程序和存儲數(shù)據(jù)。在進行數(shù)據(jù)插寫時,采用合適的編程技巧可以提高使用效率。當(dāng)通訊設(shè)備出現(xiàn)故障時,存儲模塊能實現(xiàn)及時的數(shù)據(jù)存儲,以防止數(shù)據(jù)發(fā)生丟失。
通信接口連接通信模塊,通訊模塊主要包括兩類通訊模塊:即以太網(wǎng)通訊模塊和CDMA通訊模塊,以太網(wǎng)通訊模塊采用RJ45標(biāo)準(zhǔn)接口,而CDMA通過中國移動來連接無線傳感器網(wǎng)絡(luò)。采用H7710 CDMA1x來為串口設(shè)備聯(lián)網(wǎng),作為一種數(shù)據(jù)通信網(wǎng)絡(luò)的中斷設(shè)備,其可以實現(xiàn)遠程端和用戶之間的透明數(shù)據(jù)傳輸。
時鐘芯片采用DS1305時鐘芯片,通過SPI總線與單片機連接。由于海洋數(shù)據(jù)采集器的工作環(huán)境是無人看守,甚至是隨著海洋環(huán)境以及風(fēng)向的變動而變化的,因此,當(dāng)其中的內(nèi)部程序發(fā)生故障后,應(yīng)能自動重新恢復(fù)到正常的工作狀態(tài)。
看門狗芯片采用INTERSIL公司生產(chǎn)的芯片,其封裝了8個引腳,能實現(xiàn)高電壓復(fù)位控制和可編程看門狗定時器。當(dāng)工作過程中微處理器和外設(shè)失效了,會導(dǎo)致系統(tǒng)死鎖,此時可以激活RESET引腳,暫時停止微控制器的工作,在200 ms后再次啟動單片機進行工作。
顯示模塊主要包括LCD顯示屏和操作面板。用戶通過顯示屏可以獲取海洋數(shù)據(jù)采集器的當(dāng)前工作的狀態(tài)以及各類采集的數(shù)據(jù),通過操作面板則可以向系統(tǒng)發(fā)送指令。
軟件總體構(gòu)架就是基于模塊化思想,通過建立標(biāo)準(zhǔn)的接口,來屏蔽軟硬件資源的差異,提高軟件的可靠性和可重用性,本文的軟件總體構(gòu)架如圖2所示。處理器可以通過移植庫函數(shù)和處理器指令。處理器的函數(shù)層通常由芯片廠商定好,并用于訪問處理器寄存器的名稱,通過外部函數(shù)來訪問外設(shè)地址。
設(shè)備外設(shè)主要是實現(xiàn)中斷定義、寄存器和外設(shè)地址,通常由集成處理器和單片機廠商提供。
圖2 軟件總體架構(gòu)
串口的初始化主要是對波特率、停止位和串口緩存以及數(shù)據(jù)位等進行清空,因此,串口的初始化過程是首先對網(wǎng)絡(luò)通信模塊如CDMA等設(shè)備進行連接,然后根據(jù)傳感器的標(biāo)志來對串口進行設(shè)置。
由于海洋數(shù)據(jù)采集器包含了多類的數(shù)據(jù)傳感器,各類傳感器的軟件功能不同,如溫鹽、潮汐和浪流傳感器通常通過RS232串行接口與海洋數(shù)據(jù)采集器相連,而其他類型的傳感器如溫濕度傳感器是通過EDA9083與海洋數(shù)據(jù)傳感器連接。
溫鹽傳感器在上電啟動后,會以每秒一組的數(shù)據(jù)向海洋數(shù)據(jù)傳感器的串口發(fā)送數(shù)據(jù),無需發(fā)送任何命令。
潮汐傳感器是采用激光測距型傳感器,它能在發(fā)送測量命令后返回測量結(jié)果。激光測距傳感器主要測量傳感器和海面之間的垂直距離。海洋數(shù)據(jù)采集器在收到數(shù)據(jù)后根據(jù)潮水基準(zhǔn)面和傳感器高度來換成實際潮水位。
浪流傳感器采集的數(shù)據(jù)在每隔10分鐘自動定時上傳數(shù)據(jù),每個水層都包含流速和流向,海浪數(shù)據(jù)主要包括最大的波高、周期和平均波高以及平均波向。
雨量傳感器主要是根據(jù)測量器讀出的雨量數(shù)據(jù),并在每分鐘結(jié)束后讀取每分鐘的雨量累加折,然后對計算器清0,使得下一個分鐘的測量器讀取的對應(yīng)了下一分鐘的雨量累加值。
風(fēng)速風(fēng)向傳感器記錄每分鐘風(fēng)速最大值、10分鐘內(nèi)的平均風(fēng)速以及風(fēng)向。對60秒鐘的步長為3的數(shù)據(jù)抽取,將其中速度最大的瞬時風(fēng)速作為最大風(fēng)速,同時記錄對應(yīng)的風(fēng)向。
Sink節(jié)點對數(shù)據(jù)采集的主要軟件流程可以描述為:(1)接收新節(jié)點的加入,當(dāng)有新的傳感器加入時,為傳感器分配唯一ID;(2)當(dāng)傳感器有數(shù)據(jù)發(fā)送時,Sink節(jié)點會接收這些數(shù)據(jù)并融合他們發(fā)送的數(shù)據(jù),并將數(shù)據(jù)發(fā)送給Sink節(jié)點。Sink節(jié)點采集數(shù)據(jù)的流程如圖3所示。
(1)維護網(wǎng)絡(luò)拓撲結(jié)構(gòu):當(dāng)有新的車載傳感器節(jié)點即新的車輛加入時,為車載傳感器分配唯一ID;當(dāng)有車載傳感器節(jié)點離開時,將該節(jié)點ID從管理節(jié)點表中刪除;
(2)實時監(jiān)測車載傳感器節(jié)點是否有數(shù)據(jù)發(fā)送,當(dāng)有數(shù)據(jù)到來時,接受并融合由車載傳感器發(fā)送的數(shù)據(jù),并最終將其發(fā)送到監(jiān)控中心;
(3)接收監(jiān)控中心發(fā)送的交流流量當(dāng)前和預(yù)測值,并將其發(fā)送到WSN中的車載傳感器,最終通知車主道路流量情況。
圖3 Sink節(jié)點軟件功能圖
圖4 海洋監(jiān)測系統(tǒng)示意圖
采集器可以應(yīng)用于圖3所示的海洋監(jiān)測系統(tǒng),該系統(tǒng)主要是由上位機和海洋數(shù)據(jù)采集器兩部分組成。
海洋數(shù)據(jù)采集器包括了安裝在現(xiàn)場的各個監(jiān)測站點的傳感器,主要有采集器和要素傳感器,可以實現(xiàn)氣壓、氣溫、濕度、降水、風(fēng)速、風(fēng)向、潮汐和鹽度等信號的采集,是整個系統(tǒng)的數(shù)據(jù)來源以及前端設(shè)備。采集器主要通過有線或無線通訊模塊實現(xiàn)與上位機的連接。
上位機的主要功能是對由各個海洋數(shù)據(jù)采集器采集的數(shù)據(jù)信息進行存儲,處理和加工,實現(xiàn)對海洋數(shù)據(jù)的實時監(jiān)測。
為了采集器和其構(gòu)成的海洋監(jiān)測系統(tǒng)進行測試,對模擬信號0 V、3 V和6 V的數(shù)據(jù)點進行測試,并對這些數(shù)據(jù)點計算100次,對其求平均值,并保留3位有效小數(shù),得到的結(jié)果如表1所示:
表3 模擬測試
從表3可以看出,這9次實驗中,得到的總誤差均小于0.03,具有較高的測試精度。
表4 脈沖測試次數(shù)輸入
從表4可以看出,這9次實驗中,得到的總誤差均小于0.01,具有較高的脈沖測試精度。
為了實現(xiàn)海洋環(huán)境的實時監(jiān)控和數(shù)據(jù)采集,設(shè)計了一種基于傳感器的對各類數(shù)據(jù)進行采集的海洋數(shù)據(jù)采集器。首先對所有硬件框架進行了設(shè)計,然后對數(shù)據(jù)采集接口、存儲器模塊、通信模塊和時鐘以及看門狗的硬件進行設(shè)計,在此基礎(chǔ)上,對系統(tǒng)軟件進行了設(shè)計,對軟件總體框架,串口的初始化、傳感器數(shù)據(jù)讀取流程以及在海洋監(jiān)測系統(tǒng)中的應(yīng)用均進行詳細的設(shè)計與說明。實驗表明文中方法能應(yīng)用于海洋環(huán)境信息進行實時監(jiān)控,設(shè)計數(shù)據(jù)采集器具有成本低、功耗低以及布設(shè)簡單優(yōu)點,同時在對模擬量和脈沖的測試中可以發(fā)現(xiàn),同時對模擬量和脈沖的測試具有較高的精度。