AD9361 数据数字接口说明

2023-11-02 20:45

本文主要是介绍AD9361 数据数字接口说明,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、简要

           AD9361和BBP之间的数据接口以两种模式之一工作:标准CMOS兼容模式或低压差分信号(LVDS)兼容模式。本篇文章将简要介绍一下CMOS和LVDS工作模式下的数据具体的传输样式。

二、CMOS 工作模式

        P0_D[11:0] and P1_D[11:0]: 端口0(P0)和端口1(P1)都有一个12位并行数据总线(D[11:0]),可在BBP和AD9361之间传输数据。每个总线在大小和功能上都与另一个总线相同,所以D[11:0]被用来指P0或P1。这些总线可以配置为仅传输、仅接收或双向传输。

        DATA_CLK:  DATA_CLK信号作为Rx数据路径的主时钟提供给BBP。在CMOS模式下,它在内部生成并输出到DATA_CLK_P引脚上(DATA_CLK_N保持未连接)。根据数据总线配置,对P0、P1或两个端口都使用相同的时钟。BBP使用这个主时钟作为接口数据传输和基带数据处理的定时参考。DATA_CLK在接收操作期间提供具有双边缘捕获(DDR)或单上升边缘捕获(SDR)数据传输的源同步定时。

        FB_CLK:FB_CLK是DATA_CLK的一个反馈(环回)版本,从BBP在CMOS模式下驱动到FB_CLK_P引脚(FB_CLK_N保持不连接)。FB_CLK允许对突发控制信号(TX_FRAME、启用和TXNRX)进行上升边缘捕获的源同步定时。FB_CLK还为Tx突发(P0和P1)期间的D[11:0]数据信号提供具有双边缘捕获(DDR)或单上升边捕获(SDR)的源同步定时。请注意,FB_CLK必须是DATA_CLK的反馈版本(完全相同的频率和占空比),但在两个时钟信号之间没有相位关系的要求。

        RX_FRAME: RX_FRAME由AD9361驱动,以识别Rx数据路径(P0和P1)的有效数据。在CMOS模式下,该信号从RX_FRAME_P引脚输出(RX_FRAME_N接地)。

        TX_FRAME:  TX_FRAME由BBP驱动,以识别Tx数据路径(P0和P1)的有效数据。在CMOS模式下,该信号被输入到TX_FRAME_P引脚(TX_FRAME_N接地)。

1、 单端半双工

        单端口半双工模式用于需要TDD操作和数据速率低于61.44 MHz的应用程序。在这种模式下,总线以双向半双工的方式使用,以便可以在同一线路上接收或传输数据。这种模式可用于所有接收机-发射机配置(1R1T、2R1T、1R2T和2R2T),通常在PCB空间有限或BBP只有一个可用的数据总线端口时使用。在此配置中,总线可以作为单数据速率(SDR)或双数据速率(DDR)进行操作。

         数据样本以二进制补码存放。I和Q数据样本在数据总线上时间交错传输。对于每个方向上的单个RF路径(一个1R1T系统),I和Q样品以双向交错的方式进行:

                          I,Q,I,Q,...

        对于使用两个Rx/Tx通道的系统,来自RF通道1和2的I和Q样本以4路交错:

                         I1、Q1、I2、Q2、I1、Q1、I2、Q2、…

        对于具有2R1T或1R2T配置的系统,时钟频率、采样周期和数据捕获时间与2R2T系统配置的相同。但是,在只使用一个通道的路径中,每个数据组中的禁用通道的I-Q对都未使用。这些未使用的插槽会被AD9361所忽略。例如,在一个只使用Tx信道1的2R1T系统中,发射突发将有两个未使用的插槽,如下:

                        I、Q、X、X、I、Q、X、X、..

未使用的X插槽可以由BBP填充任意的数据值。这些值可以是固定的常数值,或者可以重复前面的数据样本值,以减少母线切换因子,因此,功耗。

