新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 異步FIFO在DSP圖像采集系統(tǒng)中的應用

異步FIFO在DSP圖像采集系統(tǒng)中的應用

作者: 時間:2016-10-15 來源:網絡 收藏

引言

本文引用地址:http://m.butianyuan.cn/article/201610/307358.htm

基于的圖像采集與處理系統(tǒng)與傳統(tǒng)的PC端的系統(tǒng)相比,具有功耗低、攜帶方便、處理速度快的特點,被廣泛使用在圖像采集與處理領域。(Digital Signal Process or)芯片也稱數字信號處理器,是TI公司推出的專用于數字信號處理系統(tǒng)中進行算法處理的微處理器器件。采用哈佛結構總線設計,程序存儲器和數據存儲器分開,取值和數據訪問可以同時進行。DSP還使用流水線操作,使得多條指令重疊進行操作,可以有效地提高指令執(zhí)行效率。此外,DSP還擁有獨立的硬件乘法器,在處理濾波、卷積等運算時具有很快的速度,因此,DSP特別適合在圖像采集與處理系統(tǒng)中作為核心器件。視頻采集端的視頻解碼芯片使用,將采集到的模擬圖像信號轉換成數字圖像信號。

1 系統(tǒng)設計整體架構

本系統(tǒng)是基于DSP的數字圖像處理系統(tǒng),總體結構設計如圖1所示。首先CCD攝像機拍攝視頻圖像,輸出標準PAL制式視頻信號,輸入到視頻解碼芯片中,將模擬圖像信號轉換為數字圖像信號送入FIFO中,本系統(tǒng)采用AL422B。DSP通過EMIF接口從FIFO中讀取圖像數據并存入存儲器,圖像數據經過DSP中算法處理后,通過仿真器傳輸到PC機上進行顯示。其中,負責FIFO的讀寫指針復位和讀寫使能控制等工作。

異步FIFO在DSP圖像采集系統(tǒng)中的應用

(First In First Out)是一種先進先出的數據緩存器。FIFO與其他存儲器的區(qū)別是沒有讀寫地址線,操作可以變得很簡單,而且,它只能將數據順序寫入,并且順序讀出。此外,F(xiàn)IFO還具有以下一些特點:

①對連續(xù)的數據進行緩存,防止數據的丟失。

②可以對數據進行集中存儲,使CPU總線避免頻繁的操作。

③允許系統(tǒng)進行高速的DMA操作,即可以不通過CPU的干預,直接進行數據存儲,節(jié)約了使用CPU的時間,使系統(tǒng)的效率大大提高。

FIFO分為同步FIFO和。同步FIFO是指讀寫時鐘必須是同一個時鐘,而可以接受一種時鐘寫入數據,另一種時鐘讀出數據,也就是讀寫時鐘可以不一致,能夠相互獨立。

由于本系統(tǒng)中TVP5150送數據到DSP時,TVP5150的寫時鐘和DSP的讀時鐘是不一樣的。TVP5150的輸出時鐘是27 MHz,數據位為8位寬度,那么每秒的數據量就是216 Mbps,而DSP的輸出時鐘很難匹配27 MHz的時鐘頻率,設置為33 MHz,8位數據寬度,那么最大傳輸速率為264 Mbps。顯然,兩者的數據傳輸量在單位時間內是不一樣的,如果這時不經過任何緩存就進行數據間的相互傳輸,系統(tǒng)無法同步操作,并且會進入一種亞穩(wěn)定狀態(tài),從而整個系統(tǒng)功能失常。為了避免亞穩(wěn)定狀態(tài)以實現(xiàn)系統(tǒng)數據的高速穩(wěn)定的傳輸,本系統(tǒng)使用了作為解決方案,且采用AL422B作為異步FIFO存儲器,容量為3MB(393 216字節(jié)×8位),可以存儲PAL制式一幀圖形的信息。它的一些技術指標如下:

①支持VGA、CCIR、NTSC、PAL和HDTV制式的視頻信號;

②獨立的讀寫操作,可以接受不同的I/O速率;

③讀或寫周期為20 ns;

④訪問時間為15 ns;

⑤輸出使能控制;

⑥具有DRAM自刷新功能;

⑦3.3 V或5.0 V供電。

AL422B的讀寫過程分為4個步驟:寫復位,寫使能,讀復位,讀使能。首先復位寫指針異步FIFO在DSP圖像采集系統(tǒng)中的應用,當寫使能異步FIFO在DSP圖像采集系統(tǒng)中的應用為低電平時,在WCK的上升沿將數據寫入到寫數據寄存器;當異步FIFO在DSP圖像采集系統(tǒng)中的應用
為高電平時,寫操作被禁止。然后復位讀指針異步FIFO在DSP圖像采集系統(tǒng)中的應用,當異步FIFO在DSP圖像采集系統(tǒng)中的應用都變?yōu)榈蜁r,在RCK的上升沿將數據寫入讀數據寄存器;反之,讀操作被禁止。

