《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于PCI Express總線的高速數據傳輸卡設計與實現
基于PCI Express總線的高速數據傳輸卡設計與實現
來源:電子技術應用2010年第8期
潘玉霞1,2, 馬游春1,2,3, 熊繼軍1,2
1. 中北大學 電子測試技術國家重點實驗室, 山西 太原030051;2. 中北大學 儀器科學與動態測試教育部重點實驗室, 山西 太原030051;3. 北京航空航天大學 光電技術研究所, 北京100083
摘要: 通過設計PCI Express高速數據傳輸卡實現了地面控制臺與計算機之間的高速數據傳輸。高速數據傳輸卡采用PLX公司的接口芯片PEX8311來實現PCI Express總線的接口邏輯,數據傳輸采用DMA方式,通過對信號源的自檢驗證了傳輸卡能夠實時無誤地傳輸數據。在硬件設計部分,主要對差分傳輸、PCI Express接口電路和FPGA邏輯控制模塊進行了描述和設計。
中圖分類號: TP274
文獻標識碼: A
文章編號: 0258-7998(2010)08-0092-04
Design and implementation of a high-speed data transfer card based on PCI Express
PAN Yu Xia1,2, MA You Chun1,2,3, XIONG Ji Jun1,2
1. National Key Laboratory for Electronic Measurement Technology, North University of China, Taiyuan 030051, China;2. Key Laboratory of Instrumentation Science & Dynamic Measurement of Ministry of Education,North University of China, Taiyuan 030051, China;3. Institute of Opt-electronics, Beihang University, Beijing 100083, China
Abstract: A high-speed data transfer card based on PCI Express which realized high-speed data transfer between ground controller and computer was designed. Interface chip PEX8311 of PLX Co. was used to implemented interface logic, and the data transfer mode was DMA. Self-testing of data source can testify the function of the card. At the part of hardware implementation, the paper mostly presented LVDS transition、PCI Express interface circuit and FPGA logic control module.
Key words : PCI Express; PEX8311; FPGA; interface

   地面測控系統由上位機軟件、工業控制計算機、地面控制臺及相應電纜網組成。在系統聯試前它可以和采編器、存儲器構成閉環反饋,對采編器、存儲器實施自檢。地面控制臺在上位機軟件的控制下,真實模擬機上接口信號,為采編器提供不同的數字量信號,并對回收后的存儲器進行數據的讀取分析。以前地面測試系統中的上位機軟件系統和地面控制臺之間的通信是由USB接口來完成的,傳輸速率較低。為了解決大容量數據高速讀取的瓶頸問題,采用PCI Express總線來讀取數據。PCI Express 采用了目前業內流行的點對點串行連接, 每個設備都有自己的專用連接, 不需要向整個總線請求帶寬, 而且可以把數據傳輸率提高到一個很高的頻率, 達到 USB 所不能提供的高帶寬。本文設計并實現的數據傳輸卡基于PCI Express總線,提高了系統的讀寫速度,滿足了目前大容量高速實時傳輸記錄的要求。
1 系統結構
 地面控制臺是模擬機上信號源功能,信號源由上位機生成,然后下載到地面控制臺的RAM中。為了正確地發送信號源數據需要對下載的信號源數據進行自檢,即將地面控制臺RAM中的數據讀入上位機來驗證控制臺中信號源是否正確。本系統通過PCI Express傳輸卡實現了信號源自檢功能。
    如圖1所示,上位機通過PCI Express接口將信號源的數據下載到FIFO1存儲器當中,同時將相應的控制命令發送給FPGA。FPGA檢測到相應控制命令后,開始讀取FIFO1中的數據,并將該數據經過串并轉換寫到地面控制臺RAM中。為了保證上位機下載到靜態存儲器中的數據的正確性,上位機可以通過PCI Express接口將地面控制臺RAM中的數據寫到FIFO2存儲器當中,讀取其中的數據并進而對該數據進行判讀以驗證信號源數據的正確性。

2 硬件設計
2.1 差分傳輸

 低壓差分傳送技術是基于低壓差分信號LVDS的傳送技術,其主要特點是抗干擾能力強、傳輸速率高、低功耗、噪聲性能好。
 傳輸卡接收LVDS數據時,考慮到在遠距離的數據傳輸過程中會遇到一系列的干擾而導致信號的衰減,在接收端設計了CLC014驅動芯片,發送端設計了CLC001驅動芯片,其作用是把傳輸來的信號增強。CLC001與CLC014是配芯片,在設計中要一起使用才能夠起到對長距離傳輸時信號衰減的恢復。串并/并串轉換電路中采用LVDS DS92LV1801芯片,它是一款18位的串并/并串轉換芯片,實現16位數據傳輸。
