axpro的个人空间 https://blog.eetop.cn/424254 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

PCI Express Endpoint Master DMA设计实现

已有 2506 次阅读| 2015-6-21 13:24 |个人分类:交流共享

基于PCI Express的数据采集卡
PCIe数据采集卡
PCI Express数据采集卡

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


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


PCI Express接口特性如下:
1. 自适应链路速率,支持Gen 1、2.5Gbps/Lane(Spartan-6, Virtex-5 FPGA)和Gen 2、5.0Gbps/Lane(Virtex-6/7 Series FPGA)和Gen 3、8.0Gbps/Lane(Virtex-7/UltraScale Kintex 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 32/64位、Linux等操作系统,如Windriver,linux pcie driver
6. 即插即用,支持热插拔


单向传输时的PCI Express性能如下:
1. 1x PCI Express Gen 1 DMA Write(FPGA-->内存)的速度可达225MB/s;1x PCI Express DMA Read(内存-->FPGA)的速度可达220MB/s.
2. 4x PCI Express Gen 1 DMA Write(FPGA-->内存)的速度可达905MB/s;4x PCI Express DMA Read(内存-->FPGA)的速度可达890MB/s.
3. 8x PCI Express Gen 1 DMA Write(FPGA-->内存)的速度可达1800MB/s;8x PCI Express DMA Read(内存-->FPGA)的速度可达1760MB/s.
4. 4x PCI Express Gen 2 DMA Write(FPGA-->内存)的速度可达1810MB/s;4x PCI Express DMA Read(内存-->FPGA)的速度可达1780MB/s.
5. 8x PCI Express Gen 2 DMA Write(FPGA-->内存)的速度可达3560MB/s;8x PCI Express DMA Read(内存-->FPGA)的速度可达3530MB/s.
6. 4x PCI Express Gen 3 DMA Write(FPGA-->内存)的速度可达3605MB/s;4x PCI Express DMA Read(内存-->FPGA)的速度可达3550MB/s.
7. 8x PCI Express Gen 3 DMA Write(FPGA-->内存)的速度可达6150MB/s;8x PCI Express DMA Read(内存-->FPGA)的速度可达6110MB/s.


双向传输时的PCI Express性能如下:
1. 1x PCI Express Gen 1 DMA Write(FPGA-->内存)的速度可达210MB/s;1x PCI Express DMA Read(内存-->FPGA)的速度可达205MB/s.
2. 4x PCI Express Gen 1 DMA Write(FPGA-->内存)的速度可达850MB/s;4x PCI Express DMA Read(内存-->FPGA)的速度可达840MB/s.
3. 8x PCI Express Gen 1 DMA Write(FPGA-->内存)的速度可达1700MB/s;8x PCI Express DMA Read(内存-->FPGA)的速度可达1660MB/s.
4. 4x PCI Express Gen 2 DMA Write(FPGA-->内存)的速度可达1710MB/s;4x PCI Express DMA Read(内存-->FPGA)的速度可达1680MB/s.
5. 8x PCI Express Gen 2 DMA Write(FPGA-->内存)的速度可达3350MB/s;8x PCI Express DMA Read(内存-->FPGA)的速度可达3300MB/s.
6. 4x PCI Express Gen 3 DMA Write(FPGA-->内存)的速度可达3370MB/s;4x PCI Express DMA Read(内存-->FPGA)的速度可达3310MB/s.
7. 8x PCI Express Gen 3 DMA Write(FPGA-->内存)的速度可达5800MB/s;8x PCI Express DMA Read(内存-->FPGA)的速度可达5780MB/s.

 
本人已经在Xilinx评估板SP605,ML555,ML505,ML605,KC705,VC709和KCU105,以及自制的PCIe金手指板卡上调试验证了PCI Express Endpoint Master DMA功能.
1. Master DMA位于FPGA内部,FPGA执行DMA操作,主要包括两大功能DMA Write(FPGA-->内存)和DMA Read(内存-->FPGA).
2. Master DMA Write数据传输功能,数据传输流方向:光纤/RocketIO GTP/GTX/AD--> DDR2/DDR3内存 --> PCI Express Master DMA Write --> PC内存 --> PC硬盘.
3. Master DMA Read数据传输功能,数据传输流方向:PC硬盘 --> PC内存 --> PCI Express Master DMA Read --> DDR2/DDR3内存 --> 光纤/RocketIO GTP/GTX接口/DA.
4. 寄存器访问:软件访问FPGA内部与DMA传输相关的寄存器.
5. FPGA发出Legacy PCI或MSI中断.
6. Windows操作系统驱动采用WinDriver,Linux操作系统自己编写相应的驱动程序
6. 用户应用程序,采用Visual C/C++,Visual Studio编写,适用于Windows 32/64位,如XP,Win2003/2008 32/64,Win7 32/64;同时还具备Linux版本的应用程序和驱动
 

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

如有PCI Express相关方面的技术合作,可联系我。

联系方式:neteasy163z@163.com


点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 5

    粉丝
  • 7

    好友
  • 2

    获赞
  • 9

    评论
  • 2264

    访问数
关闭

站长推荐 上一条 /2 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-17 04:26 , Processed in 0.024802 second(s), 14 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部