陳張榮,賈俊鋮,嚴(yán)建峰
(1.蘇州高等職業(yè)技術(shù)學(xué)校,蘇州大學(xué)車聯(lián)網(wǎng)研究所,江蘇蘇州215008;2.蘇州大學(xué)車聯(lián)網(wǎng)研究所,江蘇蘇州215008)
?
基于嵌入式系統(tǒng)的網(wǎng)絡(luò)視頻會(huì)議系統(tǒng)設(shè)計(jì)*
陳張榮1*,賈俊鋮2,嚴(yán)建峰1
(1.蘇州高等職業(yè)技術(shù)學(xué)校,蘇州大學(xué)車聯(lián)網(wǎng)研究所,江蘇蘇州215008;2.蘇州大學(xué)車聯(lián)網(wǎng)研究所,江蘇蘇州215008)
摘要:為了解決傳統(tǒng)視頻會(huì)議存在的諸多問(wèn)題,提出了一種基于嵌入式技術(shù)的網(wǎng)絡(luò)視頻會(huì)議系統(tǒng)。本系統(tǒng)以Linux系統(tǒng)和S3C2440控制器為核心,利用WIFI技術(shù)進(jìn)行音頻、視頻數(shù)據(jù)傳輸,將UVC攝像頭采集到的視頻數(shù)據(jù),音頻采集芯片采集到的聲音數(shù)據(jù)進(jìn)行壓縮并傳輸。接收端可接受連續(xù)幀圖像以及同步的聲音信息,并可以同步地將本地音頻、視頻數(shù)據(jù)傳輸給發(fā)送端。測(cè)試結(jié)果表明:該網(wǎng)絡(luò)視頻會(huì)議系統(tǒng)穩(wěn)定可靠,音頻、視頻數(shù)據(jù)實(shí)時(shí)準(zhǔn)確。
關(guān)鍵詞:嵌入式技術(shù);網(wǎng)絡(luò)視頻會(huì)議系統(tǒng);UVC攝像頭;音頻采集芯片;WIFI技術(shù)
項(xiàng)目來(lái)源:基于時(shí)空相關(guān)性的無(wú)線傳感器網(wǎng)絡(luò)節(jié)能問(wèn)題研究項(xiàng)目(6127449);基于協(xié)作的匯合和傳輸技術(shù)研究項(xiàng)目(61201212)
隨著近年來(lái)科技的發(fā)展,視頻會(huì)議已經(jīng)成為一種全新的會(huì)議模式,不同于傳統(tǒng)的會(huì)議模式,這種全新的會(huì)議模式可以使處于不同地理位置的分散成員通過(guò)聲音,視頻等多種方式進(jìn)行交流,以達(dá)到參與會(huì)議的效果[1]。但在視頻會(huì)議為人們帶來(lái)便利的同時(shí),也存在著一定的問(wèn)題。常見的視頻會(huì)議系統(tǒng)普遍存在傳輸距離有限,實(shí)際布線量大,數(shù)據(jù)存儲(chǔ)量大且模擬圖象質(zhì)量不高等缺點(diǎn)。同時(shí),嵌入式處理器的處理能力不斷增強(qiáng),越來(lái)越多的便攜式移動(dòng)終端開始采用嵌入式技術(shù)進(jìn)行設(shè)計(jì),將嵌入式技術(shù)引入視頻會(huì)議,通過(guò)以太網(wǎng)以及其他網(wǎng)絡(luò)傳輸視頻音頻數(shù)據(jù),是當(dāng)下視頻會(huì)議首選的解決方案。
本文設(shè)計(jì)了一套基于嵌入式技術(shù)的網(wǎng)絡(luò)視頻會(huì)議系統(tǒng),該系統(tǒng)將嵌入式Linux技術(shù)、多線程通信、WIFI技術(shù)等技術(shù)結(jié)合起來(lái)用來(lái)保證視頻,音頻數(shù)據(jù)的實(shí)時(shí)準(zhǔn)確,視頻會(huì)議終端的便攜輕巧,從根本上解決了傳統(tǒng)視頻會(huì)議系統(tǒng)所存在的問(wèn)題。
本文要討論設(shè)計(jì)的是一個(gè)以嵌入式技術(shù)為基礎(chǔ)的通用性強(qiáng)且高性能嵌入式視頻會(huì)議系統(tǒng)[2],該系統(tǒng)由USB攝像頭采集前端,音頻采集模塊,嵌入式硬件平臺(tái),WIFI模塊4部分組成。USB攝像頭采集前端用來(lái)采集圖像視頻數(shù)據(jù),然后對(duì)采集來(lái)的視頻數(shù)據(jù)采用MJEPG算法進(jìn)行壓縮處理,同時(shí)通過(guò)音頻采集模塊對(duì)本地的聲音信息進(jìn)行收集,再通過(guò)WIFI模塊將數(shù)據(jù)信息傳輸出去。本系統(tǒng)總體架構(gòu)如圖1所示。

