關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 基于PCI Express總線的高速數據傳輸卡設計與實現

        基于PCI Express總線的高速數據傳輸卡設計與實現

        作者: 時間:2010-12-02 來源:網絡 收藏

        本文引用地址:http://www.104case.com/article/162618.htm

          在上面的配置原理圖中有兩個下載口:一個是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 2 3 下一頁

        關鍵詞: 收發器

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 安塞县| 华池县| 静宁县| 棋牌| 台山市| 德令哈市| 禹城市| 安阳县| 平和县| 尤溪县| 梅河口市| 布尔津县| 北川| 江永县| 伊春市| 镇巴县| 焉耆| 西畴县| 竹山县| 高邑县| 肇庆市| 武平县| 德江县| 东光县| 铜鼓县| 绿春县| 沙湾县| 襄汾县| 遂昌县| 罗山县| 临武县| 招远市| 株洲县| 旌德县| 南康市| 蛟河市| 高邮市| 汽车| 涟源市| 张家港市| 宣恩县|