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