RFSoC应用笔记 - RF数据转换器 -09- RFSoC关键配置之RF-DAC内部解析(3.1)

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

前言


RFSoC中最重要的部分是射频直采ADC和DAC的配置,因此了解内部相关原理结构可以帮助我们更好理解相关功能配置参数含义。本文参考官方手册,主要对高采样率模式、多频带操作以及IP的数据接口进行介绍。

RF-DAC 高采样率模式(第 3 代)


为了提高采样率,可以使用以下两种配置:

绕过 DUC:RF-DAC 工作在 Real to Real 模式。 这种配置实现了最大指定和全带宽的采样率,但没有 DUC 功能(插值、混频器、多频带、QMC)。


启用 DUC:必须启用 DUC 之后的附加图像抑制 (IMR) 插值滤波器阶段。 这将数据速率限制为在 IMR 插值滤波器之前为 IMR 模式指定的速率。

下图说明了带有 IMR 滤波器的 RF-DAC 数据路径。

image.png

IMR 滤波器可以配置为高通或低通模式。 滤波器是对称的,在 80% 奈奎斯特频带内具有 60 dBc 的抑制和 ±0.01dB 的平坦度。

在低通模式下配置 IMR 滤波器时,来自 DUC 的原始信号被传递到 RF-DAC; 在高通模式下配置 IMR 时,第二奈奎斯特频带(在 2x 插值之前)中的图像信号被传递到 RF-DAC。 注意高通滤波器后的信号是原始信号的逆拷贝; 反转 NCO 的符号可以纠正这一点。

启用 2x IMR 滤波器时,RF-DAC 高采样率模式下可用的插值因子如下所列:

2x(仅限 IMR)、4x、6x、8x、10x、12x、16x、20x、24x、32x、40x , 48 倍, 80 倍

Image Rejection Filter Details (Gen 3)


IMR 插值滤波器的系数和频率响应如下所示。

IMR 滤波器系数

N(bit) = 12
Center Tap: 4096 for low pass; -4096 for high pass
First Half: 10,0,-23,0,48,0,-89,0,154,0,-256,0,432,0,-813,0,2588

image.png

下图显示了高通和低通滤波器模式之间交叉区域的放大图。

image.png

RF-DAC 数据通路模式(第 3 代)


RF-DAC 数字数据通路旨在权衡性能、灵活性和功耗。 最大采样率和可用输出带宽取决于某些数据路径配置。 下表结合了不同的功能块,列出了所有可用的 RF-DAC 数据路径模式。

image.png

  1. 本表中可用带宽仅供参考。
  2. 模式 4(DUC 旁路)下可实现的最大 RF-DAC 速率由 PL 时序收敛决定。
  3. IMR 高通模式移位原始信号频率并反转频谱。

当 Zynq UltraScale+ RFSoC Gen 1/Gen 2 建议使用具有完全奈奎斯特区的 DUC 或其旁路分别对应于模式 1 和模式 4 时,在 Gen 3 中添加模式 2 和模式 3 将使您能够达到最大采样 RF-DAC 的速率,包括使用 DUC 信号处理。 由于 DUC 以采样率的一半速度运行,并且在 RF-DAC 子系统中启用了额外的 IMR 滤波器,这可以实现性能和功耗的最佳平衡。

带 IMR 的频率规划(第 3 代)


接近奈奎斯特频率的信号将导致 2x 插值滤波器后对图像的抑制下降。 假设我们在启用 IMR 滤波器时需要抑制 60 dBc,则应避免接近奈奎斯特频率的 10% 带宽(低通模式下为 0.2Fs-0.25Fs,高通模式下为 0.25Fs-0.3Fs)。

下图显示了启用 IMR 滤波器时应避免在第一和第二奈奎斯特频带中的频带。 放宽镜像抑制和平坦度要求将扩大可用带宽。

image.png

RF-DAC 多频带操作


多频带操作是将两个或多个基带信号上变频(混合)到单个载波,然后组合以生成单个复合模拟输出。 在 RFDAC 块中,这涉及将多个 DUC 模块组合在一起以驱动模拟输出。

RF-DAC 多频段功能支持以下配置:

  • 每对2x 多频段实部数据。 启用该对的一个 RF-DAC 输出; 另一个是关闭的。
  • 每对2x 多频段I/Q 数据。 这对中的两个 RF-DAC 均已启用,一个用于 I,一个用于 Q。
  • 每个块4x 多波段真实数据。 四个输入流组合在一起以在实模式下驱动 DAC0 输出。 所有其他 RF-DAC 均关闭。
  • 每块4x 多频段I/Q 数据。 四个输入流组合起来驱动 DAC0 输出作为 I 和 DAC1 输出作为 Q。所有其他 RF-DAC 都关闭。

多频带对中的输出之间的延迟是匹配的,并且对之间的延迟是匹配的,与模式无关。

