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