1 引言
視頻采集系統(tǒng)是數(shù)字圖像獲取的最基本手段,是進行數(shù)字圖像處理,、多媒體和網(wǎng)絡(luò)傳輸?shù)那疤?,它可為各種圖像處理算法提供待處理的原始數(shù)字圖像和算法驗證平臺。隨著圖像數(shù)字化處理技術(shù)的高速發(fā)展,,對圖像采集的要求也越來越高,,這包括對采集圖像的速度、主觀質(zhì)量,、靈活性等等的要求,。針對這種發(fā)展的趨勢,設(shè)計了一種基于CPLD和DSP器件的多分辨率圖像采集處理系統(tǒng),,重點介紹了CPLD在采集過程中邏輯控制的靈活應(yīng)用,。
2 系統(tǒng)方案設(shè)計
根據(jù)系統(tǒng)要求,采取了獨立采集法,,采用專用圖像采集芯片自動完成圖像的采集,,除了對采集模式進行設(shè)定外,處理器不參與采集過程,,這種方法的特點是不占用CPU的時間,、實時性好、適合活動圖像的采集,。系統(tǒng)設(shè)計流程如下:DSP發(fā)開始采集指令,,A./D開始采集,將A/D輸出的控制,、狀態(tài)信號接入CPLD,,由CPLD控制將轉(zhuǎn)換后的數(shù)字信號存儲到高速大容量SRAM(ODD和EVEN)中,直到一幀圖像數(shù)據(jù)存儲完畢后,,其間CPLD產(chǎn)生SRAM地址,、SRAM讀寫信號、中斷信號,、總線切換信號等等,;CPLD交出總線控制權(quán),DSP占用總線從SRAM中讀出圖像數(shù)據(jù)進行處理,。限于篇幅,,本文重點介紹CPLD在數(shù)據(jù)采集中的靈活設(shè)計。系統(tǒng)結(jié)構(gòu)如下圖所示:
圖1:系統(tǒng)結(jié)構(gòu)框圖
3 系統(tǒng)硬件設(shè)計
本系統(tǒng)DSP采用TI公司生產(chǎn)的54x系列中的TMS320VC5416,,CPLD是ALTERA公司MAX7000系列中的EPM7128A,。A/D芯片選用飛利浦公司出品的SAA7111A視頻A/D轉(zhuǎn)換芯片,這里利用DSP多通道緩沖串行口McBSP來模擬I2C總線時序?qū)AA7111A進行初始化,。
3.1 數(shù)據(jù)采集的邏輯功能設(shè)計
本設(shè)計方案通過利用CPLD控制視頻采集芯片SAA7111A實現(xiàn)行,、場數(shù)據(jù)延時[2],并分奇,、偶場數(shù)據(jù)分離存放,,DSP選擇讀取采集到的奇、偶場數(shù)據(jù)統(tǒng)一或分別進行處理,,從而得到多分辨率圖像數(shù)據(jù),。將SAA7111A產(chǎn)生的控制信號和狀態(tài)信號與CPLD連接,,即把垂直同步信號VREF、水平同步信號HREF、奇偶場標志信號RTS0,、片選信號CE、場同步信號VS,、象素同步信號LLC2等連接到CPLD上,,CPLD通過這些控制和狀態(tài)信號進行譯碼和產(chǎn)生存儲地址等操作。垂直同步信號VREF的兩個正脈沖之間為掃描一幀(幀掃描方式)或一場(場掃描方式)的定時,,即完整的一幀或一場圖像在兩個正脈沖之間掃描完,。水平同步信號HREF為掃描該幀或該場圖像中各行象素的定時,即高電平時為掃描一行象素的有效時間,。若當前圖像窗口大小為640×480,,則在VREF兩個正脈沖之間有480個HREF的正脈沖,即480行,;在每個HREF正脈沖期間有640個LLC2正脈沖,,即每行640個象素,即VREF,、HREF,、LLC2這三個同步信號之間的關(guān)系。
為了體現(xiàn)本系統(tǒng)多分辨率的特點,,需要改變SAA7111A的默認采樣分辨率,,通過CPLD的邏輯控制就可以得到多分辨率圖像數(shù)據(jù)。本文選擇從默認分辨率720×625到設(shè)定分辨率640×480的采集,,因此就需要進行,、場延遲,舍棄部分像素,。通過寫SAA7111A中I2C寄存器行同步開始寄存器(子地址06)和行同步結(jié)束寄存器(子地址07)可以直接控制行同步有效時間,,因此可以省略行延遲電路設(shè)計,而場延遲是在CPLD中實現(xiàn),。
邏輯功能設(shè)計大體分為以下幾個部分:DSP與CPLD的總線切換邏輯,;場延遲部分(HREF的下降沿進行計數(shù)器設(shè)計);LLC2控制的SRAM地址產(chǎn)生部分,;SRAM片選信號,、寫信號以及同步時鐘選擇時序控制部分,。其中CPLD和DSP之間的總線管理是設(shè)計中的難點。圖像采集時序如下圖所示,。
圖2:圖像采集時序圖
具體描述如下:置低DSP的XF引腳產(chǎn)生START采集啟動信號,,它向CPLD發(fā)出圖像采集命令,當VS上升沿來臨時,,如果RTS0為低電平,,則表明是奇場即將到來,產(chǎn)生ODD高電平信號,,對ODD取反再與DSP輸出的nPS相或后用作SRAM (ODD)的片選信號CS_ODD,。在VREF上升沿時刻,啟動場延遲計數(shù)器,,場延遲是在CPLD中實現(xiàn)的,,從每幀625行到480行需要舍棄145行(奇、偶場各采集240行),,在CPLD中利用行同步參考信號HREF進行計數(shù)器設(shè)計(HREF<240),。場延遲結(jié)束時,置高HREF145信號,,有效圖像數(shù)據(jù)采集開始接受,,當VREF出現(xiàn)下降沿時,置低HREF145信號,,奇場圖像采集完成,;如果RTS0為高電平,則表明偶場即將到來,,產(chǎn)生EVEN高電平信號,,對EVEN取反再與DSP輸出的nPS相或后用作SRAM (EVEN)的片選信號CS_EVEN,場延遲仍然利用行同步參考信號HREF進行計數(shù)器設(shè)計(HREF<240)來實現(xiàn),,場延遲結(jié)束時,,置高HREF145信號,有效圖像數(shù)據(jù)采集開始接受,,當VREF出現(xiàn)下降沿時,,置低HREF145信號,偶場圖像采集完成,。此外GCSWITCH信號作為CPLD選擇內(nèi)部時鐘的控制信號,,當GCSWITCH為高電平期間,表示CPLD獲取總線權(quán),,系統(tǒng)處于圖像采集階段,,CPLD內(nèi)部時鐘為LLC2;當GCSWITCH為低電平期間,,表示DSP收回總線權(quán),,系統(tǒng)處于圖像處理階段,,此時CPLD內(nèi)部的時鐘信號為DSP輸出時鐘信號CLOCKOUT。奇,、偶場圖像存儲器采用了ISSI公司的l0ns級256K×16高速SRAM,,LLC2時鐘為13. 5MHz,即每個像素時鐘大約為74.1ns,,每一個LLC2脈沖產(chǎn)生一次SRAM地址,相對于SRAM的10ns級的讀寫周期來說完全可以滿足要求,。利用LLC2(約13.5MHz)時鐘進行寫邏輯時序控制設(shè)計如下圖所示:
圖3:RAM(ODD,,EVEN)寫信號時序圖
同時要注意:如果在處理完一幀圖像后再采集下一幀時,圖像數(shù)據(jù)已經(jīng)進入了偶場或奇場,,此時若開放圖像采集,,由于不是從圖像頭開始采集,所采圖像將不完全,,因此需要確定圖像采集開始的基準,。這里設(shè)計只在RTS0的上升沿才檢測圖像采集開始信號是否產(chǎn)生,這樣每幀圖像只在RTS0的上升沿才開始采集,,即每次都從偶場開始,,這樣就避免了圖像數(shù)據(jù)的混亂,保證圖像的開始基準,。另外,,由于存放圖像數(shù)據(jù)的SRAM(奇、偶場SRAM)地址是由CPLD控制產(chǎn)生的,,那么如果將SAA7111A轉(zhuǎn)換輸出的VPO[15:0]直接存放在SRAM中,,勢必就會影響數(shù)據(jù)、地址的同步,,導致不同的數(shù)據(jù)寫入同一個地址,,同一個數(shù)據(jù)寫入不同的地址,從而造成讀寫錯誤,。因此,,考慮將SAA7111A輸出的VPO[15:0]也作為CPLD的輸入信號,在CPLD里通過延時作同步處理后再連接到SRAM的數(shù)據(jù)線上,,這樣就可以滿足時序要求使數(shù)據(jù)寫入正確的地址,。