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