圖1 網(wǎng)絡(luò)視頻會(huì)議系統(tǒng)總體框架圖
完整的基于嵌入式的的網(wǎng)絡(luò)視頻會(huì)議系統(tǒng)硬件資源主要由TQ2440開發(fā)板,USB攝像頭,WIFI無(wú)線網(wǎng)卡,UDA1341音頻處理模塊組成;軟件方面主要是Linux系統(tǒng)設(shè)計(jì),USB攝像頭驅(qū)動(dòng)的移植,ALSA聲卡驅(qū)動(dòng)的編寫,LCD顯示程序的設(shè)計(jì)。
2.1系統(tǒng)硬件設(shè)計(jì)
本網(wǎng)絡(luò)視頻會(huì)議系統(tǒng)硬件部分采用核心板加底板的模式進(jìn)行開發(fā),核心板采用的是S3C2440A核心板,底板設(shè)計(jì)主要包括LCD接口電路、USB攝像頭接口電路、串口電路、核心板接口電路、復(fù)位電路、電源電路等。
S3C2440A核心板采用了ARM920T內(nèi)核,ARM V7指令集,主頻可達(dá)400 MHz,32 bit內(nèi)部總線結(jié)構(gòu),可以實(shí)現(xiàn)450 MI/S的高性能運(yùn)算能力。基于ARM920T內(nèi)核的處理器在進(jìn)行人機(jī)交互設(shè)備管理、支持OS等方面擁有比較明顯的優(yōu)勢(shì)。對(duì)應(yīng)的硬件模塊電路如圖2所示。

圖2 硬件模塊電路圖
2.1.1 usb攝像頭電路設(shè)計(jì)
本系統(tǒng)所采用的攝像頭是UVC(USB video class)攝像頭,只需要標(biāo)準(zhǔn)的USB接口就可以使用,USB電路如圖3所示。
2.1.2 WIFI無(wú)線網(wǎng)卡模塊WIFI
無(wú)線網(wǎng)卡方面則選擇普聯(lián)公司生產(chǎn)的型號(hào)為TL-WN321G+WiFi無(wú)線網(wǎng)卡,此無(wú)線網(wǎng)卡總線接口采用USB方式,內(nèi)置智能天線,可以提供可靠,快速的無(wú)線訪問(wèn)能力,最大發(fā)射功率20 dBm,工作頻率范圍2.4 GHz~2.48 GHz,在環(huán)境尚佳的情況下覆蓋范圍室外最遠(yuǎn)可達(dá)到300 m,室內(nèi)最遠(yuǎn)可達(dá)到100 m。

圖3 usb電路
2.1.3 UDA1341音頻處理模塊
音頻處理模塊選用的飛利浦公司的UDA1341,它支持I2S總線的音頻系統(tǒng)結(jié)構(gòu),該芯片集成語(yǔ)音放大,濾波,采樣,A/D,D/A等轉(zhuǎn)換功能與一體。可以通過(guò)編程控制對(duì)語(yǔ)音信號(hào)的數(shù)字化處理[3]。主要使用S3C2440的I2S總線接口和L3接口,I2S總線接口采用DMA的數(shù)據(jù)傳輸方式,L3接口主要是用來(lái)控制UDA1341的。
2.1.4自主底板設(shè)計(jì)
底板電路設(shè)計(jì)部分是整個(gè)硬件電路設(shè)計(jì)的關(guān)鍵部分,同時(shí)具備高頻電路和數(shù)字電路的特點(diǎn)。為了將印刷電路板上的噪聲干擾降到最低。在本設(shè)計(jì)中,采用了以下8個(gè)方面的電路板抗干擾設(shè)計(jì)技術(shù):(1)電源和地線采用粗導(dǎo)線,降低毛刺噪聲影響。(2)地線構(gòu)成死循環(huán)回路,從而減少地線電位差。(3)布局時(shí)采用模塊化的方式。
(4)布線時(shí)將數(shù)字地和模擬地分開走線,最終連接到電源的地端。(5)布線時(shí)盡量避免90°折線,減少高頻噪聲發(fā)射。(6)濾波電容放置在芯片的背面,盡量靠近芯片電源和地的引腳。
(7)晶振布置時(shí)盡量靠近芯片引腳,晶振外殼接地并固定,同時(shí)時(shí)鐘區(qū)用地線隔離起來(lái)。
(8)布線結(jié)束后,對(duì)焊盤做淚滴處理,以增強(qiáng)信號(hào)的穩(wěn)定性。
2.2系統(tǒng)軟件設(shè)計(jì)
軟件部分,整個(gè)軟件系統(tǒng)建立在硬件的平臺(tái)基礎(chǔ)上,根據(jù)硬件平臺(tái)的配置和特性,來(lái)對(duì)軟件系統(tǒng)進(jìn)行配置和裁剪,軟件具體結(jié)構(gòu)圖如圖4所示。