当多频段关闭时,I 和 Q 数据路径直接通过多频段逻辑模块(如下所示)。 当多频段开启时,每个数据路径的 I 和 Q 被组合并传递到 RF-DAC 前面的链中的下一个 DSP 模块。 每个 RFDAC 可以打开多频段,仅用于 I 数据路径或 Q 数据路径,或同时用于 I 和 Q。

为避免两个信号相加时的潜在溢出,在每个 I 和 Q 的加法器之后引入了 -6 dBV 缩放。因此,对双频带应用 -6 dBV 缩放,对四频带应用 -12 dBV 缩放。 可以通过 RFdc API 禁用默认的 -6 dB 缩放。

image.png

RF-DAC 多频段是通过将多个 RF-DAC DUC 模块连接到一个 RF-DAC 模拟模块来实现的。 每个 DUC 块处理一个数据带,并且可以将其混合到任何载波频率。 然后将输出求和,然后发送到模拟数据路径和 RF-DAC 输出。 如下图所示。

image.png

显示了两个示例多频带配置。 RF-DAC 块由四个 DUC 模块(数字数据路径)和四个 RF-DAC 模拟模块(模拟数据路径)组成。 在左手示例中,图块中较低的 RF-DAC 对配置为 2x 实数多频带,而顶部对是独立的 RF-DAC。 因为底部对使用了两个 DUC 块,所以 DAC1 关闭,DAC0 输出双频信号。 在右侧示例中,下对配置为 2x I/Q 多频段,而上对被关闭。

双 RF-DAC Tile (Gen 3)


每个双 RF-DAC Tile 还集成了四个 DUC 块。 下图显示了实数和复数输出中的双频和四频配置。

image.png

RF-DAC 可编程逻辑数据接口


RF-DAC 块和 PL 之间的数据接口通过使用 AXI4-Stream 协议的并行数据流实现。 这些数据流输入到FIFO,在用户应用程序和 RF-DAC 块之间提供灵活的接口。 每个流的最大接口宽度为 256 位,最多可表示 16 个 16 位小端字。 数据流和相关的 FIFO 具有可配置的字数,可以灵活地在字数和时钟频率之间进行选择,以与 PL 设计接口。

每个 tile 有四个流,命名约定为 sXY_axis,其中 X 表示 RF-DAC tile 编号,Y 表示输入到该 tile 中 FIFO 的流。 下图显示了接口。

image.png

接口数据格式


数据流代表真实数据或 I/Q 数据,具体取决于 RF-DAC 块配置。 对于 RFDAC 块,给定的流要么是真实的,要么是 I/Q 交错的。 如果 RF-DAC 配置有 I/Q 输入数据,则流的偶数样本代表 I 数据,奇数样本代表 Q 数据。 这些实数和 I/Q 配置显示在 RF-DAC IP 配置中。

在每个配置中,一个 tile 中所有启用的 RF-DAC FIFO 在上电序列完成时开始接收数据。 这由 sXY_axis_tready 输出的断言指示。 如果此时任何流的数据无效,抑制它的逻辑应包含在 PL 中。RF-DAC 不使用 sXY_axis_tvalid 输入来选通数据。

RF-DAC 接口数据和时钟速率 每个通道到 PL 的总数据速率由许多因素决定,RF-DAC 采样率、插值因子和 I/Q 或实数数据格式。 通过允许选择每个时钟的字数,FIFO 提供了一种将此数据速率连接到 PL 设计的时钟频率的方法。 唯一的要求是接口字数和时钟速率相结合,以匹配 RF-DAC 通道所需的数据速率,并且一个 tile 中的所有 RF-DAC 共享一个公共接口时钟频率。 这由以下等式表示:

image.png

IP 内核根据 RF-DAC 采样率和数据路径设置自动计算数据速率。 如下图所示。

image.png

每个瓦片都有独立的时钟; 采样率、时钟率、PL 率和配置可以在每个瓦片的基础上指定。

PL 时钟接口


所有四个分片流的 AXI4-Stream 数据与来自 PL 的时钟同步,PL 的命名约定为 sX_axis_aclk,其中 X 代表 RF-DAC 分片编号。 此时钟必须处于 IP 内核配置屏幕上显示的所需 AXI4-Stream 时钟指定的频率。

RF-DAC 块还输出可供 PL 使用的时钟。 该输出时钟是 RF-DAC 采样时钟的分频版本,因此对其进行频率锁定。 此时钟具有 clk_dacX 的命名约定,其中 X 表示 RF-DAC 块编号。

接口 FIFO 溢出


通过FIFO 的数据速率在 RFDAC 块运行期间必须保持恒定,PL 时钟和 RF-DAC 模拟采样时钟域之间没有频率漂移。 如果这些域之间存在频率不匹配,则可能发生 FIFO 溢出。

