- 相關(guān)推薦
VHDL在高速圖像采集系統(tǒng)中的應(yīng)用設(shè)計
摘要:介紹高速圖像采集系統(tǒng)的硬件結(jié)構(gòu)及工作原理,講述FPGA在圖像采集與數(shù)據(jù)存儲部分的VHDL模塊設(shè)計,給出采集同步模塊的VHDL源程序。現(xiàn)代化生產(chǎn)和科學(xué)研究對圖像采集系統(tǒng)的要求日益提高。傳統(tǒng)的圖像采集卡速度慢、處理功能簡單,不能很好地滿足特殊要求,因此,我們構(gòu)建了高速圖像采集系統(tǒng)。它主要包括圖像采集模塊、圖像低級處理模塊以及總線接口模塊等。這些模塊是在FPGA中利用VHDL編程實現(xiàn)的。高速圖像采集系統(tǒng)主要用于視覺檢測。視覺檢測中圖像處理的特點是:底層圖像處理數(shù)據(jù)量大,算法簡單;高層圖像處理算法復(fù)雜,數(shù)據(jù)量大,算法簡單;高層圖像處理算法復(fù)雜,數(shù)據(jù)量小。對于圖像底層處理,我們在高速圖像采集系統(tǒng)中用FPGA實現(xiàn),采用VHDL編寫圖像處理算法;對于圖像高層處理,由計算機軟件實現(xiàn)。由于VHDL設(shè)計靈活、編程方便,易于在FPGA中實現(xiàn)并行運算和流水線結(jié)構(gòu);所以,高速圖像采集系統(tǒng)的速度快、適應(yīng)性好。
1 系統(tǒng)結(jié)構(gòu)及工作原理
1.1 系統(tǒng)結(jié)構(gòu)設(shè)計
高速圖像采集系統(tǒng)結(jié)構(gòu)模型如圖1所示。它的輸入為標(biāo)準(zhǔn)的模擬視頻信號,用可編程視頻輸入處理器SAA7111進(jìn)行視頻信號處理。SAA7111內(nèi)部集成了強大的圖像色度、亮度處理功能以及多種輸出模式;有32個工作寄存器,在系統(tǒng)復(fù)位時,必須通過FPGA1的IC2總線模塊對其進(jìn)行初始化。SAA7111輸出的圖像數(shù)據(jù)通過FPGA芯片進(jìn)行采集與處理,采用Xilinx公司的XC2S150芯片。XC2S150是Spartan II系列產(chǎn)品。它基于Virtex系列的結(jié)構(gòu),支持所有相關(guān)的特性,具有很高的性能價格比;采集與處理的圖像數(shù)據(jù)在傳送到計算機之前,存儲在高速SRAM CY7C1049V33中,SRAM的容量為512K×8bit。與計算機通常采用PCI總線,由S5933來實現(xiàn)。S5933是一種功能強大的PCI控制器,符合PCI2.1規(guī)范。
1.2 工作原理
系統(tǒng)復(fù)位完成FPGA程序加載后,先由FPGA1的I2C總線模塊對SAA7111初始化,初始化結(jié)束后等待采集圖像的命令。初始化成功后,SAA7111實時處理模擬視頻信號,輸出亮度和色度信號,同時輸出點時鐘信號,行、場同步信號,行、場參考信號,奇偶場標(biāo)志信號等。本系統(tǒng)使用灰度圖像,沒有使用色度信號,所以數(shù)據(jù)線為8位。
系統(tǒng)采集圖像的命令由計算機發(fā)出。采集命令通過PCI總線傳輸?shù)紽PGA1,啟動FPGA1的采集同步模塊。采集同步模塊發(fā)出采集標(biāo)志信號,采集一幀圖像,通過寫數(shù)據(jù)模塊產(chǎn)生寫地址和寫信號將數(shù)據(jù)存儲到SRAM1中。采集結(jié)束時,采集標(biāo)志信號撤消,采集同步模塊復(fù)位,等待下一次采集命令。采集標(biāo)志信號撤消時,F(xiàn)PGA1開始讀取SRAM1中的圖像信息,這是通過讀數(shù)據(jù)模塊生產(chǎn)讀地址和讀信號來實現(xiàn)的。FPGA1將1幀圖像數(shù)據(jù)進(jìn)行噪聲去除后,存儲到SRAM2中,并發(fā)信號給FPGA2。FPGA2通過FPGA1讀取SRAM2中數(shù)據(jù),經(jīng)過邊緣檢測處理后存儲到SRAM3中。FPGA2處理完1幀圖像數(shù)據(jù)后,將SRAM3中的圖像信息讀出傳送給S5933,然后通過PCI總線傳送到計算機中。
在圖像采集過程中,我們使用的是512×512的圖像,即一幀圖像采集512行,奇數(shù)場和偶數(shù)場各采集256行,每一行采集512個像素。因此,需要通過行延時模塊進(jìn)行行選擇,濾掉無效行,通過像素延時模塊進(jìn)行像素選擇,以選擇需要的像素。
2 圖像采集與數(shù)據(jù)存儲部分的VHDL設(shè)計
系統(tǒng)中FPGA的設(shè)計是用VHDL編程實現(xiàn)的。VHDL是一種應(yīng)用非常廣泛的硬件描述語言,它的語言覆蓋面廣,描述能力強;可以描述最抽象的系統(tǒng)級,也可以描述最精確的邏輯級、門級。
本系統(tǒng)是采用結(jié)構(gòu)化VHDL進(jìn)行設(shè)計的,整個圖像采集部分是一個VHDL語言文件,包括幾個BLOCK語句。2片F(xiàn)PGA芯片個有不同的程序,其中FPGA1既包括圖像采集部分,又包括圖像處理與數(shù)據(jù)存儲部分;FPGA2為圖像處理與數(shù)據(jù)存儲部分以及PCI接口控制部分。2片F(xiàn)PGA時程序加載采用串行主/從模式。FPGA1采用串行主模式,F(xiàn)PGA2采用串行從模式,由FPGA1從SPROM中讀取配置數(shù)據(jù),完成自身配置,并完成對FPGA2的配置。圖像采集與數(shù)據(jù)傳送部分的VHDL模塊主要包括Set_sample.vhd、Wr.vhd、Rd.vhd、Delay.vhd、Bus_assign.vhd等,各模塊之間通過信號相互聯(lián)系。下面分別介紹各模塊實現(xiàn)的功能。(限于篇幅,僅給出采集同步模塊的程序。)
(1)Set_sample.vhd采集同步模塊
它是圖像采集部分的一個塊語句,輸入輸出信號為:
pcicon0-IN,啟動采集圖像信號;
vref-IN,場參考信號;
rts0-IN,奇偶場標(biāo)志信號;
sig_frame-OUT,采集同步輸出信號,高電平有效,用于圖像采集和總線管理模塊;
sig_field-OUT,采集同步場參考信號,采集1幀圖像的場參考信號。
源程序如下:
set_sample:block
signal flagct:std_logic_vector(2 downto 0);
begin
process(pcicon0,vref)
begin
if(pcicon0='O')then
flagct
【VHDL在高速圖像采集系統(tǒng)中的應(yīng)用設(shè)計】相關(guān)文章:
1394技術(shù)及其在實時圖像采集系統(tǒng)中的應(yīng)用研究03-02
基于USB2.0和FPGA的高速圖像采集系統(tǒng)03-07
DMA結(jié)合McBSP在數(shù)據(jù)采集系統(tǒng)中的應(yīng)用設(shè)計03-18
電能信息采集系統(tǒng)設(shè)計及其在營銷業(yè)務(wù)中的應(yīng)用11-19
閃存在大容量數(shù)據(jù)采集系統(tǒng)中的應(yīng)用03-07
基于USB2.0的高速同步數(shù)據(jù)采集系統(tǒng)設(shè)計03-19
多分辨率圖像實時采集系統(tǒng)的FPGA邏輯設(shè)計03-19