《電子技術應用》
您所在的位置:首頁 > 其他 > 業(yè)界動態(tài) > 基于PCI Express總線的高幀頻CMOS相機圖像采集系統(tǒng)設計

基于PCI Express總線的高幀頻CMOS相機圖像采集系統(tǒng)設計

2009-06-30
作者:楊會玲1, 楊會偉2, 王 軍3

  摘? 要: 基于PCI Express總線設計了一種高幀頻CMOS相機圖像采集系統(tǒng),。選用幀頻250幀/s的LUPA-300作為高幀頻圖像傳感器,,通過FPGA實現(xiàn)對圖像傳感器的參數(shù)配置與圖像數(shù)據(jù)處理,,采用PCI Express總線作為圖像數(shù)據(jù)傳輸總線,大大提高了傳輸速度,。實驗結果表明該系統(tǒng)結構簡單、成像清晰穩(wěn)定,、拍攝速度快,,可應用于高速目標的拍攝。
  關鍵詞: PCI Express,; 高幀頻,; CMOS圖像傳感器; FPGA

?

  隨著信息科學的飛速發(fā)展,,人們對數(shù)據(jù)采集系統(tǒng)的要求愈來愈高,。數(shù)據(jù)采集技術是現(xiàn)代信號處理和信號存儲的基礎,廣泛應用于雷達,、通信,、遙測遙感等領域。在數(shù)字信號處理及存儲工作中,,實現(xiàn)對所需數(shù)據(jù)高速,、實時采集具有重要意義。為了實現(xiàn)對高幀頻CMOS相機高速,、大容量圖像數(shù)據(jù)實時存儲,,要求光電測控設備的數(shù)據(jù)采集系統(tǒng)具有數(shù)據(jù)傳輸效率高、傳輸延時低,、系統(tǒng)集成度高,、系統(tǒng)可維護性高等特點。現(xiàn)在的大多數(shù)圖像采集卡多數(shù)是基于PCI接口的,,其數(shù)據(jù)傳輸率很難滿足大容量,、高速的圖像數(shù)據(jù)傳輸。PCI Express(簡稱為PCI-E)是一種新型的點對點的串行連接的I/O體系,。PCI-E為總線技術帶來了顛覆性的革命,,其所能提供的高帶寬和引入低延遲是其前幾任總線所望塵莫及的。相比傳統(tǒng)的PCI總線,PCI-E總線有很大的優(yōu)勢:首先,PCI-E降低了芯片連接的管腳數(shù)量,,簡化了PCB板的設計和布局,;其次,PCI-E是非共享的串行差分接口,,不會出現(xiàn)多個設備共享帶寬的情況,,PCI-E X1的理論帶寬為發(fā)送、接收均為250 MB/s,,PCI-E X4發(fā)送,、接收的理論帶寬均為1 GB/s,并且在PCI-E 2.0協(xié)議中會使用更高速5 GB/s的物理層收發(fā)器,,其速度將會翻倍,。因此,PCI-E總線接口特別適合于超高速的數(shù)據(jù)傳送,,研發(fā)基于PCI-E總線接口的數(shù)據(jù)采集卡具有重要意義[1-3],。
  本文基于PCI Express總線設計出該高速CMOS相機圖像采集系統(tǒng)。在本系統(tǒng)中,,高速CMOS相機幀頻為250幀/s,,分辨率為640×480,每個像元數(shù)據(jù)位為10位,,系統(tǒng)中采用FPGA芯片實現(xiàn)對整個系統(tǒng)的控制,,利用FPGA內部提供的FIFO IP核實現(xiàn)了高速圖像數(shù)據(jù)的緩存處理。為了提高CPU利用率,,設計中專門采用2個FIFO的乒乓操作來實現(xiàn)圖像數(shù)據(jù)的緩存處理,。
1 系統(tǒng)構成及原理
  整個高幀頻圖像采集系統(tǒng)由成像單元、FPGA控制單元,、PCI-E圖像采集單元,、驅動程序及圖像采集存儲軟件組成,如圖1所示,。


  系統(tǒng)工作原理:系統(tǒng)上電后,,F(xiàn)PGA控制單元首先對高幀頻CMOS傳感器內部參數(shù)實現(xiàn)配置,配置完成后,高幀頻CMOS圖像傳感器開始工作,,通過內部的光電轉換,、模數(shù)轉換將外部鏡頭采集到的圖像轉換成數(shù)字圖像的幀頻信號、行頻信號,、像素時鐘信號,并將圖像數(shù)據(jù)傳送給FPGA內部的FIFO進行緩存處理,。為了提高數(shù)據(jù)的緩存處理速度,,提高CPU的利用率,系統(tǒng)中采用了2個FIFO的乒乓操作來完成數(shù)據(jù)的緩存。經(jīng)過FIFO緩存處理后的圖像數(shù)據(jù)輸入到PCI-E圖像采集單元的DMA數(shù)據(jù)流,,上位機軟件結合驅動程序控制PCI-E采集單元,,通過中斷操作觸發(fā)DMA操作,將數(shù)據(jù)通過DMA數(shù)據(jù)流傳輸?shù)接嬎銠C內部存儲器中,,上位機軟件實現(xiàn)圖像的處理與顯示,,重現(xiàn)成像單元捕獲的圖像。