圖4 軟件總體結(jié)構(gòu)圖
2.2.1 USB攝像頭驅(qū)動(dòng)
本系統(tǒng)使用的攝像頭驅(qū)動(dòng)是Linux下通用的sp?ca5xx,選用的攝像頭驅(qū)動(dòng)版本為spca5xx-v4l1good?bye.tar.gz。本系統(tǒng)采用了驅(qū)動(dòng)模塊的方式,只需要將攝像頭驅(qū)動(dòng)程序編譯成內(nèi)核模塊,通過(guò)insmod命令加載模塊,即可加載攝像頭驅(qū)動(dòng)。視頻設(shè)備在Linux中使用時(shí)也可以像訪問(wèn)普通文件一樣對(duì)其進(jìn)行讀寫等操作,攝像頭設(shè)備文件對(duì)應(yīng)/dev/v4l2/video0文件下。V4L2是Linux下可供視頻編程的規(guī)范接口。
2.2.2 V4L2信號(hào)采集設(shè)計(jì)
V4L2(Video For Linux two)是Linux系統(tǒng)下視頻設(shè)備驅(qū)動(dòng)程序接口規(guī)范,為上層應(yīng)用程序提供了一系列的接口函數(shù),可實(shí)現(xiàn)對(duì)視頻設(shè)備的操作,進(jìn)而完成視頻圖像的采集。V4L2對(duì)設(shè)備文件的操作方法比較簡(jiǎn)單直觀,表1中的函數(shù)可以在應(yīng)用程序中直接調(diào)用,具體功能如下。

