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