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. jQuery设置内容和属性方

    何问起 hovertree.com 设置内容 - text().html() 以及 val()text() - 设置或返回所选元素的文本内容html() - 设置或返回所选元素的内容(包括 HTML ...

  2. Navicat连接阿里云(centos7.3)的MySQL数据库遇到的问题及解决方法

    注:本文涉及到的解决方案都是我遇到的问题的对应解决方案,不一定适用于每一个人,如果问题仍然存在,请继续百度查询其他解决方法 1.  首先是登录阿里云MySQL的一些必要信息(登录其他云主机的mysql ...

  3. 160429、nodejs--Socket.IO即时通讯

    动态web 在html5以前,web的设计上并没有考虑过动态,他一直是围绕着文档设计的,我们看以前比较老的网站,基本上都是某一刻用来显示单一的文档的,用户请求一次web页面,获取一个页面,但是随着时间 ...

  4. R中基本命名(未完)

    ls() #查看 rm(list=ls()) #清除内存变量 library() #载入库包 help() #查看帮助文档 head(iris) #查看数据集 class(iris) #查看数据集的类 ...

  5. 适配器模式(Adpater)

    一.适配器模式介绍 适配器模式:将一个类的接口转换成客户希望的另外一个接口.Adapter模式使得原本由于接口不兼容而不能一起工作的类可以一起工作. 例如: NBA中的球员来自不同国家,而世界标准语言 ...

  6. Elastic Load Balancing with Sticky Sessions

    Elastic Load Balancing with Sticky Sessions — Shlomo Swidler https://shlomoswidler.com/2010/04/elast ...

  7. 苏宁易购微信端 全页通过background单图

    w单图,绕开了显示的兼容性. http://res.m.suning.com/project/JoinGo/intro.html http://res.m.suning.com/project/Joi ...

  8. python学习笔记(二)— 元组(tuple)

    Python 的元组与列表类似,不同之处在于元组的元素不能修改:元组使用小括号,列表使用方括号. 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可: tup1 = ('a', 'b', 19 ...

  9. python类可以任意添加属性

    python类可以任意添加属性 class A(object): def __init__(self): self.name = "zhangsan" self.age = 18 ...

  10. 前端 javascript 数据类型 数组 列表

    javascript数组相当于python的列表 创建列表 a = [1,2,3,4]; [1, 2, 3, 4] 获取列表长度 a = [1,2,3,4]; [1, 2, 3, 4] a.lengt ...