表1 V4L2常用函數(shù)
V4L2接口提供2種方式進(jìn)行視頻數(shù)據(jù)采集。一種是read()直接讀取方式,不斷的在內(nèi)核空間和用戶空間拷貝視頻數(shù)據(jù),雖然這種方式使用較為方便,但是占用了大量的用戶內(nèi)存空間,效率不是很高。另一種方法是mmap()內(nèi)存映射方式,將申請(qǐng)到的內(nèi)核緩沖區(qū)地址通過(guò)mmap函數(shù)映射到用戶空間,這樣就可以直接對(duì)內(nèi)核緩沖區(qū)的數(shù)據(jù)進(jìn)行處理了,這是一種相當(dāng)有效的方式[4]。
本文在采用的設(shè)計(jì)方案為第2種內(nèi)存映射方式。首先定義兩個(gè)傳輸隊(duì)列,分別為輸入隊(duì)列和輸出隊(duì)列。輸入隊(duì)列主要負(fù)責(zé)視頻數(shù)據(jù)的接收存放,輸出隊(duì)列則負(fù)責(zé)將存放入緩沖區(qū)的視頻數(shù)據(jù)驅(qū)動(dòng)出去。
當(dāng)在腹板上質(zhì)心位置上下距離1.1 cm處對(duì)稱作用方向相反的兩排共四根均為300 N預(yù)應(yīng)力時(shí),由于軸力相互平衡,在截面只產(chǎn)生純彎荷載,而當(dāng)預(yù)應(yīng)力加在質(zhì)心位置時(shí),僅產(chǎn)生軸力。有必要研究在這兩種情況下剪力滯系數(shù)沿跨徑方向(縱向)的分布。取跨徑L=2 m,分別畫出兩種荷載下的剪力滯系數(shù)縱向分布圖,如圖4所示,橫坐標(biāo)表示的是跨徑長(zhǎng)度范圍,縱坐標(biāo)表示剪力滯系數(shù)λ。
2.2.3圖像壓縮算法
MPEG是壓縮運(yùn)動(dòng)圖像及其伴音的視音頻編碼標(biāo)準(zhǔn),它采用了幀間壓縮,僅存儲(chǔ)連續(xù)幀之間有差別的地方,從而達(dá)到較大的壓縮比。MPEG現(xiàn)有MPEG-1,MPEG-2和MPEG-4等3個(gè)版本,以適應(yīng)于不同帶寬和圖像質(zhì)量的要求[5]。MPEG-1是針對(duì)1.5 Mbit/s以下數(shù)據(jù)傳輸率的數(shù)字存儲(chǔ)媒體運(yùn)動(dòng)圖像及其伴音編碼設(shè)計(jì)的國(guó)際標(biāo)準(zhǔn),主要用于在CDROM存儲(chǔ)彩色的同步運(yùn)動(dòng)視頻圖像,它針對(duì)SIF標(biāo)準(zhǔn)分辨率(NTSC制為320像素×240像素;PAL制為352像素×288像素)的圖像進(jìn)行壓縮,每秒可播放30幀畫面,具備CD(指激光唱盤)音質(zhì)。MPEG-2是針對(duì)3 Mbit/s~10 Mbit/s的數(shù)據(jù)傳輸率制定的運(yùn)動(dòng)圖像及其伴音編碼的國(guó)際標(biāo)準(zhǔn)。MPEG-2作為MPEG-1的兼容擴(kuò)展,它支持隔行掃描的視頻格式和許多高級(jí)性能包括支持多層次的可調(diào)視頻編碼,適合多種質(zhì)量如多種速率和多種分辨率的場(chǎng)合。它適用于運(yùn)動(dòng)變化較大,要求圖像質(zhì)量很高的實(shí)時(shí)圖像。
MPEG-4是針對(duì)一定比特率下的視頻、音頻編碼,而且更加注重多媒體系統(tǒng)的交互性和靈活性。它有效的解決了圖像和容量的問(wèn)題,是目前視頻監(jiān)控領(lǐng)域一個(gè)較好的選擇[6]。其遠(yuǎn)程傳輸?shù)膮?shù)為:圖像標(biāo)準(zhǔn)358x288;幀容量0.8 kbit/s~2.5 kbit/s;實(shí)時(shí)性20 kbit/s~62.5 kbit/s[7]。
本系統(tǒng)由于硬件條件的限制,為了達(dá)到視頻會(huì)議的效果采用基于MJPEG算法進(jìn)行視頻壓縮。它的主要特點(diǎn)是動(dòng)態(tài)地使用JPEG算法,基本不考慮視頻流中不同幀之間的變化,只單獨(dú)對(duì)某一幀進(jìn)行JPEG壓縮,畫質(zhì)比較好,能產(chǎn)生高質(zhì)量、全屏、全運(yùn)動(dòng)的視頻、每幀可以任意存取,可以動(dòng)態(tài)調(diào)整幀率、分辨率,而且其編碼相對(duì)比較容易實(shí)現(xiàn)。
2.2.4 ALSA聲卡驅(qū)動(dòng)的設(shè)計(jì)
ALSA表示高級(jí)Linux聲音體系結(jié)構(gòu)(Advanced Linux Sound Architecture)。它由一系列內(nèi)核驅(qū)動(dòng),應(yīng)用程序編譯接口(API)以及支持Linux下聲音的實(shí)用程序組成[8]。Linux內(nèi)部聲卡驅(qū)動(dòng)并沒(méi)有得到積極維護(hù),導(dǎo)致其落后于新的聲卡技術(shù),而ALSA驅(qū)動(dòng)很好地解決了這一問(wèn)題。在linux2.60.30.4內(nèi)核中已經(jīng)為提供了UDA134X的ALSA驅(qū)動(dòng),只需在此基礎(chǔ)上進(jìn)行修改。
(1)配置內(nèi)核支持UDA1341
(2)修改代碼
(3)修改bug修改soundsocsamsungdma.c文件
pos += prtd->dma_period改為
pos += prtd->dma_period*limit。
(4)編譯alsa-lib,alsa-util以使用聲卡:
首先是alsa-lib:
sudo mv /usr /usr_bak
./configure --host=arm-linux
make install
sudo cp -rf /usr /work/projects/alsa/
sudo rm -rf /usr
sudo mv /usr_bak /usr
把頭文件和庫(kù)復(fù)制進(jìn)交叉工具鏈里
其次是alsa-util:
先編譯依賴:ncurses-5.9.tar.gz
./configure-- host=arm- linux-- prefix=$PWD/tmp-- withshared
make && make install
把頭文件和庫(kù)復(fù)制進(jìn)交叉工具鏈里,把庫(kù)復(fù)制到根文件系統(tǒng)的lib目錄下。
2.2.5 LCD顯示程序的實(shí)現(xiàn)
本網(wǎng)絡(luò)視頻會(huì)議系統(tǒng)需要將會(huì)議信息顯示在LCD屏幕上,因此需要編寫應(yīng)用程序來(lái)進(jìn)行,因?yàn)閁SB攝像頭采集到的視頻數(shù)據(jù)格式通常為MJPEG以及YUV格式,而LCD上的顯示數(shù)據(jù)格式為RGB格式,因此需要對(duì)視頻數(shù)據(jù)進(jìn)行轉(zhuǎn)化,使之能存入LCD顯存framebuffer中,圖6為最終顯示效果圖。

