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

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
云解析 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


目录
相关文章
|
10天前
|
机器学习/深度学习 人工智能 自然语言处理
AI技术深度解析:从基础到应用的全面介绍
人工智能(AI)技术的迅猛发展,正在深刻改变着我们的生活和工作方式。从自然语言处理(NLP)到机器学习,从神经网络到大型语言模型(LLM),AI技术的每一次进步都带来了前所未有的机遇和挑战。本文将从背景、历史、业务场景、Python代码示例、流程图以及如何上手等多个方面,对AI技术中的关键组件进行深度解析,为读者呈现一个全面而深入的AI技术世界。
68 10
|
21天前
|
机器学习/深度学习 搜索推荐 API
淘宝/天猫按图搜索(拍立淘)API的深度解析与应用实践
在数字化时代,电商行业迅速发展,个性化、便捷性和高效性成为消费者新需求。淘宝/天猫推出的拍立淘API,利用图像识别技术,提供精准的购物搜索体验。本文深入探讨其原理、优势、应用场景及实现方法,助力电商技术和用户体验提升。
|
27天前
|
编译器 PHP 开发者
PHP 8新特性解析与实战应用####
随着PHP 8的发布,这一经典编程语言迎来了诸多令人瞩目的新特性和性能优化。本文将深入探讨PHP 8中的几个关键新功能,包括命名参数、JIT编译器、新的字符串处理函数以及错误处理改进等。通过实际代码示例,展示如何在现有项目中有效利用这些新特性来提升代码的可读性、维护性和执行效率。无论你是PHP新手还是经验丰富的开发者,本文都将为你提供实用的技术洞察和最佳实践指导。 ####
29 1
|
28天前
|
存储 供应链 算法
深入解析区块链技术的核心原理与应用前景
深入解析区块链技术的核心原理与应用前景
55 0
|
29天前
|
存储 监控 API
深入解析微服务架构及其在现代应用中的实践
深入解析微服务架构及其在现代应用中的实践
40 0
|
1月前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
76 2
|
2月前
|
缓存 Java 程序员
Map - LinkedHashSet&Map源码解析
Map - LinkedHashSet&Map源码解析
81 0
|
2月前
|
算法 Java 容器
Map - HashSet & HashMap 源码解析
Map - HashSet & HashMap 源码解析
65 0
|
2天前
|
存储 设计模式 算法
【23种设计模式·全精解析 | 行为型模式篇】11种行为型模式的结构概述、案例实现、优缺点、扩展对比、使用场景、源码解析
行为型模式用于描述程序在运行时复杂的流程控制,即描述多个类或对象之间怎样相互协作共同完成单个对象都无法单独完成的任务,它涉及算法与对象间职责的分配。行为型模式分为类行为模式和对象行为模式,前者采用继承机制来在类间分派行为,后者采用组合或聚合在对象间分配行为。由于组合关系或聚合关系比继承关系耦合度低,满足“合成复用原则”,所以对象行为模式比类行为模式具有更大的灵活性。 行为型模式分为: • 模板方法模式 • 策略模式 • 命令模式 • 职责链模式 • 状态模式 • 观察者模式 • 中介者模式 • 迭代器模式 • 访问者模式 • 备忘录模式 • 解释器模式
【23种设计模式·全精解析 | 行为型模式篇】11种行为型模式的结构概述、案例实现、优缺点、扩展对比、使用场景、源码解析
|
2天前
|
设计模式 存储 安全
【23种设计模式·全精解析 | 创建型模式篇】5种创建型模式的结构概述、实现、优缺点、扩展、使用场景、源码解析
结构型模式描述如何将类或对象按某种布局组成更大的结构。它分为类结构型模式和对象结构型模式,前者采用继承机制来组织接口和类,后者釆用组合或聚合来组合对象。由于组合关系或聚合关系比继承关系耦合度低,满足“合成复用原则”,所以对象结构型模式比类结构型模式具有更大的灵活性。 结构型模式分为以下 7 种: • 代理模式 • 适配器模式 • 装饰者模式 • 桥接模式 • 外观模式 • 组合模式 • 享元模式
【23种设计模式·全精解析 | 创建型模式篇】5种创建型模式的结构概述、实现、优缺点、扩展、使用场景、源码解析

热门文章

最新文章

推荐镜像

更多