在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
芯片精品文章合集(500篇!)    创芯人才网--重磅上线啦!
查看: 52354|回复: 57

[原创] PC和xilinx fpga通过pcie通信的问题

[复制链接]
发表于 2012-7-14 11:00:02 | 显示全部楼层 |阅读模式
30资产
大家好,我想在windows xp的平台下通过pcie接口和xilinx FPGA virtex-6进行高速数据通信(pcie core是virtex-6 integrated block for pci express,version 1.6 ),可是我对驱动和pcie都不是很了解,希望高手能够不吝解答我如面的疑惑:
1.pcie 配置区中的bar0,bar1。。。bar5对应的是memory是实际空间吗,例如我将bar0设为1M的memory,那是不是就有1M的实际的ram空间和她对应。

2.在实际操作中如何使用pcie传输数据。例如:我要将adc的采样数据通过pcie传给pc保存。是不是应该将先将采样数据保存到一片ram空间中,再将数据拷贝的bar0所对应的memory中,再通知pc将数据读走。

3.如果要求传输速度很快(2Gb/s左右),是不是一定要用dma模式,用pc轮询的方式可以吗(cpu占用率高也没关系)。如果是用dma模式的话,那dma控制器是在pc端的还是在fpga端。

总之,我想实现的功能是,fpga将adc采样数据通过pcie接口以2Gb/s的速度(如果达不到可以慢点或将数据压缩)传给pc端(windows xp),如果能告诉我在这样的需求下我该如何实现那更好。

先谢谢大家了。

 楼主| 发表于 2012-7-14 13:39:41 | 显示全部楼层
坐等高手。。。
发表于 2012-7-16 21:06:57 | 显示全部楼层
板凳,等高手解答。
发表于 2012-7-20 15:20:33 | 显示全部楼层
我们组现在也在做一个项目,pc通过pcie将数据传送给fpga,fpga处理完之后再通过pcie传给pc,用到了dma,我负责的是fpga实现我们要的功能,至于pcie和dma那块我们部门经理做的,挺难弄得,知道个大概,在深入就感觉好难了。。。兄弟祝你顺利!!!
发表于 2012-7-26 18:47:42 | 显示全部楼层
1.pcie 配置区中的bar0,bar1。。。bar5对应的是memory是实际空间吗,例如我将bar0设为1M的memory,那是不是就有1M的实际的ram空间和她对应。
可以这么理解,设成1M就可以在PC端直接读写对应的1M空间MEMORY。另外,我们习惯性设成BAR0, BAR2, BAR4,而不会用BAR1,BAR3,这主要是考虑个地址问题,如果你是用32BIT地址无所谓,用64BIT就相当于将BAR0与BAR1连在一起使用了。
2.在实际操作中如何使用pcie传输数据。例如:我要将adc的采样数据通过pcie传给pc保存。是不是应该将先将采样数据保存到一片ram空间中,再将数据拷贝的bar0所对应的memory中,再通知pc将数据读走。

可以这么理解,不过你是ADC数据,也就是说对你来说,只是个数据流,按顺序往里面送就行,可以用个FIFO,按空满状态把数据扔进去,然后PCIE不断地把BAR空间的数据读走,不需要考虑对应的RAM之类。

3.如果要求传输速度很快(2Gb/s左右),是不是一定要用dma模式,用pc轮询的方式可以吗(cpu占用率高也没关系)。如果是用dma模式的话,那dma控制器是在pc端的还是在fpga端。

传输速度这么高,那用V6器件是达到5Gb/s吧?只要你数据来得及,在FPGA端DMA给力地发数据,PC端给力地处理数据,或者只是把数据快速存储到内存,以我所用V5FXT实测,只读的话可达3.3Gbps,2Gbps是够用的,所以不一定非得要用DMA,如果要用最好还是在PC端方便,因为现在还是PC机主控,且能力更强大点。现在要考虑的是,你数据读到PC后能否有能力快速处理的问题,是放在内存慢慢存着呢,还是已经马上用算法处理,算法来得及不?内存会不会爆满。ADC那么高的数据率有效率有多大,是否可压缩掉?

总之,我想实现的功能是,fpga将adc采样数据通过pcie接口以2Gb/s的速度(如果达不到可以慢点或将数据压缩)传给pc端(windows xp),如果能告诉我在这样的需求下我该如何实现那更好。
发表于 2012-7-27 17:33:55 | 显示全部楼层
我现在做的跟你的差不多,我们可以交流。
发表于 2012-8-3 15:30:15 | 显示全部楼层
我也在做类似的,果断加eaglelsb 为好友,还望指教
发表于 2012-8-3 15:40:02 | 显示全部楼层
我的QQ58269603,楼上的高手还请加为好友,以便请教,谢谢哈
发表于 2012-8-13 18:22:03 | 显示全部楼层
是需要采用DMA方式的,如果采用轮询方式,达不到很高的数据传输率。DMA关键的要点是上位机驱动和PCIE端点的中断请求处理,详细的自己可以思考一下
发表于 2012-10-3 15:28:27 | 显示全部楼层
回复 6# headforever


    我也差不多在做这块。 同带。 我Q 578791811
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-5-6 06:41 , Processed in 0.036601 second(s), 10 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表