圖6 LCD顯示效果圖
本系統(tǒng)利用嵌入式系統(tǒng)的獨(dú)特性,設(shè)計(jì)了一種基于嵌入式的網(wǎng)絡(luò)視屏?xí)h系統(tǒng)。本系統(tǒng)在S3C2440
核心板的板基礎(chǔ)上,利用WIFI技術(shù)進(jìn)行數(shù)據(jù)傳輸,通過(guò)USB攝像頭進(jìn)行視頻數(shù)據(jù)采集,UDA1341進(jìn)行聲音數(shù)據(jù)采集,準(zhǔn)確率較高,方便易用。
參考文獻(xiàn):
[1]鄒玲,劉進(jìn).基于ARM9處理器的嵌入式音頻系統(tǒng)設(shè)計(jì)[J].微計(jì)算機(jī)信息,2009,23(14):152.
[2]Lu Tao,Zang Haihe,Li Xiujuan. Embedded Video Monitoring Sys?tem on ARM and Linux[C]//Electrical and Control Engineering (ICECE)Yicheng,2011. 04:184-186.
[3]林華.基于ARM9的嵌入式通信系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù),2007,3(14):442-443.
[4]張聰敏,游向東.基于V4L2的遠(yuǎn)程圖片采集系統(tǒng)[J].中國(guó)科技論文在線,2010.04:25-28.
[5]王巖.視頻信號(hào)采集與網(wǎng)絡(luò)傳輸系統(tǒng)的研究與實(shí)現(xiàn)[D].遼寧大連海事大學(xué),2011:16-18.
[6]張建.基于S3C2410和嵌入式Internet的家庭視頻監(jiān)控系統(tǒng)設(shè)計(jì)[D].上海:上海交通大學(xué),2007:1.
[7]汪光華.視頻監(jiān)控全面解析與實(shí)力分析[M].北京:北京機(jī)械工業(yè)出版社,2012. 08:31-32.
[8]姜博.基于PDA的嵌入式無(wú)線通信系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].國(guó)防科技大學(xué),2007:16.
陳張榮(1982-),男,漢族,碩士,蘇州高等職業(yè)技術(shù)學(xué)校講師,蘇州大學(xué)車聯(lián)網(wǎng)研究所研究員,獲評(píng)“江蘇省五一創(chuàng)新能手”、2013年度“姑蘇高技能重點(diǎn)人才”,在省級(jí)刊物公開發(fā)表專業(yè)論文7篇,參編教材一本(已出版)。主要研究方向?yàn)榉蔷€性系統(tǒng)控制、自動(dòng)檢測(cè)技術(shù)、智能終端與物聯(lián)網(wǎng)應(yīng)用等。

Design of Penetration Process Data Acquisition System Based on FPGA*
HAO Tianqi2,CUI Jianli1,LI Ce1,ZHANG Binzhen1*
(1.Science and Technology on Electronic Test & Measurement Laboratory,Ministry of Education,North University of China,Taiyuan 030051,China; 2.Key Laboratory of Instrumentation Science & Dynamic Measurement,North University of China,Taiyuan 030051,China)
Abstract:In view of troublesome data processing and low efficiency of data collection in the traditional penetration process,a automatic data acquisition system with three axis high-g sensor based on FPGA has been designed,which can complete the data calculation. The main control unit is composed of XC3S400,MATLAB GUI as PC software development platform for completing data acquisition and calculating. First,voltage signals produced by sensor had been enlarged through the main amplifier chip of INA827. The signals was then sampled by A/D converter of AD7934,storing in Flash. Then,the signals were returned to the computer through the chip of FT2232C with USB to calculating the data. Experiments show that the system not only can meet real-time collecting and storage of data in the process of penetration,but complete data calculation at the same time. It improves the efficiency of calcula?tion in the process of penetration as integrating the collecting of data with the data calculation.
Key words:FPGA;Penetration;INA827;MATLAB
doi:EEACC:722010.3969/j.issn.1005-9490.2016.01.033
收稿日期:2015-04-13修改日期:2015-06-01
中圖分類號(hào):TP273
文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1005-9490(2016)01-0156-04