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