AD9361框图

 

1、 Fir滤波器的阶数为64或128 而内插或抽取因子为:1、2或4。

  HB1和HB2的内插或抽取因子为1或2而HB3的因子为1、2或3

  BB_LPF为:三阶巴特沃斯低通滤波器,3dB点频率可编程,频率可编程范围为:Tx: 625Khz~32Mhz, Rx : 200Khz~39.2Mhz

2、  ND_LPF为:第二级低通滤波器的频率可编程范围为2.7~100Mhz

  TIA_LPF为:第一级低通滤波器的频率可编程范围为1~70Mhz ADC_CLK = DAC_CLK或2*DAC_CLK <= 672Mhz

3、AD9361增益控制 发送功率控制:由一个程控衰减器决定,衰减范围为(0~89.75dB)步进为0.25dB。

  接收增益控制:由模拟增益(由低噪放、混频器、跨阻放大器和低通滤波器等增益组成)和数字增益决定。

  控制方式为 :自动控制和手动控制(SPI 控制和管脚控制)。

  增益范围 :0~90dB,模拟增益最大为76dB,数字增益最大为31dB。

  增益分配 :由查表决定,有单表模式和多表模式。

4、AD9361数字接口 SPI接口 : 分为3线模式和4线模式 控制字段由16bit组成,[15]为读写标志,高位读;[14:12]为读写的Byte数1~8Byte;[11:10]未使用;[9:0]为读写的起始字节地址; 上升沿发送,下降沿采样 SPI时钟最大为 50Mhz SPI操作在SPI_ENB为低时有效 LVDS或CMOS接口 :均可分为SDR或DDR接口。

   LVDS接口: 传输速率:最大为122.88Mhz。 传输格式:可分为1R1T,2R2T。

  COMS接口 传输速率:最大为122.88Mhz。 传输格式:可分为1R1T,2R2T,1R2T,2R1T。

  接口形式:可分为单端口半双工,单端口全双工,双端口半双工,双端口全双工。

5、AD9361状态机 状态机控制方式: 通过SPI写寄存器控制 通过管脚控制(分为电平模式和脉冲模式) 状态机模式: FDD模式 TDD模式

6、AD9361辅助功能 GPO : 4bit通用输出,由SPI控制。

   CTRL_IN : 4bit 控制输入,用于手动Rx增益和Tx衰减控制。

   CTRL_OUT : 8bit控制输出,这些是多功能输出,具有可编程功能。可以用于指示AD9361的各种状态信息。

   Aux DAC : 2个10bit的辅助DAC,参考电压分别可取1V、1.5V、2V和2.5V。

   Aux ADC :1个12bit的辅助ADC,输入电压范围为0V~1.3V。 RSSI : 指示接收信号强度。

7、AD9361控制编程

   1)SPI接口:通过AD9361的SPI接口对AD9361进行初始化配置,难点在于初始化寄存器,而初始化寄存器可以通过ADI的寄存器配置软件生成。

   2)数据接口:接口形式为LVDS和COMS,难点在于速率较高的情况下,需要加合适的约束或者调解AD9361的时延调整寄存器0x06和0x07。

   3)状态机:需要正确控制状态机,否则AD9361会工作你不知道的状态里,可以通过读取状态寄存器判断。

   4)校准时间:注意AD9361的校准时间需要给足够,否则会影响性能,同时ADI的寄存器配置软件生成的配置能够满足基本功能,但是想要性能更好,需要自己去优化

1、AD9361的框架下图所示:
 
2、AD9361的信号路径
 
Fir滤波器的阶数为64或128 而内插或抽取因子为:1、2或4。
HB1和HB2的内插或抽取因子为1或2而HB3的因子为1、2或3
BB_LPF为:三阶巴特沃斯低通滤波器,3dB点频率可编程,频率可编程范围为:Tx: 625Khz~32Mhz, Rx : 200Khz~39.2Mhz
2ND_LPF为:第二级低通滤波器的频率可编程范围为2.7~100Mhz
TIA_LPF为:第一级低通滤波器的频率可编程范围为1~70Mhz
ADC_CLK = DAC_CLK或2*DAC_CLK <= 672Mhz

