AD9361 随笔记录 AXI_AD9361模块的分析之对外接口篇

54 篇文章 5 订阅
25 篇文章 50 订阅

 

之前对官方的AXI_AD9361这个模块内部的输入输出接口进行了详细的分析,分析的详细视频发布在自己所卖板子的配套的教程视频里面。这里我们从AXI_LITE寄存器层面进行分析,看看控制总线接口对外公布了多少寄存器以及各自的功能。

 

下图表示了在系统中的位置:

 

我们先来看接口:分这些部分:

1,接AD9361的引脚,如下图:

具体输入有

rx_clk_n,rx_clk_p,

rx_frame_in_p,rx_frame_in_n,

rx_data_in_p[5:0],rx_data_in_n[5:0]

输出有:

tx_clk_out_p,tx_clk_out_n,

tx_frame_out_p,tx_frame_out_n,

tx_data_out_p[5:0],tx_data_out_n[5:0]

enable,txnrx,rst

2,axi_lite接口

s_axi,s_axi_aclk,s_axi_aresetn

3,dac_数据通路和dac控制通路。

其中dac数据通路包含如下接口:

输入部分:

dac_data_i0[15:0],dac_data_q0[15:0],

dac_data_i1[15:0],dac_data_q1[15:0],

dac_dunf(图中忘记加颜色了)

输出部分:

dac_enable_i0,dac_enable_q0,dac_enable_i0,dac_enable_q0,

dac_enable_i1,dac_enable_q1,dac_enable_i1,dac_enable_q1,

dac_r1_mode (此引脚控制时钟选择)。

分析一下走线看到这些脚主要接在了一个util_rfifo(实例名为axi_ad9361_dac_fifo)上。

我们看到这个fifo是没有接口(比如AXI_LITE)进行编程的,所以应该是axi_ad9361模块的这些enable和valid脚对他进行控制。

从axi_ad9361输出的enable和valid信号控制对FIFO的读,当数据已经被读完时候dout_unf输出1,指出已经under flow了。

其实接着对axi_ad9361_dac_fifo进行分析就可以看到这些enable和valid脚又输入给了dac_upack模块,显然就是从ddr里面读书,解包成这些i0,q0,i1,q1。这些不深入分析。

4, adc数据以及控制通路。

输入引脚就一个: adc_dovf 外部输入告知此模块数据已经over flow了,不要再输入了。

输出引脚也很简单:

adc_data_i0[15:0],adc_data_q0[15:0],adc_data_i1[15:0],adc_data_q1[15:0],

adc_enalei0,adc_enaleq0,adc_enalei1,adc_enaleq1,

adc_validi0,adc_validq0,adc_validi1,adc_validq1,

这里enable从字面意思猜测此位使能了。valid则从字面意思推测是对应的数据已经到来了。实际也是这样的。

 

 

 

 

 

 

 

 

 

 

 

 

  • 3
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值