RFSoC应用笔记 - RF数据转换器 -05- RFSoC关键配置之RF-ADC内部解析(三)

本文涉及的产品
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
简介: RFSoC应用笔记 - RF数据转换器 -05- RFSoC关键配置之RF-ADC内部解析(三)

前言


RFSoC中最重要的部分是射频直采ADC和DAC的配置,因此了解内部相关原理结构可以帮助我们更好理解相关功能配置参数含义。本文参考官方手册,主要对RFSoC ADC的校准机制进行介绍。

RF-ADC 校准机制


Zynq UltraScale+ RFSoC 中的每个 RF-ADC 都建立在交错架构中的多个子 RF-ADC 之上。 交织过程的性质要求执行复杂的校准算法,以从 RF-ADC 获得最佳动态范围性能。 RFSoC 中的每个 RF-ADC(双通道或四通道变体)都有一个内置校准过程,包括一个前台校准 (FG CAL) 步骤和一个后台校准 (BG CAL) 步骤。 FG CAL 步骤仅在 RF-ADC 上电状态机(启动初始化)期间执行。 BG CAL 步骤是一个设计为在 RF-ADC 运行期间可选操作的过程。 每个 RF-ADC 的两个校准步骤都是并行且独立地执行的。 下图显示了其中一个 RF-ADC 的框图,其中 N 个子 RF-ADC 中的每一个都有内部校准块。

image.png

image.png

校准子系统由三个主要模块组成,旨在估计和纠正交错子 RF-ADC 的各种缺陷和失配。

时间交错偏移校准模块 (Time Interleaved Offset Calibration Block,OCB)

该模块校正每个子 RF-ADC 的 DC 偏移。 任何未校正的残余 DC 偏移在 k * Fs/N 处显示为杂散,其中 Fs 是 RF-ADC 的复合采样率,N 是交错在一起的子 RF-ADC 的数量,k = 0, 1, 2, … N。对于 Dual RFADC tile 变体,N 为 8,对于 Quad RF-ADC tile 变体,N 为 4。 该块进一步分为两个子块,称为 OCB1 和 OCB2。 OCB2 仅在 FG CAL 期间运行,而 OCB1 在 FG 和 BG CAL 期间运行。 OCB2 模块在启动时消除子 RF-ADC 的偏移。

OCB1 模块在 BG 校准过程中连续消除子 RF-ADC 偏移,而不会影响偏移位置处的输入信号内容。

增益校准模块 (Gain Calibration Block,GCB)


此模块校正交错子 RF-ADC 之间的增益差异。 任何残余差异都会导致 +/-fin + (k/N) * Fs 处的杂散信号,其中 Fs 是 RFADC 的采样率,N 是子 RF-ADC 的数量,fin 是输入的频率 信号。 GCB 需要存在输入信号。 此输入信号的最小功率为 -40 dBFS。

f = k * Fs/(2N) 处的信号仓被忽略,不计入信号功率。 只要输入信号功率下降到 -40 dBFS 以下超过 100 μs,该模块就应该处于冻结模式。

时间偏移校准模块 (Time Skew Calibration Block,TSCB)


该模块校正交错子 RF-ADC 之间的时间偏移。 任何残留差异都可能导致 +/-fin + (k/N)*Fs 处的杂散信号,其中 Fs 是 RFADC 的采样率,N 是子 RF-ADC 的数量,fin 是输入的频率 信号。 TSCB 要求存在输入信号。 此输入信号的最小功率为 -40 dBFS。

只要输入信号功率下降到 -40 dBFS 以下超过 100 μs,该模块就应该处于冻结模式。

Foreground校准过程


前台校准步骤是 RF-ADC 启动初始化状态机序列的一部分。 这是由启动 IP 管理和执行的。 前台校准的目的是通过 OCB1 和 OCB2 模块为子 RF-ADC 偏移和采样开关的偏斜提供校正。 然后 OCB2 块被冻结,并且在操作模式期间不再更新。 在此过程中,理想情况下,在任何交织偏移位置都应该没有信号能量,即频率 = k*Fs/N。 因此在这个过程中输入应该被静音。 这通常通过在 RF-ADC 启动过程完成后对接收器前端启用进行排序来实现。 在前台校准过程结束时,OCB2 模块被冻结,并且 OCB1、Time Skew 和 Gain Calibration 模块被设置为允许在后台运行。

Background校准过程


