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