文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2015.07.008
中文引用格式: 勇婭詢,劉維亭,劉懷芝,等. 基于ARM9和Linux的風暴潮監控系統設計[J].電子技術應用,2015,41(7):30-32,36.
英文引用格式: Yong Yaxun,Liu Weiting,Liu Huaizhi,et al. The design of storm surge monitoring system based on ARM9 and Linux[J].Application of Electronic Technique,2015,41(7):30-32,36.
0 引言
風暴潮指由強烈大氣擾動,如熱帶氣旋(臺風、颶風)、溫帶氣旋(寒潮)等引起的海面異常升降現象。有人稱風暴潮為“風暴海嘯”或“氣象海嘯”,在我國歷史文獻中多稱為“海溢”、“海侵”、“海嘯”及“大海潮”等,所以又把風暴潮災害稱為“潮災”。風暴潮的空間范圍一般由幾十公里至上千公里,時間尺度或周期約為1~100 h,介于地震海嘯和低頻天文潮波之間。較大的風暴潮,特別是風暴潮和天文潮高潮疊加時,會引起沿海水位暴漲,海水倒灌,狂濤惡浪,沖毀海堤海塘,吞噬碼頭、工廠、城鎮和村莊,使物資不得轉移,人畜不得逃生,從而釀成巨大災難[1-2]。
平潭、霞浦兩地位于福建省沿海地區,處于南亞熱帶北界,以平潭為例,在季風環流影響下,全年大于等于8級的大風日數,中部有90天左右,沿海有130天左右。每年影響平潭的臺風有3~5次,最多達11次,強度大,速度常達40 m/s以上,可以說幾乎一年四季都有大風出現。特殊的地理位置與氣候環境使得兩地存在風暴潮的威脅,因而建立風暴潮監控系統勢在必行。
1 系統的整體設計
系統需實時顯示目標海堤視頻信息,且對接收的數據進行查詢、分析、管理及顯示等。系統示意圖如圖1所示[3]。
系統流程:控制器定時讀取傳感器以及波浪儀數據,保存在SD卡中,并定時上傳數據至主臺保存;光控開關在天氣照度比較弱的情況下自動打開,因為光控設備有壽命,因而同時設置軟件判斷程序,設置定時開關時間,使照明系統打開,以確保攝像頭在黑暗情況下能夠拍攝到清晰的圖像;所有數據經過交換機接入因特網,通過因特網將數據上傳至主站或者PC主機,可以遠程登錄該系統進行相關操作。
1.1 系統的硬件設計
綜合考慮系統功能的實現和當今嵌入式系統的發展趨勢,在硬件平臺的構建上,MCU采用Atmel公司AT91SAM9G35,系統的硬件框圖如圖2所示[4]。
AT91SAM9G35采用ARM926EJ-S ARM Thumb核,其主要資源有1個LCD控制器以及觸摸板控制、高速USB2.0、10/100 Mb/s以太網控制器,支持SD卡SDIO模式等,主頻為400 MHz,適用于樓宇自動化、數據記錄儀、POS機、報警系統和醫療設備等。
1.2 外接設備與主要模塊功能的實現
1.2.1 供電系統照明系統
供電系統采用市電和太陽能發電互補,主電采用交流220 V市電,副電采用太陽能發電,通過自動切換開關進行切換,保證在無市電的情況下本系統能可靠運行。交流電經過防雷防浪涌器件接入系統,把外部干擾降至最低。
為確保攝像頭在黑暗情況下能夠拍攝到清晰的圖像,在設計過程中,硬件上采用光敏電阻,在軟件上,針對設備光線阻擋干擾問題進行算法編寫,定時檢測A/D采樣數據,光控開關在天氣照度比較弱且持續超過設定時間的情況下自動打開,照明系統隨之打開。照明系統的燈采用節能LED燈,功率為30 W,在保證光照度夠用的情況下最大限度節能。
1.2.2 數據存儲部分
視頻數據存儲采用硬盤,硬盤容量為2 T,可以連續保存100天錄像數據。海洋要素信息保存至SD卡,每分鐘保存一次數據,SD卡采用16 GB容量卡,可以保存5年以上的數據。只要網絡暢通,保存的數據就能實時上傳到主機。
1.2.3 傳感器與波浪儀的選擇
風速風向數據采集采用美R.M.YOUNG公司生產的05103L型標準海洋型風速風向傳感器。風速風向傳感器傳輸采用標準的兩線制方式,輸出信號為標準的4~20 mA模擬量信號,其抗干擾能力好,傳輸距離長。前級信號通過LC電路濾波,濾除干擾;采樣電路采用高精度低溫漂的采樣電阻,保證采樣精度可靠精確;后級信號采用運放跟隨接法,提高輸入阻抗,降低輸出阻抗,保證信號可靠準確,最后進入高精度A/D轉換模塊進行轉換。
氣壓傳感器采用美國Setra 278型號的優質傳感器,氣壓傳感器輸出信號為0~5 V的氣壓信號,輸出電壓范圍較寬,超出A/D轉換器量程,因此采用高精度低溫漂的電阻進行分壓,分壓后信號經過運放跟隨,最后進入高精度A/D轉換模塊進行轉換。信號前級采用阻容濾波,傳感器直接就近安裝,縮短引線,保證采樣信號準確可靠。
電路設計為避免傳感器短路故障而影響系統工作,在供電部分加入了自恢復保險絲,提高了系統運行的可靠性。
波浪儀采用SBY1-1 型壓力式波浪儀,其具有精度高、穩定性好、抗腐蝕、抗磨損和抗沖擊性好等優點。由于測量膜片表面平整,直接與海水大面積接觸,有效地避免了傳壓孔被泥沙堵塞的問題。它的工作原理是在一定水深范圍內,海面波高的變化會引起水壓的變化。因此,在某一深度上可以用壓力傳感器測出其壓力的變化,并由壓力的變化反推出表面波的變化。
2 系統的軟件設計
根據ARM9處理器及其各種外圍硬件資源的特性,軟件部分主要包含圖像釆集、壓縮編碼、數據處理及本地存儲、網絡通信的設計,驅動部分主要包括USB攝像頭的驅動等。圖3為整個系統的軟件框架[5]。
2.1 嵌入式軟件平臺的構建
在裁減和定制Linux、運用嵌入式系統之前,由于嵌入式開發系統存儲大小有限,通常需要在PC上建立一個用于目標板的交叉編譯環境。在創建交叉編譯環境后,從u-boot官網上面下載u-boot源碼包,進行u-boot移植[6]。完成u-boot的移植之后,就可以開始創建嵌入式Linux系統了,一個完整的嵌入式Linux系統包括Linux內核、根文件系統以及應用程序等[7]。
根據Linux的結構編寫風暴潮監控系統的應用程序,數據采集處理程序的流程圖如圖4左半邊。系統在傳感器、波浪儀采集到數據以后,定時計數器也同步啟動,將設定時間內所采集到的數據全部都存入SD卡中,對于異常數據進行處理,將這些數據中的最小值和最大值刪除然后取平均。數據處理流程圖如圖4右邊所示。
2.2 視頻采集模塊和編解碼設計
視頻采集模塊的功能是從USB攝像頭設備中讀取視頻幀數據,并以一定格式保存。USB攝像頭屬于視頻類設備,在目前的Linux核心中,視頻部分的標準是video for Linux(簡稱v4L)。這個標準定義了一套接口,內核、驅動、應用程序以這個接口為標準進行交流[8]。在Linux中,視頻設備文件可以像普通文件一樣對其進行讀寫,視頻采集流程序框圖如圖5所示[9]。
在嵌入式編解碼軟件設計上,應用開源FFmpeg方案實現視頻壓縮編碼。FFmpeg是在Linux平臺下開發的音視頻編解碼庫,提供了錄制、轉換以及流化音視頻的完整解決方案,且具有跨平臺的特性,廣泛應用于嵌入式設備中。當前主流的視頻壓縮技術主要有3種,分別為JPEG標準、MPEG標準、H.26X標準[10]。表1列出了3種標準的壓縮比、應用場合和采用的主要編碼技術。
由表1可知,從壓縮比率上看,JPEG壓縮比為30~50,MPEG-4為100~150,H.264為200,H.264標準能達到較高的壓縮比率。因為視頻監控要求壓縮比最高,且能夠在有限的存儲空間內盡可能多地存放視頻信息。所以,系統選用H.264標準作為壓縮方案。
由于視頻流對數據傳輸設備信號要求高,所以采用有線傳輸方式,將數據通過以太網傳輸至主機進行最終的分析和處理。
3 數據分析與界面顯示
完成交叉編譯平臺的搭建,構建u-boot的移植、內核的移植、根文件系統,然后運行PC上的Linux操作系統,得到的結果如圖6所示平臺界面。
圖6是上位機顯示界面。從圖6可以看出界面實時顯示最新的數據時間以及風速、風速等級、風向、氣壓的最新數據值。顯示海浪的最新數據時間以及最大波高、波周期,1/10波高、波周期,1/3波高、波周期和平均波高、波周期。顯示所觀測點的實時視頻,其中控制功能包括:連接視頻、焦距調整、視頻圖片抓取、視頻錄像、預設置點的包存及載入等。其中視頻圖片抓取功能為選擇保存圖片文件的位置及文件名稱,程序自動抓取當前的最新視頻,保存為JPG格式的圖片文件;視頻錄像功能為點擊開始錄像,系統自動保存實時視頻為視頻文件,視頻格式為mp4標準壓縮格式,可以選擇常用的視頻播放工具來播放該視頻錄像文件。
4 結束語
本文針對平潭和霞浦的地形,設計了風暴潮監控系統,通過測試該系統實現了現場高清、高幀數視頻流數據的獲取與存儲,視頻流資料的實時傳輸與監控,接收端視頻流資料的自動獲取、存儲、查詢等功能;進行了平臺數據集成管理,平臺軟件采用可視化管理,可通過視頻實時看到現場海浪情況并實現了集成數據結果顯示,如坡前波浪信息、氣象、海洋站潮位資料等,整個系統適用于沿海地區對風暴潮的監控,易于推廣。
參考文獻
[1] 葉琳,于福江.我國風暴潮災的長期變化與預測[J].海洋預報,2002,19(1):89-96.
[2] 楊桂山.中國沿海風暴潮災害的歷史變化及未來趨向[J].自然災害學報,2000,9(3):24-30.
[3] 陽韜.基于ARM的無線視頻監控系統設計[D].北京:北京交通大學,2013.
[4] 彭鐵剛,劉國繁,曹少坤,等.基于ARM的嵌入式視頻監控系統的設計[J].計算機工程與設計,2010,31(6):1191-1194.
[5] 丁秩.基于嵌入式的無線圖像監控系統的設計與實現[D].武漢:武漢理工大學,2006.
[6] 周鵬.嵌入式Linux基礎教程[M].北京:人民郵電出版社,2012.
[7] 陳賾,秦貴,徐華中,等.ARM9嵌入式技術及Linux高級實踐教程[M].北京:北京航空航天大學出版社,2005.
[8] 段智文,陳惠.基于video for Linux內核的USB攝像頭視頻信號采集實現[J].價值工程,2011,30(5):152-153.
[9] 金余義.基于ARM和嵌入式Linux船舶氣象儀的數據采集處理系統的開發[D].山東:中國海洋大學,2010.
[10] 路錦正.MPEG-4/H.264視頻編解碼工程實踐[M].北京:電子工業出版社,2011.