3、AD9361增益控制
发送功率控制:由一个程控衰减器决定,衰减范围为(0~89.75dB)步进为0.25dB。
接收增益控制:由模拟增益(由低噪放、混频器、跨阻放大器和低通滤波器等增益组成)和数字增益决定。
控制方式为   :自动控制和手动控制(SPI 控制和管脚控制)。
增益范围
:0~90dB,模拟增益最大为76dB,数字增益最大为31dB。
增益分配
:由查表决定,有单表模式和多表模式。

4、AD9361数字接口
SPI接口

分为3线模式和4线模式
控制字段由16bit组成,[15]为读写标志,高位读;[14:12]为读写的Byte数1~8Byte;[11:10]未使用;[9:0]为读写的起始字节地址;
上升沿发送,下降沿采样 
SPI时钟最大为 50Mhz
SPI操作在SPI_ENB为低时有效

LVDS或CMOS接口
:均可分为SDR或DDR接口。
LVDS接口:
传输速率:最大为122.88Mhz。
传输格式:可分为1R1T,2R2T。
COMS接口
传输速率:最大为122.88Mhz。
传输格式:可分为1R1T,2R2T,1R2T,2R1T。
接口形式:可分为单端口半双工,单端口全双工,双端口半双工,双端口全双工。

5、AD9361状态机
状态机控制方式:
通过SPI写寄存器控制
通过管脚控制(分为电平模式和脉冲模式)
状态机模式:
FDD模式
TDD模式

6、AD9361辅助功能
GPO
: 4bit通用输出,由SPI控制。
CTRL_IN
: 4bit
控制输入,用于手动Rx增益和Tx衰减控制。
CTRL_OUT
: 8bit控制输出,这些是多功能输出,具有可编程功能。可以用于指示AD9361的各种状态信息。
Aux DAC
: 2个10bit的辅助DAC,参考电压分别可取1V、1.5V、2V和2.5V。
Aux ADC 
:1个12bit的辅助ADC,输入电压范围为0V~1.3V。
RSSI
: 指示接收信号强度。

7、AD9361控制编程
1)SPI接口:通过AD9361的SPI接口对AD9361进行初始化配置,难点在于初始化寄存器,而初始化寄存器可以通过ADI的寄存器配置软件生成。
2)数据接口:接口形式为LVDS和COMS,难点在于速率较高的情况下,需要加合适的约束或者调解AD9361的时延调整寄存器0x06和0x07。
3)状态机:需要正确控制状态机,否则AD9361会工作你不知道的状态里,可以通过读取状态寄存器判断。
4)校准时间:注意AD9361的校准时间需要给足够,否则会影响性能,同时ADI的寄存器配置软件生成的配置能够满足基本功能,但是想要性能更好,需要自己去优化。8、做这方面的可以加我QQ进行交流: 1038736077