2.2  PCI Express接口設計
 PCI Express總線接口的設計方法大體有兩種:使用可實現PCI Express物理接口的可編程邏輯器件FPGA或使用專用接口芯片。前者的優點是其靈活的可編程性,缺點是開發難度比較大,開發周期比較長;而專用接口芯片實現了PCI Express的物理層和數據鏈路層、事務層的控制邏輯,這使用戶可以專心于其應用方面的開發,而不必費力再調試PCI Express接口,降低了開發的難度,是一般用戶實現PCI Express接口的有效方法。該設計采用美國PLX公司推出的PEX8311作為本地總線與PCI Express總線的接口。
2.2.1 PEX8311的性能簡介
 PEX8311是一款x1的PCI Express接口芯片,本地端總線頻率最高可達66 MHz,數據位寬32 bit。PEX8311有主模式、從模式和DMA三種數據傳輸模式。主模式是由 Local總線主設備通過PEX8311訪問PCI Express總線存儲空間和I/O空間;從模式是由PCI Express總線主設備通過PEX8311訪問Local總線存儲空間和I/O空間;DMA傳輸模式由PEX8311作為兩總線的主設備,能在PCI Express總線存儲空間和Local總線存儲空間之間互傳數據。這三種數據傳輸方式中,從模式的優先級最高,主模式次之,DMA方式最低。PEX8311橋高速數據傳輸的內部塊圖解如圖2所示。

   PEX8311有6個內部FIFO,分別作為主模式、從模式、DMA這三種數據傳輸模式的讀寫數據通道,這些FIFO用于使兩條總線的操作相對獨立,從而保證高性能的數據突發傳輸。
2.2.2 電路設計
 從圖2可看出,采用PEX8311的接口設計在邏輯上可分為3個功能模塊:PCI Express接口部分、EEPROM部分和本地總線部分。
 (1) EEPROM部分
 PEX8311提供兩個串行EEPROM接口,在系統上電后讀取配置信息。SPI串行EEPROM是PCI-Express的配置EEPROM,它主要用來控制PCI Express的性能。SPI串行EEPROM可以用來預配置片上8 KB共享緩存,用1、2或3字節地址PEX8311可支持容量達到16 MB的SPI串行EEPROM。本設計中使用容量為64 KB的AT25640器件。MicroWire串行EEPROM是本地配置EEPROM,它用來控制本地總線行為,并分配合適的地址范圍。配置器件可直接與PEX831l相連。
 (2) PCI Express接口部分
 PCI Express接口部分的信號線可以直接與PCI Express連接器(俗稱金手指)連接。其中,REFCLK±是一組差分時鐘,它由系統主板提供。兩個參考時鐘都要求保持在正常工作頻率100 MHz ±300 Hz之內。PRSNT1/PRSNT2信號線用于檢查附加卡是否插入連接器。此次設計中將PRSNT1和PRSNT2相連,這樣當接口板插入到PCI Express連接器時就能進行存在檢測。原理圖如圖3所示。

   (3) 本地總線部分
 LOCAL端具有32位數據總線寬度和66 MHz時鐘頻率,PEX8311支持三種LOCAL總線接口模式: C模式、J模式和M模式, 可方便與多種微處理器連接。接口模式由MODE0和MODE1兩管腳確定。實際中常用的還是時序邏輯相對簡單的C模式, 即非復用的地址/數據總線模式。PEX8311支持三種局部總線數據傳輸模式:單周期模式、四周期突發模式、連續突發模式。
 DMA傳輸數據使傳輸任務從主控設備中解脫出來,由短且有效的傳輸描述符來承擔,讓主控設備可以有時間去處理其他事件。PEX8311有兩個DMA通道,可以同時處理兩側總線上要求的傳輸,免去外部設備的等待。另外,DMA傳輸可以與主模式和從模式傳輸同步操作,但后兩者比DMA傳輸優先級高。考慮到DMA傳輸有以上優點,本設計中PCI Express接口部分采用四周期突發模式DMA塊傳輸模式,LOCAL總線接口采用C模式。
