RFSoC应用笔记 - RF数据转换器 -09- RFSoC关键配置之RF-DAC内部解析(3.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 接口上可用的带宽是有限的。

目录
相关文章
|
5天前
|
Java
并发编程之线程池的应用以及一些小细节的详细解析
并发编程之线程池的应用以及一些小细节的详细解析
17 0
|
15天前
|
数据采集 消息中间件 监控
Flume数据采集系统设计与配置实战:面试经验与必备知识点解析
【4月更文挑战第9天】本文深入探讨Apache Flume的数据采集系统设计,涵盖Flume Agent、Source、Channel、Sink的核心概念及其配置实战。通过实例展示了文件日志收集、网络数据接收、命令行实时数据捕获等场景。此外,还讨论了Flume与同类工具的对比、实际项目挑战及解决方案,以及未来发展趋势。提供配置示例帮助理解Flume在数据集成、日志收集中的应用,为面试准备提供扎实的理论与实践支持。
25 1
|
24天前
|
存储 缓存 安全
掌握Go语言:Go语言中的字典魔法,高效数据检索与应用实例解析(18)
掌握Go语言:Go语言中的字典魔法,高效数据检索与应用实例解析(18)
|
2天前
|
C++
C++:深度解析与实战应用
C++:深度解析与实战应用
7 1
|
2天前
|
大数据 图形学 云计算
EDA设计:技术深度解析与实战代码应用
EDA设计:技术深度解析与实战代码应用
|
2天前
|
分布式计算 网络协议 Hadoop
Hadoop节点扩展配置DNS和主机名解析
【4月更文挑战第19天】
10 1
|
4天前
|
JavaScript IDE 编译器
TypeScript中模块路径解析与配置:深入剖析与最佳实践
【4月更文挑战第23天】本文深入探讨了TypeScript中模块路径解析的原理与配置优化,包括相对路径、Node.js模块解析和路径别名。通过配置`baseUrl`、`paths`、`rootDirs`以及避免裸模块名,可以提升开发效率和代码质量。建议使用路径别名增强代码可读性,保持路径结构一致性,并利用IDE插件辅助开发。正确配置能有效降低维护成本,构建高效可维护的代码库。
|
5天前
|
JSON Java Maven
Javaweb之SpringBootWeb案例之自动配置以及常见方案的详细解析
Javaweb之SpringBootWeb案例之自动配置以及常见方案的详细解析
7 0
Javaweb之SpringBootWeb案例之自动配置以及常见方案的详细解析
|
10天前
|
域名解析 网络协议 Linux
TCP/IP协议及配置、IP地址、子网掩码、网关地址、DNS与DHCP介绍
TCP/IP协议及配置、IP地址、子网掩码、网关地址、DNS与DHCP介绍
|
10天前
|
Java API 数据库
深入解析:使用JPA进行Java对象关系映射的实践与应用
【4月更文挑战第17天】Java Persistence API (JPA) 是Java EE中的ORM规范,简化数据库操作,让开发者以面向对象方式处理数据,提高效率和代码可读性。它定义了Java对象与数据库表的映射,通过@Entity等注解标记实体类,如User类映射到users表。JPA提供持久化上下文和EntityManager,管理对象生命周期,支持Criteria API和JPQL进行数据库查询。同时,JPA包含事务管理功能,保证数据一致性。使用JPA能降低开发复杂性,但需根据项目需求灵活应用,结合框架如Spring Data JPA,进一步提升开发便捷性。

推荐镜像

更多