adrv902x器件学习 4TR 集成射频收发器 650Mhz~6Ghz 5G通信 相控阵雷达 SDR AD9025 AD9026 AD9029
器件概述
ADRV902x 是一款高度集成的射频集成收发器系列,专为小型蜂窝和大型通信系统设计,特别适用于高级通信系统中的 MIMO(多输入多输出)和宏基站设备。该系列收发器集成了多个先进的功能,旨在提供高性能和低功耗的解决方案,支持 2G、3G、4G 和 5G 等蜂窝基础设施应用。
主要特性
· 四个独立的发射机和接收器:每个收发器包含四个独立的受控发射机和接收器,确保灵活的信号处理和监测。
· 集成合成器和数字信号处理:内置合成器和数字信号处理功能,提供完整的收发器解决方案。
· 宽频率范围:工作频率范围为 650 MHz 至 6 GHz,满足多种应用需求。
· 高带宽支持:接收器通道支持高达 200 MHz 的带宽,数据传输速率可达 24.33 Gbps(通过四个 JESD204B/JESD204C 通道)。
发射机和接收机功能
· 发射机信道:在与接收机相同的频率范围内工作,最高支持 450 MHz 的合成带宽。
· 观测接收器通道:提供监测发射机输出的反馈能力,支持误差校正、校准和信号增强算法。
· 灵活的本地振荡器(LO)路由:允许发射机在不同频率下工作,以增强系统的灵活性。
数字信号处理
· ARM 处理器:内部 ARM 处理器提供数字数据路径,用于校准和信号增强。
· 集成的相位锁定环(PLL):多个完全集成的 PLL 提供高灵活性和性能,支持不同类型的发射机和接收机配置。
电源管理
· 多电源分布:每个模块的电源分布在四个不同的电压源、三个模拟电压源和一个数字电压源上。
· 模拟电源:1.8 V、1.3 V 和 1.0 V,直接馈送到某些块的电源输入端。
· 低压差(LDO)稳压器:用于其他功能以获得最佳性能。
· 数字处理块由 1.0 V 电源供电,1.8 V 电源为所有与基带处理器连接的 GPIO 和接口端口供电。
ADRV902x 系列收发器适用于各种蜂窝基础设施应用,尤其是需要高无线电性能和低功耗的大规模 MIMO 基站。其灵活的设计和高集成度使其成为现代通信系统中的理想选择。
器件封装
器件结构
接收模块
每个接收输入都有一个独立的信号路径,包括独立的I/O混频器,这些混频器馈入可编程模拟跨阻放大器(TIA),充当模拟数据路径中的低通滤波器(LPF)。然后,信号由∑▲ ADCs转换,并在半带抽取级和PFIR中滤波。固定系数半带波器(FIR1、FIR2、RHB1(HR)、RHB1(LP)、RHB2、RHB3和DEC5)和PFIR旨在防止数据绕回和超量程情况。每个接收通道都可以利用标准I/Q配置或低中频复数数据配置将信号下变频至零中频实数据。数字滤波级提供灵活的配置和抽取选项,可在两种模式下工作。
其中具体倍数如下:
DEC5:5倍降采样,固定滤波系数。
有限脉冲响应滤波器(FIR1/FIR2):2倍降采样或旁路,固定滤波系数。
接收半带3滤波器(RHB3):2倍降采样,固定滤波系数。
接收半带2滤波器(RHB2):2倍降采样或旁路,固定滤波系数。
接收半带高抑制1滤波器(RHB1(HR)):2倍降采样或旁路,固定滤波系数。
接收半带低功率1滤波器(RHB1(LP)):2倍降采样或旁路,固定滤波系数。
接收PFIR滤波器:可配置1、2、4倍降采样或旁路,并可配置滤波系数,可选择24、48或72个滤波抽头。并且增益也可以配置为+6 dB、0 dB、-6 dB 或 -12 dB。
好处是:
独立信号路径:
每个接收输入都有独立的信号路径和混频器,这样可以减少信号之间的干扰,确保每个通道的性能最优化。这种设计使得系统能够在多通道接收时保持较高的灵敏度和动态范围。可编程模拟跨阻放大器 (TIA):
TIA 用于将接收到的微弱信号放大,以便于后续处理。它在模拟数据路径中充当低通滤波器 (LPF),可以有效去除高频噪声,提升信号质量。∑Δ ADC 转换:
使用∑Δ ADC 进行信号转换,能够提供高精度的数字信号输出。该转换器在信号处理过程中具有较高的动态范围,适合高频信号的采样。多级滤波设计:
设计中包含多个固定系数的 FIR 滤波器和 PFIR(可编程 FIR),能够在不同的降采样阶段进行灵活的信号处理。这样的多级滤波器设计能够有效阻止数据绕回和超量程情况,确保信号的完整性。降采样配置:
DEC5、FIR1/FIR2、RHB2、RHB3 和 RHB1 的设计允许在不同的阶段进行固定倍数的降采样,这样可以在保持信号质量的前提下,减少后续处理的数据量。
PFIR 的可配置性使得用户可以根据实际应用需求灵活调整降采样倍数和滤波系数,从而优化系统性能。
灵活的数据配置:
支持标准 I/Q 配置或低中频复数数据配置,能够将信号下变频至零中频实数据,这对于不同的应用场景和信号类型提供了更大的灵活性。增益配置:
增益的可配置性(+6 dB、0 dB、-6 dB 或 -12 dB)允许用户根据不同的信号强度进行调整,以优化接收信号的质量。
在滤波后,就可以进入IF转换了,
IF 转换的基本功能
数据路径:
IF 转换阶段有两个并行路径(Band A 和 Band B),可以同时处理数据。这种并行处理提高了信号处理的效率。
混频器阶段:
每个频带都有两个混频器,可以进行上变频或下变频。这允许信号根据需要进行频率调整,以便更好地适应后续处理。
插值与降采样:
该阶段包括插值和降采样处理,可以有效地调整信号的采样率。这对于减少数据量和降低处理需求至关重要。
半带滤波器:
半带滤波器的通带为采样率的 0.4 倍,能够有效地去除不必要的高频噪声,提升信号质量。
半带滤波器系数
半带滤波器的系数包括一系列精确的数值,这些系数用于定义滤波器的特性,确保信号在经过滤波后能够保持其重要信息,同时抑制不必要的频率成分。
使用案例
复杂低 IF 到零 IF 转换:
在这个用例中,接收到的信号偏移了本振(LO),使得整个感兴趣的信号位于 LO 的一侧。Band A 的 NCO1 将信号下变频至 0 Hz,经过半带滤波器和降采样,降低带宽和 IQ 速率。这种处理减少了所需的 JESD 通道数量,提高了系统的效率。
复杂低 IF 到实 IF 转换:
信号通过 NCO1 或 NCO2 进行偏移,使得下变频信号仅存在于 LO 的一侧。这种情况下,只需发送 I 数据,Q 数据被丢弃,简化了数据传输。
零 IF 到实 IF 转换:
接收到的信号围绕 LO 中心。信号经过插值和半带滤波,Band A 的 NCO2 将数据向上或向下偏移,生成一个对称于 0 Hz 的信号。这种转换使得只需发送 I 数据,进一步简化了数据传输。
双频带模式:
在这种模式下,可以同时接收多个信号(信号 1 和信号 2),Band A 和 Band B 的电路分别处理不同的信号。通过 NCO1 和 NCO2 的偏移,信号可以被移动到半带滤波器的通带内,从而实现更高效的数据传输。
仅半带滤波器模式:
如果信号的一侧有干扰,IF 转换阶段可以进一步抑制干扰。Band A 的 NCO1 将信号偏移到半带滤波器的边缘,从而将干扰信号放置在滤波器的过渡带或阻带中。
IF 转换阶段的设计提供了灵活性和高效性,使得信号处理能够适应不同的应用需求。通过多个并行路径、灵活的混频和滤波选项,该设计能够有效地处理复杂信号,降低数据传输需求,提高系统性能。这种灵活性在现代通信系统中尤为重要,能够支持多种信号类型和处理模式。
使用GUI软件配置的Demo例子:
发射模块
每个发射器都有独立的信号路径,包括单独的数字滤波器、数模转换器(DAC)、模拟低通滤波器(LPF)和 I/Q 混频器,这些组件共同驱动信号输出。数据通过高速度的 JESD 串行数据接口输入到发射信号路径,数据速率与发射器配置的 IQ 数据速率相匹配。
信号处理流程
数据输入:JESD 解帧器将串行数据转换为并行格式,并分为两个分量:I(同相)和 Q(正交)。
数字处理:经过数字滤波和信号校正阶段后,数据被输入到 I/Q DAC 中。
低通滤波:DAC 输出由发射 LPF 进行低通滤波,以消除高频噪声。
上变频混频器:处理后的信号被输入到上变频混频器中,以生成最终的发射信号。
关键组件
模拟低通滤波器 (LPF):使用具有可调 3 dB 截止频率的二阶巴特沃斯低通滤波器来支持高达 225 MHz 的通带带宽,以确保平坦的频率响应。
插值滤波器:诸如 INT5 滤波器之类的滤波器可以按 5 倍进行插值,以提高信号分辨率和质量。
半带滤波器(THB3、THB2、THB1):这些滤波器具有固定系数,可以按 2 的倍数进行插值,以优化信号处理。
可编程 TFIR:用于补偿 DAC 之后的模拟 LPF 引起的滚降,具有可配置的滤波器抽头数和增益设置。
优点
信号质量:独立的信号路径和高质量的滤波器可以显著提高信号质量,减少失真和噪声。
灵活性:可编程 TFIR 和多种滤波器选项使系统能够根据不同的应用需求进行调整,增强了灵活性。
高带宽支持:支持高达 225 MHz 的带宽,适用于高速数据传输和高频应用。
防止数据回绕:检测每个阶段的超范围,限制为最大代码值,确保数据完整性,并防止数据回绕。
一致性:在设备初始化期间进行 LPF 校准,以确保所有设备具有一致的频率角度并提高系统可靠性。
使用GUI软件配置的Demo例子:
ORX模块
观测接收信号链概述
观测接收信号链主要由多个观察元素组成,能够在不同模式下监控输入信号。这些模式包括手动增益控制(MGC)模式和自动增益控制(AGC)模式。
关键组件
模拟峰值检测器(APD):
位置:位于模数转换器(ADC)之前,接收来自跨阻放大器(TIA)滤波器的信号。
功能:该检测器负责在模拟域内监控信号的峰值,以确保信号的可见性。它的存在有助于防止信号过载 ADC,从而保护接收链的完整性。
半带 2(HB2)过载检测器:
功能:该检测器监测数字处理部分 HB2 滤波器的数据,专门用于检测信号过载情况,确保接收信号的质量。
功率测量检测块:
功能:提供接收信号的均方根(RMS)功率测量,具有可配置的测量周期。此模块的位置在数据路径中是用户可配置的,使得用户可以根据需求调整功率测量的位置。
接收路径接口
该设备支持两种类型的接收器,主要包括四条主要接收路径(Rx1、Rx2、Rx3 和 Rx4)和四条观测接收路径(ORx1、ORx2、ORx3 和 ORx4)。这些接收通道设计为差分使用,能够有效处理接收到的信号。
操作频率范围
接收器支持广泛的操作频率,能够适应不同的应用场景。接收和观测接收通道的差分信号接口连接到集成混频器,确保信号的有效传输和处理。
重要考量
在接收端口接口的设计中,需考虑以下几点:
直流偏置:混频器输入引脚上有约 0.7 V 的直流偏置,可能需要根据外部电路的共模电压水平进行交流耦合。
信号完整性:确保信号在经过各个检测器和滤波器时不失真,保持信号的完整性和可用性。
合成器模块
合成器配置概述
该收发器使用四个相位锁定环(PLL)合成器,包括时钟合成器、两个射频(RF)合成器和一个辅助合成器。每个 PLL 基于分数 - N 架构,包含以下模块:
参考时钟分频器:将输入的参考时钟频率分频。
相频检测器:比较参考信号与反馈信号的相位差。
充电泵:将相频检测器的输出转换为电流信号。
环路滤波器:平滑充电泵的输出,减少噪声。
反馈分频器:将 VCO 输出信号分频以反馈给相频检测器。
数字控制块:用于控制 PLL 的数字逻辑部分。
电压控制振荡器(VCO):产生所需的频率信号。
VCO 调谐范围
辅助 PLL 和时钟 PLL:6.5 GHz 到 13 GHz
RFPLL1 和 RFPLL2:6.4 GHz 到 12.8 GHz
每个 PLL 驱动其自己的本振(LO)发生器、RF LO 发生器、辅助 LO 发生器和时钟发生器。LOGEN 模块的输出是 VCO 频率的一个分频版本。整个频率范围无需外部组件,允许使用任何方便的参考频率在任何通道上以任何采样率进行操作。
外部参考时钟连接(DEVCLK)
外部时钟作为收发器中时钟合成器、两个 RF 合成器和辅助合成器的参考时钟,必须是一个非常干净的时钟源。连接步骤如下:
将外部时钟输入连接到 DEVCLK + 引脚(C8)和 DEVCLK−引脚(C9)。
使用交流耦合电容(如 100nF)连接。
在靠近设备的位置用 100Ω 终端进行终结。
确保 DEVCLK 信号的频率范围在 10 MHz 到 1 GHz 之间,且峰峰值幅度不低于 50 mV 且不超过 1 V。
外部参考时钟(DEVCLK)要求
每个 RF 合成器从较低频率的参考信号乘以到较高频率,最终频率的相位噪声性能依赖于输入参考时钟的相位噪声。参考时钟的要求通常源于所需的 LO 频率、PLL 环路带宽和相位裕度。
LO 频率与参考时钟的关系如下:
fLO = N × fREF DEVCLK 噪声增益为: DEVCLK Noise Gain = 20 × log10(N) × H(s)
时钟合成器
时钟合成器用于生成运行收发器所需的所有时钟信号。配置步骤如下:
使用单核 VCO 模块。
时钟 PLL 的参考频率通过参考时钟生成器从设备时钟进行缩放。
在 Transceiver Evaluation Software 中配置合成器。
如果需要重新配置时钟合成器,使用以下命令:
int32_t adi_adrv9025_PllFrequencySet(adi_adrv9025_Device_t* device, adi_adrv9025_PllName_e pllName, uint64_t pllLoFrequency_Hz);
射频合成器
收发器包含两个 RF PLL。每个 RF PLL 使用收发器中所有合成器通用的 PLL 模块,采用四核 VCO 模块。配置步骤如下:
设置 RF PLL 的参考信号来自参考生成模块。
RF LO 频率通过在 LOGEN 模块中将 VCO 输出分频得到。
RF LO 的可调范围为 400 MHz 到 6400 MHz。
辅助合成器
辅助合成器用于生成校准所需的信号。配置步骤如下:
使用单核 VCO。
参考频率通过参考时钟生成系统从设备时钟进行缩放。
输出信号连接到切换网络,注入到各种电路中以校准滤波器带宽。
设置 LO 频率
用户可以执行以下命令设置 LO 频率:
若无特殊相位要求,使用命令:
int32_t adi_adrv9025_PllFrequencySet(adi_adrv9025_Device_t* device, adi_adrv9025_PllName_e pllName, uint64_t pllLoFrequency_Hz);
若有特殊相位要求,使用命令:
int32_t adi_adrv9025_PllFrequencySet_v2(adi_adrv9025_Device_t* device, adi_adrv9025_PllConfig_t *pllConfig);
RF PLL 相位同步
此功能允许内部生成的 LO 与施加的参考时钟相位同步。配置步骤如下:
在初始化数据结构中设置相位同步位。
执行 MCS 以使用 SYSREF 脉冲设置 JESD204B 和 JESD204C 的确定性延迟。
示例代码如下:
adi_adrv9025_Init_t deviceInitStruct = { 245760, // deviceClock_kHz 9830400, // clkPllVcoFreq_kHz 9830400, // serdesPllVcoFreq_kHz 0, // ldoSelect 0, // extLoFreq1_kHz 0, // extLoFreq2_kHz ADI_ADRV9025_INTLO_NOOUTPUT, // rfPll1LoMode ADI_ADRV9025_INTLO_NOOUTPUT, // rfPll2LoMode 0, // rfPll1LoOutDivider 0, // rfPll2LoOutDivider ADI_ADRV9025_RFPLLMCS_INIT_AND_CONTTRACK // rfPllPhaseSyncMode };
启用RF PLL 相位同步功能
要启用 LO 相位同步功能,请执行以下步骤:
设置相位同步位。
执行 MCS 以设置 JESD204B 和 JESD204C 的确定性延迟。
通过以上步骤,用户可以有效地配置和使用合成器,确保收发器的高效运行。
SPI配置
SPI 总体概述
SPI 是一种灵活的同步串行通信总线,支持与多种行业标准微控制器和微处理器的无缝接口。每个 SPI 寄存器宽 8 位,包含控制位、状态监视器或其他设置,以控制收发器的所有功能。所有控制功能均通过 API 实现,具体细节在用户指南和软件包文档中提供。
SPI 信号
SPI 总线由以下四个信号组成:
CS(片选):
CS 是主动低的片选信号,由基带处理器驱动到收发器。CS 在第一个 SCLK 上升沿之前被拉低,并在最后一个 SCLK 下降沿之后被拉高。CS 高时,收发器忽略时钟和数据信号。CS 还用于框定与收发器的通信,并在 CS 被拉高时将 SPI 接口返回到准备状态。如果在事务中途强制将 CS 拉高,则会中止部分或全部事务。
SCLK(时钟信号):
SCLK 是由基带处理器驱动的串行接口参考时钟,仅在 CS 低时有效。其频率范围为 10 MHz 至 25 MHz,具体限制取决于收发器系统的时序要求和物理限制。
SDIO 和 SDO:
在 4 线 SPI 配置中,SDIO 是从基带处理器驱动的数据输入线,SDO 是从收发器到基带处理器的数据输出。在 3 线 SPI 配置中,SDIO 作为双向数据信号,既接收也发送串行数据。
SPI 数据传输协议
SPI 的数据传输分为两个阶段:
阶段 1(控制周期):
向收发器写入控制字,控制字提供有关数据字段传输周期的信息。
控制字为 16 位,包含 R/W 位(决定是读还是写操作)和地址位(指定数据传输的起始字节地址)。
阶段 2(数据传输):
数据传输以 8 位字为单位进行,支持单字节和多字节传输。
SPI 配置
SPI 操作通过调用 adi_adrv9025_SpiCfgSet()
函数进行配置,该函数在 adi_adrv9025_Initialize()
中调用。用户可以通过配置 adi_adrv9025_SpiSettings_t
数据结构的成员值来设置 SPI 参数。该结构的主要参数包括:
msbFirst:设置为 0x00 表示最低有效位优先,0x01 表示最高有效位优先。
enSpiStreaming:设置为 0x00 启用单字节数据传输模式,0x01 启用流式传输以提高 SPI 吞吐量。
autoIncAddrUp:设置为 0x00 启用地址自增,0x01 启用地址自减。
fourWireMode:设置为 0x00 使用 3 线 SPI,0x01 使用 4 线 SPI。
单字节和多字节数据传输
单字节数据传输:
当
enSpiStreaming = 0
时,CS 拉低后激活 SCLK 信号,地址从基带处理器传输到收发器。根据 MSB 或 LSB 模式,控制字和数据字节依次传输。多字节数据传输(SPI 流式传输):
当
enSpiStreaming = 1
时,通过多字节数据包传输数据,适用于通过 DMA 控制器间接传输数据到内部 ARM 内存。
SPI 时序
SPI 的时序规范确保数据传输的可靠性。关键参数包括:
tCP:SCLK 周期时间(最小 40 ns,典型 100 ns)。
tMP:SCLK 脉冲宽度(最小 10 ns)。
tSC:CS 设置时间至第一个 SCLK 上升沿(最小 4 ns)。
tCO:SCLK 下降沿至输出数据延迟(最小 10 ns,最大 16 ns)。
系统初始化
1. 预 MCS 初始化 (Pre-MCS Initialization)
1.1 调用初始化函数
adi_adrv9025_Initialize:
设置 SPI 控制器设置:配置 SPI 接口的参数,包括波特率、时序等,以确保与 ADRV9025 的通信顺畅。
设置主偏置:调整主偏置电流,以优化设备性能。
启用引脚垫:确保所有必要的引脚均已启用,以便进行后续操作。
设置设备时钟 HSDIG 除法器:配置时钟分频器,以适应系统需求。
1.2 加载配置数据
加载 PFIR(可编程有限脉冲响应):为每个通道加载 PFIR 系统,以优化信号处理。
加载增益表:将增益表写入设备,以便在发送和接收过程中使用。
加载发射衰减表:配置发射衰减,以控制发射功率。
加载流二进制:将流二进制数据加载到设备中,以支持数据流传输。
加载 ARM 二进制:将 ARM 微控制器的固件加载到设备中,以实现功能控制。
写入初始化结构 / 接收器 / 发射器配置:将接收器和发射器的配置参数写入 ARM 内存,以便后续使用。
1.3 启动 ARM
设置 ARM 运行状态:将 ARM 的运行状态设置为 1,开始执行固件。
等待 ARM 启动完成:监控 ARM 启动过程,确保其正常运行。
验证 ARM 校验和:通过检查 ARM 的校验和,确保固件加载无误。
2. ARM 配置 (ARM Configuration)
2.1 通道配置
接收器 / 发射器通道配置:
配置所有半带滤波器的启用状态和时钟分频器,以确保信号处理的准确性。
2.2 PLL 配置
时钟 PLL 和 SERDES PLL 配置:配置相位锁定环(PLL)和串行数据接口(SERDES)的参数,以确保时钟稳定。
JESD204B 和 JESD204C 配置:根据系统需求配置 JESD204 接口,确保数据传输的高效性。
2.3 切换时钟
ARM 切换到 PLL 输出:在 PLL 锁定后,ARM 切换到 PLL 输出,以确保时钟源的稳定性。
3. 多芯片同步 (MCS)
3.1 启动 MCS 流程
设置 ARM 运行状态为 0:暂停 ARM 的运行,以进行多芯片同步。
启用 MCS 状态机:使状态机准备接收新的 SYSREF 脉冲,以实现同步。
客户发送 SYSREF 脉冲:发送 SYSREF 脉冲以同步内部时钟。
当 MCS 状态机完成时:将 ARM 运行状态设置为 1,恢复 ARM 的运行。
4. 后 MCS 初始化 (Post-MCS Initialization)
4.1 运行 ARM 初始化校准
执行初始化校准:在 MCS 完成后,ARM 进行必要的初始化校准,以确保系统性能。
4.2 启用跟踪校准
启用无线控制引脚模式:根据应用需求决定是否启用无线控制引脚。
设置 GPIO:配置任何用于 ARM 或数据流的 GPIO 引脚,以实现灵活的控制。
数据通信
在 ADRV9025 芯片中,SERIALIZER/DESERIALIZER (SERDES) 接口是基于 JESD204B 和 JESD204C 标准的高速串行接口,用于在收发器和基带处理器之间传输 ADC 和 DAC 样本。以下是该接口的详细讲解:
成帧器负责接口的所有编码功能,并且在接口速率和 RF 接收器和观测接收器数据流组合方面具有高度可配置性,可以单独配置或利用链路共享(接收器和观测接收器数据根据接收器和发射器帧时序在同一通道上进行时间复用),最多可配置 4 个通道。为了协助调试,成帧器包含一个内部数据生成器,允许通过链路发送多个测试模式和 PBRS 模式。
收发器中有三个成帧器,可以灵活地配置输出数据流。接收器和观测接收器的数据样本可以通过交叉开关路由,以将特定数据放在特定通道上。成帧器支持接收器和观测接收器的单独通道,并支持 TDD 模式下的链路共享,通过在接收器时隙期间将接收器数据放在通道上,在发射器时隙期间将观测接收器数据放在同一通道上,减少了所需的物理通道数量。图 13 显示了具有链路共享的用例 83C (UC83C-LS) 的配置,其中所有信号都路由到成帧器 0。成帧器 1和成帧器 2 不需要且未使用。
过采样模式多次对较低采样率的相同转换器样本进行采样,本质上是对转换器输出进行过采样。这允许所有串行器以相同的比特率运行。在过采样模式下,基带处理器必须在传输层之后对数据进行抽取以删除多余的样本。
位重复模式在数据进入串行器之前,在承载较慢数据的一个或多个通道上的成帧器输出处重复每个位。因为这是在 8B/10B 或 64B/66B 编码之后,因此看起来该通道的数据速率比其他通道慢。这本质上扩展了水平方向上的信号眼。在位重复模式下,基带处理器必须能够独立配置各个通道上的通道速率,因为链路较慢的通道必须以比链路较快的通道更慢的通道速率进行采样。
所有成帧器必须共享四个串行器通道。每个成帧器必须配置为 0、1、2 或 4 个通道,以便所有成帧器每次组合不超过 4 个通道。
每个成帧器都能够在启用的通道上生成伪随机位序列 (PRBS)。启用 PRBS 后,可以注入错误。启用 PRBS 生成器会禁用正常的 JESD204B/JESD204C 成帧,并导致链路断开。
可以配置串行器以调整物理信号的幅度和预加重,以帮助对抗由于各种 PCB 走线长度而导致的位错误。
1. SERDES 接口概述
功能:SERDES 接口用于将并行数据转换为串行数据,支持高速数据传输。
标准:基于 JESD204B 和 JESD204C 标准,确保 ADC 和 DAC 样本之间的高效传输。
2. 初始化步骤
2.1 ARM 初始化
步骤:
调用初始化函数:使用
adi_adrv9025_Initialize(&device);
来初始化设备。配置 SPI 设置:在初始化结构中设置 SPI 相关参数,例如波特率、时序等。
运行校准:调用
adi_adrv9025_ArmInitCalibrate(&device);
以确保所有校准步骤在建立 SERDES 链路之前完成。
2.2 建立 SERDES 链路
步骤:
连接 SYSREF 信号:确保 SYSREF 信号已正确连接到收发器。
配置 SERDES 参数:设置 SERDES 相关参数,如通道速率和数据格式,使用
adi_adrv9025_SerCfgSet(&device, &serCfg);
。启用 SERDES 链路:调用
adi_adrv9025_SerLinkEnable(&device);
来启用 SERDES 链路。
3. 数据传输步骤
3.1 JESD204B 模式
步骤:
配置 JESD204B 参数:设置转换器数量、通道数量和转换器分辨率,使用
adi_adrv9025_SetJesd204BParams(&device, M, L, N);
。发送 K28.5 字符:启动链路时发送 K28.5 字符,使用
adi_adrv9025_SendK28_5(&device);
。确认接收端状态:检查接收端是否成功识别 K28.5 字符,并确认进入 ILAS 状态。
3.2 JESD204C 模式
步骤:
配置 JESD204C 参数:设置扩展多块数量和通道数量,使用
adi_adrv9025_SetJesd204CParams(&device, E, L);
。发送初始化命令:通过调用
adi_adrv9025_SendInitCmd(&device);
来启动链路。启用跟踪校准:保持链路参数稳定,调用
adi_adrv9025_EnableTrackingCal(&device);
。
4. FIFO 深度检查
步骤:
获取 FIFO 深度:使用
adi_adrv9025_CheckFifoDepth(&device, &fifoDepth);
获取 FIFO 深度信息。调整 LMFC 偏移:根据 FIFO 深度的反馈,调用
adi_adrv9025_SetLmfcOffset(&device, lmfcOffset);
来优化 FIFO 使用情况。
5. 调试和优化
5.1 PRBS 测试
步骤:
设置 PRBS 数据源:选择 PRBS 数据源,调用
adi_adrv9025_FramerTestDataSet(&device, PRBS_TYPE);
。启用 PRBS 检查器:监控错误,调用
adi_adrv9025_EnablePrbsChecker(&device);
。调整发射器设置:配置发射器的幅度和预加重,使用
adi_adrv9025_SetTxAmplitude(&device, amplitude);
和adi_adrv9025_SetTxPreEmphasis(&device, preEmphasis);
。
5.2 眼图测试
步骤:
连接高频探头:将高频探头连接到 SERDES 输出。
进行静态相位偏移 (SPO) 测试:调整采样点以找到最佳眼宽,使用
adi_adrv9025_SetSamplingPoint(&device, samplingPoint);
。