劉 嵩
(湖北民族學(xué)院 信息工程學(xué)院,湖北 恩施 445000)
視頻監(jiān)控是安防系統(tǒng)的重要組成部分,正朝著智能化、數(shù)字化、網(wǎng)絡(luò)化的方向快速發(fā)展,廣泛應(yīng)用于高速公路、住宅小區(qū)等多種場(chǎng)合[1].目前的視頻監(jiān)控系統(tǒng)的實(shí)現(xiàn)方案主要有:①ARM+專用視頻編解碼芯片.該方案系統(tǒng)性能穩(wěn)定、處理速度較快,很容易實(shí)現(xiàn)實(shí)時(shí)處理,但靈活性不夠,不便于升級(jí);②FPGA+IP軟核.該方案設(shè)計(jì)周期短,容易改進(jìn)升級(jí),但視頻處理算法占用資源較大,復(fù)雜度、體積和功耗都大大增加;③采用面向多媒體處理的專用DSP.該方案運(yùn)行速度較快,而且可以移植多種圖像處理算法,所以能夠不斷對(duì)產(chǎn)品性能改進(jìn)升級(jí)[2].本文給出了一種基于DSP芯片DM642的視頻監(jiān)控系統(tǒng)的實(shí)現(xiàn).
DM642是TI公司推出的一款高性價(jià)比、采用velociTI體系結(jié)構(gòu)的定點(diǎn)DSP.它具有極強(qiáng)的單核處理能力以及高度的靈活性和可編程性;在600 MHz的時(shí)鐘頻率下,數(shù)字處理能力可達(dá)4 800 MIPS;還具有兩級(jí)高速緩存L1 Cache和L2 cache、64位的DMA控制器,負(fù)責(zé)片內(nèi)L2 cache與其它外設(shè)之間的數(shù)據(jù)傳輸;三個(gè)視頻專用接口(video Port)與2個(gè)音頻串口復(fù)用,集成有10/100 M以太網(wǎng)MAC[3,4].
圖1 系統(tǒng)的總體框圖
圖2 采集模塊方框圖
圖3 網(wǎng)絡(luò)模塊結(jié)構(gòu)框圖
圖4 系統(tǒng)的數(shù)據(jù)流圖
系統(tǒng)的總體框圖如圖1所示.整個(gè)系統(tǒng)以DM642為核心,由視頻采集模塊、存儲(chǔ)模塊、網(wǎng)絡(luò)模塊、電源模塊和時(shí)鐘模塊等幾個(gè)部分構(gòu)成.視頻采集模塊把采集到的模擬信號(hào)轉(zhuǎn)換為DM642可以處理的數(shù)字信號(hào),并通過DMA控制器搬移到存儲(chǔ)模塊存儲(chǔ);DM642對(duì)采集到的數(shù)字信號(hào)進(jìn)行壓縮等處理;網(wǎng)絡(luò)模塊將處理后的數(shù)據(jù)打包上傳到上位機(jī),于是遠(yuǎn)端用戶可以通過客戶端軟件監(jiān)控視頻信號(hào);存儲(chǔ)模塊通過EMIF與DSP實(shí)現(xiàn)無縫連接,包括SDRAM和FLASH.其中SDRAM存儲(chǔ)采集到的視頻信號(hào)以及處理過程中的臨時(shí)數(shù)據(jù),F(xiàn)LASH用來存儲(chǔ)程序,實(shí)現(xiàn)系統(tǒng)的自啟動(dòng);電源模塊為整個(gè)系統(tǒng)提供穩(wěn)定的能量保證,DM642芯片采用雙電源供電,核電壓1.4 V,外圍電壓3.3 V,采用開關(guān)電源來為系統(tǒng)供電[5].
DM642有3個(gè)雙通道視頻口,每個(gè)視頻口都可以由軟件配置為輸入口或者輸出口,可實(shí)現(xiàn)與解碼芯片的無縫連接[6],本系統(tǒng)的解碼芯片采用Philip公司生產(chǎn)的多制式視頻解碼器SAA7115,攝像頭送來的視頻信號(hào)經(jīng)SAA7115數(shù)字化后轉(zhuǎn)換為待處理的數(shù)字圖像數(shù)據(jù),存入外部存儲(chǔ)器.DM642通過其I2C總線配置管理視頻解碼器SAA7115,采集模塊部分的方框圖如圖2所示.
網(wǎng)絡(luò)傳輸模塊負(fù)責(zé)將視頻信號(hào)處理模塊處理后的數(shù)據(jù)進(jìn)行網(wǎng)絡(luò)傳輸,傳輸過程符合TCP/IP協(xié)議.本系統(tǒng)采用Intel公司的LXT971作為快速以太網(wǎng)物理層自適應(yīng)收發(fā)器,因?yàn)镈M642內(nèi)部集成有以太網(wǎng)媒體存取控制器(MAC),提供了DSP與網(wǎng)絡(luò)之間的高效接口,所以LXT971可以和DM642實(shí)現(xiàn)無縫連接.網(wǎng)絡(luò)模塊結(jié)構(gòu)框圖如圖3所示.DM642壓縮打包處理數(shù)據(jù),然后通過LX971轉(zhuǎn)換為以太網(wǎng)物理層能接收的數(shù)據(jù),經(jīng)過RJ45傳輸?shù)揭蛱鼐W(wǎng).
系統(tǒng)軟件架構(gòu)采用了的參考框架RF5(Reference Frameworks 5),參考框架保證了軟件方便容易與用戶硬件接口,每一個(gè)參考架構(gòu)均被打包成基于TI DSP的開發(fā)工具包或其他板卡的完整的應(yīng)用程序.RF5適用于含有多通道和多算法結(jié)構(gòu)的高密集度應(yīng)用程序,RF5使用線程阻塞,可用于包含線程間有復(fù)雜依賴關(guān)系的應(yīng)用程序.另外,RF5還具有可變的通道管理、高效的任務(wù)間通信,以及結(jié)構(gòu)化的線程安全控制機(jī)制,且易于替換I/O驅(qū)動(dòng)設(shè)備和易于調(diào)試,RF5使用同步通訊機(jī)制(SCOM)來實(shí)現(xiàn)線程的通訊[7,8].系統(tǒng)的數(shù)據(jù)流圖如圖4所示.根據(jù)信號(hào)流程圖在系統(tǒng)的軟件設(shè)計(jì)中利用實(shí)時(shí)操作系統(tǒng)DSP/BIOS靜態(tài)建立視頻輸入、視頻處理和網(wǎng)絡(luò)傳輸3個(gè)線程任務(wù)來完成系統(tǒng)的監(jiān)控功能.其中輸入任務(wù)和處理任務(wù)優(yōu)先級(jí)相同且高于網(wǎng)絡(luò)任務(wù)的優(yōu)先級(jí).
系統(tǒng)在進(jìn)入任務(wù)調(diào)度之前,要對(duì)多個(gè)模塊初始化,其中包括:
1)處理器的初始化 : 初始化DSP/BIOS環(huán)境,設(shè)置DM642 cache、DMA傳輸模塊等;
2)RF5模塊初始化:建立RF5的通道模塊,初始化SCOM;
3)建立視頻輸入通道.
表1 測(cè)試結(jié)果
系統(tǒng)完成初始化后,就進(jìn)入了三個(gè)任務(wù)的調(diào)度狀態(tài).三個(gè)任務(wù)通過SCOM模塊互相發(fā)消息通訊.
1)視頻輸入任務(wù)
視頻輸入任務(wù)從輸入設(shè)備驅(qū)動(dòng)程序中獲得圖像,并進(jìn)行降采樣,然后通過SCOM發(fā)送消息到處理任務(wù),并等待處理任務(wù)的反饋消息.主要的源代碼如下:
yuv422to420(inBuf, outBuf, LINE_SZ, NUM_LINES);
SCOM_putMsg(fromInputtoProc, pMsgBuf);
FVID_exchange(capChan, &capFrameBuf);
pMsgBuf = SCOM_getMsg(fromProctoInput, SYS_FOREVER);
2)視頻處理任務(wù)
視頻處理任務(wù)收到輸入任務(wù)發(fā)來的消息后,立即獲得輸入數(shù)據(jù)的地址指針并對(duì)指針指向的數(shù)據(jù)進(jìn)行壓縮處理,處理完畢同時(shí)通知輸入任務(wù)和網(wǎng)絡(luò)任務(wù).
3)網(wǎng)絡(luò)任務(wù)模塊
網(wǎng)絡(luò)任務(wù)收到處理任務(wù)的消息后,啟動(dòng)網(wǎng)絡(luò)傳輸.網(wǎng)絡(luò)傳輸采用TI公司推出的NDK(Network Developer's Kit)網(wǎng)絡(luò)開發(fā)包,通過socket編程完成系統(tǒng)網(wǎng)絡(luò)傳輸功能,本系統(tǒng)采用了UDP協(xié)議.主要的程序代碼有 :
FD_SET(slisten, &ibits);
setsockopt( speer, SOL_SOCKET, SO_SNDTIMEO, &timeout, sizeof(timeout) );
send( speer, (UINT8 *)&jpg_size, 4,0)
在各個(gè)子模塊驗(yàn)證測(cè)試通過之后就可以進(jìn)行系統(tǒng)調(diào)試.系統(tǒng)首先上電自檢,然后自動(dòng)進(jìn)行視頻采集、處理與傳輸,在接收端圖像傳輸流暢,無抖動(dòng)現(xiàn)象。為了測(cè)試采集的視頻信號(hào),在采集與處理的程序代碼首尾兩端加入定時(shí)器,定時(shí)器的計(jì)時(shí)差值換算處理后就是視頻信號(hào)采集處理所消耗的時(shí)間.測(cè)試結(jié)果如表1所示,由實(shí)驗(yàn)結(jié)果可知,系統(tǒng)能實(shí)時(shí)的處理視頻信號(hào).
本文給出了一種基于DM642的視頻監(jiān)控系統(tǒng)的實(shí)現(xiàn).從試驗(yàn)結(jié)果來看系統(tǒng)運(yùn)行穩(wěn)定,網(wǎng)絡(luò)傳輸流暢,滿足了實(shí)時(shí)性要求.該系統(tǒng)可廣泛用于智能家居、校園安全等領(lǐng)域的遠(yuǎn)程視頻監(jiān)控中,具有一定的實(shí)用性.
[1] 王運(yùn)濤,方彥軍,李世紅.基于Intermet的嵌入式遠(yuǎn)程監(jiān)控終端的開發(fā)[J].工業(yè)控制計(jì)算機(jī),2004,17(5):13-14.
[2] Yoo H,Anderdon D.Hardware-efficient distributed arithmetic architecture for high order digit filters[C]//Proc IEEE Interna tional Conference on Acoustics,Speech,and Signal Processing,2005:125-128.
[3] 劉文怡,楊慧梁.基于DSP和以太網(wǎng)的視頻監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].安防科技,2009,9(9):19-21.
[4] 晉春,徐榮青.采用DM642 DSP實(shí)現(xiàn)基于H.264的數(shù)字視頻監(jiān)控系統(tǒng)[J].安防科技,2007,7(2):20-21.
[5] 楊凡,李祥,涂軍.基于DSP的遠(yuǎn)程視頻監(jiān)控系統(tǒng)的研究和實(shí)現(xiàn)[J].湖北工業(yè)大學(xué)學(xué)報(bào),2007,22(5):25-27.
[6] 王躍平,蘇月明,劉云生. 基于DM642的流媒體采集壓縮系統(tǒng)的研制[J].計(jì)算機(jī)工程與科學(xué),2010,32(2):114-116.
[7] 崔麗珍,張祥松.基于DM642的視頻圖像實(shí)時(shí)通信和傳輸電子與封裝[J].2009,11(9):27:29.
[8] 魏宗沖,徐勝,朱彥伊.基于DM642的遠(yuǎn)程網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)[J].電視技術(shù),2008:32(5):81-83.