AD9361 数据数字接口说明

2023-11-03 00:04

本文主要是介绍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/334211

相关文章

如何使用C#串口通讯实现数据的发送和接收

《如何使用C#串口通讯实现数据的发送和接收》本文详细介绍了如何使用C#实现基于串口通讯的数据发送和接收,通过SerialPort类,我们可以轻松实现串口通讯,并结合事件机制实现数据的传递和处理,感兴趣... 目录1. 概述2. 关键技术点2.1 SerialPort类2.2 异步接收数据2.3 数据解析2.

如何用java对接微信小程序下单后的发货接口

《如何用java对接微信小程序下单后的发货接口》:本文主要介绍在微信小程序后台实现发货通知的步骤,包括获取Access_token、使用RestTemplate调用发货接口、处理AccessTok... 目录配置参数 调用代码获取Access_token调用发货的接口类注意点总结配置参数 首先需要获取Ac

大数据spark3.5安装部署之local模式详解

《大数据spark3.5安装部署之local模式详解》本文介绍了如何在本地模式下安装和配置Spark,并展示了如何使用SparkShell进行基本的数据处理操作,同时,还介绍了如何通过Spark-su... 目录下载上传解压配置jdk解压配置环境变量启动查看交互操作命令行提交应用spark,一个数据处理框架

讯飞webapi语音识别接口调用示例代码(python)

《讯飞webapi语音识别接口调用示例代码(python)》:本文主要介绍如何使用Python3调用讯飞WebAPI语音识别接口,重点解决了在处理语音识别结果时判断是否为最后一帧的问题,通过运行代... 目录前言一、环境二、引入库三、代码实例四、运行结果五、总结前言基于python3 讯飞webAPI语音

MyBatis-Plus中Service接口的lambdaUpdate用法及实例分析

《MyBatis-Plus中Service接口的lambdaUpdate用法及实例分析》本文将详细讲解MyBatis-Plus中的lambdaUpdate用法,并提供丰富的案例来帮助读者更好地理解和应... 目录深入探索MyBATis-Plus中Service接口的lambdaUpdate用法及示例案例背景

通过ibd文件恢复MySql数据的操作方法

《通过ibd文件恢复MySql数据的操作方法》文章介绍通过.ibd文件恢复MySQL数据的过程,包括知道表结构和不知道表结构两种情况,对于知道表结构的情况,可以直接将.ibd文件复制到新的数据库目录并... 目录第一种情况:知道表结构第二种情况:不知道表结构总结今天干了一件大事,安装1Panel导致原来服务

Jmeter如何向数据库批量插入数据

《Jmeter如何向数据库批量插入数据》:本文主要介绍Jmeter如何向数据库批量插入数据方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Jmeter向数据库批量插入数据Jmeter向mysql数据库中插入数据的入门操作接下来做一下各个元件的配置总结Jmete

JAVA SE包装类和泛型详细介绍及说明方法

《JAVASE包装类和泛型详细介绍及说明方法》:本文主要介绍JAVASE包装类和泛型的相关资料,包括基本数据类型与包装类的对应关系,以及装箱和拆箱的概念,并重点讲解了自动装箱和自动拆箱的机制,文... 目录1. 包装类1.1 基本数据类型和对应的包装类1.2 装箱和拆箱1.3 自动装箱和自动拆箱2. 泛型2

MySQL常见的存储引擎和区别说明

《MySQL常见的存储引擎和区别说明》MySQL支持多种存储引擎,如InnoDB、MyISAM、MEMORY、Archive、CSV和Blackhole,每种引擎有其特点和适用场景,选择存储引擎时需根... 目录mysql常见的存储引擎和区别说明1. InnoDB2. MyISAM3. MEMORY4. A

MyBatis的配置对象Configuration作用及说明

《MyBatis的配置对象Configuration作用及说明》MyBatis的Configuration对象是MyBatis的核心配置对象,它包含了MyBatis运行时所需的几乎所有配置信息,这个对... 目录MyBATis配置对象Configuration作用Configuration 对象的主要作用C