2、 单端全双工

        单端口全双工模式用于需要FDD操作和数据速率低于30.72 MHz的应用程序。在这种模式下,总线被分成两半,6位专用于Rx数据,6位专用于Tx数据。这种模式可用于所有的接收机-发射机配置。在此配置中,总线可以作为SDR或DDR进行操作。在本例中,只启用了P0,并且数据总线被分割成单独的子总线。每个子总线同时工作,允许在BBP和AD9361之间进行全双工传输和接收数据。因为在全双工模式下,总线必须完成两倍数量的数据传输,所以数据总线必须以TDD模式的两倍速度运行,以实现相同的传输和接收数据速率(因为每个数据都在全双工模式中并发运行)。

         在这种模式下,I和Q数据样本在数据总线上进行时间交错。对于每个方向的单个RF路径(1R1T系统),数据以4路交错携带,如下:

                         IMSB、QMSB、ILSB、QLSB、...

        对于具有两个活动Rx/Tx通道的系统,RF通道1和2通道的I和Q样本以8路交错携带,如下:

                         I1 MSB、Q1 MSB、I1 LSB、Q1 LSB、I2 MSB、Q2 MSB、Q2 LSB、Q2 LSB、…

        对于具有2R1T或1R2T配置的系统,时钟频率、采样周期和数据采集时间与2R2T系统配置的相同。但是,在只使用一个通道的路径中,每个数据组中被禁用通道的I-Q对都未使用。这些未使用的插槽会被AD9361所忽略。例如,对于使用发射信道1的2R1T系统,发射突发有四个未使用的槽:

                         I1 MSB、Q1 MSB、I1 LSB、Q1 LSB、X、X、X、X、..

        未使用的X插槽可以通过BBP用任意的数据值来填充。这些值可以是常量值,或者可以重复前面的数据样本值,以降低总线切换因子,从而降低功耗。

3、 双端半双工

        双端口半双工模式用于需要TDD操作和数据速率高达122.88 MHz的应用程序。在这种模式下,使用两个数据端口,P0分配给I数据,P1分配给Q数据。端口在这种模式下双向操作,数据方向是由哪个信道是活动的:传输或接收。在此配置中,每个总线都可以作为SDR或DDR进行操作。这种模式可用于所有的接收机-发射机配置。

         对于每个方向上的单个RF路径(即1R1T系统),I和Q样本用P0_D[11:0]上的I数据和P1_D[11:0]上的Q数据分离如下:

                P0:I,I,I,I,…

                P1:Q,Q,Q,…

        对于有两个主动Rx通道的系统,RF路径1和RF路径2的I和Q样本与P1上的I样本双向交错,P0和Q样本中有I样本。

                P0: I1、I2、I1、I2、…

                P1:Q1、Q2、Q1、Q2、…

        对于具有2R1T或1R2T配置的系统,时钟频率、采样周期和数据捕获时间与为2R2T系统配置的相同。但是,在只使用一个通道的路径中,每个数据组中被禁用通道的I-Q对都未使用。例如,对于只使用Tx通道1的2R1T系统,Tx burst将有两个未使用的插槽,如下:

                P0: I1,X,I1,X,…

                P1:Q1,X,Q1,X,...

        未使用的X插槽可以通过BBP用任意的数据值来填充。

