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