盧上二 ,馮菊香,莫金旺,趙 利
(1.桂林電子科技大學(xué) a.信息與通信學(xué)院,b.信息科技學(xué)院,廣西 桂林 541004;2.玉林師范學(xué)院,廣西 玉林 537000)
隨著網(wǎng)絡(luò)技術(shù)、嵌入式技術(shù)的發(fā)展,使得無(wú)線(xiàn)Mesh網(wǎng)絡(luò)[1](Wireless Mesh Network,WMN)應(yīng)用于數(shù)字化、智能化及微型化的嵌入式視頻監(jiān)控系統(tǒng)成為可能。由于WMN具備組網(wǎng)迅速、成本低、可靠性強(qiáng)等優(yōu)點(diǎn),嵌入式系統(tǒng)具有體積小、穩(wěn)定可靠、高性?xún)r(jià)比等特點(diǎn),WMN嵌入式視頻監(jiān)控市場(chǎng)面臨全新的機(jī)遇。
WMN是一個(gè)無(wú)線(xiàn)多跳網(wǎng)絡(luò),由Ad Hoc網(wǎng)絡(luò)發(fā)展而來(lái),融合了Ad Hoc和WLAN網(wǎng)絡(luò)的優(yōu)勢(shì)[2]。WMN是一種自組網(wǎng)絡(luò),每個(gè)Mesh終端節(jié)點(diǎn)都具有無(wú)線(xiàn)路由功能,任一節(jié)點(diǎn)的接入和退出都不會(huì)影響整個(gè)網(wǎng)絡(luò)的正常運(yùn)行。
WMN可以由多個(gè)Mesh終端節(jié)點(diǎn)組成,具有自組織、自愈、多跳式以及點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)等特性。
WMN的嵌入式視頻監(jiān)控系統(tǒng)方案如圖1所示。
圖1 WMN的嵌入式視頻監(jiān)控系統(tǒng)
由多個(gè)Mesh終端節(jié)點(diǎn)構(gòu)建WMN平臺(tái)。結(jié)合業(yè)務(wù)需求,WMN選擇Ad Hoc典型按需距離矢量(AODV)路由協(xié)議。AODV路由協(xié)議是一種比較成熟且應(yīng)用廣泛的路由協(xié)議,具有較低的內(nèi)存和處理開(kāi)銷(xiāo),而且源碼開(kāi)放、實(shí)現(xiàn)簡(jiǎn)單。
視頻監(jiān)控終端完成現(xiàn)場(chǎng)視頻流采集壓縮、無(wú)線(xiàn)路由以及數(shù)據(jù)收發(fā)的功能。Mesh網(wǎng)絡(luò)中的任一終端均可作為視頻服務(wù)器,視頻服務(wù)器除具有視頻監(jiān)控功能外,還可選擇具有管理維護(hù)整個(gè)Mesh網(wǎng)絡(luò)正常運(yùn)行以及數(shù)據(jù)轉(zhuǎn)發(fā)到其他網(wǎng)絡(luò)即網(wǎng)關(guān)等功能。視頻監(jiān)控終端將采集的視頻流壓縮后經(jīng)最佳無(wú)線(xiàn)路由發(fā)送到視頻服務(wù)器,視頻服務(wù)器通過(guò)以太網(wǎng)將壓縮的視頻流轉(zhuǎn)發(fā)到客戶(hù)監(jiān)控主機(jī),客戶(hù)監(jiān)控主機(jī)對(duì)接收到的視頻流進(jìn)行數(shù)據(jù)處理,從而完成系統(tǒng)實(shí)時(shí)監(jiān)控功能。
2.2.1 視頻監(jiān)控終端硬件設(shè)計(jì)方案[2]
視頻監(jiān)控終端硬件設(shè)計(jì)框圖如圖2所示。
圖2 視頻監(jiān)控終端硬件結(jié)構(gòu)框圖
視頻監(jiān)控終端嵌入式處理器選擇三星公司微處理器S3C2440A[3],S3C2440A 采用了 ARM920T 的內(nèi)核,0.13 μm的CMOS標(biāo)準(zhǔn)宏單元和存儲(chǔ)器單元,功耗低、簡(jiǎn)單且全靜態(tài)設(shè)計(jì),特別適合對(duì)成本和功耗敏感的應(yīng)用。
視頻監(jiān)控終端硬件結(jié)構(gòu)是以嵌入式處理器S3C2440A為主控芯片并對(duì)其資源進(jìn)行擴(kuò)展,擴(kuò)展的模塊包括電源模塊、視頻采集壓縮模塊以及網(wǎng)絡(luò)傳輸模塊。其中視頻采集壓縮模塊包括CCD攝像機(jī)的視頻采集、SAA7113H的A/D轉(zhuǎn)換以及視頻流的MPEG-4軟件壓縮;網(wǎng)絡(luò)傳輸模塊包括以太網(wǎng)接口設(shè)計(jì)和RT73無(wú)線(xiàn)網(wǎng)卡接口設(shè)計(jì)。
2.2.2 電源模塊設(shè)計(jì)
系統(tǒng)采用了太陽(yáng)能電池和備用蓄電池雙重供電方案。在太陽(yáng)能電池能量充足的情況下,使用太陽(yáng)能電池供電,否則使用備用蓄電池。
2.2.3 視頻采集壓縮模塊設(shè)計(jì)
CCD攝像機(jī)采集的模擬視頻經(jīng)SAA7113H模數(shù)轉(zhuǎn)換后,生成標(biāo)準(zhǔn) ITU656 YUV4∶2∶2 格式的數(shù)字視頻,輸出到S3C2440A的寄存器??紤]到壓縮的靈活性,本系統(tǒng)采用高壓縮率的MPEG-4軟件編/解碼方式對(duì)視頻流進(jìn)行壓縮,其最大壓縮率可達(dá)到100∶1[4]。
2.2.4 網(wǎng)絡(luò)傳輸模塊設(shè)計(jì)
本系統(tǒng)網(wǎng)絡(luò)傳輸分為無(wú)線(xiàn)傳輸和有線(xiàn)傳輸。無(wú)線(xiàn)傳輸為Mesh網(wǎng)絡(luò)終端之間的傳輸,無(wú)線(xiàn)傳輸模塊中無(wú)線(xiàn)網(wǎng)卡選擇的是帶有USB接口的臺(tái)灣RT73無(wú)線(xiàn)網(wǎng)卡,視頻監(jiān)控終端將壓縮的視頻流經(jīng)USB控制器擴(kuò)展的USB1.1接口輸出到RT73無(wú)線(xiàn)傳輸模塊;有線(xiàn)傳輸為視頻服務(wù)器與Internet之間的傳輸,由于在S3C2440A芯片上無(wú)網(wǎng)絡(luò)接口,為了實(shí)現(xiàn)Mesh網(wǎng)與Internet的連接,所以在系統(tǒng)中擴(kuò)展網(wǎng)絡(luò)接口DM9000和RJ-45。
2.3.1 視頻監(jiān)控終端軟件設(shè)計(jì)方案[2]
視頻監(jiān)控終端軟件結(jié)構(gòu)框圖如圖3所示。
圖3 視頻監(jiān)控終端軟件框圖
Linux是以核心為基礎(chǔ)的、完全內(nèi)存保護(hù)、多用戶(hù)、多任務(wù)的操作系統(tǒng),可應(yīng)用于多種硬件平臺(tái)。Linux微內(nèi)核直接提供網(wǎng)絡(luò)支持,它的高度模塊化使添加部件非常容易,而且Linux源代碼是免費(fèi)開(kāi)放的,大大節(jié)約了開(kāi)發(fā)成本。本系統(tǒng)設(shè)計(jì)選擇采用成熟穩(wěn)定的Linux2.6.12內(nèi)核。系統(tǒng)軟件設(shè)計(jì)主要工作包括底層設(shè)備驅(qū)動(dòng)程序開(kāi)發(fā)和上層應(yīng)用程序設(shè)計(jì)。
2.3.2 底層設(shè)備驅(qū)動(dòng)開(kāi)發(fā)
底層設(shè)備驅(qū)動(dòng)開(kāi)發(fā)主要包括模數(shù)轉(zhuǎn)換芯片SAA7113H,RT73無(wú)線(xiàn)網(wǎng)卡和DM9000以太網(wǎng)芯片驅(qū)動(dòng)程序的開(kāi)發(fā)。其中SAA7113H (ADC),RT73無(wú)線(xiàn)網(wǎng)卡和DM9000以太網(wǎng)芯片的驅(qū)動(dòng)程序分別控制相應(yīng)芯片完成視頻采集,網(wǎng)絡(luò)控制傳輸,Mesh網(wǎng)與Internet連接的功能。
2.3.3 上層應(yīng)用程序設(shè)計(jì)
1)系統(tǒng)初始化
系統(tǒng)初始化即配置Linux內(nèi)核的過(guò)程,將編譯好的底層設(shè)備驅(qū)動(dòng)程序編譯到內(nèi)核里,并選擇內(nèi)核對(duì)IEEE 802.11b協(xié)議的支持,即選擇內(nèi)核中的[Wireless LAN drivers&Wireless Extensions]。同時(shí)對(duì)內(nèi)核進(jìn)行剪裁,進(jìn)行交叉編譯生成內(nèi)核鏡像zImage,燒錄進(jìn)視頻監(jiān)控終端。
2)視頻采集壓縮的實(shí)現(xiàn)
系統(tǒng)初始化時(shí),打開(kāi)CCD視頻設(shè)備文件,采集的模擬視頻經(jīng)SAA7113H模數(shù)轉(zhuǎn)換,把生成的標(biāo)準(zhǔn)ITU656 YUV4∶2∶2格式的數(shù)字視頻讀入處理器芯片S3C2440A的寄存器中,通過(guò)MPEG-4的編解碼器XVID對(duì)數(shù)字視頻流進(jìn)行軟件編碼。其中比較關(guān)鍵的是編碼器類(lèi)XVID的編寫(xiě),程序如下:
3)AODV在嵌入式ARM-Linux下的移植
要使多個(gè)視頻監(jiān)控終端組成無(wú)線(xiàn)Mesh網(wǎng)絡(luò),必須將Mesh路由協(xié)議移植到各個(gè)終端,并設(shè)置RT73無(wú)線(xiàn)網(wǎng)卡工作在Ad Hoc模式下。本系統(tǒng)使用的AODV路由協(xié)議版本為aodv-uu-0.9.3。
(1)Linux內(nèi)核的配置要求
本系統(tǒng)應(yīng)用于嵌入式處理器S3C2440A的內(nèi)核版本為L(zhǎng)inux2.6.12。使用命令make menuconfig進(jìn)行內(nèi)核配置,選擇內(nèi)核對(duì)Netfilter的支持。配置如下:
(2)修改 Makefile
一是將默認(rèn)內(nèi)核源碼路徑KERNEL_DIR修改為嵌入式處理器S3C2440A的內(nèi)核源碼路徑;二是將默認(rèn)編譯器修改為交叉編譯器,即ARM_CC=arm-linux-gcc,ARM_LD=arm-linux-ld。
(3)編譯加載
對(duì)修改好的源碼進(jìn)行交叉編譯,將生成可執(zhí)行文件aodvd、模塊kaodv.ko,將aodvd和kaodv.ko拷貝到視頻監(jiān)控終端,執(zhí)行命令insmod kaodv.ko對(duì)AODV路由協(xié)議進(jìn)行加載,并測(cè)試移植成功。
4)網(wǎng)絡(luò)傳輸軟件
對(duì)MPEG-4壓縮后的視頻流采用高效率的TCP/IP協(xié)議傳輸。同時(shí)為了提高視頻流的傳輸質(zhì)量,網(wǎng)絡(luò)傳輸部分采用了實(shí)時(shí)傳輸協(xié)議RTP/RTCP。
網(wǎng)絡(luò)傳輸程序完成視頻流數(shù)據(jù)包的封裝,經(jīng)RT73無(wú)線(xiàn)網(wǎng)卡傳送到視頻服務(wù)器,視頻服務(wù)器經(jīng)以太網(wǎng)傳送到客戶(hù)監(jiān)控主機(jī)。為保證視頻流的實(shí)時(shí)性,使用IEEE 802.11b標(biāo)準(zhǔn)完成壓縮視頻流的無(wú)線(xiàn)接收和轉(zhuǎn)發(fā)。
本系統(tǒng)應(yīng)用于某景區(qū)進(jìn)行測(cè)試,此景區(qū)景點(diǎn)多,不易布線(xiàn)。將5臺(tái)視頻監(jiān)控終端安置于監(jiān)控點(diǎn),監(jiān)控點(diǎn)之間的距離約為250 m,視頻服務(wù)器和客戶(hù)監(jiān)控主機(jī)用以太網(wǎng)線(xiàn)連接。安裝完畢,啟動(dòng)系統(tǒng),各個(gè)視頻監(jiān)控終端將采集到的視頻流經(jīng)MPEG-4軟件壓縮后通過(guò)RT73無(wú)線(xiàn)網(wǎng)卡經(jīng)最佳路由發(fā)送到視頻服務(wù)器,視頻服務(wù)器對(duì)接收到的視頻流經(jīng)以太網(wǎng)轉(zhuǎn)發(fā)到客戶(hù)監(jiān)控主機(jī),視頻服務(wù)器還具有識(shí)別和管理各個(gè)視頻監(jiān)控終端的功能??蛻?hù)監(jiān)控主機(jī)對(duì)接收到的視頻流進(jìn)行數(shù)據(jù)實(shí)時(shí)處理。實(shí)驗(yàn)測(cè)試表明,系統(tǒng)視頻流暢、圖像清晰、實(shí)時(shí)性強(qiáng),系統(tǒng)達(dá)到景區(qū)無(wú)線(xiàn)視頻監(jiān)控的要求。
WMN利用自組織、自愈、多跳式以及點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò),融合用于有線(xiàn)站臺(tái)與無(wú)線(xiàn)用戶(hù)或無(wú)線(xiàn)用戶(hù)之間溝通連接的IEEE 802.11a/b/g技術(shù),具有靈活性強(qiáng)和穩(wěn)定可靠等特點(diǎn),同時(shí)加上嵌入式系統(tǒng)體積小、成本低、性?xún)r(jià)比高等,使得WMN與嵌入式系統(tǒng)的結(jié)合滿(mǎn)足了目前視頻監(jiān)控的要求。
[1]KEITH R.Mesh wireless networking[J].IEEE Communications Engineering, 2003(10/11):44-47.
[2]祁超.無(wú)線(xiàn)Mesh網(wǎng)絡(luò)的概念及關(guān)鍵技術(shù)[J].電信快報(bào),2008(1):4-7.
[3]游林儒,謝俊斌.無(wú)線(xiàn)Mesh網(wǎng)絡(luò)在視頻監(jiān)控中的應(yīng)用[J].電視技術(shù),2008,32(2):87-89.
[4]王憲,劉井權(quán),戴旻.基于ARM平臺(tái)的遠(yuǎn)程視頻監(jiān)控系統(tǒng)的研究[J].微計(jì)算機(jī)信息,2007(23):178-180.