新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > 基于Virtex-6的PCI Express高速采集卡設計

        基于Virtex-6的PCI Express高速采集卡設計

        作者: 時間:2013-04-22 來源:網絡 收藏

        3.2 DMA傳輸實現
        采用DMA傳輸能極大的減輕主機處理負擔,特別適用于大數據量處理系統。采用DriverWorks提供的KDmaAdapter類可輕松建立一個DMA傳輸鏈路,實現DMA讀寫操作。用于FPGA總線協議模塊軟件層完成了相關DMA傳輸的控制,所以驅動程序DMA傳輸只需子在系統啟動DMA傳輸時,身心相應的內存作為公共緩沖區,用于外部DMA控制器存入數據文件,這里需要調用DriverWorks提供的KCommonDmaBuffer類,該類常用函數如表2所示。

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

        e.JPG


        VirtaulAddress()函數返回的內核模式地址是提供給驅動程序讀寫公用緩沖區用的,而進行DMA傳輸時需要用到緩沖區的物理地址,也即需要寫入DMA參數寄存器的是緩沖區的物理地址。
        3.3 總線中斷處理
        采集卡一共需要處理三種中斷請求,分別是DMA寫完成,DMA讀完成和錯誤中斷請求。在Driver Works平臺中,KInterrupt類可用于處理硬件中斷,其主要函數包括中斷寄存器初始化,中斷連接函數,實現了將一個中斷服務例程連接到一個中斷和解除其連接等。
        中斷處理函數首先在驅動程序構造的函數中調用MEMBER_ISR(class_name,fuction_name),聲明中斷服務例程為該類的一個成員函數,接著在驅動程序驅動例程中調用InitializeAndConnect(),初始化中斷類實例,并與中斷服務例程連接起來。
        這樣就完成了對外部硬件中斷的處理,當每次驅動程序檢測到硬件產生中斷脈沖時,中斷服務函數隨即被調用,從而轉入相應中斷處理程序中執行。

        4 采集卡性能測試
        為測試采集系統性能,自行設計了應用軟件對采集卡數據傳輸速率進行統計,在Windows環境下,采用多種數據量進行DMA方式讀寫。應用端軟件根據數設定的數據包大小,申請不同的內存空間,并將虛擬地址映射到FPGA的DMA寄存器。實際測試采集速率結果如圖4所示。

        f.JPG


        根據圖4的測試結果,總線DMA傳輸速率與數據塊大小相關。當設定系統數據塊(即開辟的主機內存)大于32 Mb時,采集卡的采集速率穩定在5.6 Gb/s。實驗結果表明,該系統大幅度地提高了數據交互速度,發揮了 總線的優越性能。

        5 結語
        本文應用Xilinx公司的VirteX-6芯片設計了卡,通過調用FPGA內部的E集成協議硬核,配合總線DMA控制器,能夠快速可靠地采集外部差分數據,具有解碼、整形,存儲的功能,是大數據量交互的有效解決方案。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 甘洛县| 淅川县| 永顺县| 碌曲县| 洪洞县| 南郑县| 甘肃省| 安福县| 德令哈市| 东丽区| 永新县| 礼泉县| 枞阳县| 伊吾县| 平陆县| 焦作市| 封丘县| 保山市| 古蔺县| 楚雄市| 永善县| 犍为县| 酉阳| 延川县| 尉犁县| 青海省| 桐柏县| 栖霞市| 伊宁县| 崇左市| 梨树县| 大连市| 大理市| 明溪县| 包头市| 龙川县| 卓尼县| 灌云县| 邻水| 油尖旺区| 福鼎市|