2 系統(tǒng)硬件設計

2.1 TVP5150與AL422B的接口實現(xiàn)

在本系統(tǒng)中,TVP5150的數據輸出端要與AL422B的數據寫入端相連,AL422B的數據讀出端要與DSP的數據輸入端相連。首先介紹TVP5150與AL422B之間的硬件連接,TVP5150的數據總線可以與AL422B的寫入端的數據總線直接進行連接。

TVP5150的輸出時鐘需要進行二分頻并移相半個時鐘周期,然后與AL422B的寫時鐘WCK連接,因為我們只需要獲取灰度圖像,這樣做可以將彩色部分的圖像濾除并且可以減少數據量。

TVP5150端的VSYNC、VBLK、AVID、FID借助進行邏輯組合后與AL422B的寫指針復位WRST和寫使能WE連接。具體邏輯組合將在軟件設計部分介紹。

TVP5150與AL422B接口如圖2所示。

異步FIFO在DSP圖像采集系統(tǒng)中的應用

2.2 TMS320VC5509A與AL422B的接口實現(xiàn)

TMS320VC5509A(以下簡稱5509A)要接收來自AL422B中的數據,需要將AL422B的讀數據總線與5509A的EMIF數據總線接口直接連接。5509A的輸出時鐘CLKOUT給AL422B提供讀時鐘。AL422B的輸出使能異步FIFO在DSP圖像采集系統(tǒng)中的應用和讀使能異步FIFO在DSP圖像采集系統(tǒng)中的應用需要借助將5509A端的外部存儲器片選信號異步FIFO在DSP圖像采集系統(tǒng)中的應用、EMIF接口輸出使能異步FIFO在DSP圖像采集系統(tǒng)中的應用和EMIF接口讀使能異步FIFO在DSP圖像采集系統(tǒng)中的應用進行邏輯組合后進行連接。組合邏輯部分在軟件設計部分介紹。TMS320VC5509A與AL422B接口如圖3所示。

異步FIFO在DSP圖像采集系統(tǒng)中的應用

3 系統(tǒng)軟件設計

軟件部分分為兩部分,分別是DSP內的程序設計和CPLD中的組合邏輯。

3. 1 DSP主程序

程序流程圖如圖4所示。

異步FIFO在DSP圖像采集系統(tǒng)中的應用

3.1.1 主函數初始化

主函數需要對時鐘頻率、函數、EMIF外部存儲器接口、I2C總線、TVP5150視頻配置、AL422B的寫指針復位進行初始化。

其中,AL422B的初始化采用TMS320VC5509A的GPIO口GPIO0、GPIO1、GPIO2發(fā)送邏輯電平到CPLD,然后由CPLD發(fā)送命令控制AL422B的讀寫指針復位與讀寫使能。

在DSP中,首先定義GPIO口的方向控制寄存器IODIR和引腳電平寄存器IODATA,并將IODIR寄存器的低3位設為1,也就是將GPIO0、GPIO1、GPIO2的方向設為輸出。接著對IODA TA寄存器進行賦值,并將寄存器的值通過GPIO口送到CPLD,CPLD端進行邏輯組合,對AL422B的復位寫指針異步FIFO在DSP圖像采集系統(tǒng)中的應用復位。

3.1.2 初始化TVP5150

TVP5150是視頻解碼芯片,要求其模擬輸入是PAL制信號,轉換為8位的YUV4:2:2格式的數字輸出信號。DSP需要通過GPIO口對TVP5150進行復位,方法類似于AL422B的寫指針復位控制。DSP還需要通過I2C總線控制TVP5150的寄存器,TVP5150寄存器的配置如下:

①雜項控制寄存器:地址0x03,設置為0x0f。

②輸出和數據比率選擇寄存器:地址0x0d,設置為0x40。

③配置復用引腳寄存器:地址0x0f,設置為0x0a。

④有效像素開始高位寄存器:地址0x11,設置為0x4d。

⑤有效像素開始低位寄存器:地址0x12,設置為0x02。

⑥有效像素結束低位寄存器:地址0x13,設置為0xe4。

⑦有效像素結束低位寄存器:地址0x14,設置為0x02。

經過寄存器配置,使得場消隱信號VBLK、像素有效信號AVID、場同步信號VSYNC、奇偶場標志位信號FID、輸出時鐘SCLK輸出有效,數據總線激活,并將采集到的圖像裁剪成150×300的圖像。

在初始化程序后,執(zhí)行while死循環(huán),等待的到來。

3.1.3 函數

