視頻實時處理,由于視頻處理中數據量大,要求速度快因此采用TM320DM642。視頻處理機應用于視頻采集、視頻處理、視頻輸出的視頻實時處理。視頻處理機的解決方案有多種選擇,但是市場主流產品一般選擇兩種方案:1)采用CPU+ASIC。2)采用雙CPU結構,即一個嵌入式CPU和一個專用信號處理芯片DSP。受專用DSP芯片處理能力的限制,現有的嵌入式中使視頻處理機的視頻處理算法基本是H.263以下的標準。
l 硬件設計
本文介紹一種基于TMS320DM642 DSP的視頻采集設計方案。其操作系統(tǒng)、通信協議、網絡協議、音視頻處理軟件均在一顆TMS320DM642上實現,降低了開發(fā)的難度。
TMS320DM642芯片簡介:
TI公司的TMS320DM642(以下簡稱DM642)是一款專門面向多媒體應用的專用DSP。該DSP時鐘高達600MHz,8個并行運算單元,處理能力達4800MIPS;采用二級緩存結構;具有64位外接存儲器接口;兼容IEEE—1149.1(JTAG)邊界掃描;為了面向多媒體應用,還集成了3個可配置的視頻端口、面向音頻應用的McASP(Multi Channel AudioSerial Pott)、10/100Mb/s的以太網MAC等外設。鑒于DM642的上述優(yōu)點,本網系視頻處理機統(tǒng)以DM642為核心,完成音視頻信號的實時采集、壓縮及傳輸功能。
系統(tǒng)電路組成如圖1所示。從視頻處理機的視頻信號和從麥克風輸入的音頻信號經采集、A/D轉換為數字信號后送入DSP。DSP在信源處對音視頻信號進行壓縮編碼和合流,然后通過局域網或因特網將數據傳輸給視頻監(jiān)控中心。監(jiān)控中心可同時監(jiān)視多個現場,接收或發(fā)送報警信號,并根據需要通過異步串行總線RS-485實時控制,調整攝像頭的方向和位置。
1.1 視頻采集電路
本系統(tǒng)采用的視頻解碼芯片是Philips公司的SAA7115。從模擬視頻輸入口輸入的全電視信號在SAA7115內部經過鉗位、抗混疊濾波、A/D轉換、YUV分離電路之后,在YUV到YCrCb的轉換電路中轉換成BT.656視頻數據流,輸入到壓縮核心單元DM642中。DM642的3個視頻口VP0、VP1、VP2與視頻編解碼芯片相接。在本系統(tǒng)中,只有一路視頻輸入,故VP1、VP2端口,VP0通道配置為8位BT.656視頻輸入口。視頻數據的行/場同步信號包含在BT.656數字視頻數據流的EAV(end ofactive video)和SAV(start of active video)時基信號中,視頻口只需視頻采樣時鐘和采樣使能信號即可。SAA7115內部寄存器參數的配置和狀態(tài)的讀出通過I2C總線進行。視頻接口的原理如圖2所示。
1.2 視頻編碼電路
本系統(tǒng)采用的視頻編碼芯片是Philips公司的SAA7105H。DM642的視頻口2用來驅動視頻編碼器,視頻信號經過FPGA芯片,連到視頻編碼芯片PhilipsSAA7105H。FPGA用于擴展屏幕顯示功能。視頻輸出信號支持RGB,高清晰度視頻,PAL/NTSC復合視頻和s端子視頻信號。通過DM642的I2C總線對的內部寄存器編程實現不同輸出。
1.3 音頻輸入/輸出電路
本系統(tǒng)采用TI的高性能立體聲編解碼器TLV320AIC23(以下簡稱AIC23)實現音頻信號的采集和播放。AIC23與DM642的I/0電壓兼容,可以實現與DM642的McASP接口無縫連接。在本系統(tǒng)中,AIC23工作于主模式,左右聲道的采樣字寬均為16bit。數據接口為DSP mode模式。通過I2C總線設置內部寄存器的工作參數和反饋狀態(tài)信息。
因為網絡傳輸的固有特點,音頻數據和視頻數據從網絡攝像機端到達監(jiān)控中心不可能是均勻的,如果網絡攝像機端不做任何糾正處理,則很難保證音視頻的同步輸出。為了實現音頻和視頻的采樣同步,本文利用鎖相環(huán)PLLl708,從SAA7115的LLC引腳輸出27MHz時鐘,經PLLl708產生AIC23的主時鐘MCLK。由于音視頻采樣信號采用同一個時鐘源,就不會出現音視頻不同步的問題。PLLl708的SCKO3引腳輸出默認時鐘頻率18.433MHz,作為AIC23的輸入主時鐘MCLK。AIC23內部采用的時鐘可通過設置寄存器由主時鐘MCLK分頻得到如圖3。
1.4 以太網接口電路
本系統(tǒng)用LXT97l作為快速以太網物理層自適應收發(fā)器。由于LXT971支持IEEE 802.3標準,提供MII(mediaindependent interface)接口,可以支持MAC,而DM642內部正好集成有以太網媒體存取控制器,所以LXT971可以和DM642實現無縫連接。連接電路如圖3所示,其中BHll02為l:1的隔離變壓器。從DM642傳輸過來的數據通過LXT971轉換為以太網物理層能接收的數據后,通過RJ一45頭傳輸到因特網。
1.5 存儲器擴展電路
DM642內部有16KB的一級程序緩存,16KB的一級數據緩存和256KB的程序數據共享二級緩存。但這對于直接處理圖像數據是不夠的,因此擴展了兩片32MB的SDRAM來存放原始圖像數據,4MB的FLASH來存放應用程序。二者都映射到DM642的外部數據空間。如圖4。
1.6 FPGA電路
SPARTAN一3是XILINX公司生產的一種低工耗易開發(fā)應用。Spartan一3 FPGA具有兩種類型的內存,可以滿足不同的設計需求,即最大1.8Mb的真實雙端口塊RAM和最大520KB的分布式RAM,其封裝形式為16位深×1位寬,可用作移位寄存器和FIFO。先進的時鐘管理為高性能電路的設計者提供了更大的靈活性和更強的控制能力,最多四個數字時鐘管理器(DCM),并帶有9個外部輸出;8個預設的全球時鐘網絡,即8根全局時鐘線路和豐富的尋址。最多104個18×18乘法器,該乘法器模塊允許兩個18位二進制作為輸入并計算輸出36位結果,而專用的進位邏輯和高效級聯,可實現更多功能。每秒最多3300億次乘法和累加運算(MAC/s)、優(yōu)秀的高速DSP功能的并行實現能力、靈活的串聯架構,可實現成本砌能需求的最佳組合。
FPGA在視頻處理機中完成屏幕顯示功能,在默認模式下,DM642視頻口2的數據可直接輸出到視頻編碼芯片,在需要屏幕顯示功能時,FPGA把內部FIFO中的數據和視頻口輸出得數據混和,對FPGA內部FIFO的訪問可以通過對DM642的EMIF的CE3的地址空間的同步模式的訪問實現。FPGA的同步存儲器位于DM642的CE3地址空間,主要用于實現屏幕顯示功能和粘和邏輯。
1.7 RS-485接口電路
該接口連接到攝像機的云臺,用來控制云臺的轉動,調整攝像頭的方向和位置。RS-485總線抗干擾能力強,能實現多站點遠距離通信。本壓縮卡擬采用UART芯片SCl6C550和MAXIM公司的MAX487E來實現RS-485信號的傳輸。SCl6C550主要功能是把DSP傳送過來的并行信號轉換為串行信號。SCl6C550內部的接收器和發(fā)送器各有16B的FIF0,能處理的串行信號的速率高達3Mbps。MAX487E是RS-485總線接口芯片,可以工作在全雙工、半雙工模式。傳輸速率可達2.5Mbps。
1.8 電源電路
整個壓縮卡用一個5V的直流變壓器供電。由這個5V的電壓器產生1.4V和3.3V電壓分別給DSP內核和I/O端口供電,產生另外一個3.3V給視頻編解碼及其他芯片供電。注意這兩個3.3V電源要分開設計,以免電源噪聲相互干擾。
由于DSP需要兩種電壓,所以要考慮供電系統(tǒng)的配合問題。加電過程中,應當保證內核電源先上電,最晚也應當與I/O電源一起加。關閉電源時,先關閉內核電源,再關閉I/O電源。講究供電次序的原因在于:如果僅CPU內核獲得供電,周邊I/O沒有供電,對芯片不會產生損害,只是沒有輸入/輸出能力而已。如果反過來,周邊I/O得到供電而CPU內核沒有加電,那么芯片緩沖/馬區(qū)動部分的晶體管將在一個未知狀態(tài)下工作,這是非常危險的。
為了解決這個問題,本文采用了開關電源芯片TPS54310PWP,采用TPS54310PWP管腳SS/ENA接電容來使內核供電與I/O端口供電,這樣,只有當1.4V電壓有效之后,3.3V電壓才開始上電,這就保證了DM642的內核電壓先于I/O電壓上電。
2 軟件設計
在本系統(tǒng)中,圖像壓縮采用H.264標準。H.264具有很高的編碼效率,在相同的重建圖像質量下,能夠比H.263節(jié)約50%左右的碼率。H.264的碼流結構網絡適應性強,增加了差錯恢復能力,能夠很好地適應IP和無線網絡的應用。音頻編解碼采用G.729算法。網絡傳輸采用RTP/RTCP協議以及組播方式,這樣可以保證傳送的質量。在操作系統(tǒng)方面,采用基于DSP/BIOS的TI參考架構5(RF5)。基于RF5操作系統(tǒng)的應用程序模塊主要包括:音視頻采集模塊、壓縮編碼模塊、UART控制模塊和網絡傳輸模塊。
3 結束語
本方案能在一顆DM642芯片上實現視頻處理機的幾乎全部功能,能對音視頻進行實時的編解碼和實時的網絡傳輸。圖像質量高、開發(fā)難度低、易于升級,是一種比較理想的視頻處機解決方案,可廣泛應用于視頻監(jiān)控系統(tǒng)中。