微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > Xilinx PCIe Master DMA设计

Xilinx PCIe Master DMA设计

时间:10-02 整理:3721RD 点击:
基于PCI Express的数据采集卡
PCIe数据采集卡
PCI Express数据采集卡

本人在北京工作6年以上,从事FPGA外围接口设计,非常熟悉PCI Express协议,设计调试了多个基于PCI Express接口的数据采集卡.

本人非常熟悉Spartan-6, Virtex-5/Virtex-6/7 Series FPGA PCI Express Block Endpoint模块,基于该模块设计了PCI Express Endpoint Master DMA.

1. Master DMA位于FPGA内部,FPGA执行DMA操作,主要包括两大功能DMA Write(FPGA-->内存)和DMA Read(内存-->FPGA).
2. 1x PCI Express Gen 1 DMA Write(FPGA-->内存)的速度可达214MB/s;4x PCI Express DMA Read(内存-->FPGA)的速度可达209MB/s.
3. 4x PCI Express Gen 1 DMA Write(FPGA-->内存)的速度可达860MB/s;4x PCI Express DMA Read(内存-->FPGA)的速度可达840MB/s.
4. 8x PCI Express Gen 1 DMA Write(FPGA-->内存)的速度可达1690MB/s;8x PCI Express DMA Read(内存-->FPGA)的速度可达1640MB/s.
5. 4x PCI Express Gen 2 DMA Write(FPGA-->内存)的速度可达1680MB/s;4x PCI Express DMA Read(内存-->FPGA)的速度可达1620MB/s.
6. 8x PCI Express Gen 2 DMA Write(FPGA-->内存)的速度可达3440MB/s;4x PCI Express DMA Read(内存-->FPGA)的速度可达3380MB/s.
7. FPGA内部的Master DMA也包含与DMA传输相关的控制状态寄存器和中断寄存器.
8. PCI Express驱动采用WinDriver,采用Legacy PCI或MSI中断方式,用户应用软件通过WinDriver的API函数访问PCI Express寄存器文件.

PCI Express接口特性如下:
1. 自适应链路速率,支持Gen 1、2.5Gbps/Lane(Spartan-6, Virtex-5 FPGA)和Gen 2、5.0Gbps/Lane(Virtex-6/7 Series FPGA)
2. 自适应链路宽度,支持PCI Express x8/x4/x2/x1
3. 支持Master DMA Write、Master DMA Read、MSI/传统PCI中断、寄存器读写、RAM读  写
4. 支持Master DMA Write和Master DMA Read全双工数据传输
5. PCI Express驱动支持Windows、Linux等操作系统,如Windriver
6. 即插即用,支持热插拔

本人已经在Xilinx评估板SP605,ML555,ML505,ML605和KC705,以及自制的PCIe金手指板卡上调试验证了PCI Express Endpoint Master DMA功能.
1. Master DMA Write数据传输功能,数据传输流方向:光纤/RocketIO GTP/GTX--> DDR2/DDR3内存 --> PCI Express Master DMA Write --> PC内存 --> PC硬盘.
2. Master DMA Read数据传输功能,数据传输流方向:PC硬盘 --> PC内存 --> PCI Express Master DMA Read --> DDR2/DDR3内存 --> 光纤/RocketIO GTP/GTX接口.
3. 寄存器访问:软件访问FPGA内部与DMA传输相关的寄存器.
4. FPGA发出Legacy PCI或MSI中断.
5. 用户应用程序,采用Visual C/C++编写.

本人可以提供FPGA源代码,PCI Express驱动、用户应用程序源代码以及相关设计、测试文档.同时还可以在Xilinx评估板SP605,ML555,ML505,ML605和KC705,以及自制的PCIe金手指板卡上演示验证.

如有PCI Express相关方面的技术合作,可联系我。
联系方式:neteasy163z@163.com

这个”1x PCI Express Gen 1 DMA Write(FPGA-->内存)的速度可达214MB/s;“
速率为什么这么低呢。不可以提高吗? SP605

理论速度是250MB/S,能够达到214MB/S已经很高了啊

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top