接口 FIFO 具有确定是否发生 FIFO 溢出的内置特性,该特性通过 IP 中断机制标记给 PL。溢出有两种类型:实际溢出和边际溢出。 实际溢出表明 FIFO 读/写指针重叠,这意味着数据没有在域之间安全传输,必须采取措施。 边际溢出是一个警告,表示 FIFO 读/写指针接近重叠。 正常操作期间不应发生溢出,如果发现溢出,则表明 PL/PCB/IP 内核的时钟基础结构配置不正确。

同步


FIFO 为 RF-DAC 块提供灵活的数据和时钟接口。 但是,与所有双时钟 FIFO 一样,延迟可能会在一个 tile 和另一个 tile 之间有所不同。 虽然 tile 中的所有通道都具有相同的延迟,但某些应用程序可能需要使用多个 RF-DAC tile,并且需要在所有 RF-DAC 通道中匹配延迟。 这些应用程序可以使用多块同步 (MTS) 功能来实现这种块间同步。

RF-DAC IP 配置


RF-DAC 可以配置为多种模式。 Vivado中的 IP 内核配置屏幕上提供了基本配置选项,并且可以使用 RFdc 驱动程序 API 配置高级操作模式。

双 RF-DAC 配置选项(第 3 代)


双 RF-DAC 实输入到实输出(第 3 代)


image.png

image.png

下图显示了一个双路 RF-DAC,它具有实输入到实输出、1x 插值、混频器被绕过并以 400 MHz AXI4-Stream 时钟运行。

image.png

双路 RF-DAC I/Q 输入到实输出(第 3 代)


image.png

image.png

下图显示了一个双路 RF-DAC,它具有 I/Q 输入到实际输出、2x 插值、混频器被绕过并以 400 MHz AXI4-Stream 时钟运行。 输入由每个 AXI4-Stream 周期的 16 个样本组成(8 个 I 字和 8 个 Q 字)。

image.png

插值是 x2,因为 AXI4-Stream 接口上可用的带宽是有限的。

目录
相关文章
RS-485网络中的标准端接与交流电端接应用解析
RS-485,作为一种广泛应用的差分信号传输标准,因其传输距离远、抗干扰能力强、支持多点通讯等优点,在工业自动化、智能建筑、交通运输等领域得到了广泛应用。在构建RS-485网络时,端接技术扮演着至关重要的角色,它直接影响到网络的信号完整性、稳定性和通信质量。
|
13天前
|
自然语言处理 并行计算 数据可视化
免费开源法律文档比对工具:技术解析与应用
这款免费开源的法律文档比对工具,利用先进的文本分析和自然语言处理技术,实现高效、精准的文档比对。核心功能包括文本差异检测、多格式支持、语义分析、批量处理及用户友好的可视化界面,广泛适用于法律行业的各类场景。
|
15天前
|
存储 分布式计算 Java
存算分离与计算向数据移动:深度解析与Java实现
【11月更文挑战第10天】随着大数据时代的到来,数据量的激增给传统的数据处理架构带来了巨大的挑战。传统的“存算一体”架构,即计算资源与存储资源紧密耦合,在处理海量数据时逐渐显露出其局限性。为了应对这些挑战,存算分离(Disaggregated Storage and Compute Architecture)和计算向数据移动(Compute Moves to Data)两种架构应运而生,成为大数据处理领域的热门技术。
37 2
|
7天前
|
存储 供应链 物联网
深入解析区块链技术的核心原理与应用前景
深入解析区块链技术的核心原理与应用前景
|
7天前
|
存储 供应链 安全
深度解析区块链技术的核心原理与应用前景
深度解析区块链技术的核心原理与应用前景
15 0
|
11天前
|
SQL 监控 安全
员工上网行为监控软件:SQL 在数据查询监控中的应用解析
在数字化办公环境中,员工上网行为监控软件对企业网络安全和管理至关重要。通过 SQL 查询和分析数据库中的数据,企业可以精准了解员工的上网行为,包括基础查询、复杂条件查询、数据统计与分析等,从而提高网络管理和安全防护的效率。
23 0
|
13天前
|
前端开发 中间件 PHP
PHP框架深度解析:Laravel的魔力与实战应用####
【10月更文挑战第31天】 本文作为一篇技术深度好文,旨在揭开PHP领域璀璨明星——Laravel框架的神秘面纱。不同于常规摘要的概括性介绍,本文将直接以一段引人入胜的技术剖析开场,随后通过具体代码示例和实战案例,逐步引导读者领略Laravel在简化开发流程、提升代码质量及促进团队协作方面的卓越能力。无论你是PHP初学者渴望深入了解现代开发范式,还是经验丰富的开发者寻求优化项目架构的灵感,本文都将为你提供宝贵的见解与实践指导。 ####
|
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

推荐镜像

更多