2 系統(tǒng)硬件
2.1高幀頻CMOS成像單元

  高幀頻CMOS 成像單元主要由CMOS圖像傳感器與FPGA控制芯片組成,。CMOS圖像傳感器是系統(tǒng)的成像部件,,它是系統(tǒng)的“眼睛”,能夠捕獲高速運動物體的圖像,,其電路輸出為數(shù)字信號圖像數(shù)據(jù),。本文中所采用的CMOS圖像傳感器是Cypress公司推出的產(chǎn)品LUPA-300,它將模擬圖像獲取,、數(shù)字化和數(shù)字信號處理的功能集成在單一芯片中,,分辨率為640×480;幀頻達到250幀/s,,屬于高幀頻圖像傳感器,,可以實現(xiàn)動態(tài)目標的跟蹤拍攝;動態(tài)范圍為61 dB,采用多斜率積分最高可達到90 dB,;內部集成有4個獨立的模數(shù)轉換器(ADC),,采樣率為80 MS/s,集成的ADC提供10 bit的數(shù)字信號輸出,,內部有大量的寄存器和控制器,,可以對傳感器的工作狀態(tài)進行選取,實現(xiàn)實時調整,;采用同步快門,具有隨機開窗與亞采樣功能,,可對片上任意感興趣的區(qū)域進行讀取,,并且每幀圖像可以讀取不同的區(qū)域,。該傳感器的時鐘頻率可達到80 MHz,。
  LUPA-300供電要求比較復雜,,需要提供6種電源:VDDA(模擬電源+2.5 V)、VDDD(數(shù)字電源+2.5 V),、VPIX(像素電源+2.5 V),、VRES(復位電源+3.3 V)、VMEM_H(像素存儲電源+3.3 V),、VADC(ADC電源+2.5 V),。由于需要電源較多,在電路設計中考慮到元件的管腳分布情況,,盡量做到電源和地到相應的管腳距離最短,。同時為了保證傳感器工作穩(wěn)定,在位于傳感器底座下方的TOP層進行了大面積鋪地,。出于冗余保護的考慮,,傳感器的所有供電管腳都并接了2個0.1 μF和0.01 μF電容,。為了使傳感器正常成像,,選用F=50 mm的V5013標準鏡頭。外殼由鋁制材料加工而成,,正中心位置提供鏡頭接口,。
2.2 時序控制與自動化參數(shù)配置
??? LUPA-300圖像傳感器內部有16個寄存器,,地址從0000~1111,,每個寄存器有16位,其中高4位代表寄存器的地址,,低12位是寄存器的數(shù)據(jù),,每一位都有特定的含義,,通過改變每一位的數(shù)值就可以改變LUPA-300的功能特性,。LUPA-300傳感器提供了專用的SPI總線接口,,設計中采用FPGA與圖像傳感器之間通過SPI總線傳輸協(xié)議實現(xiàn)對LUPA-300圖像傳感器內部參數(shù)的配置。SPI總線的工作時序如圖2所示,,每個數(shù)據(jù)有16位,,后4位(bit<15:12>)為地址位,對應于CMOS圖像傳感器內部寄存器的地址,前12位(bit<11:0>)為數(shù)據(jù)位,,對應于系統(tǒng)成像單元的成像參數(shù),。


  為了方便地更改傳感器內部參數(shù),以根據(jù)不同需求來改變傳感器的工作狀態(tài),,系統(tǒng)采用了串行通信,。上位機通過串行通信向FPGA發(fā)送數(shù)據(jù),F(xiàn)PGA接收到數(shù)據(jù)后對數(shù)據(jù)進行處理,,一方面將接收到的數(shù)據(jù)反饋給計算機,,檢驗數(shù)據(jù)的正確性;另一方面通過SPI總線將數(shù)據(jù)傳送到圖像傳感器內部,,實現(xiàn)內部參數(shù)的改變。結構原理圖如圖3所示,。

