LIU12581 发表于 2021-11-18 10:58:19

付费请教,ZYNQ如何采集外部ADC的问题

用的AXU3EG,pl端采集ADC数据,但是我采集完数据直接在pl端做了处理,所以数据是不连续的,还是FIFO-DMA-DDR, 有没有想法的想请教一下

yanghengxu 发表于 2021-11-18 12:16:08

搞过一个大型的麦克风阵列,用的Zynq-7000
AXI4-Stream Data FIFO -> AXI Direct Memory Access -> AXI HP总线
按帧传输,所以连不连续都无所谓
数据量约200MB/s,千兆网转发,处理器部分同事搞的,
参考的网上的资料。

wye11083 发表于 2021-11-18 12:33:00

yanghengxu 发表于 2021-11-18 12:16
搞过一个大型的麦克风阵列,用的Zynq-7000
AXI4-Stream Data FIFO -> AXI Direct Memory Access -> AXI HP ...

转发得压缩吧。要不然gige用ps的没法dma直传,走lwip等再做点处理效率严重下降,不知道是不是哪里有坑,我只能跑到700mbps封顶。

yanghengxu 发表于 2021-11-18 12:53:00

wye11083 发表于 2021-11-18 12:33
转发得压缩吧。要不然gige用ps的没法dma直传,走lwip等再做点处理效率严重下降,不知道是不是哪里有坑, ...

目前没有压缩,因为现在只是采集转发,还没做处理

后面可能会把波束形成做到PL里,应该需要相当一段时间摸索

shiva_shiva 发表于 2021-11-18 13:14:14

就是这样吧

LIU12581 发表于 2021-11-18 21:02:42

yanghengxu 发表于 2021-11-18 12:16
搞过一个大型的麦克风阵列,用的Zynq-7000
AXI4-Stream Data FIFO -> AXI Direct Memory Access -> AXI HP ...

能把资料分享下嘛?

yanghengxu 发表于 2021-11-18 22:47:56

LIU12581 发表于 2021-11-18 21:02
能把资料分享下嘛?

应该是参考的这个帖子

《利用ZYNQ SOC快速打开算法验证通路(4)——AXI DMA使用解析及环路测试》
https://www.cnblogs.com/moluoqishi/p/9554097.html

LIU12581 发表于 2021-11-19 12:04:14

yanghengxu 发表于 2021-11-18 22:47
应该是参考的这个帖子

《利用ZYNQ SOC快速打开算法验证通路(4)——AXI DMA使用解析及环路测试》


能问一下DMA ip核里的Max Burst Size 是指包内数据的个数吧,我在pl端采集数据处理后每组原始ADC数据得到一个16bits计算结果和一个计算结束标志,共有208组,而且碍于采集顺序必须等到上一组数据处理完才能进行下一组。

gongcsf 发表于 2021-11-19 12:59:24

yanghengxu 发表于 2021-11-18 22:47
应该是参考的这个帖子

《利用ZYNQ SOC快速打开算法验证通路(4)——AXI DMA使用解析及环路测试》


请问一下。我之前做的ZYNQ DMA 传输计数需要自己做逻辑。视乎DMA的计数器不起作用。

monkeynav 发表于 2021-11-19 13:29:52

现在绝大部分fpga逻辑,都在使用某种流式的数据接口,不要求数据是连续的。
axi stream协议:data valid ready。data是数据内容,valid表示数据有效,ready表示下游设备可以接收数据。
楼主的情况,对应的设置valid信号即可。

我有做好的工程,操作系统linux,传输用的axi dma。自己写的用户空间驱动,不需要再做内核驱动,程序非常简单。

yanghengxu 发表于 2021-11-19 13:58:52

楼上说的对
Max Burst Size应该与自己的帧长无关,帧尾可以结合tlast信号去标记

LIU12581 发表于 2021-11-19 15:15:03

大概明白了,现在还在做自定义ip,(题外话:为什么只能加一个好友)
页: [1]
查看完整版本: 付费请教,ZYNQ如何采集外部ADC的问题