AD9361的更多相关文章

  1. ad9361自测试校准

    #include "config.h" #include "CONFIG_FPGA_ALL.h" #include "xparameters.h&qu ...

  2. AD9361框图

    1. Fir滤波器的阶数为64或128 而内插或抽取因子为:1.2或4. HB1和HB2的内插或抽取因子为1或2而HB3的因子为1.2或3 BB_LPF为:三阶巴特沃斯低通滤波器,3dB点频率可编程, ...

  3. AD9361寄存器配置顺序,循环模式,自收自发

    :] cmd_data; :] index; begin case(index) 'h000,8'h00};//set spi -- 'h3df,8'h01};//set init -- 'h037, ...

  4. 基于XC7Z100+AD9361的双收双发无线电射频板卡

    一.板卡概述 板卡基于Xilinx公司的SoC架构(ARM+FPGA)的ZYNQ7100芯片和ADI公司高集成度的捷变射频收发器AD9361,实现频谱范围70MHz~6GHz,模拟带宽200KHz~5 ...

  5. 三款SDR平台对比:HackRF,bladeRF和USRP

    这篇文章是Taylor Killian今年8月发表在自己的博客上的.他对比了三款平价的SDR平台,认为这三款产品将是未来一年中最受欢迎的SDR平台.我觉得这篇文章很有参考价值,简单翻译一份转过来.原文 ...

  6. vivado自动化tcl实现(更新中)

    ug1197-vivado-high-level-productivity vivado中如何使用自动化工具进行设计?用过的项目有AD9361提供的官方例子中,使用了自动化方式,可以借鉴.

  7. [转载]三款SDR平台对比:HackRF,bladeRF和USRP

    这篇文章是 Taylor Killian 13年8月发表在自己的博客上的.他对比了三款平价的SDR平台,认为这三款产品将是未来一年中最受欢迎的SDR平台.我觉得这篇文章很有参考价值,简单翻译一份转过来 ...

  8. 367-基于zynq XC7Z100 FMC接口通用计算平台

    基于zynq XC7Z100 FMC接口通用计算平台 一.板卡概述 本板卡基于Xilinx公司的FPGA XC7Z100 FFG 9000 芯片, 该平台为设计和验证应用程序提供了一个完整的开发平台. ...

  9. 基于zynq XC7Z100 FMC接口通用计算平台 XC7Z100

      一.板卡概述 本板卡基于Xilinx公司的FPGA XC7Z100 FFG 9000 芯片, 该平台为设计和验证应用程序提供了一个完整的开发平台.该平台使设计师能够更加简单进行高性能的原型设计,并 ...

随机推荐

  1. angular 封装公共方法

    angular封装公共方法到service中间件,节省开发时间 layer.service.ts openAlert(callback) {// 传递回调函数 const dialogRef = th ...

  2. js 空正则匹配任意一个位置

    看一个正则 这里明显,起到匹配作用的是 | 后的,可 | 后什么都没有,原理不知道,也没有搜到文献,只有在 Reg101 上是这样解释的, 所以得出结论: js 中,空正则匹配任意一个位置. 不过,这 ...

  3. 使用Git分支开发新特性或修复Bug与使用Git分支开发新特性或修复Bug

    使用Git分支开发新特性或修复Bug 通过分支,可以在不影响原有代码的前提下改变代码,主要用于开发新功能新特性.下 一代产品 为已经发布的正式版修复bug 团队开发时为每个人建立一个分支,从而避免相互 ...

  4. 飘城旅游网pc,流式,响应式布局

    相关视频教程http://pan.baidu.com/s/1o77wirK 我的源码链接:http://pan.baidu.com/s/1czTsKI

  5. SaltStack远程执行

    上一篇:SaltStack概述及安装 master也需要安装一个minion 启动salt-master systemctl start salt-master 配置文件在目录/etc/salt下 p ...

  6. HDU 3450 Counting Sequences(线段树)

    Counting Sequences Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/65536 K (Java/Other ...

  7. FROM_UNIXTIME(unix_timestamp), FROM_UNIXTIME(unix_timestamp,format)

    w SELECT ro.*, FROM_UNIXTIME(ro.wstart,'%Y%m%d') FROM room_order ro

  8. navicat导入数据出现中文乱码

    1.问题描述: excel转为csv后,导入英文时没错.但中文就是显示的乱码. 2.解决方法: 将csv用记事本打开,调整编码格式为UTF-8, 点击保存覆盖掉原文件,然后再 导入,乱码问题就解决

  9. Spark 源码分析 – BlockManagerMaster&Slave

      BlockManagerMaster 只是维护一系列对BlockManagerMasterActor的接口, 所有的都是通过tell和askDriverWithReply从BlockManager ...

  10. DRF的版本、认证、权限

    DRF的版本 版本控制是做什么用的, 我们为什么要用 首先我们要知道我们的版本是干嘛用的呢~~大家都知道我们开发项目是有多个版本的~~ 当我们项目越来越更新~版本就越来越多~~我们不可能新的版本出了~ ...