基于PEX8311 PCIE總線的高速圖像采集系統(tǒng)設計
摘要:針對傳統(tǒng)PCI總線帶寬低,不能傳輸高速視頻信號的缺陷,設計了使用芯片PEX8311為PCIExpress橋接芯片,采集傳輸CamLink接口相機圖像的硬件系統(tǒng)。對PEX8311芯片的特點及其工作模式,以及用狀態(tài)機在FPGA中實現(xiàn)對PEX8311控制做了介紹。通過編寫WDM驅(qū)動程序和上位機程序?qū)ο到y(tǒng)的數(shù)據(jù)傳輸性能進行了測試。測試表明該系統(tǒng)滿足高速圖像傳輸?shù)囊螅⑶倚阅芊€(wěn)定。
關鍵詞:PCIExpress;FPGA;CameraLink;WDM;PEX8311
圖像采集和處理技術在機器視覺和圖像分析等諸多領域應用十分廣泛。隨著高速的PCI Express(PCIE)總線的出現(xiàn),基于PCIE接口的高速數(shù)據(jù)采集卡將在數(shù)據(jù)傳輸和處理量很大的場合發(fā)揮越來越重要的作用。
CamLink相機是指帶有Camera Link接口的相機。Camera Link是由數(shù)家工業(yè)攝影機及影像卡大廠共同制定出來滿足各種視頻傳輸要求的標準接口。這個標準不僅可以滿足各種高速視頻傳輸?shù)囊螅?guī)范了數(shù)字攝像機和圖像采集卡之間的接口,而且使視頻設備提供商在設備開發(fā)和維護上的時間和成本大大減少。Camera Link提供了超高的圖像傳送速度,并且由于它的高性能、低成本以及其連接的便利性,迅速得到大多攝像頭及圖像采集卡生產(chǎn)商的支持。
在一些高端領域,尤其是機器視覺領域,對計算機的數(shù)據(jù)傳輸和處理能力提出了嚴重的考驗,當前圖像采集卡的發(fā)展逐步向高速穩(wěn)定傳輸和高速處理方向發(fā)展。PCI Express采用了目前業(yè)內(nèi)流行的點對點串行連接方式,比起PCI以及更早期的計算機總線的共享并行架構(gòu),每個設備都有自己的專用連接,不需要向整個總線請求帶寬,而且可以把數(shù)據(jù)傳輸率提高到一個很高的頻率,達到PCI所不能提供的高帶寬。PCI-Express規(guī)格從1條通道連接到32條通道連接,有非常強的伸縮性,以滿足不同系統(tǒng)設備對數(shù)據(jù)傳輸帶寬不同需求。例如,PCIExpress X1規(guī)格支持雙向數(shù)據(jù)傳輸,每向數(shù)據(jù)傳輸帶寬250 MB/s,而33位33 MHz的PCI總線傳輸帶寬僅為133 MB/s。PCI Express X16模式每向數(shù)據(jù)傳輸帶寬可高達4 GB/s,雙向數(shù)據(jù)傳輸帶寬有8 GB/s之多。所以對于高幀頻的CamLink接口相機來說,傳統(tǒng)的總線(例如PCI總線接口)已經(jīng)不能滿足實時圖像傳輸?shù)囊蟆?br /> 本系統(tǒng)使用PLX公司的PEX8311作為PCI Express X1接口芯片,系統(tǒng)中采用FPGA芯片實現(xiàn)對整個系統(tǒng)的控制,利用FPGA內(nèi)部提供的FIFO IP核和外接的兩片獨立的SDRAM實現(xiàn)了高速圖像數(shù)據(jù)的緩存處理。
1 系統(tǒng)構(gòu)成及原理
基于PEX8311的CamLink圖像采集系統(tǒng)的硬件結(jié)構(gòu)分為4個模塊:CamLink接口模塊、FPGA控制模塊、SDRAM存儲模塊、PCI-Express接口模塊。圖1為系統(tǒng)的原理框圖:
系統(tǒng)的工作原理:系統(tǒng)上電后,上位機軟件通過驅(qū)動程序控制FPGA對CamLink相機進行內(nèi)部參數(shù)配置。配置完成后,CamLink相機輸出幀頻信號、行頻信號、像索時鐘信號和視頻信號。由于CamLink接口輸出的是差分信號,所以通過DS90CR288A芯片將差分轉(zhuǎn)換成單端信號,輸入給FPGA。在FPGA內(nèi)部,通過FIFO對數(shù)據(jù)進行緩沖,在同步和時鐘信號的控制下,F(xiàn)IFO輸出的數(shù)據(jù)存放到SDRAM中。由于在同一時刻只能對SDRAM進行讀或?qū)懖僮?,所以為了防止?shù)據(jù)丟失,F(xiàn)PGA外接兩片SDRAM,在奇幀的時候,向SDRAM1寫一幀圖像,而從SDRAM2讀已保存的偶幀圖像,完成圖像傳輸?shù)钠古也僮?。使用PEX8311芯片完成PCIE接口,PEX8311由FPGA的邏輯程序?qū)ζ淇刂啤T谏衔粰C編寫基于PCIE總線的驅(qū)動程序,將圖像從SDRAM使用DMA方式讀到計算機的內(nèi)存中,上位機軟件實現(xiàn)圖像的顯示和處理。
2 PCI-Express接口模塊
PCI-Express的接口實現(xiàn)方法很多,在本設計中使用PLX公司的PEX8311芯片通過橋接方式實現(xiàn)。PEX8311作為一種橋接芯片,在PCI Expr-ess總線和Local總線之間傳遞信息,它可以作為2個總線的主控設備去控制總線,也可以作為兩個總線的目標設備去響應總線。芯片通過內(nèi)部的控制邏輯模塊、內(nèi)部總線狀態(tài)機和局部總線狀態(tài)機模塊來共同控制芯片的數(shù)據(jù)傳輸。PEX8311的控制邏輯模塊包含各種寄存器組,這些寄存器組用來控制數(shù)據(jù)的傳輸,記錄傳輸?shù)臓顟B(tài)。
PEX8311提供兩個串行E2PROM接口,在系統(tǒng)上電后讀取配置信息。SPI串行E2PROM是PCI—Express的配置E2PROM。它主要用來控制PCI—Express的性能。
評論