在 RF-ADC 成功启动初始化结束时,启用背景校准。 背景校准的目的是为子 RF-ADC 的环境变化(主要是温度变化)引入的各种偏差和失配提供实时调整。 在后台(实时)运行的块包括 OCB1、GCB 和 TSCB。 如前所述,OCB1 在后台运行以调整由温度变化引入的残余 sub-RFADC 偏移电平,而不会影响输入信号内容。

k*Fs/N 处的信号内容不受此块的影响。

增益校准模块 (GCB) 和时间偏移校准模块 (TSCB) 分别为子 RF-ADC 增益和时间偏移提供校正。 两个模块都使用并依赖输入信号来估计和校正偏斜。 当输入信号降至 -40 dBFs 以下时,使用该信号进行计算不再有效。 因此这两个块的最佳使用是动态控制这两个块的系数更新(冻结和恢复)。

冻结和恢复这两个模块的控制是使用 ADVANCE 控制面板中的 Vivado IP 端口 RF-ADC 校准冻结端口来实现的。 CAL 冻结端口可独立用于每个 RF-ADC,包括冻结控制信号 (int_cal_freeze) 和状态信号 (cal_frozen)。 冻结控制信号上的高电平有效冻结两个块以进行计算和系数更新。 在冻结事件之前计算的系数继续有效,直到下一个启用(解冻)事件,这对应于冻结控制端口上的低信号。 在控制信号电平发生变化时,模块改变状态所需的时间约为 7 μs。 请注意,这明显短于 GCB 和 TSCB 的时间常数。 必须小心确保冻结控制端口的变化速度不会超过 7 μs 间隔。 可以根据应用需要以多种不同方法之一提供冻结控制机制。

可以在 PL 中实现一个简单的信号电平检测器来监控 RF-ADC 的数字输出电平并控制背景校准的状态。 通常,RF-ADC 输出绝对值的泄漏积分器和迟滞计数器就足够了。

对于在接收器上具有预定占空比的应用,例如 TDD-LTE 无线电,TX/RX 切换信号可以与电平检测器结合使用,以提供对 GCB 和 TSCB 模块的更精确控制。

请注意,在 RF-ADC 初始启动时,GCB 和 TSCB 并未处于最佳性能,因为它们都需要存在一些信号来训练系数。在 AutoCal 模式(第 3 代)RF-ADC 采样时钟中,这两个模块的收敛时间常数约为 222 或 223。 对于需要快速收敛的应用,请考虑提供一个训练信号,该信号最终可以在启动状态机完成后立即关闭以训练 GCB 和 TSCB 模块。 这对于输入信号非常突发且在系统启动期间具有低占空比和低功耗的应用特别有用。

子 RF-ADC 输出


如框图所示,每个子 RF-ADC 都独立地位于单独的数据流中,直到它们被 QMC 模块、复数混频器混合,然后被 DDC 过滤。

OCB2、GCB 和 TSCB 系数独立应用于每个子 RF-ADC,如果您将冻结端口永久设置为高电平有效,则可以有效地禁用这些系数。 如果 QMC 模块和 DDC 模块(因此是混频器)被旁路,则子 RF-ADC 数据流将独立输出到逻辑。

关键 CAL 特性和指导摘要


Fs/N 的输入信号内容,其中 N = 8 和 4 分别用于双路和四路 RF-ADC 块,在 OCB2 的前台校准期间必须静音。 k*Fs/N bin 处的信号分量应小于 -95 dBFs。 当输入信号下降到 -40 dBFs 以下超过 100 μs 时,应将增益和时间偏移校准模块(GCB、TSCB)置于冻结模式。 一个简单的检测器模块可用于管理冷冻端口的动态控制。 当 RF-ADC 以最大采样率的 0.75 倍或更慢的速度运行 Dual 和 Quad 器件时,应禁用抖动模式。 对于适用的系统,在将系统切换到实时操作之前,还可以使用训练信号来校准 GCB 和 TSCB。 如果不使用 DDC 功能,则可在可编程逻辑接口处获得子 RF-ADC 数据输出流。

校准模式


要达到指定的 RF-ADC 性能,必须根据信号位置正确设置某些校准模式。 可用的校准模式如下:

  • 模式 1,针对输入信号优化,位于 0.4 * Fs 到 Fs/2。
  • 模式 2,针对输入信号优化,位于 0 到 0.4 * Fs 。

