《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于PCIE的高速光纖圖像實時采集系統設計
基于PCIE的高速光纖圖像實時采集系統設計
來源:電子技術應用2013年第10期
雷 雨1,2, 任國強1, 孫 健1,2, 徐永剛1,2, 黃 輝1,2
1. 中國科學院光電技術研究所, 四川 成都 610209; 2. 中國科學院大學,北京100149
摘要: 利用PCI Express(PCIE)總線及DMA數據傳輸技術,設計光纖圖像實時采集系統。利用FPGA中的PCIE硬核實現了PCIE總線的DMA傳輸,同時介紹了整個采集系統的數據流和光纖接口模塊的設計。測試結果表明,系統DMA數據傳輸速度可達到138 MB/s,完全滿足高速光纖圖像實時采集的需要。
中圖分類號: TP914.3
文獻標識碼: A
文章編號: 0258-7998(2013)10-0136-03
Design of high-speed real-time fiber image acquisition system based on PCIE bus
Lei Yu1,2, Ren Guoqiang1, Sun Jian1,2, Xu Yonggang1,2, Huang Hui1,2
1. Institute of Optics and Electronics of Chinese Academy of Sciences, Chengdu 610209, China; 2. University of Chinese Academy of Sciences, Beijing 100149, China
Abstract: PCIE technology and DMA technology are used to implement the real-time fiber image acquisition system. The paper focuses on how to implement DMA transmission on PCIE hard core and introduces the data stream of the system and the custom protocol of high speed serial fiber transmission. The test result shows that the DMA speed can reach 138MB/s, so the system fulfils the need of high-speed real-time fiber image acquisition.
Key words : PCIE; DMA; real-time acquisition; fiber; hard core; transaction layer packet

    隨著高分辨率、高頻幀的CCD相機在航測中的廣泛使用,如何對產生的高速圖像數據進行實時記錄,成為了一個技術難題。光纖通信具有帶寬高、價格低廉、傳輸距離長等優點,單根光纖的傳輸帶寬達到10.2 Tb/s。大量光電轉換模塊的出現,使光纖在高速圖像采集傳輸系統中大量使用,常規光模塊帶寬達到2 Gb/s,而傳統通過PCI總線與主機通信的理論帶寬只有133 MB/s,但當實際數據采集速度到達100 MB/s左右時就變得相當困難 ,難以滿足對記錄帶寬的要求。PCIE是繼PCI后的第三代高性能I/O總線,與PCI相比,PCIE屬于串行總線,引腳少,采用基于數據包的協議進行事務編碼,每個傳輸通道獨享帶寬;硬件接口簡單,采用點對點互聯,X1的單向傳輸理論帶寬即可達到2.5 Gb/s,用戶可以根據實際需要將PCIE鏈路配置為X1、X2、X4、X8、X16等。

    PCIE數據包在傳輸過程中要經過事務層,數據鏈路層及物理層。采用類似網絡分層的思想,不同之處在于PCIE體系中的各個層都是采用硬件邏輯來實現。事務層是PCIE架構的上層,其主要功能是接收、緩沖和分發事務包TLP(Transaction Layer Packet)。TLP通過使用I/O、存儲器 、配置和消息事務來傳遞信息。數據鏈路層是保證可靠正確的數據傳輸,主要負責鏈路管理與數據完整性相關的功能,包括錯誤檢測與改正,裝配和拆解數據鏈路層包DLLP。物理層是PCIE協議的最底層,為設備鏈路提供物理支持,分為邏輯子塊和電氣子塊。邏輯子塊完成對數據包的合成分解、加擾和去擾、8 bit/10 bit編碼和10 bit/8 bit解碼、并串轉換和串并轉換;電氣物理層負責對每路串行數據差分驅動的傳輸與接收及阻抗匹配[1-2]。
