基于DSP的車輛視頻處理系統(tǒng)的研究與實(shí)現(xiàn)
摘 要:本文介紹了以高速 DSP TMS320C6416 為核心器件的圖像處理系統(tǒng),采用視頻解碼芯片 TVP5146 完成視頻信號(hào)的 A/D 轉(zhuǎn)換,采用CPLD 完成數(shù)據(jù)存儲(chǔ)、顯示以及系統(tǒng)的邏輯控制。
關(guān)鍵詞:視頻采集處理;實(shí)時(shí)圖像處理顯示;TMS320C6416;CPLD
引言
目前,交通監(jiān)控應(yīng)用系統(tǒng)大多以緊急報(bào)警、車輛定位與語音通信為主,圖像方面的應(yīng)用不多。本文正是基于這樣的考慮,設(shè)計(jì)了車輛圖像采集與處理系統(tǒng)。該系統(tǒng)采集車后方的圖像信息,實(shí)時(shí)地傳送給前方的顯示屏顯示,司機(jī)可通過顯示屏實(shí)時(shí)觀測后方路面及車輛狀況,倒車時(shí)可以及時(shí)發(fā)現(xiàn)后方障礙物及行人,安全避讓。
圖1 實(shí)時(shí)圖像采集處理系統(tǒng)組成框圖
(a) 采集一行圖像(720個(gè)采樣點(diǎn))的時(shí)序圖
(b) 采集一幀圖像的時(shí)序圖
圖2 數(shù)字視頻信號(hào)輸出時(shí)序圖
圖3 采用CPLD完成視頻采集控制
實(shí)時(shí)圖像采集處理系統(tǒng)的組成及工作原理
本系統(tǒng)由模擬攝像頭采集視頻數(shù)據(jù),通過視頻解碼芯片將模擬視頻信號(hào)轉(zhuǎn)換為數(shù)字視頻信號(hào)。CPLD作為采樣控制器,完成數(shù)字視頻數(shù)據(jù)的存儲(chǔ)和時(shí)序控制。本設(shè)計(jì)選用TMS320C6416實(shí)現(xiàn)系統(tǒng)控制和數(shù)據(jù)處理。具體組成如圖1所示。
視頻采集模塊
圖像的輸入由模擬攝像頭完成(本系統(tǒng)選用黑白攝像頭)。攝像頭輸出為標(biāo)準(zhǔn)的復(fù)合視頻信號(hào)(CVBS),該信號(hào)必須經(jīng)過視頻解碼和A/D變換后進(jìn)入數(shù)字系統(tǒng)才有效。由于模擬視頻信號(hào)非常復(fù)雜,除了包含圖像信號(hào)之外,還包括行同步信號(hào)、行消隱信號(hào)、場同步信號(hào)、場消隱信號(hào)等。因而,對(duì)視頻信號(hào)進(jìn)行A/D轉(zhuǎn)換的電路非常復(fù)雜。本設(shè)計(jì)選用TI公司的視頻解碼芯片TVP5146完成從模擬到數(shù)字視頻的轉(zhuǎn)換。TVP5146允許10路模擬視頻輸入,具有4路10bit 30MSPS A/D 轉(zhuǎn)換器;場同步信號(hào)VS,行同步信號(hào)HS,奇偶場信號(hào)FID,時(shí)鐘輸出信號(hào)DATACLK等都由引腳直接引出,省去同步時(shí)鐘電路的設(shè)計(jì)。
基于DSP的圖像處理模塊
實(shí)時(shí)圖像處理系統(tǒng)設(shè)計(jì)的難點(diǎn)是如何在有限的時(shí)間內(nèi)完成大量圖像數(shù)據(jù)的處理。只有圖像處理系統(tǒng)的處理速度達(dá)到每秒25 幀以上時(shí)才能達(dá)到實(shí)時(shí)的效果,所以在系統(tǒng)設(shè)計(jì)中,處理器是關(guān)鍵,要求處理器運(yùn)算速度快、實(shí)時(shí)處理能力強(qiáng),并且還具有高速的存儲(chǔ)器及I/O存取能力。本設(shè)計(jì)選用TMS3206416DSK作為視頻信號(hào)處理系統(tǒng)。TMS3206416DSK是一個(gè)低成本的開發(fā)平臺(tái),用戶可以根據(jù)功能需要擴(kuò)展硬件設(shè)計(jì),便于硬件開發(fā),縮短設(shè)計(jì)時(shí)間。
CPLD控制模塊
TMS320C6416DSK 板上含有一片 CPLD,它主要實(shí)現(xiàn)系統(tǒng)的邏輯控制和存儲(chǔ)器地址解碼功能。本設(shè)計(jì)仍需一片 CPLD 完成視頻存儲(chǔ)及顯示的時(shí)序控制,選用 Altera公司的EPM7064ATC100 來完成上述功能,它的工作電壓是3.3V,具有64個(gè)邏輯單元,68個(gè)I/O 可用引腳,引腳間 4.5ns延時(shí),其最高的時(shí)鐘頻率為 222.2MHz。該器件基于EEPROM 結(jié)構(gòu),可以通過 JTAG 接口現(xiàn)場編輯內(nèi)部的結(jié)構(gòu)邏輯,編程語言為 VHDL。數(shù)字視頻信號(hào)輸出時(shí)序如圖2所示。
數(shù)字視頻信號(hào)按圖2所示時(shí)序輸出。以 NTSC 制為例,圖中 Y[9:0]為輸出的亮度視頻信號(hào),DATACLK 為行鎖定系統(tǒng)的輸出時(shí)鐘,為像素時(shí)鐘頻率的兩倍,即27MHz,用來同步數(shù)據(jù)采集,HS 為行同步信號(hào),VS為場同步信號(hào),VBLK 為場消隱信號(hào),F(xiàn)ID為奇偶場信號(hào)。HS 的高電平表示一行有效采樣點(diǎn)720個(gè),VS 的高電平表示一場有效信號(hào),對(duì)于 NTSC制信號(hào),單場為243行,奇偶場信號(hào) FID 為“1”時(shí),表示當(dāng)前為奇數(shù)場, 為“0”表示偶數(shù)場。
圖像存儲(chǔ)模塊
為了實(shí)現(xiàn)圖像的實(shí)時(shí)采集與處理,往往需要視頻的輸入轉(zhuǎn)換和圖像處理并行進(jìn)行。傳統(tǒng)上實(shí)現(xiàn)數(shù)據(jù)采集與處理同步的方法有:使用 FIFO 存儲(chǔ)器;使用雙口 RAM;使用雙/單口RAM 交替切換存儲(chǔ)數(shù)據(jù)??紤]到圖像處理系統(tǒng)需要處理的數(shù)據(jù)量太大,而且 FIFO 存儲(chǔ)器和雙口 RAM 的價(jià)格因素,本設(shè)計(jì)使用高速雙/單口 SRAM 交替切換存儲(chǔ)數(shù)據(jù)的方法。一幀圖像容量為 720×486=349.92K像素,選用 512K×8bit的高速SRAM。TVP5146 對(duì)亮度信號(hào)的采樣頻率是13.5MHz,2次寫入的數(shù)據(jù)間隔是74ns,可以選擇 Cypress公司的 CY7C1049CV33(512K×8bit,12ns,3.3V)來完成數(shù)據(jù)儲(chǔ)存。
兩幀的切換由CPLD設(shè)計(jì)的幀存控制器自動(dòng)實(shí)現(xiàn)。當(dāng)幀A存儲(chǔ)TVP5146輸出的數(shù)據(jù)時(shí), DSP讀取并處理幀B的數(shù)據(jù),完成處理后送往液晶顯示。在幀A存滿一幀數(shù)據(jù),處理器也處理完幀B數(shù)據(jù)并完成一幀圖像顯示后,由CPLD 構(gòu)造的乒乓開關(guān)轉(zhuǎn)換兩個(gè)接口,DSP開始從幀A里讀取數(shù)據(jù)進(jìn)行處理,這樣,兩幀輪換進(jìn)行,實(shí)現(xiàn)了采集與處理顯示的并行操作。
本設(shè)計(jì)采用場合并行法,將兩場的數(shù)據(jù)寫入一個(gè)幀存中。系統(tǒng)利用 VS 信號(hào)對(duì)此進(jìn)行控制。當(dāng) VS 信號(hào)有效時(shí),表明新的一場開始了,此時(shí)無效行計(jì)數(shù)器開始工作,控制不需要采集的圖像行,計(jì)數(shù)到閾值后,有效行計(jì)數(shù)器開始工作,控制所要采集的圖像行,并發(fā)出高位地址信號(hào) A[18..11];同樣,當(dāng) HS 有效后,無效像素計(jì)數(shù)器開始計(jì)數(shù)每行中的無效像素,然后有效像素計(jì)數(shù)器開始計(jì)數(shù)需要采集的行有效像素;每次計(jì)滿720個(gè)像素后,等待下一次有效行信號(hào)的到來,同時(shí)將有效行計(jì)數(shù)器加1。由于系統(tǒng)選用的幀存容量較大,因此利用 FID 的反相信號(hào)作為幀存地址的 A10,為每行圖像提供了1024個(gè)存儲(chǔ)空間(實(shí)際使用720個(gè)),可以簡化數(shù)據(jù)寫入與讀出的控制電路。隔行的視頻信號(hào)就會(huì)被逐行地存儲(chǔ)到幀存體中。
圖3所示為 CPLD 編程構(gòu)成幀存儲(chǔ)器和視頻采集控制器。視頻采集控制器根據(jù) TVP5146的同步信號(hào) DATACLK、HS、VS 在內(nèi)部產(chǎn)生對(duì)幀存儲(chǔ)器的地址信號(hào) A[18:0]、寫信號(hào) WR以及幀切換信號(hào) RDY1、RDY2。幀存控制器根據(jù)切換信號(hào) RDY1、RDY2 進(jìn)行接口轉(zhuǎn)換:當(dāng)一幀圖像存入幀存儲(chǔ)器時(shí),幀切換的兩個(gè)必要條件之一RDY1置為高電平,RDY2在DSP處理完一幀圖像并送出顯示后置為高電平,當(dāng)兩者同時(shí)為真時(shí),切換兩通道的連接,開始新一輪圖像處理過程,同時(shí)RDY1、RDY2復(fù)位,為下一次切換作準(zhǔn)備。
TMS320C6146DSK 外擴(kuò)SDRAM共 4M×64bit的容量,為2片 MT48LC2M32B2,用來作為DSP處理后送往液晶顯示前的視頻數(shù)據(jù)緩存。
圖像顯示模塊
本設(shè)計(jì)選用 EPSON 的 E35G23 圖形顯示模塊,320×240 像素,帶有行列驅(qū)動(dòng)電路以及背光電路,16級(jí)灰度顯示。系統(tǒng)采用 CPLD 構(gòu)成液晶顯示控制器,應(yīng)用 CPLD 產(chǎn)生幀同步信號(hào)及掃描時(shí)鐘信號(hào)。VFRAM 為幀同步信號(hào),標(biāo)志著 LCD 屏新一幀的圖像開始,每一幀中包含240個(gè) VLINE 信號(hào)。在幀標(biāo)志信號(hào) VFRAM 有效后產(chǎn)生行同步信號(hào),讀數(shù)據(jù)緩存區(qū),在像素時(shí)鐘 VCLK 的控制下,將數(shù)據(jù)寫入 LCD,每一行包含320 個(gè) VCLK 信號(hào),完成一幀數(shù)據(jù)的寫入。
結(jié)語
本文以高速 DSP TMS320C6416 為核心處理器,應(yīng)用 TVP5146 完成模擬視頻信號(hào)的數(shù)字化轉(zhuǎn)換,CPLD 完成系統(tǒng)的時(shí)序控制,采用雙/單口 SRAM 交替儲(chǔ)存采集的視頻數(shù)據(jù),DSP 處理完數(shù)據(jù)后送往SDRAM緩存,最后將數(shù)據(jù)從緩存讀出并送往液晶屏顯示,實(shí)現(xiàn)視頻數(shù)據(jù)實(shí)時(shí)采集處理顯示。本系統(tǒng)是基于車輛視頻監(jiān)控而設(shè)計(jì)的,將對(duì)減少交通事故起到良好作用。