使用官方的HDL试验DAC输出 之一

官方的AD9361接口做得很完善,我觉得应该花时间研究透彻。正好这段时间难得的安静,我就专门做做试验研究学习一下。

AXI_AD9361这个模块咱们之前的博客分析了几次,今天试验ADC的输出,看看ENBALE,VALID和数据这三者之间关系。

其实查看代码可以看到ENABLE是处理器通过AXI LITE接口设置,而VALID是用于数据通讯进行数据指示的。为什么要有这两个信号呢,我的猜测(后续查代码和试验被证明正确)就是ENABLE和VALID分别从宏观和微观从面确定一个数据是否有效。这两个应该是相AND的结果来指示一个数据真正地VALID。

刚才已经做了代码没有记录下来,这里主要看看我加入ILA进行查看的结果。

我们知道从ADC发送给FPGA的数据首先经过ADC_FIFO进行时钟域的转换后,此时还是4通道16位数据(这16位只有12位有效),通过ADC_PACK组合成一路64路数据,通过FIFO接口交付给ADC_DMA,之后由ADC_DMA传到DDR3存储器空间,PS就可以读出来了。

这里我们在ADC_FIFO到ADC_PACK之间接入一个逻辑分析仪,查看思路ENABLE,VALID,DATA。下图是进行1R1T时,分析仪抓到的波形:

为了让大家看到全部,我缩小了数据部分的模拟显示:

这里说明一下:倒数第三,四根是模拟显示的,是因为ILA设置的原因和数据表示的原因看上去不是完美的正弦波,这个稍晚我尝试设置一下(刚才我用同样的这次采集设置软件捣鼓出了一次是完美的正弦波,再也没有搞出来,但是数据肯定是完美的),这里大家自行脑补一下。

记住这个也是1R1T截到ILA波形图,是一收一发。我们总结如下:

1,4路数据分别是两个通道的I和Q,这里只设置了一个通道,因此另外一个通道的I和Q数据为0。

2,我们看到VALID都是1,起作用的是ENBALE,因此真正的ATCIVE_VALID应该是VALID & ENABLE.

3,数据是没有间断的,这是因为用的时钟是基带的时钟,每个周期都有数据。

另外我通过切换接收通道,发现还是数据通道0,1有数据,ENABLE0,1为高。 

之后我继续试验一下双路接收的的情况:也就是2R2T。

 

我们看到2R2T果然是所有的通道都ENABLE了。

 

同时加入的还有另外一个ILA,我在接下来的一片BLOG里面说说。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值