賈曉慶
(河北省肅寧縣電力局 河北 肅寧 062350)
傳統的視頻監控主要應用于小區、廠房、校園等小型區域,受到視頻傳輸距離的限制。而且基于PC機的視頻圖像采集系統傳統和基于數字硬盤錄像機(DVR)的視頻監控系統設備笨重,需要專門布線,布線復雜,在特殊場合下不能使用。針對目前視頻監控系統的這些缺點,本文采用DSP芯片TMS320DM642作為系統核心處理器[1],利用現有網絡,設計了一套嵌入式網絡視頻監控系統。系統利用的網絡結構是瀏覽器/服務器(B/S)網絡結構,較之客戶機/服務器(C/S)網絡結構是一次升級,客戶端不需要編寫復雜的應用程序,只需一個WEB瀏覽器既可監控系統所采集到的視頻圖像。
系統的總體構架框圖如圖1所示。本系統主要包括CCD視頻圖像采集部分、SAA7113H視頻解碼模塊、SAA7121視頻編碼模塊、視頻本地顯示部分、DSP(DM642)核心處理模塊、外部存儲器模塊、網絡接口模塊、和以太網視頻傳輸部分。
四路CCD攝像頭拍攝到的模擬全電視視頻信號(CVBS)后,經過視頻解碼芯片SAA7113H A/D轉化為BT.656標準數字視頻信號,進入DM642的片上視頻口VPO中的FIFO緩沖區。利用DM642內部直接存儲器訪問控制器EDMA將FIFO緩沖區的視頻數據搬運到內存進行處理壓縮。系統最終把壓縮后的數據通過網絡接口部分發送到具有B/S網絡結構的網絡上,客戶機群可以通過網絡瀏覽器訪問DM642視頻服務器。本系統最終實現了嵌入式網絡視頻傳輸,而且本地也能夠四路視頻分屏顯示。

圖1 系統總體框圖Fig.1 Block diagram ofsystem
視頻采集設備采用了Sony(索尼)的1/311彩色CCD攝像機,4路CCD攝像機同時開啟視頻采集任務,連續采集所要監控的視頻圖像。由CCD攝像機輸出的是CVBS彩色全電視信號,其亮度信號和色度信號混合在一起,如果想要由DSP進行處理,必須先對CVBS視頻信號數字化。本系統的的視頻數字化設備也叫視頻解碼器,主要負責對由CCD攝像機輸出的CVBS全電視信號進行數字化和亮度色度信號分離[2]。本系統不僅有遠程網絡視頻播放的功能,而且也可以通過同軸電纜將系統的視頻信號和電視墻相接,在本地進行分屏顯示,所以本系統采用視頻編碼器重新把DSP中的數字視頻數據編碼成CVBS視頻在TV中進行4路分屏顯示。
系統主處理器DM642具有3個8位可配置的視頻口VPO(VP0、VP1、VP2),每個視頻口各含有兩路 FIFO 數據緩沖區,可以同時接收兩路視頻數據。8位的可配置的視頻口通過軟件編程既可以配置成視頻采集口,也可以配置成視頻顯示端口,可以輕松的和各種視頻編解碼芯片無縫連接。本系統采用視頻口VP0和VP2作為視頻采集口,每個視頻口掛接兩片SAA7113H視頻解碼芯片,由4片SAA7113H芯片來完成4路視頻的解碼。同時系統采用VP1口作為視頻顯示口,選用了Philips公司的視頻編碼芯片SAA7121來完成系統視頻視頻編碼任務。圖2是SAA7113H與DM642接口電路框圖,圖3是SAA7121視頻編碼芯片和DM642的接口電路框圖。

