赛灵思
直播中

欧建杭

7年用户 213经验值
私信 关注
[问答]

如果同时对两个对进行采样,我该如何访问数据?

嗨,我在使用Vaux4和Vaux12对的应用程序中使用XADC。
我的问题是,如果同时对两个对进行采样,我该如何访问数据?
根据我的理解,您使用address_in引脚为XADC提供对地址,并在data_out线(这是单个输出线)上检索采样位。
是不是必须有两个数据输出,每对一个?
它是如何工作的?谢谢你们的时间和耐心,Leo

回帖(5)

刘慧

2020-8-19 09:25:15
我们(Leo和I)仍然在理解如何在同步采样模式下从xADC检索BOTH输出时遇到麻烦。
有人可以解释一下:
1)在DRP模式下,有16个输出位(do_out [15:0])。
这16位的输出信息是什么?
2)在AXI4Lite模式下,似乎有32个输出位(s_axi_rdata [31:0])。
这些32位的输出信息是什么?
3)DRP和AXI4Lite有什么区别?
4)我们如何从xADCA检索12位,从xADCB检索12位?
亲切的问候,
布鲁斯
举报

曹兵

2020-8-19 09:42:33
所以没有回复,但由于有481个视图我们想出来了,我想我会向其他任何坚持这个的人提供解释。
应彻底审查本文件:
https://www.xilinx.com/support/documentation/user_guides/ug480_7Series_XADC.pdf
状态寄存器:10h至1Fh(第38页)存储辅助输入转换的结果。
因此,在同步采样模式下,如果使用Aux 4/12,它们的结果分别存储在14h和1C中。
为了访问结果,使用DRP接口。
它可以一次读取1个值,因此,在每次转换结束时需要进行2次读取以获得结果。
一旦发生EOC事件,您可以使用DRP界面读取结果。
第74页介绍了如何使用DRP接口。
此外,xADC IP向导不能很好地工作。
例如,我们希望:
DCLK = 64MHz的
n = 4的
ADCCLK = 16MHz的
获得时间= 10
采样率= 500ksps
即使它在xADC的规范范围内,向导也不允许这样做。
因此,我们必须通过xADC实例化手动编程控制寄存器(必须手动编辑xadc_wiz_'name'.v)才能实现所需的操作。
为此,必须彻底分析控制寄存器(第42-47页)。
最好的祝福,
布鲁斯·韦恩
举报

贾埃罗

2020-8-19 09:53:10
只是想说谢谢你留下答案。
我是FPGA的新手,这对我帮助很大。
诚挚
举报

李铃华

2020-8-20 11:14:15
检查这个posthttps://forums.xilinx.com/t5/Embedded-Linux/Zynq-XADC-via-AXI-with-Petalinux-2014-4/td-p/559551
谢谢和RegardsBalkrishan -----------------------------------------------
---------------------------------------------请将帖子标记为
一个答案“接受为解决方案”,以防它有助于解决您的查询。如果一个帖子引导到解决方案,请给予赞誉。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分