1 采集系統簡述
    本文采用CCD相機的分辨率為2 352×1 728,灰度級別為8 bit,幀頻為31 F/s,產生的數據量為120.2 MB/s,則PCIE接口采用X1通道就可以滿足帶寬需要。采集系統的具體結構如圖1所示。

    XC5VFX70T是Xilinx公司VIRTEX系列的一款具有5 328 KB RAM資源、內嵌3個PCIE硬核和16個可配置的高速串行收發器GTX,速率可達6.5 Gb/s,采用CML電平標準,在系統中和SFP模塊無縫連接。該芯片在系統中主要實現高速數據的接收和緩存,以及數據的實時采集[3-4]。
    光纖信號通過光纖接口模塊和位寬轉換,數據被寫入DDR2中,DDR2分為A、B兩個獨立的存儲區。當A儲存區寫滿時,將數據寫入PCIE接口模塊的TX_FIFO中,這時DMA控制器發送中斷給主機,主機會準備好接收緩存區,并將緩存區首地址告知DMA控制器,開始DMA傳輸,將數據寫入到主機內存中,同時將采集的數據寫入B存儲區中。同理,當B存儲區中的數據被寫滿時,也通過同樣的方式寫入主機的內存中。主機內存中的數據通過SATA總線被寫到SATA硬盤并記錄下來。DDR2采用交叉緩存工作,以保證高速數據流的不間斷采集。
2 功能模塊設計
2.1光纖接口模塊邏輯設計

    光纖接口模塊分為GTX和包數據解析兩個部分。光纖信號經GTX核后,輸出16 bit位寬的并行數據和相應的K字符信號。根據K字符信號提取數據包。包數據解析根據自定義的協議進行數據包解析,得到幀頭標志、幀尾標志、有效圖像數據和附加信息等。附加信息是一組固定長度的雙字組合,含有圖像相關的一些信息,如大小、位數、編碼方式等[5-6]。圖2所示為自定義協議包。

    包頭和包尾作為數據包的起始和結尾標志,包長用于指示發送數據的有效長度,包累加和用于包內有效數據字節的統計,包編號用于統計發送的數據包有無丟失。幀頭標志、幀尾標志、有效圖像數據和附加信息等則放在有效數據中。
2.2 緩存模塊
    本文的DDR2控制器MPMC采用NPI接口,設計有2個NPI接口分別用于讀寫操作。一個是用于存儲光纖的輸入數據,另一個用于輸出內存數據到PCIE接口。這樣可以避免傳輸過程中內存的訪問仲裁,提高系統的傳輸效率。
     本文光纖接口模塊輸出的數據寬度為16 bit,而采用的NPI接口的數據寬度為64 bit。所以需要對原始數據進行位寬轉換后才能進行后續處理。位寬轉換模塊根據需要將數據寬度從16 bit轉換為64 bit。
2.3 PCIE接口模塊設計
    PCIE接口模塊主要是實現主機PCIE總線與采集卡之間的通信。為了實現基于PCIE的DMA傳輸,需要設計以下8個模塊[7-8], 具體PCIE接口模塊設計如圖3所示。

    圖3中各個模塊的作用如下:
    (1) PCIE硬核:對外與其他PCIE設備通信,對內與TX和RX模塊進行數據傳輸。
    (2) TX模塊:將待發送的數據和DMA寄存器中的信息填充到事務包TLP中,以并行的方式傳輸給PCIE硬核,實現PCIE寫操作狀態。
    (3) RX模塊:將接收的事務包TLP解析,根據TLPs的包頭信息,將數據寫入DMA寄存器。
    (4) 緩存:匹配FIFO兩邊不同傳輸速率的數據流,緩存待處理的數據和提高數據的傳輸效率。
    (5) DMA控制模塊:DMA寄存器是由發送寄存器、中斷寄存器等構成。發送寄存器用于接收和存放主機內存寫請求的DMA信息,主要為內存寫請求地址寄存器及寫長度寄存器、寫包數寄存器。中斷寄存器是存放中斷產生的原因,為辨別何種中斷提供依據。
    (6) 用戶邏輯:一方面用戶邏輯通過DMA控制模塊向主機發起DMA傳輸中斷,設置DMA傳輸的長度;另一方面控制數據的輸入,保證TX_FIFO不會溢出,數據不會丟失。
    (7) 用戶接口模塊:提供簡單的數據通道和控制信號通道。
3 DMA傳輸的邏輯設計與實現
3.1 DMA寫操作的設計與實現

    首先用戶邏輯檢測到TX_FIFO中有需要傳輸的數據,這時用戶邏輯通過DMA控制器發送MSI中斷,請求DMA傳輸。主機響應中斷,配置DMA寄存器,TX模塊啟動DMA傳輸,TX模塊向TLP包加載信息,包括了控制字段、地址字段、數據長度字段以及數據字段等。當一次DMA傳輸結束后,向主機發送DMA傳輸結束的中斷,這樣一次完整的DMA寫操作就完成了。具體流程圖如圖4所示,TX模塊和PCIE硬核之間采用64 bit并行傳輸, 在本文中一個TLP的載荷是128 B,一次DMA操作要進行65 536次包傳輸,則一次DMA寫操作就傳輸了8 MB的數據量,PCIE寫操作狀態機是在TX模塊中實現。

 

 

    圖6是DMA控制寄存器的設計圖,初始化寄存器的Byte0用于DMA傳輸復位。1DW的Byte0用于讀開始,Byte1用于讀完成,Byte2用于寫開始,Byte3用于寫完成;2DW用于存放主機寫入的緩存首地址;3DW用于存放一個TLP包攜帶的有效數據量;4DW用于存放一次每次DMA傳輸發送的TLP包數量;5DW的Byte0用于指示FPGA請求DMA傳輸,Byte1用于指示DMA傳輸結束。