圖2 視頻采集模塊框圖Fig.2 Video acquisition module diagram
圖2是系統的視頻采集模塊,中CCD攝像頭與視頻解碼芯片的模擬視頻輸入引腳直接相連。CCD輸出的模擬復合視頻信號經過SAA7113H的視頻信號數字化,最終由SAA7113H的視頻輸出口VPO[0-7]輸出采樣格式為YUV 4:2:2的8位數字視頻流。在像素時鐘LLC 27 MHz的作用下,YUV 4:2:2的8位數字視頻流進入DM642的視頻口FIFO緩沖區。對SAA7113H的內部的56個寄存器的參數進行控制,需要通過I2C總線接口來設置這些寄存器數值,而DM642上面只有一個I2C總線接口,所以系統采用了I2C多路復用器PCA9544A對I2C總線進行擴展用來控制4個帶有I2C接口的視頻解碼芯片SAA7113H。

圖3 視頻顯示接口框圖Fig.3 Video display module diagram
圖3是系統的視頻顯示模塊,視頻口VP1[2-9]的8位數字視頻流在像素時鐘27 MHz的作用下連續的流入SAA7121芯片,然后SAA7121芯片對其重新進行編碼成復合視頻電視信號。其中RCV1和RCV2是輸出視頻的行同步和幀同步信號。DM642通過I2C多路復用器對SAA7121進行正確配置。在SAA7121芯片輸出端,系統引出了復合視頻端口(CVBS)和亮度色度分離的S端子接口,以適應不同接口的顯示設備。
DM642內部有16 kB的一級程序緩存,一級數據緩存和256 KB的程序數據共享二級緩存[3]。但對于實時視頻采集處理系統是遠遠不夠的,因此需要對存儲器進行外部擴展。本系統擴展了兩片同步動態數據存儲器(SDRAM),數據總線32位,共32 MB。同時系統還加了4 M×8位,的FLASH作為本系統的外部程序存儲器。二者分別映射到DM642的CE0和CE1外部地址空間。存儲器擴展電路框圖如圖4所示。

圖4 存儲器擴展電路框圖Fig.4 Memory expansion circuit diagram
TMS320DM642含有數據總線為64位,地址總線20位的外部存儲器接口(EMIFA),可以同時接SDRAM和FLASH。因為選用的SDRAM的數據線為32位,所以擴展了兩塊SDRAM以適應DM642的64位總線寬度,地址總線EA[3-16]可以同時選址兩快SDRAM。本系統SDRAM的地址全部分布在DM642的CE0地址空間,記0x8000 0000-0x81FF FFFF。本系統選用的FLASH數據線為8位,地址線為22根,所以DM642需要擴展兩根最高位地址線來尋址FLASH的4M地址空間。為了電路設計的方便,我我們選用了DM642的通用出入輸入口(GPIO)gpio0和gpio1作為其最高兩位地址線,對FALSH內部地址進行分頁。FLASH在本系統的的地址分布如表1所示。

表1 FLASH的地址分布Tab.1 FLASH address distribution

