文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.2015.08.037
中文引用格式: 王浩健,,姚遠(yuǎn)程,秦明偉. 基于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.
0 引言
高速圖像數(shù)據(jù)采集系統(tǒng)實現(xiàn)高速相機(jī)拍攝圖像數(shù)據(jù)的采集,、實時傳輸、處理和圖像數(shù)據(jù)存儲,。通過采集的高速數(shù)據(jù),,可以觀測到高速運(yùn)動物體的細(xì)微變化,從而能夠更全面地改進(jìn)目標(biāo),,提高目標(biāo)性能,。圖像數(shù)據(jù)采集使用高速面陣相機(jī),相機(jī)數(shù)據(jù)傳輸接口為Camera Link接口,。通過Camera Link接口將圖像數(shù)據(jù)傳輸?shù)?a class="innerlink" href="http://forexkbc.com/tags/FPGA" title="FPGA" target="_blank">FPGA開發(fā)板上進(jìn)行實時處理,,處理后的數(shù)據(jù)能夠用顯示器顯示以便更好地觀測。本文主要研究高速相機(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é)議是由一些高速相機(jī)生產(chǎn)商和圖像采集卡供應(yīng)商為了降低相機(jī)與采集卡之間連接的成本而聯(lián)合推出的一個標(biāo)準(zhǔn)。設(shè)計選用了Teledyne Dalsa公司的PT-41-04M60[2]相機(jī)(以下簡稱為4M60),,F(xiàn)PGA板卡采用Xilinx公司Virtex-6系列的XC6VLX240T,,相機(jī)數(shù)據(jù)通過Camera Link接口傳輸?shù)紽PGA芯片上進(jìn)行高速緩存處理。
1 PT-41-04M60相機(jī)簡介
4M60相機(jī)[2]采用Teledyne DALSA專利的CMOS傳感技術(shù),在全分辨率4M時幀率可達(dá)62 f/s,。4M60相機(jī)分辨率為2 352×1 728,,像素尺寸7.4 μm×7.4 μm,有8/10 bit可選數(shù)據(jù)位,,4路傳感器通道,,基本(Base)和中級(Medium)兩種配置方式。相機(jī)上電后電源指示燈會閃爍一段時間表示正在初始化,,初始化完畢之后指示燈變?yōu)榉€(wěn)定的綠色,。在實際操作中可依據(jù)相機(jī)電源指示燈狀態(tài)變化情況來判斷相機(jī)是否正常工作。
計算機(jī)可通過向串口發(fā)送命令來控制相機(jī)工作狀態(tài),,異步串口命令[3]為ASCII字符,,默認(rèn)1位起始位,1位停止位,,無奇偶校驗位和握手位,,波特率默認(rèn)為9 600 b/s,通過串口命令sbr m可以改變波特率,,m可選擇9 600(默認(rèn)),、19 200、57 600,、115 200幾種,。相機(jī)上電后的波特率總是9 600 b/s,通過rc命令可重置相機(jī),,但重置后的波特率不是上電后的9 600 b/s,,而是最近一次使用過的波特率。
串口每條命令以回車鍵<CR>結(jié)束,,相機(jī)會以ok>或Error x:Error Message>回應(yīng),。x為錯誤的類型,Error Message為錯誤的具體內(nèi)容,,‘>’通常為相機(jī)發(fā)送的最后一個符號,,發(fā)送命令大小寫均支持。gcp<CR>為讀取相機(jī)當(dāng)前配置數(shù)據(jù),。用戶可以根據(jù)實際需求配置相機(jī)參數(shù),,相機(jī)指示燈變成穩(wěn)定的綠色后就會自動向Camera Link接口傳輸圖像數(shù)據(jù)。
2 Camera Link標(biāo)準(zhǔn)與協(xié)議
Camera Link接口主要是利用低壓差分信號(LVDS),,將相機(jī)采集的并行數(shù)據(jù)通過LVDS轉(zhuǎn)換成串行數(shù)據(jù)高速傳輸,,在接收端再將串行數(shù)據(jù)轉(zhuǎn)換成并行,以便于FPGA進(jìn)行處理,。Camera Link協(xié)議主要包括相機(jī)信號和Channel Link技術(shù)兩個方面,。
2.1 相機(jī)信號
Camera Link接口規(guī)定了相機(jī)信號主要分為高速視頻信號,、相機(jī)控制信號、串行通信信號和電源,。
(1)高速視頻信號
高速視頻信號傳輸圖像數(shù)據(jù)信號,,其中包括圖像數(shù)據(jù)和圖像使能信號。使能信號有4個:幀有效(FVAL),、行有效(LVAL),、數(shù)據(jù)有效(DVAL)和備用(Spare)。FVAL為高時表明輸出有效行,;LVAL為高時表明輸出有效像素;DVAL為高時表明輸出有效數(shù)據(jù),。備用信號(Spare)留作備用,。相機(jī)必須給每個Channel Link芯片提供上述4個使能信號。
(2)高速相機(jī)控制信號
Camera Link協(xié)議定義了4對LVDS信號用來傳輸相機(jī)控制信號,,分別是Camera Control 1(CC1),、Camera Control 2(CC2)、Camera Control 3(CC3),、Camera Control 4(CC4),。4對信號是由圖像采集卡發(fā)給相機(jī),相機(jī)生產(chǎn)商可以根據(jù)自己的需要來定義這4組信號,。本文使用的4M60相機(jī)將CC1作為外同步信號(EXSYNC)來觸發(fā)相機(jī)輸出幀數(shù)據(jù),。其他3個信號未使用。
(3)低速串行通信信號
Camera Link協(xié)議使用了兩對LVDS信號來傳輸相機(jī)與圖像采集卡之間的異步串行通信信號,,分別為:由相機(jī)發(fā)給采集卡的信號SerTFG(Serial communications to The Frame Grabber)和采集卡發(fā)送給相機(jī)的信號SerTC(Serial communications to The Camera),。兩對信號實現(xiàn)了計算機(jī)與相機(jī)的通信,計算機(jī)可以通過串口用ASCII字符對相機(jī)進(jìn)行配置,。
(4)電源
Camera Link連接器并不為相機(jī)提供電源,,相機(jī)要通過獨立的電纜來供電,本設(shè)計中使用的4M60相機(jī)的電源插座如圖1所示,,其引腳配置[4]如表1所示,。
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進(jìn)行數(shù)據(jù)處理,。
3 系統(tǒng)設(shè)計
高速圖像采集系統(tǒng)一般分為圖像獲取、圖像接收,、圖像控制,、圖像存儲和圖像顯示幾個部分,本設(shè)計主要是實現(xiàn)圖像的接收和顯示,,總體框圖[5]如圖3所示,。
3.1 圖像的接收和接口控制
圖像數(shù)據(jù)由高速相機(jī)發(fā)送過來,在基本模式下相機(jī)發(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)上述要求,。此外,相機(jī)控制信號和串行通信信號也需要轉(zhuǎn)換芯片,,分別使用美國國家半導(dǎo)體公司的DS90LV031A和DS90LV019芯片實現(xiàn),。基本配置模式具體實現(xiàn)框圖如圖4所示,。
如圖4,,Camera Link接口選用3M公司生產(chǎn)的MDR26作為信號傳輸?shù)倪B接器。在基本模式下相機(jī)端和采集卡端各有一個,,中級和高級模式下則各有兩個MDR26連接器,。其詳細(xì)引腳接口可參照文獻(xiàn)[1]。FPGA接收288A芯片轉(zhuǎn)換的28 bit 數(shù)據(jù),,并可根據(jù)相機(jī)提供的FVAL,、LVAL和DVAL 3個同步信號將接收到的數(shù)據(jù)通過液晶顯示器顯示出來。FPGA還可以通過019和031A芯片實現(xiàn)對相機(jī)的控制,,例如設(shè)置曝光模式,、輸出模式、外同步等,。
圖5為Camera Link接口基本(Base)配置模式的硬件實現(xiàn)原理圖,。中級(Medium)配置比圖5多了一個MDR26連接器和一塊288A芯片,連接方法與圖5類似,。圖中最右邊的28個引腳為采集到的圖像數(shù)據(jù)和同步信號的輸出引腳,,將采集到的數(shù)據(jù)送到FPGA的FMC連接器上,這樣FPGA就可以方便地對數(shù)據(jù)進(jìn)行操作,。圖5中每對差分對之間跨接一個100 ?贅的電阻,,用來確保信號的完整性,,減少終端信號的反射。硬件模塊搭建完畢,,就可以進(jìn)行數(shù)據(jù)的采集,。圖6所示為圖像數(shù)據(jù)采集的時序圖,從圖中可以看出,,相機(jī)輸出的FVAL和LVAL信號都為周期信號,,第一個FVAL低電平出發(fā)相機(jī)發(fā)送數(shù)據(jù),當(dāng)FVAL和LVAL同時為低電平時,,數(shù)據(jù)無效,。FVAL的兩個低電平之間為一行數(shù)據(jù)。
3.2 圖像的顯示
4M60相機(jī)在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ù)。
像素4通道同時輸出時,,每個通道的時鐘率為80 MHz,,4個通道同時輸出則為320 MHz的數(shù)據(jù)率[3]。而VGA顯示標(biāo)準(zhǔn)中,,最大只能顯示108 MHz,、1 280×1 024分辨率的圖像,達(dá)不到要求,。所以在顯示過程中選一路數(shù)據(jù)進(jìn)行顯示來驗證設(shè)計結(jié)果,。此時,圖片的分辨率就變?yōu)?88×432,,根據(jù)VGA顯示標(biāo)準(zhǔn)表,,選擇640×480@60顯示標(biāo)準(zhǔn),60為每秒顯示幀數(shù),,與相機(jī)要求匹配,,但是640×480顯示標(biāo)準(zhǔn)的時鐘只有25 MHz,,達(dá)不到相機(jī)的數(shù)據(jù)率,所以在FPGA中采用了乒乓存儲結(jié)構(gòu)[7]對數(shù)據(jù)進(jìn)行緩存,,從而達(dá)到實時顯示的效果,,顯示效果如圖8所示。圖像未經(jīng)處理顯示效果略有失真,,但總體還是比較理想,。
4 結(jié)論
本文根據(jù)Camera Link協(xié)議要求,設(shè)計和實現(xiàn)了Camera Link硬件電路,。充分利用FPGA的高速特性,,將采集到的高速圖像數(shù)據(jù)信號以幀為單位選擇性地送到顯示器上進(jìn)行顯示,達(dá)到了單路60 f/s的顯示速率,,提高了圖像處理系統(tǒng)圖像接收部分的數(shù)據(jù)傳輸量和數(shù)據(jù)傳輸速率,。
參考文獻(xiàn)
[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ù)字相機(jī)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] 朱齊丹,,劉進(jìn)業(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.