DSP+FPGA嵌入式多路視頻監控系統硬件平臺
摘要: 本文通過(guò)分析視頻監控應用近幾年的發(fā)展和需求,結合DSP和FPGA器件的高速成長(cháng),以TI公司的Davinci系列DSP中的一款TMS320DM6437和Xilinx公司的Spartan-3系列FPGA為例,具體說(shuō)明如何構建一個(gè)高性能、低成本的嵌入式多路視頻監控系統硬件平臺。
關(guān)鍵詞: DSP;Davinci;TMS320DM6437;FPGA;Spartan-3;視頻監控; 硬件電路
近幾年來(lái),尤其是911以后,各種場(chǎng)合的視頻監控的需求日益旺盛,并且同一場(chǎng)合可能需要同時(shí)監控多個(gè)目標,這給我們提出了盡可能地降低單路視頻處理成本的要求。用單個(gè)DSP處理器完成盡可能多路的數字視頻壓縮處理,將無(wú)疑是降低單路視頻監控成本的有效方法。幸運的是,隨著(zhù)DSP處理性能的不斷提高,及嵌入式數字視頻編解碼算法的進(jìn)一步優(yōu)化和日趨完善、成熟,使得單個(gè)DSP完成多達8路CIF格式的數字視頻壓縮處理成為可能。本文采用TI公司最新推出的Davinci系列DSP中的一款TMS320DM6437和Xilinx公司的高性能、低成本Spartan-3系列FPGA來(lái)構建一個(gè)高性能、低成本的嵌入式多路視頻監控系統硬件平臺。
嵌入式多路視頻監控系統硬件平臺系統
為了盡可能降低嵌入式視頻監控系統的單路成本,合理地選擇一款DSP處理器,使其完成盡可能多路的數字視頻壓縮處理,將無(wú)疑是一種直接、而有效的方法。TI公司最新推出的Davinci系列DSP是專(zhuān)門(mén)為數字媒體應用優(yōu)化設計的,是其在大家熟知的、已得到廣泛應用的TMS320DM642數字媒體處理器基礎上的升級產(chǎn)品,處理性能更進(jìn)一步提高,片上外設更適合于視頻處理系統的要求,其中的TMS320DM6437更是高性能、低成本的代表。本文選用其作為嵌入式多路視頻監控系統的主處理器,在數字視頻編碼器算法優(yōu)化合理的情況下,其可以實(shí)現8路CIF格式的H.264編碼處理。
但TMS320DM6437只有1個(gè)數字視頻輸入接口,為了接口8路視頻解碼器,需要在視頻解碼器與TMS320DM6437的視頻輸入接口之間增加耦合邏輯,高性能、低成本、可編程的FPGA可以方便實(shí)現二者之間的耦合邏輯。另外,FPGA上含有豐富的資源,可用來(lái)實(shí)現某些圖像已處理功能,比如,圖像大小的縮放,防眩光等。
以此所構建的DSP + FPGA嵌入式多路視頻監控系統硬件平臺系統框圖如圖1所示。
圖1 DSP+FPGA的多路視頻監控系統硬件平臺
TMS320DM6437概述
TMS320DM6437是TI公司2006年推出的、專(zhuān)門(mén)為高性能、低成本視頻應用開(kāi)發(fā)的、主頻600MHz的、32位定點(diǎn)DSP。TMS320DM6437具有下列特點(diǎn):
采用TI第3代超長(cháng)指令集結構(VelociTI.3)的TMS320C64x+ DSP內核,主頻可達600MHz,支持8個(gè)8位或4個(gè)16位并行MAC運算,峰值處理能力高達4800MIPS,可實(shí)時(shí)處理8路CIF或3路D1格式的H.264編碼算法。
采用2級Cache存儲器體系結構,片上有32K字節RAM/Cache可配置的1級程序存儲器L1P,48K字節RAM + 32K字節RAM/Cache可配置的1級數據存儲器L1D,和128K字節RAM/Cache可配置的2級程序/數據存儲器L2,存儲器體系結構更靈活、合理,有利于提高圖像處理代碼/數據的吞吐率。
片上具有64通道增強型DMA控制器EDMA3,其支持復雜的數據類(lèi)型的傳輸,有利于圖像數據的高效傳輸和格式變換。
豐富的外部存儲器接口:一個(gè)專(zhuān)用的32位、200MHz、256M字節尋址空間的DDR2存儲器接口用于接口高速、大容量的DDR2存儲器,以存儲代碼和數據;一個(gè)8位、64M字節尋址空間的異步存儲器接口用于接口8位Nor Flash或Nand Flash,以存儲固化代碼。
豐富的片上外設:一個(gè)專(zhuān)用的單通道視頻輸入接口,既可以方便地與各種數字視頻輸入標準接口,還具有常用的視頻預處理功能;一個(gè)專(zhuān)用的單通道視頻輸出接口,既可以提供多種模擬視頻輸出標準,還可以提供各種數字視頻輸出標準接口,并且在視頻輸出之前,還支持多個(gè)視頻窗口管理及在視頻畫(huà)面上疊加文本數據;一個(gè)多通道音頻串口,可無(wú)縫接口音頻Codec器件,實(shí)現模擬視頻信號的輸入/輸出;一個(gè)I2C總線(xiàn),可無(wú)縫接口視頻解碼器/編碼器和音頻Codec的控制口,方便實(shí)現音/視頻編解碼器的控制;32位PCI總線(xiàn),方便與PC機接口,實(shí)現多板并行工作。10/100M以太網(wǎng)MAC,方便實(shí)現嵌入式視頻網(wǎng)絡(luò )化要求;16位HPI接口,方便實(shí)現主/從結構的雙處理器視頻處理系統。
由上可知,DM6437是非常適合于作為單通道視頻處理系統的主處理器。為了使DM6437適用于多通道視頻監控系統,需要將多個(gè)視頻通道的數據復合后,再通過(guò)DM6437片上視頻輸入接口輸入。所以,下面將著(zhù)重對DM6437的片上視頻輸入/輸出接口逐一介紹。
{{分頁(yè)}}
DM6437視頻子系統VPSS
DM6437片上視頻輸入/輸出接口統稱(chēng)為視頻子系統VPSS,DM6437的視頻子系統由二部分組成,一是視頻處理前端,用于輸入數字視頻數據,為多種標準的數字視頻輸入提供接口,并為輸入的數字視頻數據作必要的預處理。二是視頻處理后端,用于輸出數字視頻數據,以驅動(dòng)顯示器顯示視頻圖像。
DM6437視頻處理前端VPFE為視頻處理系統提供二大功能,一是為多種標準數字視頻輸入提供無(wú)縫接口,二是為各種視頻處理應用提供必要的預處理。
DM6437數字視頻輸入接口被稱(chēng)為CCD控制器,為輸入數字視頻流提供數據通路和必需的同步信號,其功能如下:
*16位視頻數據總線(xiàn)
*像素時(shí)鐘頻率最高可達75MHz
*可直接接口CCD或CMOS圖像傳感器
*可接口8/10位BT.656標準數字視頻流
*可接口8/16位帶行、場(chǎng)同步信號的YCbCr 4:2:2格式數字視頻流
對于視頻監控應用來(lái)說(shuō),視頻信號一般為來(lái)自于攝像頭的模擬視頻信號,其經(jīng)視頻解碼器轉換為8/10位BT.656或8/16位帶行、場(chǎng)同步信號的YCbCr 4:2:2數字視頻流,再輸入到DSP中進(jìn)行處理。
為適應各種視頻處理應用,DM6437的視頻前端還提供下列3個(gè)預處理功能:
預覽器Previewer:將來(lái)自CCD控制器或來(lái)自外部存儲器的RGB圖像格式轉換為YCbCr 4:2:2圖像格式。
縮放器Resizer:接受來(lái)自預覽器或文本存儲器的視頻數據,由硬件實(shí)現圖像大小的縮放,水平和垂直方向縮放比例相互獨立,縮放范圍為1/4x~4x。
H3A:由硬件實(shí)現自動(dòng)對焦、自動(dòng)白平衡、自動(dòng)曝光。首先接受RGB圖像格式,并將圖像細分成二維像素塊,像素塊的大小、位置可編程。然后對像素塊進(jìn)行累加和峰值統計。最后實(shí)現3A控制輸出。
DM6437視頻處理后端VPBE用于實(shí)現視頻圖像的輸出顯示。顯示屏上的一幅圖像可以分成若干個(gè)區域,每個(gè)區域可以代表不同的視頻源,即來(lái)自不同的視頻輸出緩沖器,在輸出顯示之前,需要將來(lái)自不同視頻輸出緩沖器的視頻數據復合成一個(gè)完整的數字視頻流,這個(gè)過(guò)程稱(chēng)為視頻窗口管理;另外,還經(jīng)常需要將某些圖形、字符等信息疊加到視頻圖像上一起輸出顯示,這些疊加到視頻圖像上的圖形、字符存儲于獨立的緩沖器中,因而在輸出顯示之前,還需要將來(lái)自圖形、字符緩沖器的數據復合進(jìn)輸出數字視頻流中,這個(gè)過(guò)程稱(chēng)為圖形、字符OSD窗口管理與疊加。最后,將復合后的完整的數字視頻流以一定的時(shí)序格式進(jìn)行輸出,這個(gè)過(guò)程稱(chēng)為視頻輸出編碼。DM6437視頻處理后端可以同時(shí)支持2個(gè)視頻窗口和2個(gè)圖形、字符OSD窗口管理,并可支持8種視頻窗口與OSD窗口數據疊加方法。DM6437的視頻輸出編碼既可以實(shí)現用于直接驅動(dòng)模擬監視器的標準模擬視頻輸出,也可實(shí)現用于直接驅動(dòng)帶數字接口的顯示器的多種標準數字視頻輸出。
對于視頻監控應用來(lái)說(shuō),視頻輸出一般用于預覽某一通道的視頻輸入,由模擬監視器來(lái)顯示,所以直接用DM6437的模擬視頻輸出即可實(shí)現。
{{分頁(yè)}}
4通道視頻解碼器TVP5154概述
本文介紹的DSP + FPGA嵌入式多通道視頻監控系統硬件平臺有8個(gè)模擬視頻輸入通道,選用TI的單片4通道視頻解碼器TVP5154,其原理框圖如圖2。
圖2 4通道視頻解碼器TVP5154原理框圖
TVP5454的特點(diǎn)是內含4個(gè)獨立的TVP5150單通道視頻解碼器、4個(gè)獨立的縮放器和1個(gè)IIC總線(xiàn),將4通道標準模擬視頻輸入轉換成4通道8位數字視頻輸出。每個(gè)通道可接受1路超級視頻輸入或2路復合視頻輸入;每個(gè)通道的縮放器水平、垂直方向均可獨立縮放1/4x~4x;每個(gè)通道的數字視頻輸出接口既可是8位YCbCr 4:2:2的BT.656(內嵌行、場(chǎng)同步碼),也可是8位YCbCr 4:2:2的帶行、場(chǎng)同步信號的數字視頻流;可通過(guò)IIC總線(xiàn)分別或廣播配置和獲取4個(gè)視頻解碼器或4個(gè)縮放器的控制和狀態(tài)信息。
Xilinx Spartan-3系列FPGA概述
8通道模擬視頻輸入需要2片TVP5154視頻解碼器,總有8個(gè)8位BT.656數字視頻接口,而DM6437視頻前端VPFE只有1個(gè)視頻輸入口,為了實(shí)現8通道視頻輸入,二者之間需要耦合邏輯,此耦合邏輯的基本功能需要實(shí)現:
*接收/緩沖8個(gè)8位BT.656數字視頻輸入數據(像素時(shí)鐘為27MHz)
*每個(gè)通道水平/垂直均縮小1/2,由D1格式縮小為CIF格式
*將8個(gè)CIF格式的數字視頻拼接成1個(gè)8-位、54MHz、YCbCr 4:2:2帶行、場(chǎng)同步的數字視頻流,以接口DM6437的視頻前端VPFE
除了這些基本功能外,還可以利用FPGA豐富的資源和強大的性能,實(shí)現很多視頻預處理的功能,如濾波、防眩光等,甚至實(shí)現目標偵測、跟蹤等目標視頻熱門(mén)功能。
Xilinx Spartan-3系列FPGA的結構框圖如圖3所示。
圖3 Spartan-3系列FPGA結構
{{分頁(yè)}}
其中的功能單元如下:
紅色方塊代表可配置邏輯塊CLBs,其由查找表LUT和觸發(fā)器造成,是實(shí)現組合和時(shí)序電路的主要邏輯資源,查找表LUT用于實(shí)現組合邏輯或16
評論