文獻(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.