摘 要:介紹一種視頻圖像的采集和處理系統。系統由CCD攝像頭、視頻解碼芯片SAA7111、可編程邏輯芯片CPLD、先進先出FIFO存儲器,以及數字信號處理器DSP等組成。詳細討論CPLD對圖像采集速度和數量的控制7~EDMA圖像數據搬移的實現方法。實踐證明,該系統可以精確地控制圖像大小,CPU可以專注于圖像處理,而頻繁的數據從FIFO到外部SDRAM、SDRAM到內部RAM的搬移工作完全交給EDMA在后臺實現,提高了圖像數據的傳輸效率,充分發揮DSP的高性能,使得系統設計簡捷清晰,調試極為方便。
關鍵詞:視頻圖像;CPLD;EDMA;DSP
中圖分類號:TN911.73
文獻標識碼:B
文章編號:1004—373X(2008)04—139—03
1 引 言
隨著計算機、多媒體和通信技術的高速發展,視頻圖像采集與處理技術在安防監控、醫療衛生、教育、娛樂等各方面得到越來越廣泛的應用,快速實時的圖像采集已經成為大家關注和研究的熱點。
視頻圖像采集與處理系統的數據量大,要求數據的處理速度足夠快,在有限時間內完成大量的數據運算,傳統的視頻采集系統由A/D轉換電路、地址發生器、地址譯碼電路等構成,此類設計有電路復雜、芯片繁多、開發周期長、成本高等缺點。由于DSP和CPLD芯片具有體積小、處理速度快、使用方便靈活的特點,已被廣泛應用于對處理速度和實時性要求較高的場合。系統由視頻解碼芯片SAA71ll、可編程邏輯芯片EPM7128、FIFO存儲器IDT72V245和TI公司高性能DSP TMS320C6713組成,利用CPLD控制SAA7111輸出的行場同步信號、奇偶場指示信號等實現對圖像大小和速度的控制,同時充分利用DSP的EDMA控制器在片內高速存儲區與片外低速存儲區之間進行數據交換,以提高圖像采集和處理速度。
2 系統工作原理
視頻圖像處理系統的工作框圖如圖1所示,其工作原理是:由CCD攝像頭輸出PAL制式的復合視頻信號,經過視頻解碼芯片SAA71ll解碼后轉換為YUV422格式的數字圖像信號,同時分離出行場同步,象素時鐘LLC2,行參考HREF、場參考VREF、奇偶場指示RTS0等時序標志信號。EPM7128根據這些時序信號產生相應時序,控制圖像數據寫入IDT72V245的速度和數量。當圖像數據達到FIFO容量的一半時一HF為低電平,CPLD發出中斷通知DSP啟動EDMA從FIFO搬移4行數據到SDRAM。當一場圖像采集完后,CPLD發出中斷通知DSP將SDRAM里的一場圖像數據讀入其片內RAM空間,并進行圖像壓縮處理,然后通過串口向PC機輸出壓縮后的圖像信號。
視頻圖像采集系統選用Philips公司的SAA7111作為解碼芯片,他內部包含2路模擬處理通道,可以選擇視頻源并可抗混疊濾波,同時還可以進行模數變換、自動嵌位、自動增益控制、時鐘產生、多制式解碼等,另外還可對亮度、對比度和飽和度進行控制。SAA7111要正常工作必須在系統復位時對其工作寄存器進行初始化,通過IzC總線進行正確配置。