?


2.3 FPGA控制單元
  FPGA控制芯片是系統(tǒng)的“指揮中心”,,也是系統(tǒng)設計中的一個核心器件,,用以協(xié)調整個系統(tǒng)的工作,其作用貫穿于整個系統(tǒng),。完成的主要功能包括:(1)進行自身的I/O口和有關功能控制寄存器的初始化,;(2)系統(tǒng)上電后完成對高幀頻CMOS圖像傳感器的圖像參數(shù)配置;(3)內部FIFO資源實現(xiàn)高速圖像數(shù)據(jù)的緩存處理,;(4)為PCI9054接口芯片提供外部中斷信號及DMA控制時序,; (5)接收計算機的控制命令控制整個系統(tǒng)的功能實現(xiàn)。本系統(tǒng)選用Xilinx公司的XC2S200,片內集成有56 KB的Block RAM, 4個延遲鎖相環(huán)DLL(Delay-locked Loop),。
  XC2S200能兼容多種I/O電壓,,并且具有豐富的I/O引腳。核心電壓為+2.5 V,,設計中采用的I/O電壓為+3.3 V,。
2.4 圖像采集單元
  為了實現(xiàn)對CMOS相機大容量、高速圖像數(shù)據(jù)記錄,,要求數(shù)據(jù)采集系統(tǒng)具有數(shù)據(jù)傳輸效率高,、傳輸延時低、系統(tǒng)集成度高,、系統(tǒng)可維護性高等特點,。本系統(tǒng)采用PCI-E總線實現(xiàn)數(shù)據(jù)的傳輸,PCI-E采用了目前業(yè)內流行的點對點串行連接,,比起PCI以及更早期的計算機總線的共享并行架構,,每個設備都有自己的專用連接,不需要向整個總線請求帶寬,,而且可以把數(shù)據(jù)傳輸率提高到一個很高的頻率,,達到PCI所不能提供的高帶寬。相對于傳統(tǒng)PCI總線在單一時間周期內只能實現(xiàn)單向傳輸,,PCI-E的雙單工連接能提供更高的傳輸速率和質量,,它們之間的差異跟半雙工和全雙工類似。
  系統(tǒng)采用PCI-E插卡實現(xiàn)圖像數(shù)據(jù)的采集,,采集單元主要由采集接口電路與圖像采集卡組成,。采集接口電路與硬件的數(shù)據(jù)總線和控制總線相連,并提供采集單元的標準數(shù)據(jù)接口,;采集單元通過采集接口電路與系統(tǒng)的控制總線和數(shù)據(jù)總線相連,。PCI-E接口芯片采用PLX公司的專用接口芯片PEX8311來實現(xiàn)[4]。PEX8311是PLX公司推出的第一款從PCI-E總線到本地總線的接口芯片,,它完全符合PCI-E1.0規(guī)范,,支持熱插拔功能,,并且其本地端寄存器與PLX公司PCI系列接口芯片基本兼容,這為使用PLX公司產(chǎn)品的用戶開發(fā)PCI-E接口提供了方便,。PEX8311在PCI-E端實現(xiàn)了×1的PCI-E接口,,2對差分線分別負責發(fā)送和接收數(shù)據(jù),一對參考時鐘差分線供PCI-E接口的通信雙方在訓練時建立連接使用,,接口的單向數(shù)據(jù)傳輸率為2.5 Gb/s,,由于串行數(shù)據(jù)采用8 bit/10 bit編碼,其有效總線帶寬為256 MB/s,;本地端為32 bit、66 MHz的1.ocal Bus,,總線帶寬為264 MB/s,。
3 系統(tǒng)軟件
3.1 驅動程序

