《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應(yīng)用 > 基于FPGA的高速圖像數(shù)據(jù)采集系統(tǒng)設(shè)計
基于FPGA的高速圖像數(shù)據(jù)采集系統(tǒng)設(shè)計
2015年電子技術(shù)應(yīng)用第8期
王浩健,姚遠程,秦明偉
西南科技大學(xué) 信息工程學(xué)院 特殊環(huán)境機器人技術(shù)四川省重點實驗室,四川 綿陽621010
摘要: 介紹了新型高速數(shù)字相機PT-41-04M60的基本功能和配置方法,4M60相機使用Camera Link接口傳輸數(shù)據(jù)。根據(jù)Camera Link接口標準與協(xié)議,以FPGA為主控單元,設(shè)計了Camera Link協(xié)議的硬件電路實現(xiàn)圖像采集。FPGA開發(fā)板采用Xilinx公司Virtex-6系列的XC6VLX240T,充分滿足設(shè)計需求。實驗結(jié)果證明系統(tǒng)能夠成功地實現(xiàn)圖像采集并顯示。
中圖分類號: TN911
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2015.08.037

中文引用格式: 王浩健,姚遠程,秦明偉. 基于FPGA的高速圖像數(shù)據(jù)采集系統(tǒng)設(shè)計[J].電子技術(shù)應(yīng)用,2015,41(8):131-134.
英文引用格式: Wang Haojian,Yao Yuancheng,Qin Mingwei. Design of high-speed image data acquisition system based on FPGA[J].Application of Electronic Technique,2015,41(8):131-134.
Design of high-speed image data acquisition system based on FPGA
Wang Haojian,Yao Yuancheng,Qin Mingwei
Robot Technology Used for Special Envronment Key Laboratory of Sichuan Province, College of Information Engineering, Southwest University of Science and Technology, Mianyang 621010,China
Abstract: This paper introduces the basic function and the configuration of a new type of high-speed digital camera called PT-41-04M60. This camera uses Camera Link interface to transmit data. According to the standard and protocol of Camera Link interface, FPGA is taken as the main controller in this system to design the hardware circuit of Camera Link interface to realize image data acquisition. FPGA development board uses Xilinx company Virtex-6 series of XC6VLX240T,which fully meets the design requirements. The experimental results show this system can successfully achieve image acquisition and display.
Key words : high-speed camera;image acquisition;FPGA;Camera Link

  

0 引言

    高速圖像數(shù)據(jù)采集系統(tǒng)實現(xiàn)高速相機拍攝圖像數(shù)據(jù)的采集、實時傳輸、處理和圖像數(shù)據(jù)存儲。通過采集的高速數(shù)據(jù),可以觀測到高速運動物體的細微變化,從而能夠更全面地改進目標,提高目標性能。圖像數(shù)據(jù)采集使用高速面陣相機,相機數(shù)據(jù)傳輸接口為Camera Link接口。通過Camera Link接口將圖像數(shù)據(jù)傳輸?shù)?a class="innerlink" href="http://theprogrammingfactory.com/tags/FPGA" title="FPGA" target="_blank">FPGA開發(fā)板上進行實時處理,處理后的數(shù)據(jù)能夠用顯示器顯示以便更好地觀測。本文主要研究高速相機和Camera Link接口協(xié)議[1],設(shè)計一個能夠?qū)崿F(xiàn)數(shù)據(jù)實時高速傳輸?shù)腃amera Link接口電路,節(jié)省FPGA內(nèi)部資源消耗。同時通過FPGA的緩存處理,在VGA顯示器上實現(xiàn)實時圖像顯示。

    Camera Link協(xié)議是由一些高速相機生產(chǎn)商和圖像采集卡供應(yīng)商為了降低相機與采集卡之間連接的成本而聯(lián)合推出的一個標準。設(shè)計選用了Teledyne Dalsa公司的PT-41-04M60[2]相機(以下簡稱為4M60),F(xiàn)PGA板卡采用Xilinx公司Virtex-6系列的XC6VLX240T,相機數(shù)據(jù)通過Camera Link接口傳輸?shù)紽PGA芯片上進行高速緩存處理。