可編程邏輯器件CPLD用來實現圖像采集的時序控制,因此要求可編程邏輯器件實時性好、執行速度快、延時可預測。選用Altera公司的CPLD器件EPM7128,該芯片有128個宏單元,速度達到15 ns,完全可以完成系統所需的時序和邏輯組合。
SAA7111數據輸出速度達到13.5 MHz,而DSP的EMIF的頻率為100 MHz,DSP讀取速度比圖像數據輸出速度快,因此輸出圖像數據宜通過FIFO進行緩沖,系統采用IDT72V245作為數據緩沖,其容量為4096X18位,讀寫周期為10 ns。他具有2種讀寫模式:標準模式和FW—FT模式,同時還可以輸出各種標志信號指示FIFO存儲器內部數據的狀態,如FIFO空標志EF,半滿標志HF,全滿標志FF等。
TMS320C6713是TI公司在TMS320C6711的基礎上新近推出的C6000系列新一代浮點DSP芯片,是目前為止C6000系列DSP芯片中性能較高的一種。他可在255 MHz的時鐘頻率下實現800 MIPS/1350MFLOPS的定點和浮點運算,外部存儲器訪問和片上外設的訪問則完全通過EDMA來完成,在極大程度上滿足圖像壓縮算法對計算速度的要求。直接存儲器訪問(DMA)是C6000DSPs中一種重要的數據訪問方式,他可以在沒有CPU參與的情況下,由EDMA控制器完成DSP片內高速存儲區與片外低速存儲區之間的數據交換,以提高數據處理速度。EDMA(Enhanced Direct Memory Access)是C671x特有的訪問方式。
3 CPLD實現圖像采集控制
SAA7111輸出的時鐘信號包括:象素時鐘信號LLC、LLC2,行參考信號HREF,場參考信號VREF,行場同步信號HS和VS,奇偶場指示信號RTS0。可編程邏輯芯片CPLD采樣這些時序信號同步整個系統。具體采集時序如下:HREF為高電平時表示1行有效象素信號,由于PAL制式要求圖像輸出分辨率為720×572,因此1行有720個象素,即720個LLC2周期。LLC2頻率為13.5 MHz;VREF周期為50 Hz,與VS同周期;VREF為低電平時表示場消隱信號,高電平時表示有效象素信號;RTSO為高電平時表示采樣奇數場,低電平時表示采樣偶數場,2場圖像合起來為1幀圖像。行場圖像時序如圖2所示。據從FIFO到SDRAM的搬移;奇偶場指示信號RTSO與DSP的外部中斷管腳5連接,只是一場圖像數據完全存到SDRAM,通知DSP對圖像進行處理。

4 EDMA圖像數據搬移
TMS320C6713具有16個EDMA通道,通道間的優先級可設置。EDMA控制器由事件和中斷處理寄存器、事件編碼器、參數RAM以及硬件地址產生幾部分構成。EDMA的參數RAM的容量為2 kB,總共可以存放85組EDMA傳輸控制參數。多組參數還可以彼此連接起來,從而實現某些復雜數據流的傳輸。圖4給出1組EDMA傳輸參數的內部結構。
系統使用1片16 b的FIFO與DSP進行數據交換,因此,源數據區為16 b,為了使DSP的EMIF與16 b的異步存儲器接口,必須在CE3的空間控制寄存器中將其設置為16位異步接口模式。由于采集的視頻數據要從FIFO緩存入系統的SDRAM中,而SDRAM采用32 b設計,因此EDMA傳輸參數中的目的地址寬度為32 b。因此對于本系統而言,EDMA的傳輸類型為1D到2D傳輸。

本設計將FIFO地址映射在地址空間0xB0000000~0xB00FFFFF。對EDMA的可選參數控制位(如圖5所示)設置為Ox48840001,即設置為塊同步1D到2D傳輸,SUM=00 b,DUM=01 b,采用幀同步方式。EDMA傳輸源地址設置為OxB0000000,由于讀取FIFO時無需改變讀地址,因此無需對源地址進行更新,目的地址設置為0x80000000,PAI。制式圖像數據先輸出奇數場后輸出偶數場,故規定奇數場首地址為0x80000000,偶數場首地址為0x80000400,這樣設計就是為了能夠將1幀圖像放在連續的地址進行存放。傳輸結束后產生中斷,CPU開始對圖像數據進行處理。
經過CPLD對采集時序的控制后,可以得到512×512的圖像數據,采用16位輸出格式,則一行共有512×16 b數據,占用1 024個數據單元,則數據單元計數ELECNT=1024。1幀圖像由奇偶2場場組成,1場圖像數據量為512×256×16 b。而對于IDT72V245,其容量為4 096×18 b,其特點是在WCLK的上升沿寫FIFO時,如果FIFO的容量超過一半,則FIFO的HF管腳為低,HF將一直保持為低直到FIFO的寫和讀指針之差小余或等于FIFO的一半。而系統中FIFO工作于FWFT模式下,即FIFO內數據量為2 050(4097—1)/2+2)×16 b時HF才被置低。由于系統設計時使用HF來觸發DSP的EXT INT4,故從FIFO讀取1場圖像數據需要64次EDMA中斷,每次從FIFO讀取數據為2 048×16 b,即每次取4行圖像數據到SDRAM,故傳輸幀計數FRMCNT=3。
5 結 語
利用本文所述的數字視頻圖像采集的控制和數據搬移方法,可以有效地解決圖像采集和圖像實時處理之間的關系,在幾乎不需要CPU的干預下,利用CPLD和EDMA完成圖像數據的控制和視頻圖像數據的傳輸。大批量的圖像數據傳輸和復雜算法的處理一直是高速數字圖像處理器的速度瓶頸,利用CPLD和EDMA功能可以在不中斷信號處理器算法處理工作的同時完成圖像數據的搬移,在有效地解決了大批量圖像數據傳輸速度瓶頸的同時,又能讓DSP處理器專門從事算法處理工作,極大地提高了系統的并行性能。