4、 双端全双工

        双端口全双工模式(全端口)用于需要FDD操作和数据速率低于61.44 MHz的应用程序。在此模式下,使用两个数据端口,P0用于接收数据,P1用于传输数据。每个总线同时运行,允许在BBP和AD9361之间进行Tx和Rx数据的全双工传输。对于这种模式,每个数据总线必须以双端口TDD模式的两倍速度运行,以实现相同的Tx和Rx数据速率(因为每个数据总线都在全双工模式中并发运行)。在此配置中,每个总线都可以作为SDR或DDR进行操作。这种模式可用于所有的接收机-发射机配置。

        对于每个方向的单个射频路径,数据携带如下:

                 Px: I、Q、I、Q、I、Q、Q、…

        对于具有两个Rx/Tx通道的系统,来自射频通道1和2的I和Q样本携带如下:

                 Px: I1、Q1、I2、Q2,…

        对于具有2R1T或1R2T配置的系统,时钟频率、采样周期和数据捕获时间与2R2T系统配置时相同。但是,在只使用一个通道的路径中,每个数据组中的禁用通道的I-Q对都未使用。这些未使用的插槽会被AD9361所忽略。例如,对于使用Tx通道1的2R1T系统,Tx突发将有两个未使用的插槽,如下:

                Px: I1,Q1,X,X,..

        未使用的X插槽可以由BBP填充任意的数据值。这些值可以是常量值,也可以重复前面的数据样本值,以降低总线切换因子,从而降低功耗。

三、 LVDS 工作模式

        以下信息描述了AD9361在低电压差分信号(LVDS)模式下数据路径的操作。AD9361数据路径接口使用并行数据总线(P0和P1)在AD9361和BBP之间传输数据样本。在LVDS模式下,两个总线都与差分LVDS信令一起使用。AD9361 LVDS接口有助于连接到具有LVDS功能的自定义asic和fpga。当系统在有噪声的环境中需要更好的交换性能和比标准CMOS接口更高的数据速率时,通常会使用LVDS接口。

          双端全双工LVDS:

        通过写入SPI寄存器来启用双总线全双工LVDS模式。在这种模式下,P0和P1都被启用为LVDS信号,并且数据总线(D[11:0])被分割成单独的子总线(Rx_D[5:0]和Tx_D[5:0])。每个子总线同时运行,允许在BBP和AD9361之间进行全双工传输和接收数据。

        I和Q数据样本在每个数据总线上进行时间交错的数据传输。对于1R1T系统,I和Q样本以4路交错携带:

                 IMSB,QMSB,ILSB,QLSB,…

        在这种情况下,Tx_FRAME和Rx_FRAME信号与数据切换一致。当启用50%占空比框架时,IMSB和QMSB分别处于高状态,ILSB和QLSB都处于低状态。然后,这些信号再次用IMSB调高,以指示新帧的开始。对于2R2T系统,射频路径1和2的I和Q样本以8路交错:

         I1 MSB、Q1 MSB、I1 LSB、Q1 LSB、I2 MSB、Q2 MSB、I2 LSB、LSB、Q2 LSB、…

        在这种情况下,Tx_FRAME和Rx_FRAME信号与数据交换一致。当启用50%占空比框架时,I1MSB、Q1MSB、I1LSB、Q1LSB均处于高状态,I2MSB、Q2MSB、I2LSB和Q2LSB均处于低状态。然后,这些信号再次用IAMSB调高,以指示新帧的开始。

        对于具有2R1T或1R2T配置的系统,时钟频率、总线传输速率和采样周期以及数据捕获定时与为2R2T系统配置的系统相同。但是,在只使用一个通道的路径中,每个数据组中的禁用通道的I-Q对都未使用。这些未使用的插槽会被AD9361所忽略。例如,对于使用Tx通道1的2R1T系统,发射突发将有四个未使用的插槽:

                 I1 MSB,Q1 MSB,I1 LSB,Q1 LSB,X,X,X,X,…

        在这种情况下,Tx_FRAME和Rx_FRAME与数据交换一致,I1 MSB,Q1 MSB,I1 LSB,Q1 LSB,未使用插槽低。这些信号然后用I1MSB再次切换到较高的位置,以指示新帧的开始。未使用的X插槽可以由BBP填充任意的数据值。这些值可以是常量值,也可以重复前面的数据样本值,以降低总线切换因子,从而降低功耗。

四、 参考链接

AD9361 数据手册和产品信息 | 亚德诺(ADI)半导体

这篇关于AD9361 数据数字接口说明的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/333201

相关文章

Springboot项目构建时各种依赖详细介绍与依赖关系说明详解