1 PT-41-04M60相機簡介

    4M60相機[2]采用Teledyne DALSA專利的CMOS傳感技術(shù),在全分辨率4M時幀率可達62 f/s。4M60相機分辨率為2 352×1 728,像素尺寸7.4 μm×7.4 μm,有8/10 bit可選數(shù)據(jù)位,4路傳感器通道,基本(Base)和中級(Medium)兩種配置方式。相機上電后電源指示燈會閃爍一段時間表示正在初始化,初始化完畢之后指示燈變?yōu)榉€(wěn)定的綠色。在實際操作中可依據(jù)相機電源指示燈狀態(tài)變化情況來判斷相機是否正常工作。

    計算機可通過向串口發(fā)送命令來控制相機工作狀態(tài),異步串口命令[3]為ASCII字符,默認1位起始位,1位停止位,無奇偶校驗位和握手位,波特率默認為9 600 b/s,通過串口命令sbr m可以改變波特率,m可選擇9 600(默認)、19 200、57 600、115 200幾種。相機上電后的波特率總是9 600 b/s,通過rc命令可重置相機,但重置后的波特率不是上電后的9 600 b/s,而是最近一次使用過的波特率。

    串口每條命令以回車鍵<CR>結(jié)束,相機會以ok>或Error x:Error Message>回應(yīng)。x為錯誤的類型,Error Message為錯誤的具體內(nèi)容,‘>’通常為相機發(fā)送的最后一個符號,發(fā)送命令大小寫均支持。gcp<CR>為讀取相機當前配置數(shù)據(jù)。用戶可以根據(jù)實際需求配置相機參數(shù),相機指示燈變成穩(wěn)定的綠色后就會自動向Camera Link接口傳輸圖像數(shù)據(jù)。

2 Camera Link標準與協(xié)議

    Camera Link接口主要是利用低壓差分信號(LVDS),將相機采集的并行數(shù)據(jù)通過LVDS轉(zhuǎn)換成串行數(shù)據(jù)高速傳輸,在接收端再將串行數(shù)據(jù)轉(zhuǎn)換成并行,以便于FPGA進行處理。Camera Link協(xié)議主要包括相機信號和Channel Link技術(shù)兩個方面。

2.1 相機信號

    Camera Link接口規(guī)定了相機信號主要分為高速視頻信號、相機控制信號、串行通信信號和電源。

    (1)高速視頻信號

    高速視頻信號傳輸圖像數(shù)據(jù)信號,其中包括圖像數(shù)據(jù)和圖像使能信號。使能信號有4個:幀有效(FVAL)、行有效(LVAL)、數(shù)據(jù)有效(DVAL)和備用(Spare)。FVAL為高時表明輸出有效行;LVAL為高時表明輸出有效像素;DVAL為高時表明輸出有效數(shù)據(jù)。備用信號(Spare)留作備用。相機必須給每個Channel Link芯片提供上述4個使能信號。

    (2)高速相機控制信號

    Camera Link協(xié)議定義了4對LVDS信號用來傳輸相機控制信號,分別是Camera Control 1(CC1)、Camera Control 2(CC2)、Camera Control 3(CC3)、Camera Control 4(CC4)。4對信號是由圖像采集卡發(fā)給相機,相機生產(chǎn)商可以根據(jù)自己的需要來定義這4組信號。本文使用的4M60相機將CC1作為外同步信號(EXSYNC)來觸發(fā)相機輸出幀數(shù)據(jù)。其他3個信號未使用。

    (3)低速串行通信信號

    Camera Link協(xié)議使用了兩對LVDS信號來傳輸相機與圖像采集卡之間的異步串行通信信號,分別為:由相機發(fā)給采集卡的信號SerTFG(Serial communications to The Frame Grabber)和采集卡發(fā)送給相機的信號SerTC(Serial communications to The Camera)。兩對信號實現(xiàn)了計算機與相機的通信,計算機可以通過串口用ASCII字符對相機進行配置。

    (4)電源

    Camera Link連接器并不為相機提供電源,相機要通過獨立的電纜來供電,本設(shè)計中使用的4M60相機的電源插座如圖1所示,其引腳配置[4]如表1所示。