圖5 網絡接口框圖Fig.5 Network interface diagram
TMS320DM642內部集成了以太網媒體存取控制器(EMAC)和物理層器件(PHY)輸入輸出管理模塊(MDIO),所以需要一個物理層收發器PHY與之連接,這樣才能實現和外界網絡進行網絡通信[4]。本系統選用了REALTEK半導體公司的RTL8305SB芯片作為本系統的網絡物理層收發器,它提供了 MII(Media Independent Interface)接口,可以和 DM642 的EMAC無縫連接。網絡接口框圖如圖5所示。
其中MTXD[3-0]是由視頻服務器的EMAC發送到以太網收發器(PHY)的數據,在讀時鐘信號MTCLK和讀使能信號MTXEN作用下完成。DM642讀取數據需要通過MRXD引腳,在讀取時鐘MRCLK和讀取使能MRXER情況下實現。MDIO對PHY的狀態進行監視。網絡收發器PHY要和外部網絡連接時,中間必須加一個網絡變壓器,這樣可以增強信號,使其傳輸距離更遠,而且能夠使芯片端與外部隔離,抗干擾能力大大增強。
為了適應視頻的實時性和數據量大等特點,采用了TI公司提供的嵌入式實時操作系統DSP/BIOS來對系統的各個線程進行調度[5]。系統包括5個線程。
1)視頻采集任務 采集任務從輸入設備驅動程序獲得視頻圖象。它使用驅動程序提供的FVID_exchange調用從輸入設備獲得一幀最新視頻圖象。獲得的圖像是YUV 4:2:2格式的,它被重采樣成YUV 4:2:0。輸入任務接著發送 SCOM消息到處理任務,消息中包含圖象數據指針。接著等待發送的消息返回以繼續處理。
2)視頻處理任務 主要是視頻壓縮算法接受 YUV 4:2:0格式的圖象,產生JPEG圖象。處理任務模塊發送附帶JPEG文件的SCOM消息給網絡任務模塊。
3)視頻輸出任務 顯示任務 tskVideoOutput()得到搬運來的的視頻圖像,然后利用yuv420to422()函數將視頻采用格式重新改變為 4:2:2的格式,最后調用顯示驅動程序FVID_exchange()在顯示器上顯示。
4)網絡處理任務 網絡處理任務是動態創建的,主要是將JPEG圖像數據加入基于RAM的EFS[42]文件系統中。網絡任務首先利用SCOM_getMsg()從視頻處理任務中得到JPEG圖像數據的大小和在內存中存放的位置,隨后利用SCOM_putMsg()向處理任務發送消息,告知圖像數據已經得到,下一幀壓縮可以進行。最后利用efs_createfilecb()函數把JPEG圖像文件加入到EFS文件系統中。
5)網絡主任務 主任務主要完成網絡協議棧初始化、配置和基于EFS文件系統的網頁加入。當網絡任務啟動后,客戶端與WEB服務器建立連接,HTTP服務器將含有網頁的視頻圖像數據不斷的傳送給客戶端,直到連接中斷為止。
網絡測試環境利用了現有的內網如圖6所示。在測試視頻網絡傳輸之前,首先配置好視頻服務器的IP地址、子網掩碼、網關、和所采用網絡的DNS。同時各個客戶機也要配置好以上信息。然后運行下載程序運行。打開每個客戶機上面的WEB瀏覽器,輸入視頻服務器的IP地址,即可看到系統所監控到的視頻畫面,同時本地顯示器顯示采集到的實時視頻如圖7所示。

圖6 網絡視頻傳輸系統網絡環境Fig.6 Network environment of the network video transmission system

圖7 四路視頻本地分屏顯示和客戶端視頻顯示對比圖Fig.7 Four ways of video local split-screen display and client video display comparison
本文利用DSP技術設計了一套嵌入式多路視頻監控系統,本系統可以通過網絡上的客戶機WEB瀏覽器就可以訪問我們的視頻服務器,瀏覽到采集的多路實時視頻圖像。較之客戶/服務器網絡(C/S)結構,客戶端不再需要編寫復雜的應用程序,客戶端只需一個WEB瀏覽器。而且系統不需要額外布線,利用現有的網絡即可完成視頻傳輸,對于視頻監控非常適合。
[1]Texas Instruments.TMS320DM642 technical overview[EB/OL].(2002)[2009-09-10].http://focus.ti.com.cn/lit/ug/spru615/spru615.pdf.
[2]彭啟琮,管慶.DSP集成開發環境--CCS及DSP/BIOS的原理與應用[M].北京:電子工業出版社,2004.
[3]李方慧,王飛,何佩琨.TMS320C6000系列 DSPS原理與應用[M].2版北京:電子工業出版社,2002.
[4]汪安民,張松燦,常春藤.TMS320C6000 DSP實用技術與開發案例[M].北京:人民郵電出版社,2008.
[5]徐華中,胡佩雯.基于TMS320DM642的圖像采集和處理系統的研究[J].計算機工程與科學,2007,29(11):20-21.XU Hua-zhong,HU Pei-wei.Image acquisition and processing system research based on TMS320DM642[J].Computer Engineering and Science,2007,29(11):20-21.
[6]周培斌,苗長云,武志剛.一種基于以太網的視頻監控系統的設計[J].DSP開發與應用,2009,25(52):142-144.ZHOU Pei-bin,MIAO Chang-yun,WU Zhi-gang.A video monitor system design based on Ethernet [J].DSP Development and Application, 2009,25(52):142-144.