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