4 功能驗證與性能測試
    本文PCIE硬核采用X1通道,最大的理論傳輸帶寬為2.5 Gb/s。使用ChipScope對DMA寫操作進行了驗證,具體時序如圖7所示,trn_td是FPGA向主機發送的數據,trn_tsof_n為低時,表示TLP包的第一個64 bit數據;trn_teof_n為低時,表示TLP包的最后64 bit數據,這時trn_trem_n為0X0F,則說明最后一個64 bit只有高32位有效。傳輸一個TLP包大約需要108個時鐘周期,采用125 MHz的采樣頻率,一個TLP包有效載荷為128 B,則可得出在X1的配置下,DMA的傳輸速度大約為141.3 MB/s。

    本文針對高速光纖圖像實時采集的需要,設計了一種基于PCIE的采集系統。經實際測試,系統運行穩定可靠。采用X1的PCIE總線接口,DMA寫操作速度大約為138 MB/s,滿足光纖圖像實時記錄的帶寬要求。如果實際需要更高的采集帶寬,可以參考本文設計,將PCIE接口設計為X4或X8,以實現更高的采集性能。本設計具有通用性,可被移植于其他內嵌有PCIE硬核及串行收發器GTX等資源的 FPGA平臺。
參考文獻
[1] BUDRUK R, ANDERSON D,SHANLEY T. PCI Express系統體系結構標準教材[M].田玉敏,等譯.北京:電子工業出版社,2005.
[2] PCI-SIG. PCI express card electromechanical specification  Rev 1.0a[Z].USA: PCI-SIG,2003:5-33.
[3] Virtex-5 FPGA RocketIO GTX transceiver v2.1 user guide[Z].USA:Xilinx,2011.
[4] 使用用于PCI Express設計的集成端點模塊實現點到點連接[Z].USA:Xilinx ,2007.
[5] 孫科林,周維超,吳欽章.高速實時光纖圖像傳輸系統的實現[J].光學精密工程,2011,19(9):2228-2235.
[6] 繆露鵬,涂曉東,張新穎.光纖適配卡數據總線的研究與實現[J].光通信技術,2011(1):8-10.
[7] 汪精華,胡善清,龍騰. 基于FPGA 實現的高速串行交換模塊實現方法研究[J].電子技術應用,2010,36(5):37-40.
[8] 何瓊,陳鐵,程鑫. 基于FPGA的DMA方式高數數據采集系統設計[J].電子技術應用,2011,37(12):40-43.

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 欧美在线观看一区二区三 | 国产一区精品 | 久久中文视频 | 亚洲国产精品人人做人人爽 | 五月婷婷六月丁香 | 久久国产精品亚洲77777 | 国内精品久久久久影 | 国产成人在线视频网站 | 久久亚洲精品玖玖玖玖 | 久久成人综合网 | 久久精品视频6 | 九九免费精品视频在这里 | 色久天 | 国产成人亚洲精品电影 | 99久久精品免费国产一区二区三区 | 国产精品免费小视频 | 偷拍第一页 | 天官赐福2 | 色综合久久久久久 | 九九九久久 | 深夜视频免费观看 | 四虎影永久在线观看精品 | 国产精品区一区二区三 | 欧美一区二区三区视频 | 国产综合区 | 久久97精品久久久久久久看片 | 欧美国产精品va在线观看 | 看黄大片app蝴蝶影院 | 久久久久久国产精品视频 | 久久只有精品视频 | 免费观看亚洲 | 非洲特黄一级毛片高清视频 | 女人天堂网在线观看2019 | 国产成人精品影视 | 国产精品日韩在线观看 | 久久国产精品99久久久久久牛牛 | 毛片国产 | 久久婷婷色 | 色偷偷亚洲男人天堂 | 国产福利一区视频 | 97色资源 |