??? PCI-E總線與PCI總線在軟件層是完全兼容的,因此,,PCI-E卡驅動程序的開發(fā)過程與PCI設備驅動程序的開發(fā)過程是一樣的,,本設計開發(fā)了PCI-E卡的WDM 驅動程序。
??? 驅動程序的開發(fā)選用Comppuware公司的開發(fā)工具包Driver Studio,,Driver Studio開發(fā)工具包簡化了Windows平臺下設備驅動程序的開發(fā),、調試以及測試,它包括VtoolsD,、DriverWorks和SoftICE等開發(fā)工具,。該軟件包是基于C/C++的,支持Borland C++和Visual C++,,使用和維護都比較方便,,它可以集成到Visual C++環(huán)境中,針對特定的應用生成相應的驅動程序框架,,在編程中采用面向對象的編程方法,,極大地提高了編程效率。
  驅動程序主要完成的功能:(1)設備的初始化,,找到所要控制的硬件,在驅動程序對象中設置驅動程序分發(fā)例程的程序入口點,;建立所有驅動程序對象或其他系統(tǒng)資源; (2)創(chuàng)建設備對象,利用AddDevice函數(shù)創(chuàng)建了一個設備對象,,并將其連接到以PDO為底的設備堆棧中,;(3)中斷的響應與處理,完成了對外部硬件中斷的響應,,并將中斷信息傳遞給應用程序,,通過應用程序實現(xiàn)一定的功能;(4)DMA操作,,完成DMA的讀寫操作,,并在DMA傳輸結束后產(chǎn)生DMA中斷,,通過響應的DMA中斷處理將傳輸?shù)臄?shù)據(jù)發(fā)送到外部總線或應用程序。
3.2 上位機軟件
  上位機應用程序使用Visual C++開發(fā),,采用Visual C++的MFC框架,,編寫一個多線程圖像采集與處理程序。為了方便用戶操作,,創(chuàng)建了一種基于對話框的應用程序,,用戶只需要控制相關的按鈕及菜單即可實現(xiàn)圖像采集的相應功能。應用程序主要完成的功能包括:(1)傳輸計算機指令到采集單元,,對系統(tǒng)硬件進行控制,;(2)配置數(shù)據(jù)采集卡,采集處理FIFO輸出的數(shù)據(jù),;(3)進行簡單的圖像處理與分析,; (4)對采集數(shù)據(jù)的硬盤存儲與圖像恢復顯示,。軟件流程如圖4所示,。

?

4 實驗結果
  系統(tǒng)測試過程中,整個系統(tǒng)通過PCI-E插槽與計算機相連,,通過上位機軟件控制系統(tǒng)硬件電路工作,并通過PCI_E總線傳輸獲取圖像數(shù)據(jù)進行顯示,,系統(tǒng)在全幀模式(640×480)下對實際目標進行了實時跟蹤拍攝,,拍攝到的圖像如圖5所示,。

?


  圖5中兩幅圖像分別顯示了同一運動物體在不同時刻的運行狀態(tài),,所拍攝物圖像較為清晰, 體現(xiàn)了系統(tǒng)的高速拍攝特性和實時行,,在對系統(tǒng)進行長時間的拷機實驗時,系統(tǒng)未發(fā)生不正常工作現(xiàn)象,,說明系統(tǒng)工作穩(wěn)定性較好,。
  本文設計了基于PCI Express總線高幀頻CMOS相機圖像采集系統(tǒng),完成了硬件電路的設計,并針對硬件電路開發(fā)了驅動程序和上位機應用程序,。該系統(tǒng)采用PCI Express總線實現(xiàn)硬件電路與計算機之間的高速數(shù)據(jù)傳輸,,接口芯片采用PLX公司推出的第一款從PCI Express總線到本地總線的接口芯片PEX8311來實現(xiàn)。實驗結果表明,,本文給出的基于高幀頻CMOS相機的圖像采集系統(tǒng)具有容易控制,、安全可靠、性能穩(wěn)定等優(yōu)點,。圖像數(shù)據(jù)傳輸速率將不再是限制采集圖像實時存儲和實時顯示的瓶頸,。


參考文獻
[1]?周立國,梁淮寧,,謝冬冬.基于PCI?Express總線的SAR回波數(shù)據(jù)實時記錄系統(tǒng)[J].電子器件,,2008,31(2):592-
594.
[2]? 劉波,,庫錫樹,,孫兆林.基于PCIE總線協(xié)議的數(shù)據(jù)采集設備驅動程序實現(xiàn)[J].工業(yè)控制計算機,2007,,20(7):28-31.
[3]?魏鵬,羅武勝,,杜列波.PCI Express 總線及其應用設計研究[J].電測與儀表,,2007,44(494):43-45.
[4]?黃小紅,,李峰,,倪衛(wèi)芳.PEX8311芯片數(shù)據(jù)傳輸研究[J].電子工程師,2007,,33(10):64-67.

本站內容除特別聲明的原創(chuàng)文章之外,,轉載內容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點,。轉載的所有的文章,、圖片、音/視頻文件等資料的版權歸版權所有權人所有,。本站采用的非本站原創(chuàng)文章及圖片等內容無法一一聯(lián)系確認版權者,。如涉及作品內容、版權和其它問題,,請及時通過電子郵件或電話通知我們,,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失,。聯(lián)系電話:010-82306118,;郵箱:[email protected]