文獻標識碼: A
文章編號: 0258-7998(2014)06-0020-03
無線多媒體傳感器網(wǎng)絡(luò)(WMSN)現(xiàn)在已經(jīng)被廣泛應(yīng)用到各監(jiān)控領(lǐng)域。WMSN具有自組織能力,不需要提前為其建立基礎(chǔ)網(wǎng)絡(luò)設(shè)施,可以根據(jù)實際應(yīng)用的需要建立相應(yīng)的通信系統(tǒng),具有較高的靈活性,這對煤礦井下應(yīng)急通信系統(tǒng)的建立意義重大[1-2]。由于煤礦環(huán)境復(fù)雜,在生產(chǎn)過程中存在多種安全隱患,多數(shù)煤礦事故的發(fā)生都是由于操作不規(guī)范、缺乏有效的監(jiān)控措施而導(dǎo)致的;井下的有線攝像機體積笨重,一次布置后很難再次移動;受井下條件限制,會存在許多檢測盲點,而且在災(zāi)害方發(fā)生時,有線網(wǎng)絡(luò)較為脆弱,容易遭受破壞,在實際救災(zāi)中,能為搜求人員提供的有效信息有限。為此本文設(shè)計了應(yīng)用DVC方案的傳感器節(jié)點,結(jié)合煤礦物聯(lián)網(wǎng)應(yīng)用背景,完成了節(jié)點的軟硬件整體設(shè)計,并在井下進行了實測。將該WMSN應(yīng)用到煤礦應(yīng)急救援通信系統(tǒng)中,將為災(zāi)后救援工作帶來很大的幫助。
1 礦山物聯(lián)網(wǎng)的介紹
礦山物聯(lián)網(wǎng)基于WiFi的感知層無線Mesh網(wǎng)絡(luò)的設(shè)計,為井上與井下人員、井下與井下人員之間的溝通(語音、視頻、位置、環(huán)境參數(shù)等)搭建了一個寬廣、快速的網(wǎng)絡(luò)平臺,為煤礦安全生產(chǎn)綜合調(diào)度提供了新的指揮手段,也為煤礦的救援提供了快捷通信手段,可在災(zāi)變期間快速地恢復(fù)和投入運行,大大提高救援效率[3]。煤礦井下無線傳輸網(wǎng)絡(luò)主要由交換機、AP控制器AC、接入點AP組成。無線網(wǎng)絡(luò)最終要接入井下以太環(huán)網(wǎng),通過井下以太環(huán)網(wǎng)與井上服務(wù)器進行通信。井下各種無線數(shù)據(jù)終端采集的各種數(shù)據(jù)通過井下無線網(wǎng)絡(luò)和以太環(huán)網(wǎng)傳到井上服務(wù)器,以供服務(wù)器進行后續(xù)處理以及供工作人員查看。應(yīng)用場景如圖1所示。
節(jié)點能夠?qū)崟r采集圖像數(shù)據(jù)并對數(shù)據(jù)進行處理,用無線的方式將處理后的數(shù)據(jù)通過無線接入點傳入現(xiàn)有工業(yè)以太環(huán)網(wǎng),進而傳到井上數(shù)據(jù)服務(wù)器,再由數(shù)據(jù)服務(wù)器將數(shù)據(jù)轉(zhuǎn)發(fā)到各應(yīng)用服務(wù)終端。
2 節(jié)點的硬件結(jié)構(gòu)設(shè)計
2.1 硬件系統(tǒng)框圖
節(jié)點硬件平臺主要由主處理器、CMOS攝像頭模塊、存儲器、WiFi無線模塊、供電部分等模塊構(gòu)成。硬件系統(tǒng)的整體架構(gòu)如圖2所示。主處理器通過CMOS攝像頭模塊進行數(shù)字圖像數(shù)據(jù)的采集,對采集到的數(shù)字圖像數(shù)據(jù)進行編碼處理,利用自身的硬件編碼模塊完成關(guān)鍵幀的編碼,然后通過軟件方式完成對Wyner-Ziv[4]的編碼。編碼后的數(shù)據(jù)通過WiFi無線模塊轉(zhuǎn)發(fā)到路由節(jié)點,最后傳到井上服務(wù)器進行解碼。
2.2 S3C6410核心模塊設(shè)計
S3C6410核心模塊主要包括S3C6410芯片、2片16 bit的128 MB DDR內(nèi)存芯片、MLC型NandFlash芯片K9G8G08、電源管理單元、DIVACOM的100M以態(tài)網(wǎng)芯片DM9000等,配合供電電路及晶振、復(fù)位電路等外圍電路組成。
2.3 攝像頭模塊設(shè)計
攝像頭模塊的組成部分有:感光芯片、數(shù)字信號處理器、鏡頭以及電源。其中最重要的部分是感光芯片,本設(shè)計選用MICRON公司的MT9P031(CMOS)傳感器。MT9V031是支持較低照度的低功耗COMS圖像傳感器,寄存器配置接口是Serial Camera Control Bus(SCCB),它的總線時序與I2C兼容,可以利用S3C6410的I2C控制器配置MT9P031的寄存器,也可以使用I/O口模擬SCCB協(xié)議來完成配置工作。利用S3C6410的Camera接口控制器來獲取MT9P031的原始圖像數(shù)據(jù)。
2.4 WiFi無線模塊設(shè)計
節(jié)點采用WiFi技術(shù)作為無線通信方案。WiFi能夠提供WMSN需要的帶寬量,并且可以通過休眠機制實現(xiàn)自身的低功耗,同時能夠滿足煤礦井下的安全要求。美國GainSpan的GS1011芯片具有集成度高、處理速度快、功耗低等優(yōu)點,能夠滿足井下多媒體傳感器節(jié)點的需求??梢岳肧3C6410的SPI控制器與GS1011之間進行通信,將需要發(fā)送的數(shù)據(jù)通過SPI接口傳遞給GS1011,再利用GS1011將數(shù)據(jù)轉(zhuǎn)發(fā)出去,在不需要進行數(shù)據(jù)發(fā)送時,可以控制GS1011進入低功耗的模式,降低節(jié)點的能耗。
3 節(jié)點軟件設(shè)計
圖像傳感器節(jié)點選擇了基于ARM的32位處理器平臺,選擇嵌入式Linux作為系統(tǒng)軟件平臺。首先進行系統(tǒng)軟件平臺的搭建,需要根據(jù)節(jié)點的硬件平臺情況完成Linux操作系統(tǒng)的裁剪和移植,根據(jù)所選用的設(shè)備完成驅(qū)動程序的移植工作。在系統(tǒng)軟件的基礎(chǔ)之上,基于分布式視頻編碼算法完成應(yīng)用軟件設(shè)計,實現(xiàn)圖像數(shù)據(jù)的采集,節(jié)點系統(tǒng)軟件架構(gòu)如圖3所示。
3.1 嵌入式系統(tǒng)移植
首先搭建嵌入式Linux開發(fā)環(huán)境[5]。本文選擇Red Hat企業(yè)版6.0作為宿主機。為了降低Linux操作系統(tǒng)的操作難度,在PC端的Windows系統(tǒng)中安裝VMWare虛擬機,將Red Hat安裝在虛擬機,以配合Windows下的一些工具完成系統(tǒng)的開發(fā)。接著進行Bootloader移植,選擇U-Boot作為系統(tǒng)的引導(dǎo)程序,U-Boot是開放源碼的引導(dǎo)程序,其大部分源碼是參考Linux內(nèi)核源碼來實現(xiàn)的,所以在硬件和可移植性方面表現(xiàn)出很多優(yōu)勢[6]。最后進行Linux內(nèi)核移植。圖4是對Camera接口的驅(qū)動配置。
3.2 視頻采集編碼程序設(shè)計
視頻的采集使用了Linux專門設(shè)計的視頻層驅(qū)動V4L2,V4L2設(shè)計了統(tǒng)一接口標準的統(tǒng)一函數(shù)接口,只需要按照V4L2的標準定義V4L2的操作接口函數(shù),應(yīng)用平臺就可以不考慮具體攝像頭型號,直接調(diào)用V4L2提供的操作函數(shù)來換取攝像頭數(shù)據(jù)[7]。利用Linux的V4L2層進行圖像數(shù)據(jù)采集的流程如圖5所示。
在煤礦井下的實際應(yīng)用中,能量和帶寬都相對有限,對圖像的質(zhì)量要求不會太高,幀率的設(shè)置也不會太高,這樣圖像幀之間的相關(guān)度不會很高,默認選擇關(guān)鍵幀比較多的GOP2幀分類模式(IWIWIWIW模式,奇數(shù)幀為關(guān)鍵幀K幀,偶數(shù)幀為WZ幀W幀),也可以根據(jù)需求修改關(guān)鍵幀的密度。編碼器首先根據(jù)需求對采集到的原始視頻信號進行幀分類,對不同類型的幀信息進行獨立編碼,利用S3C6410內(nèi)部的多媒體控制器對K幀進行H.264幀內(nèi)編碼,利用Wyner-Ziv編碼器對W幀進行編碼。W幀的編碼過程不參考關(guān)鍵幀。首先對原始圖像數(shù)據(jù)的矩陣按照宏塊進行劃分,對每一個宏塊進行DCT變換,然后對DCT變換后的系數(shù)進行系數(shù)帶的劃分,提取系數(shù)帶的每一個比特平面,送入LDPCA編碼器進行編碼。編碼后的數(shù)據(jù)存入緩存器,根據(jù)解碼端的反饋,將緩存器中的數(shù)據(jù)發(fā)送給解碼端。編碼端工作流程如圖6所示。
3.3 視頻傳輸模塊設(shè)計
采集編碼后的視頻數(shù)據(jù)可以通過SPI接口傳給GS1011模塊,GS1011負責將數(shù)據(jù)轉(zhuǎn)發(fā)到AP。由于WiFi射頻部分即使在空閑模式下也會消耗大量的能量,因此,為了降低節(jié)點的整體能耗,GS1011模塊沒必要一直保持在工作狀態(tài),可以在適當?shù)臅r間進入休眠模式,關(guān)閉射頻部分,在長時間沒有數(shù)據(jù)收發(fā)任務(wù)的情況下還可以進入待機模式,當需要輸出時通過控制芯片進行喚醒。GS1011模塊的工作流程如圖7所示。
4 實驗效果及結(jié)論
(1)實驗地點:為了達到實際的應(yīng)用效果,研究人員選擇在徐州家河煤礦進行測試。
(2)實驗室平臺:分布式視頻解碼端在Windows的Visual Studio平臺下開發(fā),利用開源媒體庫ffmpeg進行解碼端的設(shè)計。ffmpeg具有先進的音/視頻編解碼庫libavcodec,具有高可移植性和較高的編解碼質(zhì)量。
(3)實驗結(jié)果:對井下的視頻進行采集編碼、解碼顯示實驗的結(jié)果表明,視頻畫面流暢,畫質(zhì)較為清晰,可以滿足井下監(jiān)測的實際需求。
本文結(jié)合對煤礦井下應(yīng)用場景的分析,完成了視頻傳感器節(jié)點的軟硬件設(shè)計。井下實測結(jié)果表明,節(jié)點運行穩(wěn)定,圖像效果良好,基本能滿足井下的視頻監(jiān)控要求,具有廣闊的應(yīng)用前景。
參考文獻
[1] AKYILDIZ I F,MELODIA T,CHOWDHURY K R.A survey on wireless multimedia sensor networks[J].Computer Networks,2007,51(4):921-960.
[2] AKYILDIZ I F,MELODIA T,CHOWDHURY K R.Wireless multimedia sensor network: a survey[J].IEEE Transaction on Wireless Communication,2007,14(6):32-39.
[3] 張申.物聯(lián)網(wǎng)與感知礦山專題講座之一——物聯(lián)網(wǎng)基本概念及典型應(yīng)用[J].工礦自動化,2010(10):104-108.
[4] 賀紅.基于Wyner-Ziv視頻編碼的高效編碼算法研究[D].西安:西安電子科技大學(xué),2010.
[5] 孫天澤,袁文菊.嵌入式設(shè)計及Linux驅(qū)動開發(fā)指南[M].北京:電子工業(yè)出版社,2009.
[6] 周書林.基于S3C2440A的bootloader設(shè)計與實現(xiàn)[D].鎮(zhèn)江:江蘇科技大學(xué),2009.
[7] 王飛,孫聰.基于V4L2的Linux攝像頭驅(qū)動的實現(xiàn)[J].電子技術(shù),2012,25(2):86-92.