jsj3-t1.gif

jsj3-b1.gif

2.2 Channel Link

    Channel Link接口是利用低壓差分信號傳輸視頻信號的新技術(shù)。如圖2[2]所示為Channel Link主要原理圖,Channel Link是由一個并轉(zhuǎn)串驅(qū)動器和一個串轉(zhuǎn)并接收器構(gòu)成一對信號傳輸線路。在一片Channel Link接口芯片上有5對這樣的信號,4對用來傳輸數(shù)據(jù),另外一對用來傳輸時鐘信號。傳輸數(shù)據(jù)時,在并轉(zhuǎn)串驅(qū)動器端,發(fā)送數(shù)據(jù)按照7:1的比例串行化,這樣就將28 bit數(shù)據(jù)串行轉(zhuǎn)化為4路數(shù)據(jù),分別通過差分信號對傳輸;在接收器端又將4路串行數(shù)據(jù)轉(zhuǎn)換回28 bit并行數(shù)據(jù),方便FPGA進行數(shù)據(jù)處理。

jsj3-t2.gif

3 系統(tǒng)設(shè)計

    高速圖像采集系統(tǒng)一般分為圖像獲取、圖像接收、圖像控制、圖像存儲和圖像顯示幾個部分,本設(shè)計主要是實現(xiàn)圖像的接收和顯示,總體框圖[5]如圖3所示。

jsj3-t3.gif

3.1 圖像的接收和接口控制

    圖像數(shù)據(jù)由高速相機發(fā)送過來,在基本模式下相機發(fā)送的數(shù)據(jù)包括了24 bit圖像數(shù)據(jù)和4個同步信號,并串轉(zhuǎn)換為4路串行差分信號。在接收端需要將這4路串行信號轉(zhuǎn)換為FPGA能夠識別的并行CMOS/TTL信號,所以在圖像采集端就需要串并轉(zhuǎn)換芯片實現(xiàn)信號轉(zhuǎn)換。本設(shè)計采用了美國國家半導(dǎo)體公司的DS90CR288A[6]芯片實現(xiàn)上述要求。此外,相機控制信號和串行通信信號也需要轉(zhuǎn)換芯片,分別使用美國國家半導(dǎo)體公司的DS90LV031A和DS90LV019芯片實現(xiàn)?;九渲媚J骄唧w實現(xiàn)框圖如圖4所示。

jsj3-t4.gif

    如圖4,Camera Link接口選用3M公司生產(chǎn)的MDR26作為信號傳輸?shù)倪B接器。在基本模式下相機端和采集卡端各有一個,中級和高級模式下則各有兩個MDR26連接器。其詳細引腳接口可參照文獻[1]。FPGA接收288A芯片轉(zhuǎn)換的28 bit 數(shù)據(jù),并可根據(jù)相機提供的FVAL、LVAL和DVAL 3個同步信號將接收到的數(shù)據(jù)通過液晶顯示器顯示出來。FPGA還可以通過019和031A芯片實現(xiàn)對相機的控制,例如設(shè)置曝光模式、輸出模式、外同步等。

    圖5為Camera Link接口基本(Base)配置模式的硬件實現(xiàn)原理圖。中級(Medium)配置比圖5多了一個MDR26連接器和一塊288A芯片,連接方法與圖5類似。圖中最右邊的28個引腳為采集到的圖像數(shù)據(jù)和同步信號的輸出引腳,將采集到的數(shù)據(jù)送到FPGA的FMC連接器上,這樣FPGA就可以方便地對數(shù)據(jù)進行操作。圖5中每對差分對之間跨接一個100 ?贅的電阻,用來確保信號的完整性,減少終端信號的反射。硬件模塊搭建完畢,就可以進行數(shù)據(jù)的采集。圖6所示為圖像數(shù)據(jù)采集的時序圖,從圖中可以看出,相機輸出的FVAL和LVAL信號都為周期信號,第一個FVAL低電平出發(fā)相機發(fā)送數(shù)據(jù),當FVAL和LVAL同時為低電平時,數(shù)據(jù)無效。FVAL的兩個低電平之間為一行數(shù)據(jù)。

