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

简介: 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


目录
相关文章
|
5月前
|
机器学习/深度学习 文字识别 监控
安全监控系统:技术架构与应用解析
该系统采用模块化设计,集成了行为识别、视频监控、人脸识别、危险区域检测、异常事件检测、日志追溯及消息推送等功能,并可选配OCR识别模块。基于深度学习与开源技术栈(如TensorFlow、OpenCV),系统具备高精度、低延迟特点,支持实时分析儿童行为、监测危险区域、识别异常事件,并将结果推送给教师或家长。同时兼容主流硬件,支持本地化推理与分布式处理,确保可靠性与扩展性,为幼儿园安全管理提供全面解决方案。
249 3
|
6月前
|
人工智能 API 开发者
HarmonyOS Next~鸿蒙应用框架开发实战:Ability Kit与Accessibility Kit深度解析
本书深入解析HarmonyOS应用框架开发,聚焦Ability Kit与Accessibility Kit两大核心组件。Ability Kit通过FA/PA双引擎架构实现跨设备协同,支持分布式能力开发;Accessibility Kit提供无障碍服务构建方案,优化用户体验。内容涵盖设计理念、实践案例、调试优化及未来演进方向,助力开发者打造高效、包容的分布式应用,体现HarmonyOS生态价值。
307 27
|
6月前
|
存储 弹性计算 安全
阿里云服务器ECS通用型规格族解析:实例规格、性能基准与场景化应用指南
作为ECS产品矩阵中的核心序列,通用型规格族以均衡的计算、内存、网络和存储性能著称,覆盖从基础应用到高性能计算的广泛场景。通用型规格族属于独享型云服务器,实例采用固定CPU调度模式,实例的每个CPU绑定到一个物理CPU超线程,实例间无CPU资源争抢,实例计算性能稳定且有严格的SLA保证,在性能上会更加稳定,高负载情况下也不会出现资源争夺现象。本文将深度解析阿里云ECS通用型规格族的技术架构、实例规格特性、最新价格政策及典型应用场景,为云计算选型提供参考。
|
6月前
|
数据采集 机器学习/深度学习 存储
可穿戴设备如何重塑医疗健康:技术解析与应用实战
可穿戴设备如何重塑医疗健康:技术解析与应用实战
226 4
|
10月前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
262 2
|
6月前
|
算法 测试技术 C语言
深入理解HTTP/2:nghttp2库源码解析及客户端实现示例
通过解析nghttp2库的源码和实现一个简单的HTTP/2客户端示例,本文详细介绍了HTTP/2的关键特性和nghttp2的核心实现。了解这些内容可以帮助开发者更好地理解HTTP/2协议,提高Web应用的性能和用户体验。对于实际开发中的应用,可以根据需要进一步优化和扩展代码,以满足具体需求。
615 29
|
6月前
|
前端开发 数据安全/隐私保护 CDN
二次元聚合短视频解析去水印系统源码
二次元聚合短视频解析去水印系统源码
180 4
|
6月前
|
JavaScript 算法 前端开发
JS数组操作方法全景图,全网最全构建完整知识网络!js数组操作方法全集(实现筛选转换、随机排序洗牌算法、复杂数据处理统计等情景详解,附大量源码和易错点解析)
这些方法提供了对数组的全面操作,包括搜索、遍历、转换和聚合等。通过分为原地操作方法、非原地操作方法和其他方法便于您理解和记忆,并熟悉他们各自的使用方法与使用范围。详细的案例与进阶使用,方便您理解数组操作的底层原理。链式调用的几个案例,让您玩转数组操作。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
6月前
|
移动开发 前端开发 JavaScript
从入门到精通:H5游戏源码开发技术全解析与未来趋势洞察
H5游戏凭借其跨平台、易传播和开发成本低的优势,近年来发展迅猛。接下来,让我们深入了解 H5 游戏源码开发的技术教程以及未来的发展趋势。
|
6月前
|
存储 前端开发 JavaScript
在线教育网课系统源码开发指南:功能设计与技术实现深度解析
在线教育网课系统是近年来发展迅猛的教育形式的核心载体,具备用户管理、课程管理、教学互动、学习评估等功能。本文从功能和技术两方面解析其源码开发,涵盖前端(HTML5、CSS3、JavaScript等)、后端(Java、Python等)、流媒体及云计算技术,并强调安全性、稳定性和用户体验的重要性。

推荐镜像

更多
  • DNS