由于只需要處理150×300的圖像,所以在FIFO里只需存儲150×300個像素點,存滿后發(fā)出中斷信號,DSP轉去執(zhí)行中斷服務程序。中斷函數首先通過GPIO口告知CPLD使AL422 B的讀指針復位(方法類似AL422B的寫指針復位,這里不再贅述),并且使AL422B的輸出使能異步FIFO在DSP圖像采集系統(tǒng)中的應用有效、讀使能異步FIFO在DSP圖像采集系統(tǒng)中的應用有效(具體實現(xiàn)在3.2說明)。然后DSP便讀取FIFO中的數據,因為FIFO外擴在DSP的異步FIFO在DSP圖像采集系統(tǒng)中的應用這個空間,地址為0x600000,所以DSP將異步FIFO在DSP圖像采集系統(tǒng)中的應用中的數據寫入內存中,存入內存中的數據供后續(xù)處理。

這里,我們使用的處理算法為圖像的邊緣檢測法,處理完成后在CCS中進行顯示,并觀察算法處理結果。

最后,進行寫指針復位,準備下一次的圖像采集。需要注意的是,由于圖像在傳輸過程中奇偶場是分開傳輸的,F(xiàn)IFO中只存儲奇場的一部分圖像,而完整的圖像是由奇場和偶場共同組成的,所以獲得的圖像顯示的是一幀圖像壓縮一半的結果,圖像是失真的。但是,我們只觀察算法的處理結果,因此沒有進行圖像的完整顯示。

3.2 CPLD程序

CPLD接收的輸入信號有來自TMS320VC5509A的GPIO口的信號,來自TVP5150的場消隱信號VBLK、像素有效信號AVID、場同步信號VSYNC和奇偶場標志位信號FID。CPLD的輸出信號有提供給FIFO的寫使能信號異步FIFO在DSP圖像采集系統(tǒng)中的應用,寫復位指針信號異步FIFO在DSP圖像采集系統(tǒng)中的應用和讀復位指針信號異步FIFO在DSP圖像采集系統(tǒng)中的應用,以及提供給TMS320VC5509A的中斷信號異步FIFO在DSP圖像采集系統(tǒng)中的應用。

當VSYNC由高電平變?yōu)榈碗娖綍r,輸出的是有效視頻信號,同時當VBLK為低電平、AVID為高電平時,TVP5150輸出有效視頻數據。

因為偶數場是從一行的中間開始掃描的,如果不設置FID信號,最后采集到的圖像可能是偶場信號,也可能是奇場信號,那么,在CCS中顯示的圖像有可能是完整的,也可能顯示的是左右顛倒的圖像,剛好錯開半行的圖像。所以,設置FID信號為0,采集奇場的信號。

CPLD將這些邏輯進行組合,使AL422B的寫使能異步FIFO在DSP圖像采集系統(tǒng)中的應用有效,TVP5150輸出視頻數據到AL422B中。

因為要采集一幅150x 300的圖像,需要在CPLD中設置一個計數器對采集到的像素進行計數,由AL422B的寫時鐘WCK作為計數器的時鐘信號,當計數到45 000后觸發(fā)DSP外部中斷2,同時將計數器清零。

AL422B外擴在DSP的異步FIFO在DSP圖像采集系統(tǒng)中的應用這個空間,當異步FIFO在DSP圖像采集系統(tǒng)中的應用和TMS320VC5509A的EMIF接口輸出使能信號異步FIFO在DSP圖像采集系統(tǒng)中的應用且為低電平時,通過CPLD的邏輯組合使能AL422B的輸出使能信號異步FIFO在DSP圖像采集系統(tǒng)中的應用。接著當TMS32 0VC5509A的EMIF接口讀使能信號異步FIFO在DSP圖像采集系統(tǒng)中的應用為低電平時,通過CPLD的邏輯組合使能AL422B的讀使能信號異步FIFO在DSP圖像采集系統(tǒng)中的應用。邏輯關系如下:

異步FIFO在DSP圖像采集系統(tǒng)中的應用

4 實驗結果

利用設計的系統(tǒng)進行實物圖像的采集,圖5(a)為采集的實驗室的辦公座椅場景,圖5(b)為使用邊緣檢測算法來對采集到的圖像進行的邊緣處理。

異步FIFO在DSP圖像采集系統(tǒng)中的應用

邊緣檢測能夠突出圖像的邊緣特征,使觀察者一目了然,并且蘊含了豐富的內在信息(方向、階躍性質和形狀等)。

結語

在DSP仿真軟件CCS中設置斷點,經過多次圖像采集處理的測試,均可以得到的完整的圖像信息。結果表明,使用異步FIFO作為TVP5150與DSP之間的數據傳輸連接器,能夠達到系統(tǒng)預設功能,并且可以穩(wěn)定、高速地進行傳輸。



評論


相關推薦

技術專區(qū)

關閉