2.3 FPGA邏輯控制
 在本設計中FPGA采用了Altera公司的CycloneII系列的 EP2C20F484芯片,這款芯片具有484個IO引腳,其中可用IO引腳315個,具有68 416個邏輯單元,有1.1 Mbit的RAM可利用,可變的端口RAM配置×1,×2,×4,×8,×9,×16,×18,×32和×36。對EP2C20F484芯片配置可以使用EPCS4、EPCS16。在本設計中采用EPCS4對EP2C20F484芯片配置。其配置原理圖如圖4所示。

 在上面的配置原理圖中有兩個下載口:一個是JTAG下載口,一個是AS下載口。其中JTAG下載口是用來下載.sof文件的,下載.sof文件后可以使用quartus II 6.0的邏輯分析儀進行在線調試;另一個下載口是下載.pof文件的,其作用是把程序燒寫進EPCS4配置芯片,在FPGA每次加電開始工作之后,把程序導引到FPGA的內部RAM中,使器件實現設計者要求的邏輯功能。
 FPGA作為本地總線的邏輯控制器,負責協調好與FIFO和PEX8311之間的時序關系。系統接收數據時, 首先由驅動程序向PEX8311發送復位信號,通過LRESET復位本地端的FPGA和FIFO,清空FIFO內部數據,并將HF和FF標志置為無效,然后等待數據的輸入。數據和時鐘進入FPGA后, 首先將外界傳入到FPGA中的16位并行數據在兩個CLK周期下合并為32位并行數據, 并在每一個寫時鐘WCLK的上升沿寫入FIFO2。當 FIFO2中的數據達到半滿狀態時, HF標志位有效,通過FPGA向PEX8311發出DMA中斷請求。PC機響應中斷后, 設置 DMA傳輸模式, 傳輸字節數及地址信號等。PEX8311通過LHOLD申請控制本地總線, 待收到FPGA發出的 LHOLDA響應信號后獲得本地總線的控制權, 并立即啟動4字節突發模式的Block DMA周期。FPGA在收到有效的LW/R讀信號和ADS地址選通信號后, 發出Ready本地準備好應答信號, 同時使能FIFO2的讀允許 REN和輸出允許OE。在傳輸最后一個數據時, PEX8311發出BLAST信號, FPGA置FIFO讀使能和輸出使能無效, 并取消Ready從而結束DMA周期。系統發送數據時,FPGA將計算機寫入FIFO1中的32位數據拆分成兩個16位數據送入并串轉換芯片再經過驅動芯片發送到測試臺。
3 軟件設計
 本系統軟件設計包括驅動程序和應用程序兩部分。為了降低開發難度、縮短時間,又不使所開發的驅動程序效率太低,本文選用DriverStudio來開發PCI-E的功能驅動程序。應用層軟件采用VC++6.0編寫,按用戶要求運行于Windows2000/WindowsXP平臺。通過和人機交互界面接收用戶的設置,然后把這些設置傳遞至驅動程序中,由驅動程序對硬件進行初始化和配置,最后應用程序從驅動程序中讀寫數據。本應用程序采用了多線程的方式與驅動程序進行交互通信。
4 性能測試
 信號源的數據格式可以根據需要設置,軟件默認設置為遞增數據。圖5為自檢信號源數據,該數據為00-FF遞增數據。將信號源數據下載到地面控制臺RAM中。

    下載信號源成功后,將地面控制臺RAM中的數據讀入上位機來驗證是否信號源正確。通過圖6所示的數據分析軟件可以詳細地檢驗從RAM中讀回的數據是否準確。

    此數據波形驗證了PCI Express傳輸卡能夠實時無誤地傳輸數據。通過功能測試及數據分析可知,系統實現了任務中提出的功能要求,達到了技術指標。
參考文獻
[1]  黃小紅,李峰, 倪衛芳. PEX8311芯片數據傳輸研究[J]. 電子工程師,2007,33(10):64-67.
[2]  PLX Technology,Inc.PEX 8311 PCI Express-to-Generic  Local Bus Bridge Data Book[Z].2005.
[3]  PLX Technology,Inc.PEX 8311RDK Hardware Reference Manual,Version 0.90[Z].2005.
[4]  WU Qiang, XU Jia Mou, LI Xu Wen. The research and  implementation of interfacing based on PCI express. The Ninth International Conference on Electronic Measurement  & Instruments. ICEMI,2009.
[5]  YU Peng, LI Bo, LIU Da Tong. A high speed DMA transaction method for PCI express devices[C].2009 IEEE Circuits and Systems International Conference on 2009.
[6]  許軍,李玉山,賀占莊,等. PCI Express總線技術研究[J].計算機工程與科學,2006,28(5).

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 一级大黄美女免费播放 | 亚洲第四页 | 干综合网 | 玖草影院| 97精品国产福利一区二区三区 | 国产91精品久久久久久久 | 欧毛片 | 国产乱码精品一区二区三区中 | 毛片免费观看的视频 | 97青娱国产盛宴精品视频 | 久久久久免费精品视频 | 国产精品变态重口在线 | 亚洲欧美国产精品久久久 | 碰碰碰免费公开在线视频 | 久久亚洲欧美成人精品 | 亚洲综合久久久久久888 | 日本一级在线播放线观看视频 | 国产二区三区毛片 | 国产精品偷伦费观看 | 亚洲精品欧美精品中文字幕 | 黄a视频 | 精品国产一区二区三区四区不 | 国产在线精品一区二区高清不卡 | 一级特黄爽大片刺激 | 亚洲网站免费观看 | 国产a精品 | 久久久亚洲精品蜜桃臀 | 国产视频软件在线 | 欧美高清在线视频一区二区 | 狠狠综合久久久久综合 | 免费播放aa在线视频成人 | 国产中文久久精品 | 女人张开腿让男人添 | 特别福利视频在线观看 | 免费看国产精品久久久久 | 欧美色视频日本片免费高清 | 成人免费观看www在线 | avtt加勒比手机版天堂网 | 97在线观看成人免费视频 | 成人黄网大全在线观看 | 午夜影院亚洲 |