文獻(xiàn)標(biāo)識碼: 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ù)存儲。通過采集的高速數(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://ihrv.cn/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ī)上電后電源指示燈會閃爍一段時(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ī)會以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)定的綠色后就會自動向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ū)動器和一個(gè)串轉(zhuǎn)并接收器構(gòu)成一對信號傳輸線路。在一片Channel Link接口芯片上有5對這樣的信號,4對用來傳輸數(shù)據(jù),另外一對用來傳輸時(shí)鐘信號。傳輸數(shù)據(jù)時(shí),在并轉(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è)計(jì)
高速圖像采集系統(tǒng)一般分為圖像獲取、圖像接收、圖像控制、圖像存儲和圖像顯示幾個(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能夠識別的并行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中采用了乒乓存儲結(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.