文獻(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ǔ),。通過采集的高速數(shù)據(jù),,可以觀測到高速運(yùn)動(dòng)物體的細(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://wldgj.com/tags/FPGA" title="FPGA" target="_blank">FPGA開發(fā)板上進(jìn)行實(shí)時(shí)處理,,處理后的數(shù)據(jù)能夠用顯示器顯示以便更好地觀測。本文主要研究高速相機(jī)和Camera Link接口協(xié)議[1],,設(shè)計(jì)一個(gè)能夠?qū)崿F(xiàn)數(shù)據(jù)實(shí)時(shí)高速傳輸?shù)腃amera Link接口電路,,節(jié)省FPGA內(nèi)部資源消耗,。同時(shí)通過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ī)(以下簡稱為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時(shí)幀率可達(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ī)上電后電源指示燈會(huì)閃爍一段時(shí)間表示正在初始化,,初始化完畢之后指示燈變?yōu)榉€(wěn)定的綠色,。在實(shí)際操作中可依據(jù)相機(jī)電源指示燈狀態(tài)變化情況來判斷相機(jī)是否正常工作。
計(jì)算機(jī)可通過向串口發(fā)送命令來控制相機(jī)工作狀態(tài),,異步串口命令[3]為ASCII字符,默認(rèn)1位起始位,,1位停止位,,無奇偶校驗(yàn)位和握手位,波特率默認(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ī)會(huì)以ok>或Error x:Error Message>回應(yīng)。x為錯(cuò)誤的類型,,Error Message為錯(cuò)誤的具體內(nèi)容,,‘>’通常為相機(jī)發(fā)送的最后一個(gè)符號,發(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接口主要是利用低壓差分信號(LVDS),,將相機(jī)采集的并行數(shù)據(jù)通過LVDS轉(zhuǎn)換成串行數(shù)據(jù)高速傳輸,,在接收端再將串行數(shù)據(jù)轉(zhuǎn)換成并行,以便于FPGA進(jìn)行處理,。Camera Link協(xié)議主要包括相機(jī)信號和Channel Link技術(shù)兩個(gè)方面,。
2.1 相機(jī)信號
Camera Link接口規(guī)定了相機(jī)信號主要分為高速視頻信號、相機(jī)控制信號,、串行通信信號和電源,。
(1)高速視頻信號
高速視頻信號傳輸圖像數(shù)據(jù)信號,其中包括圖像數(shù)據(jù)和圖像使能信號,。使能信號有4個(gè):幀有效(FVAL),、行有效(LVAL)、數(shù)據(jù)有效(DVAL)和備用(Spare),。FVAL為高時(shí)表明輸出有效行,;LVAL為高時(shí)表明輸出有效像素;DVAL為高時(shí)表明輸出有效數(shù)據(jù),。備用信號(Spare)留作備用,。相機(jī)必須給每個(gè)Channel Link芯片提供上述4個(gè)使能信號。
(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個(gè)信號未使用。
(3)低速串行通信信號
Camera Link協(xié)議使用了兩對LVDS信號來傳輸相機(jī)與圖像采集卡之間的異步串行通信信號,,分別為:由相機(jī)發(fā)給采集卡的信號SerTFG(Serial communications to The Frame Grabber)和采集卡發(fā)送給相機(jī)的信號SerTC(Serial communications to The Camera),。兩對信號實(shí)現(xiàn)了計(jì)算機(jī)與相機(jī)的通信,計(jì)算機(jī)可以通過串口用ASCII字符對相機(jī)進(jìn)行配置,。
(4)電源
Camera Link連接器并不為相機(jī)提供電源,,相機(jī)要通過獨(dú)立的電纜來供電,本設(shè)計(jì)中使用的4M60相機(jī)的電源插座如圖1所示,,其引腳配置[4]如表1所示,。
2.2 Channel Link
Channel Link接口是利用低壓差分信號傳輸視頻信號的新技術(shù)。如圖2[2]所示為Channel Link主要原理圖,,Channel Link是由一個(gè)并轉(zhuǎn)串驅(qū)動(dòng)器和一個(gè)串轉(zhuǎn)并接收器構(gòu)成一對信號傳輸線路,。在一片Channel Link接口芯片上有5對這樣的信號,,4對用來傳輸數(shù)據(jù),另外一對用來傳輸時(shí)鐘信號,。傳輸數(shù)據(jù)時(shí),,在并轉(zhuǎn)串驅(qū)動(dòng)器端,發(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è)計(jì)
高速圖像采集系統(tǒng)一般分為圖像獲取、圖像接收,、圖像控制,、圖像存儲(chǔ)和圖像顯示幾個(gè)部分,本設(shè)計(jì)主要是實(shí)現(xiàn)圖像的接收和顯示,,總體框圖[5]如圖3所示,。
3.1 圖像的接收和接口控制
圖像數(shù)據(jù)由高速相機(jī)發(fā)送過來,在基本模式下相機(jī)發(fā)送的數(shù)據(jù)包括了24 bit圖像數(shù)據(jù)和4個(gè)同步信號,,并串轉(zhuǎn)換為4路串行差分信號,。在接收端需要將這4路串行信號轉(zhuǎn)換為FPGA能夠識(shí)別的并行CMOS/TTL信號,所以在圖像采集端就需要串并轉(zhuǎn)換芯片實(shí)現(xiàn)信號轉(zhuǎn)換,。本設(shè)計(jì)采用了美國國家半導(dǎo)體公司的DS90CR288A[6]芯片實(shí)現(xiàn)上述要求,。此外,相機(jī)控制信號和串行通信信號也需要轉(zhuǎn)換芯片,,分別使用美國國家半導(dǎo)體公司的DS90LV031A和DS90LV019芯片實(shí)現(xiàn),?;九渲媚J骄唧w實(shí)現(xiàn)框圖如圖4所示,。
如圖4,Camera Link接口選用3M公司生產(chǎn)的MDR26作為信號傳輸?shù)倪B接器,。在基本模式下相機(jī)端和采集卡端各有一個(gè),,中級和高級模式下則各有兩個(gè)MDR26連接器。其詳細(xì)引腳接口可參照文獻(xiàn)[1],。FPGA接收288A芯片轉(zhuǎn)換的28 bit 數(shù)據(jù),,并可根據(jù)相機(jī)提供的FVAL、LVAL和DVAL 3個(gè)同步信號將接收到的數(shù)據(jù)通過液晶顯示器顯示出來,。FPGA還可以通過019和031A芯片實(shí)現(xiàn)對相機(jī)的控制,,例如設(shè)置曝光模式、輸出模式,、外同步等,。
圖5為Camera Link接口基本(Base)配置模式的硬件實(shí)現(xiàn)原理圖,。中級(Medium)配置比圖5多了一個(gè)MDR26連接器和一塊288A芯片,連接方法與圖5類似,。圖中最右邊的28個(gè)引腳為采集到的圖像數(shù)據(jù)和同步信號的輸出引腳,,將采集到的數(shù)據(jù)送到FPGA的FMC連接器上,這樣FPGA就可以方便地對數(shù)據(jù)進(jìn)行操作,。圖5中每對差分對之間跨接一個(gè)100 ?贅的電阻,,用來確保信號的完整性,減少終端信號的反射,。硬件模塊搭建完畢,,就可以進(jìn)行數(shù)據(jù)的采集。圖6所示為圖像數(shù)據(jù)采集的時(shí)序圖,,從圖中可以看出,,相機(jī)輸出的FVAL和LVAL信號都為周期信號,第一個(gè)FVAL低電平出發(fā)相機(jī)發(fā)送數(shù)據(jù),,當(dāng)FVAL和LVAL同時(shí)為低電平時(shí),,數(shù)據(jù)無效。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á)不到要求。所以在顯示過程中選一路數(shù)據(jù)進(jìn)行顯示來驗(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]對數(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ù)信號以幀為單位選擇性地送到顯示器上進(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.