《Springboot项目构建时各种依赖详细介绍与依赖关系说明详解》SpringBoot通过spring-boot-dependencies统一依赖版本管理,spring-boot-starter-w... 目录一、spring-boot-dependencies1.简介2. 内容概览3.核心内容结构4.

Java整合Protocol Buffers实现高效数据序列化实践

《Java整合ProtocolBuffers实现高效数据序列化实践》ProtocolBuffers是Google开发的一种语言中立、平台中立、可扩展的结构化数据序列化机制,类似于XML但更小、更快... 目录一、Protocol Buffers简介1.1 什么是Protocol Buffers1.2 Pro

Python实现数据可视化图表生成(适合新手入门)

《Python实现数据可视化图表生成(适合新手入门)》在数据科学和数据分析的新时代,高效、直观的数据可视化工具显得尤为重要,下面:本文主要介绍Python实现数据可视化图表生成的相关资料,文中通过... 目录前言为什么需要数据可视化准备工作基本图表绘制折线图柱状图散点图使用Seaborn创建高级图表箱线图热

redis和redission分布式锁原理及区别说明

《redis和redission分布式锁原理及区别说明》文章对比了synchronized、乐观锁、Redis分布式锁及Redission锁的原理与区别,指出在集群环境下synchronized失效,... 目录Redis和redission分布式锁原理及区别1、有的同伴想到了synchronized关键字

基于Python实现数字限制在指定范围内的五种方式

《基于Python实现数字限制在指定范围内的五种方式》在编程中,数字范围限制是常见需求,无论是游戏开发中的角色属性值、金融计算中的利率调整,还是传感器数据处理中的异常值过滤,都需要将数字控制在合理范围... 目录引言一、基础条件判断法二、数学运算巧解法三、装饰器模式法四、自定义类封装法五、NumPy数组处理

MySQL 临时表创建与使用详细说明

《MySQL临时表创建与使用详细说明》MySQL临时表是存储在内存或磁盘的临时数据表,会话结束时自动销毁,适合存储中间计算结果或临时数据集,其名称以#开头(如#TempTable),本文给大家介绍M... 目录mysql 临时表详细说明1.定义2.核心特性3.创建与使用4.典型应用场景5.生命周期管理6.注

MySQL数据脱敏的实现方法

《MySQL数据脱敏的实现方法》本文主要介绍了MySQL数据脱敏的实现方法,包括字符替换、加密等方法,通过工具类和数据库服务整合,确保敏感信息在查询结果中被掩码处理,感兴趣的可以了解一下... 目录一. 数据脱敏的方法二. 字符替换脱敏1. 创建数据脱敏工具类三. 整合到数据库操作1. 创建服务类进行数据库

MySQL中处理数据的并发一致性的实现示例

《MySQL中处理数据的并发一致性的实现示例》在MySQL中处理数据的并发一致性是确保多个用户或应用程序同时访问和修改数据库时,不会导致数据冲突、数据丢失或数据不一致,MySQL通过事务和锁机制来管理... 目录一、事务(Transactions)1. 事务控制语句二、锁(Locks)1. 锁类型2. 锁粒

Java中数组与栈和堆之间的关系说明

《Java中数组与栈和堆之间的关系说明》文章讲解了Java数组的初始化方式、内存存储机制、引用传递特性及遍历、排序、拷贝技巧,强调引用数据类型方法调用时形参可能修改实参,但需注意引用指向单一对象的特性... 目录Java中数组与栈和堆的关系遍历数组接下来是一些编程小技巧总结Java中数组与栈和堆的关系关于

Qt中实现多线程导出数据功能的四种方式小结

《Qt中实现多线程导出数据功能的四种方式小结》在以往的项目开发中,在很多地方用到了多线程,本文将记录下在Qt开发中用到的多线程技术实现方法,以导出指定范围的数字到txt文件为例,展示多线程不同的实现方... 目录前言导出文件的示例工具类QThreadQObject的moveToThread方法实现多线程QC