楊雙國 楊繼紅 全定可
【摘要】 本文設(shè)計了一種基于FPGA和DSP的圖像采集與處理系統(tǒng),介紹了該系統(tǒng)的基本硬件結(jié)構(gòu),對其實現(xiàn)過程進行了闡述,并對其進行了仿真驗證,最終在上位機顯示了處理的結(jié)果。本文重點討論了圖像采集的邏輯時序部分并附有相關(guān)程序。結(jié)果表明,此方案具很好的可靠性與穩(wěn)定性,并在工業(yè)應(yīng)用中取得了良好的效果。
【關(guān)鍵詞】 FPGA DSP 圖像采集與處理
Based on FPGA and DSP image acquisition and processing system
Yang Shuang-guo1 Yang Jihong Quan Dingke(Guangzhou institute of information technology, Guangzhou510075, China)
Abstract: This paper introduces a design based on FPGA and DSP image acquisition and processing system, this paper introduces the basic hardware structure of the system, the realization process is discussed, and the simulation results are passed, and finally in the upper machine shows that the result of the treatment. this paper mainly discussed the image acquisition logic sequence part with relevant procedure. The results indicate that this method has a good reliability and stability, and in industrial applications has obtained the good effect.
Key words: FPGA,DSP,image acquisition and processing
一、引言
現(xiàn)階段用于數(shù)字圖像處理的系統(tǒng)有很多種,而從成本、性能、開發(fā)難易程度等多方面的考慮,基于FPGA和DSP的靈活性高、實用性強、可靠性高的圖像采集與處理系統(tǒng)脫穎而出。通常的方法是以FPGA和DSP作為系統(tǒng)的處理器,即由FPGA 承擔(dān)圖像采集和預(yù)處理功能,DSP實現(xiàn)更復(fù)雜的圖像處理算法。在這樣一種結(jié)構(gòu)之上如何擴展系統(tǒng)的應(yīng)用,增加其靈活性并減少因前期設(shè)計不當造成的風(fēng)險是設(shè)計前需要重點考慮的問題。本文提出了一種實時圖像采集和處理系統(tǒng)的設(shè)計方法,該系統(tǒng)以DSP為核心,結(jié)合FPGA構(gòu)成實時圖像采集和處理系統(tǒng)電路。
二、系統(tǒng)設(shè)計
2.1系統(tǒng)整體結(jié)構(gòu)
如上圖1所示,本系統(tǒng)采用模塊化設(shè)計思想,整個系統(tǒng)由照明電路、成像電路(線陣相機)、圖像采集與預(yù)處理電路(A3P125)、圖像處理電路(TMS320C6713B)、網(wǎng)絡(luò)通信與顯示電路(W5300)及外圍電路組成。外圍電路主要包括接口電路、電平轉(zhuǎn)換電路、SDRAM圖像存儲器、FLASH程序存儲器及TMS320C6713B和A3P125外圍電路(復(fù)位、電源連接等)。
2.2 系統(tǒng)工作流程
如圖2所示,首先,通過串行接口對相機進行設(shè)置,本方案的設(shè)置要求為:相機設(shè)置為工作模式6,即:外部觸發(fā)信號觸發(fā)(EXSYNC),內(nèi)部可編程曝光時間(設(shè)置為20us)。相機分辨率設(shè)為1024個像素(14μm x 14μm),每個像素設(shè)置為10位。其次,實現(xiàn)對圖像的采集。在EXSYNC的下降沿觸發(fā)相機,經(jīng)過適當?shù)钠毓鈺r間,在 LVAL的上升沿開始采集數(shù)據(jù),由于相機的數(shù)據(jù)率為40M,在每個時鐘的上升沿傳送一個像素值,經(jīng)過1024個上升沿,即25us,一幀數(shù)據(jù)被傳輸?shù)紽PGA的FIFO中。也即:被測物體的光信息通過光學(xué)系統(tǒng),在CCD光敏面元上形成光學(xué)圖象,CCD器件把光敏元件上的光信息轉(zhuǎn)換成與光強成比例的電荷量。用一定頻率的時鐘脈沖對CCD進行驅(qū)動,經(jīng)電路轉(zhuǎn)換,得到被測對象的視頻信號,該視頻信號是28個單端數(shù)據(jù)信號。Camera Link驅(qū)動器接收此28個單端數(shù)據(jù)信號和1個時鐘信號,這些信號以7:1的比例被串行發(fā)送.也就是5對LVDS信號通道上分別傳輸4組LVDS數(shù)據(jù)流和l組LVDS時鐘信號。即完成28位數(shù)據(jù)的同步傳輸只需5對線[3]。接收端使用DS90CR288A進行解調(diào),解調(diào)后的數(shù)據(jù)傳入FPGA的FIFO中。采集的時序如下圖3所示。twSYNC表示曝光所需的EXSYNC的低電平最小持續(xù)時間;tLINE PERIOD表示數(shù)據(jù)采集的周期;twSYNC_INT表示為了保證恰當?shù)牟僮魉璧母唠娖阶钚〕掷m(xù)時間;tREADOUT表示讀取一幀數(shù)據(jù)所需的時間。
最后,F(xiàn)PGA對數(shù)據(jù)進行預(yù)處理之后,傳輸給DSP,由DSP對數(shù)據(jù)做最終的處理,W5300在上位機上可觀察到結(jié)果,部分數(shù)據(jù)也可通過UART與上位機通信。
三、主要單元模塊說明
1、圖像獲取模塊。該方案的前端采用DALSA的Spyder2線陣相機,分辨率為2048像素(14μm x 14μm),線率高達65kHz[1]。通過設(shè)置適當?shù)挠|發(fā)時間,將捕獲的視頻信號通過Camera Link連接線纜傳輸?shù)綀D像采集模塊。
2、FPGA控制模塊。本方案采用了Actel公司推出的第三代基于FLASH(閃存)的可編程器件ProASIC3系列中的A3P125芯片,該FPGA具有125000個系統(tǒng)門,典型等效宏單元1024個,內(nèi)嵌36K的RAM和1K的FlashROM,具有高密度、低功耗、非易失及可重復(fù)編程等特點。采用其來實現(xiàn)數(shù)據(jù)的采集、預(yù)處理以及控制功能更合適,設(shè)計者可以將更多的精力放在系統(tǒng)的設(shè)計上,而主要功能可以通過Verilog HDL語言較為輕松地實現(xiàn)。以下是采集部分的數(shù)據(jù)接收程序:
module sample (start,clk_500k,AD_D,cnt,frame_cnt,state,sel,cam_d);
input start;
input clk_500k;
input [9:0] AD_D;
output reg [3:0] cnt;
output reg [14:0] frame_cnt;
output reg state;
output reg sel;
output reg [15:0] cam_d;
always @(negedge clk_500k) begin
if (~start) begin
cnt <=0;
state<=0;
sel <=0;
frame_cnt <= 0;
end
else begin
case (state)
1b0: begin
state <= 1;
sel <=1;
end
1b1: begin
sel <= 0;
if (cnt == 15) begin
state <= 0;
cnt <= 0;
frame_cnt <= frame_cnt +1;
end
else cnt <= cnt+1;
end
endcase
end
end
always @(sel,frame_cnt,AD_D) begin
if (sel) cam_d = {1b1,frame_cnt};
else cam_d = {6b000000,AD_D};
end
endmodule
3、DSP處理模塊。本方案采用了美國TI公司的高性能浮點數(shù)字信號處理器TMS320C6713B。它采用先進的超長指令字結(jié)構(gòu),為單精度(32位)和64位(雙字)的IEEE浮點操作提供硬件支持,且32位整型乘法可以獲得32位或64位結(jié)果。其內(nèi)部有8個獨立的功能單元,2個定點算術(shù)邏輯單元(ALU),2個浮點乘法器,4個浮點ALU,每個周期可以執(zhí)行8個32位指令。這些都為數(shù)據(jù)處理帶來了極大方便[2]。
4、上位機顯示模塊。本方案除了用串行通信與上位機進行數(shù)據(jù)交換外,主要采用網(wǎng)口將DSP處理的數(shù)據(jù)傳輸?shù)缴衔粰C,進行數(shù)據(jù)的分析。網(wǎng)絡(luò)處理使用了W5300芯片,W5300是一款0.18μm CMOS 工藝的單芯片器件,內(nèi)部集成10/100M 以太網(wǎng)控制器,MAC和TCP/IP協(xié)議棧。W5300與主機(MCU)采用總線接口。通過直接訪問方式,W5300可以很容易與主機接口,就像訪問SRAM 存儲器[5]。
四、結(jié)論
本文面向?qū)崟r圖像采集和處理,采用模塊化設(shè)計思想,以TMS320C6713B、A3P125、W5300為主實現(xiàn)了視頻圖像采集和處理系統(tǒng)的硬件電路,整個系統(tǒng)結(jié)構(gòu)簡單,各個模塊功能清晰明了。經(jīng)后期項目驗證: 系統(tǒng)穩(wěn)定性高,處理速度快,能滿足設(shè)計要求,為實現(xiàn)更好的嵌入式圖像處理系統(tǒng)提供了一個良好的解決方案。
參 考 文 獻
[1] DALSA.2011.Manual_Spyder2_rev04[G]. [S.I.]: DALSA,2011.
[2] TI.TMS320C6713B Floating-Point Digital Signal Processor[G]. [S.I.]: TI,2006.http://www.ti.com.cn/cn/lit/ds/sprs294b/sprs294b.pdf
[3] 王小艷,張會新,孫永生.CamemLink協(xié)議和FPGA的數(shù)字圖像信號源設(shè)計[J].國外電子元器件,2008,16(7):59-61.
[4] Microsemi Corporation.2012.ProASIC3 Flash Family FPGAs Datasheet[G]. [S.I.]: Microsemi Corporation,2012.http://www.actel.com/ documents/PA3_DS.pdf
[5] 北京博控自動化技術(shù)有限公司.W5300中文用戶數(shù)據(jù)手冊-v1.2.2