jsj3-t5.gif

jsj3-t6.gif

3.2 圖像的顯示

    4M60相機在Medium模式下,可以同時輸出4路(Taps)80 MHz數(shù)據(jù),即一個時鐘周期可以同時輸出4個像素點的數(shù)據(jù)。像素點的輸出方式如圖7所示,像素數(shù)據(jù)從屏幕左邊到右邊、從屏幕下方到上方依次輸出。4通道輸出方式下,4個通道依次輸出像素點,即通道1依次輸出第1、5、9、13、17…2 349個像素點的數(shù)據(jù)。

jsj3-t7.gif

    像素4通道同時輸出時,每個通道的時鐘率為80 MHz,4個通道同時輸出則為320 MHz的數(shù)據(jù)率[3]。而VGA顯示標準中,最大只能顯示108 MHz、1 280×1 024分辨率的圖像,達不到要求。所以在顯示過程中選一路數(shù)據(jù)進行顯示來驗證設(shè)計結(jié)果。此時,圖片的分辨率就變?yōu)?88×432,根據(jù)VGA顯示標準表,選擇640×480@60顯示標準,60為每秒顯示幀數(shù),與相機要求匹配,但是640×480顯示標準的時鐘只有25 MHz,達不到相機的數(shù)據(jù)率,所以在FPGA中采用了乒乓存儲結(jié)構(gòu)[7]對數(shù)據(jù)進行緩存,從而達到實時顯示的效果,顯示效果如圖8所示。圖像未經(jīng)處理顯示效果略有失真,但總體還是比較理想。

jsj3-t8.gif

4 結(jié)論

    本文根據(jù)Camera Link協(xié)議要求,設(shè)計和實現(xiàn)了Camera Link硬件電路。充分利用FPGA的高速特性,將采集到的高速圖像數(shù)據(jù)信號以幀為單位選擇性地送到顯示器上進行顯示,達到了單路60 f/s的顯示速率,提高了圖像處理系統(tǒng)圖像接收部分的數(shù)據(jù)傳輸量和數(shù)據(jù)傳輸速率。

參考文獻

[1] Basler.Specification of the camera link interface standard for digital cameras and frame grabbers[Z].Ahrensburg,Germany:Basler,2000.

[2] DALSA. Falcon 4M30 and 4M60 monochrome and color camera manual[Z].2011.

[3] 郝偉,朱明.新型數(shù)字相機DS-21-01M60的原理及其硬件接口設(shè)計[J].電子技術(shù)應(yīng)用,2007,33(2):56-59.

[4] DALSA.Teledyne DALSA implementation road map[Z].Revision level 02.2011.

[5] 朱齊丹,劉進業(yè),康嶺.Camera Link硬件接口電路設(shè)計[J].應(yīng)用科技,2008,35(10):57-60.

[6] National Semiconductor.DS90CR288 28-Bit camera link-75MHz datasheet[Z].Santa Clara,USA:National Semiconductor Corporation,2002.

[7] 董琰,彭琦,李健志,等.基于Camera Link協(xié)議的CCD圖像采集系統(tǒng)[J].吉林大學(xué)學(xué)報:信息科學(xué)版,2010,28(4):372-377.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。