上述位置是指混叠后第一奈奎斯特频段的输入信号。

  • AutoCal 模式:此模式在第 3 代中可用。AutoCal 模式无需手动选择模式 1 和模式 2 校准,并优化 RF-ADC 性能,无论信号位置如何。

建议在 AutoCal 模式和传统模式 1 和模式 2 之间进行测试,以评估哪种模式能够提供理想的 RF-ADC 性能。 设置为 AutoCal 模式会影响收敛时间。

获取/设置校准系数


除了自动校准外,所有四个校准模块(OCB1、OCB2、GCB、TSCB)都可用于获取和设置用户系数。 应用程序读回校准解冻时生成的系数,并在需要时恢复它们; 这有助于在输入信号不满足校准要求时保持 RF-ADC 性能。 此功能适用于 IP 向导中的每个 RF-ADC。 启用此功能会增加 IP 的大小。

使用 XRFdc_SetCalCoefficients API 恢复校准系数会自动禁用实时校准。 提供 XRFdc_DisableCoefficientsOverride API 以禁用此用户系数覆盖模式并重新启用实时校准。 禁用实时校准时,实时端口校准冻结无效。

注意:以下是适用于 Gen 1 和 Gen 2 设备的两个限制。

GCB 的用户系数获取/设置仅在 DDC 通道处于 1x(旁路)、NCO 关闭模式时有效,并且每个 AXI4-Stream 的样本对于 Quad RF-ADC 必须是 4 个样本,对于 Quad RF-ADC 必须是 8 个样本 双 RF-ADC

校准模块 OCB1 不支持校准系数获取/设置。

设置系数 RFdc API 示例


以下示例代码显示了 TSCB 的用户系数设置。

u32 Status = XRFDC_FAILURE;
XRFdc_Calibration_Coefficients Coeffs;
//使用下面的样本系数
Coeffs.Coeff0 = 146;
Coeffs.Coeff1 = 255;
Coeffs.Coeff2 = 255;
Coeffs.Coeff3 = 255;
Coeffs.Coeff4 = 113;
Coeffs.Coeff5 = 255;
Coeffs.Coeff6 = 255
Coeffs.Coeff7 = 255;
Status = XRFdc_SetCalCoeffients( RFdcInstPtr, Tile, Block,
XRFDC_CAL_BLOCK_TSCB, &Coeffs);
If (Status != XRFDC_SUCCESS) {
    /*handle error*/
}  

reference


  1. PG269


目录
相关文章
RS-485网络中的标准端接与交流电端接应用解析
RS-485,作为一种广泛应用的差分信号传输标准,因其传输距离远、抗干扰能力强、支持多点通讯等优点,在工业自动化、智能建筑、交通运输等领域得到了广泛应用。在构建RS-485网络时,端接技术扮演着至关重要的角色,它直接影响到网络的信号完整性、稳定性和通信质量。
|
13天前
|
自然语言处理 并行计算 数据可视化
免费开源法律文档比对工具:技术解析与应用
这款免费开源的法律文档比对工具,利用先进的文本分析和自然语言处理技术,实现高效、精准的文档比对。核心功能包括文本差异检测、多格式支持、语义分析、批量处理及用户友好的可视化界面,广泛适用于法律行业的各类场景。
|
7天前
|
存储 供应链 物联网
深入解析区块链技术的核心原理与应用前景
深入解析区块链技术的核心原理与应用前景
|
7天前
|
存储 供应链 安全
深度解析区块链技术的核心原理与应用前景
深度解析区块链技术的核心原理与应用前景
15 0
|
11天前
|
SQL 监控 安全
员工上网行为监控软件:SQL 在数据查询监控中的应用解析
在数字化办公环境中,员工上网行为监控软件对企业网络安全和管理至关重要。通过 SQL 查询和分析数据库中的数据,企业可以精准了解员工的上网行为,包括基础查询、复杂条件查询、数据统计与分析等,从而提高网络管理和安全防护的效率。
23 0
|
7天前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
22 2
|
1月前
|
缓存 Java 程序员
Map - LinkedHashSet&Map源码解析
Map - LinkedHashSet&Map源码解析
67 0
|
1月前
|
算法 Java 容器
Map - HashSet & HashMap 源码解析
Map - HashSet & HashMap 源码解析
54 0
|
1月前
|
存储 Java C++
Collection-PriorityQueue源码解析
Collection-PriorityQueue源码解析
60 0
|
1月前
|
安全 Java 程序员
Collection-Stack&Queue源码解析
Collection-Stack&Queue源码解析
83 0

推荐镜像

更多