1、引言
海氣邊界層是海洋與大氣之間進行能量、動量和物質交換的樞紐和橋梁,對局部地區乃至全球的海洋氣候有著巨大的影響,是中長期數值天氣預報和氣候變化預測的理論基礎。因此,海氣界面能量和物質交換以及海洋大氣邊界層結構已經成為近十幾年來海洋和氣象學家非常關注的問題,同時也是大氣科學和物理海洋學研究的難點。
海氣邊界層的觀測手段主要集中在氣象觀測塔、海洋測量船、無線電探空儀、天氣雷達等。30多年來國際上進行了大量科學試驗,如大西洋季風實驗\\(ATEX\\),海洋濕度交換試驗\\(HEXOS\\)、熱帶海洋和全球大氣試驗\\(TOGA\\)。正在進行的全球能量與水循環試驗\\(GEWEX\\)、氣候變化和可預報性計劃\\(CLIVAR\\)等都把海-氣通量觀測研究作為其主要內容。我國在海氣相互作用方面也開展了科學調查和現場觀測試驗。如2002年在我國廣東沿海開展中國登陸臺風外場科學試驗CLATEX\\(China Land fallingTyphoon Experiment\\),首次進行登陸臺風的邊界層觀測試驗。
2009~2010年 “臺風登陸前后異常變化及機理研究”項目中實施了“臺風登陸過程外場科學試驗”,進行登陸臺風界面通量交換、海洋氣象要素變化、大氣邊界層結構等方面的探測。在開展的“我國近海海洋綜合調查與評價”大型科學調查研究中,海洋氣象和海氣界面通量觀測是非常重要的一個方面。
2009年9月開始,國家海洋技術中心在南海海域和東海海域安裝了幾套岸基海氣邊界層監測系統,為用戶提供了大量寶貴的原始觀測資料。但 是其 數據 采 集器采用C8051作為主控制器,在數據處理、接口通用性和功能擴展等性能上也有明顯不足。因此,本文基于Intel XScaleIXP422設計開發出一種可用于海氣邊界層系統數據采集和處理的采集器。采集器充分利用Linux嵌入式系統的多任務、低功耗、實時性高等性能,及其豐富的接口資源,實現對于梯度風速、風向,梯度溫濕度,氣壓,海表層水溫等觀測要素的數據采集和處理。
2、海氣邊界層系統結構
海氣邊界層系統可以連續、自動獲取鐵塔所在區域大氣邊界層近地面層\\(距離海面40m左右\\)溫濕和風廓線數據,海表水溫和水位數據,氣壓數據。每一層傳感器和數據變送器可以自成系統,獨立運行。
如圖1所示,風速、風向傳感器、溫度、濕度傳感器和數據變送器安裝在觀測鐵塔上。每一層安裝一套風速風向傳感器、溫濕度傳感器和數據變送器。數據變送器的主要功能是采集風速風向和溫濕度信號,并把數據通過RS485總線發送到數據采集器中。水溫傳感器安裝在溫鹽井中,水位傳感器安裝在驗潮井中。為了保證系統的安全運行,數據采集器和數據變送器以及水位和水溫傳感器之間通信也是采用帶隔離功能的RS485通信模塊,因此需要分離電源對數據采集器和數據變送器進行供電。通常情況下,水溫和水位傳感器和數據變送器使用同一電源。
采集器將數據采 集以后,進行 處理,以 文本格 式保存在CF卡中。每5min通過北斗通信機將前1min的原始數據發送出去。數據顯示和采集器參數配置可以通過觸摸屏來實現?,F場有穩定220V交流電源的條件下可以選擇性的配置一臺PC作為值班機,值班機和觸摸屏的功能相同,通過值班機也可以實現數據顯示和采集器參數配置。
3、采集器軟硬件設計
3.1控制器介紹
采集器主要負責采集海氣邊界層監測系統各個監測要素的數據,對數據進行保存,確保系統能夠及時、準確地采集到各個監測要素的數據。因此采集器至少需要以下功能:
1\\)數據采集;2\\)數據管理和存儲;3\\)參數設置和校時;4\\)事件記錄;5\\)數據上行及下行傳輸;6\\)本地狀態等指示通信功能;7\\)終端本地及主站遠程維護。
通過比較和分析,采集器使用IXP422作為主控制器,此款芯片是一種多功能的處理器,集成了許多必要的接口,具有強大的網絡安全功能,特別適合用于工業控制,而且功耗相對較低,無需考慮添加額外的散熱設備,從而可減小產品的體積、降低產品成本、提高產品的可靠性。采集器硬件結構和接口如圖2所示。
3.2開發環境
Linux是模塊化設計的操作系統。用戶可以方便地對其進行配置,去除系統不需要的模塊以減少開銷。Linux在進程管理、內存管理方面功能強大,可以滿足大多數應用的復雜要求。強大的網絡支持功能。
Linux誕生于Internet并具有Unix的特性,這保證它支持所有標準Internet協議,并且可以利用Linux的網絡協議棧將其開發成為嵌入式TCP/IP網絡協議棧。具有很高的適應性和可靠性。和其他運行于PC上的系統相比,因為Linux繼承了Unix的優點,在適應性和穩定性方面性能是非常突出的。嵌入式Linux的可移植性。將Linux移植到新的微處理器體系比較容易,一般將其移植到一種新型的目標板,其中包含獨特的外設。大部分內核代碼都是相同的,因為它們和微處理器無關,所以,移植的工作多集中在一些存儲器管理以及中斷處理程序上,一旦完成,它們將非常穩定。
采用交叉編譯方式進行嵌入式采集器的開發。為了確保在宿主機中編譯完成的可執行文件能夠在采集器的系統運行,必須確保宿主機中有源代碼編譯所需要的庫文件。采用在虛擬機中安裝Redhat 9.0嵌入式操作系統,在此操作系統中安裝交叉編譯器xscale_be_gcc。在虛擬機中將編寫的代碼編譯鏈接,生成可執行文件,通過網口或串口將可執行文件下載到采集器中運行調試。
3.3軟件設計
為了充分發揮嵌入式系統的多任務處理能力,采集器應用軟件開發采用多線程設計。分為數據采集和處理線程,數據存儲和轉發線程,北斗通信線程。
3.3.1數據采集和處理線程數據采集和處理線程主要是對鐵塔數據,和其他的氣壓數據、水位,水溫數據進行采集,進行處理,求出最大值,最小值,極大值,極小值等數據。如圖3所示,鐵塔數據采集流程圖,每次數據采集開始前發送同步命令“$000/r/n”,使得數據變送器清除已保存的數據并重新開始數據采集。發送當前層數的采集命令,由于采集命令“$+地址+□+1+
對于氣壓和水溫鹽度數據的采集,由于氣壓和水溫鹽度傳感器都是采用主動發送的格式,每秒主動發送一個數據。采集器需要每秒從串口緩沖區中讀一次數據可以了。對于水位數據的采集,需要發送采集命令進行數據采集。
3.3.2數據存儲和轉發線程數據存儲和轉發,包括每分鐘將原始數據以文本文件格式保存到CF卡中,保存目錄“/var/hda”。本文設置可以保存一年的原始數據。每天建立一個文件,以當前日期“YYYYMMDD”,比如“20130101”作為文件名。在處理超過1年的原始數據時,有2種方式,第1種方式是將去年這天的文件直接刪除,重新建立新的文件,但是這種方法會產生碎片。第2種方式是檢查是不是有這個文件,如果有這個文件,將文件更名并將其內部數據清空,然后將最新的原始數據存儲到文件中,此方式不會產生碎片,在此采用第2種方式。
由于給上位機和觸摸屏發送原始數據也是每分鐘一次,所以在每次保存完數據后直接將原始數據打包,通過串口發送觸摸屏,以socket接口發送到上位機。
3.3.3北斗通信線程采集器每5min給北斗通信機發送一次數據,將上1min的原始數據按照北斗通信格式發送出去。通信數據采用十六進制數據方式編碼。數據以單字節的形式傳送,2bit整型數據,高字節在前,低字節在后。
4、結論
充分利用Linux嵌入式系統的高性能、低功耗,豐富的接口資源等優點,開發出一種可用于海氣邊界層監測系統的數據采集器??刹捎蒙衔粰C和觸摸屏實現對數據的顯示、監控,以及對采集器和前端傳感器的一些參數配置。上位機和觸控屏數據顯示如圖4和圖5所示。海氣邊界層數為6層,每層包括氣壓、濕度、風速、風向,另外有當地的氣壓、水位和水溫觀測要素。
經過測試,采集器性能可靠穩定,由它構成的系統性能優越??蔀楹膺吔鐚拥睦碚撗芯刻峁┈F場觀測原始數據,另外采集器設計小巧輕便,功耗低,并且可實現無人值守。
參考文獻:
[1] 李云波,張永剛,唐海川,等.海氣通算法在海上蒸發波導診斷中的應用[J].海洋技術,2008,27\\(1\\):106-111.
[2] 夏華永,張燕,段存志.2006年夏季珠江口外海域船基海氣通量觀測資料質量評估[J].熱帶海洋學報,2008,11,27\\(6\\):66-70.
[3] 金明,唐振,黃均安.基于IXP422的電能量管理終端的軟件系統設計[J].安慶師范學院學報,2012.11,18\\(4\\):85-86.