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. Java23种设计模式学习笔记【目录总贴】

    创建型模式:关注对象的创建过程 1.单例​模式:保证一个类只有一个实例,并且提供一个访问该实例的全局访问点 主要: 饿汉式(线程安全,调用效率高,但是不能延时加载) 懒汉式(线程安全,调用效率不高,但 ...

  2. C#-using用法详解

    转自:http://blog.csdn.net/wanderocn/article/details/6659811 using 关键字有两个主要用途: (一).作为指令,用于为命名空间创建别名或导入其 ...

  3. 前端开发 - JavaScript - 总结

    一.JavaScript的特征 javaScript是一种web前端的描述语言,也是一种基于对象(object)和事件驱动(Event Driven)的.安全性好的脚本语言.它运行在客户端从而减轻服务 ...

  4. 【我的Android进阶之旅】TortoiseSVN 客户端 如何重置用户名和密码?

    在第一次使用TortoiseSVN从服务器CheckOut的时候,会要求输入用户名和密码,这时输入框下面有个选项是保存认证信息,如果选了这个选项,那么以后就不用每次都输入一遍用户名密码了. 不过,今天 ...

  5. django 模板语言之 filter 自定义模板

    可以自己写python函数放在模板语言里用 这种方法是django里面的 filter {{ item.event_start|date:"Y-m-d H:i:s"}} {{ bi ...

  6. Python之OS模块函数

    函数列表: 1 os.sep:取代操作系统特定的路径分隔符 os.name:指示你正在使用的工作平台.比如对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'. os. ...

  7. centos 解决error: rpmdbNextIterator问题 (转)

    昨天重装RedHat4以后出现了下面这个问题 [root@RedHat4 ~]# rpm -qa |grep vimerror: rpmdbNextIterator: skipping h#      ...

  8. sdut3140 A*B(math)

    题目:传送门 题目描述 Your task is to find the minimal positive integer number Q so that the product of digits ...

  9. python全栈开发从入门到放弃之迭代器生成器

    1.python中的for循环 l = [1,2,3,4,5,6] for i in l: #根据索引取值 print(i) 输出结果: 1 2 3 4 5 6 2.iterable  可迭代的 可迭 ...

  10. 原生js追加Html 或者text

    方法:insertAdjacentHTML(postion,html); insertAdjacentTEXT(postion,text); 参数: position 是相对于 element 元素的 ...