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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3075|回复: 8

[求助] PCIe技术问题

[复制链接]
发表于 2017-3-29 09:13:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
各位大佬你们好,小弟最近做K7 325T PCIE的项目,1.在进行DMA传输的时候不是应该有个DMA控制器吗,这个DMA控制器是集成在PCIE IP里面的还是我自己需要通过verilog去实现  2.之前听一位大神说DMA的状态和控制寄存器存放在BAR0中,BAR0不是用来存放用户数据的么,这里不是很理解,望各位大神指教 3.我理解的DMA的启动顺序为 PC机驱动程序通过读取PCIE IP核的配置空间找到Calibility链表,然后配置一些相关的参数比如BAR的物理地址 ,然后复位DMA状态寄存器 ,配置一次DMA传输的TLP大小,配置DMA读写地址,配置MAX_PAY_LOAD等参数,然后启动DMA 等待中断后结束 还望各位大神不吝赐教
发表于 2017-3-29 09:46:47 | 显示全部楼层
没做过,好像听说DMA控制器一般自己写,应该不复杂,一个发送状态机,一个接收状态机
发表于 2017-3-29 13:38:14 | 显示全部楼层
1,DMA控制器得自己写 ;
2,DMA控制器需要DMA读写启动控制、DMA读写地址、DMA读写长度、DMA读写中断状态等参数,这些参数都放在BAR0空间中,需要上位机配置;
3,你的第3条里提到的一些东西是不需要你自己干的,比如配置BAR的物理地址;我理解的顺序是上位机要先找到PCIE设备,以DMA写为例,设置DMA写长度和地址,置DMA启动位为高,FPGA开始上传数据,触发中断,上位机处理中断。
 楼主| 发表于 2017-3-29 15:58:33 | 显示全部楼层
回复 3# xduryan


  大神你好,请问一下 BAR0空间不是用来存储用户数据的吗  按照你的说法就是DMA命令和状态寄存器以及用户数据都是存储在BAR0里面的是吧
发表于 2017-3-29 16:51:02 | 显示全部楼层
我不知道你说的数据是啥 我们做的是:
1,BAR0我们多是把它拆成一个个寄存器来使用,这些寄存器包括DMA控制和状态寄存器,以及一些其他自己根据需要自定义的用户寄存器。
2,大规模的数据(比如说我现在做的一个视频采集卡)是不走BAR0的,我们是将数据放在一个FIFO里,DMA发送状态机会读取FIFO里的数据 然后组织pcie Memory Write TLP将数据写入上位机指定的内存地址中去。
发表于 2017-3-29 16:51:34 | 显示全部楼层
回复 1# 我是小窝shine

你可以加我qq 2770422249
发表于 2017-3-29 16:58:25 | 显示全部楼层
回复 4# 我是小窝shine

加qq说吧 2770422249
发表于 2017-3-30 14:16:43 | 显示全部楼层
请问你的DMA写完了吗,想请教一些问题
 楼主| 发表于 2017-3-31 09:29:00 | 显示全部楼层
回复 6# xduryan


   大神,已加你QQ
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2025-1-23 01:05 , Processed in 0.029236 second(s), 20 queries , Gzip On.

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