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