[X]关闭

关于 AXI DMA PL 2 PS 的批量数据发送疑问

文档创建者:gp2067
浏览次数:4993
最后更新:2019-10-23
 
悬赏1积分未解决

那么如果我们要大批量传输数据,比如说传输40000个数据,这个值大于最大能axi data fifo的值,程序就会无法得到last信号,在PS端也会跑飞

那么对于这种大批量数据的传输,该怎么解决呢?

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

发表评论已发布 6

uisrc

发表于 2019-10-23 08:54:54 | 显示全部楼层

1、FIFO 的位宽是32bit 所以 512X4=1024 BYTE,这个1024需要和PS的C代码对应,因为对于AXI4总线来说或者ARM来说,是以BYTE计算的,而FPGA是以位宽计算
2、如果你要跑40000个数据,显然需要分几次发送,而不是一次性发送。
越努力越幸运!加油!
回复

使用道具 举报

gp2067

发表于 2019-10-23 09:37:12 | 显示全部楼层

1、如果要跑大批量的数据,PS端的接收端要做对应的配合
2、需要把上游数据进行缓存,等待DMA一次发送完成后再发送下一次数据,这个需不需要使能axi fifo的packet mode呢?分几次发送的逻辑是不是自己发送一串数据之后,手动给一个Last信号呢?
回复

使用道具 举报

uisrc

发表于 2019-10-23 10:25:40 | 显示全部楼层

可以用packet mode的 也可以自己代码控制
越努力越幸运!加油!
回复

使用道具 举报

gp2067

发表于 2019-10-23 10:35:26 | 显示全部楼层

那么自己用代码控制的大体思想是什么呢?能不能麻烦您提供一个思路,谢谢您了
回复

使用道具 举报

uisrc

发表于 2019-10-23 10:41:42 | 显示全部楼层

我们提供的例子就是自己控制啊,每次传输固定长度的数据
越努力越幸运!加油!
回复

使用道具 举报

gp2067

发表于 2019-10-23 10:47:45 | 显示全部楼层

好的,我再思考一下给的例子,谢谢您了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则