RFSoC应用笔记 - RF数据转换器 -12- RFSoC关键配置之其他功能(三)

2023-10-30 20:30

本文主要是介绍RFSoC应用笔记 - RF数据转换器 -12- RFSoC关键配置之其他功能(三),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

本文参考官方手册,主要对RFSOC的上电顺序、TDD 模式、比特流重配置等内容进行介绍。

文章目录

  • 前言
  • 上电序列
    • RF-ADC 模拟电源电源排序(第 3 代)
    • 开机顺序步骤
    • 重新启动所有 Tile
    • Restart Tile
    • Power-Down Tile
  • TDD 模式(第 3 代)
    • TDD 省电模式
    • TDD RX/Obs Sharing Mode
  • 比特流重配置
  • 与 AXI4-Stream 接口的接口
  • reference

上电序列

Tile 由不同的独立模块组成,由不同的电源供电,并由不同版本的主时钟提供时钟。 瓦片必须以已知的顺序出现,转换器才能正常工作。 当使用比特流配置或重新配置器件时,上电状态机会自动运行,但也可以在软件控制下随时重新运行。

仅当所有外部时钟都运行且稳定(无故障)时,才应启动 IP。如果需要延迟启动直到外部时钟有效,IP AXI4-Lite 复位 (s_axi_aresetn) 可以保持低电平。

image-20220727104628724

RF-ADC 模拟电源电源排序(第 3 代)

RF-ADC 电源有一个推荐的上电和断电顺序,以确保安全运行。 下图显示了 ADC_AVCC 电源应在 ADC_AVCCAUX 电源上电后上电并在 ADC_AVCCAUX 电源下电前断电的推荐顺序。只要遵循/遵守顺序,供电斜坡之间就没有特定的延迟时间。

image-20220727104717476

如果实施的电源管理具有大多数稳压器常见的 Power Good 和 Enable 引脚,则可以启用此功能。 ADC_AVCCAUX 的电源良好指示灯可用作 ADC_AVCC 稳压器的使能控制。 Xilinx 推荐用于数据转换器模拟电源的全开关模式电源解决方案,因为大多数应用的电源效率高于基于低压差 (LDO) 的解决方案。

开机顺序步骤

Sequence NumberStateDescription
0-2Device Power-up and ConfigurationVivado 中设置的配置参数被编程到转换器中。 然后状态机等待外部电源上电。 在硬件中,这可能需要长达 25 毫秒。 然而,这在行为仿真中减少到 200 μs。
3-5Power Supply Adjustment配置设置传播到转换器的模拟部分。 此外,RF DAC 中的稳压器、偏置设置和 RF-ADC 中的共模输出缓冲器均已启用。
6-10Clock Configuration状态机首先检测到转换器中是否存在良好的时钟。 然后,如果启用了 PLL,它会检查 PLL 锁定。 然后将时钟释放到转换器的数字部分。
11-13Converter Calibration (ADC only)校准在 RF-ADC 中进行。 在硬件中,第 1 代/第 2 代可能需要大约 10 毫秒,第 3 代需要 63 毫秒。但是,在行为仿真中,这会减少到 60 微秒。 在第 3 代器件中,共模过压和欠压信号会在校准过程开始之前进行监测。 在开始校准之前,两个信号都必须为低电平。
14Wait for deassertion of AXI4- Stream reset在 AXI4-Stream 时钟稳定之前,应断言 Tile 的 AXI4-Stream 复位。 例如,如果时钟由 MMCM 提供,则应保持复位直到它实现锁定。 状态机在此状态下等待,直到复位无效。
15Done状态机已完成上电序列。

重新启动所有 Tile

要在软件控制下重新启动所有 Tile 并在初始化后执行完整的上电序列,请执行以下步骤:

  1. 将 0x0000_0001 写入主复位寄存器以重新启动所有 Tile(开始和结束状态恢复为其默认值,因此 无需将 0x0000_000F 写入单个 tile 重启状态寄存器)。
  2. 轮询每个单独的块的块重启上电状态机寄存器以检查操作是否完成。 当该寄存器读取全零时,上电序列完成。

Restart Tile

要在软件控制下在初始化后重新启动 Tile 并执行完整的开机顺序,请执行以下步骤:

  1. 任何一个即可
    a. 将 0x0000_000F 写入 tile< n > 重新启动状态寄存器以使用 Vivado IDE 配置重新启动;
    b. 将 0x0000_010F 写入 tile< n > 重启状态寄存器以使用当前配置(可能与 Vivado 设置不同)重启。

  2. 将 0x0000_0001 写入 tile< n > 重启上电状态机寄存器以重启 tile。

  3. 轮询 tile< n > Restart Power-On State Machine 寄存器检查操作是否完成; 当该寄存器读取全零时,上电序列完成。

Power-Down Tile

要关闭一个 tile,重新运行通电序列的方式与重新启动一个 tile 的方式相同,但 End State 设置为 3 而不是 F。将 End State 设置为 3 可以清除通电序列器 所有寄存器,而无需执行完整的上电序列。 执行以下步骤来关闭 tile:

  1. 将 0x0000_0003 写入各个 tile 重启状态寄存器。 在第 3 代器件中使用多块同步时,如果块在 SYSREF 链中,则应将 0x0000_0006 写入各个块重启状态寄存器。

  2. 将 0x0000_0001 写入 tile< n > 重启上电状态机寄存器以重启 tile。

  3. 轮询 tile< n > Restart Power-On State Machine 寄存器检查操作是否完成; 当该寄存器读取全零时,掉电序列完成。

TDD 模式(第 3 代)

时分双工 (TDD) 是一种无线系统架构,它使用相同的载波频率进行发送和接收。 这意味着 TX (RF-DAC) 和 RX (RFADC) 不需要同时处于活动状态。RFSoC 支持以下两种模式:

  • TDD 省电模式:RFSoC 允许独立的 RF-ADC 或 RF-DAC 通道在任何给定时刻断电和唤醒,从而产生可观的系统功耗储蓄。
  • TDD RX/Obs 共享模式:RFSoC 允许在不同时隙的 RX 和观察 (Obs) 模式之间共享 RF-ADC 的子集,两个 RF-ADC 抽取状态(数据速率)保持在 它们之间的动态切换。

下图显示了 RFSoC 在 TDD 应用中的工作方式。

image-20220727105551517

TDD 省电模式

在 TDD 省电模式下,每个转换器通道都使用 PL 输入独立控制。 瓦片同步、时钟和通道状态被保留。 当 RF-ADC 处于断电和唤醒状态时,无需用户干预即可自动处理交错校准。下图说明了 TDD 省电模式。

image-20220727105738261

实时 tdd_mode 信号可用于进入和退出每个转换器的省电模式。在掉电状态下,RF-ADC 和 RF-DAC 都输出 0。当存在多个转换器通道时,Zynq UltraScale+ RFSoC RF 数据转换器 IP 内核使用小的内部延迟来错开通道的启动,以防止电源上出现大的步进电流。

TDD RX/Obs Sharing Mode

在 TX 时隙中,一些 RX 通道可以被复用为 TX 观察通道进行 PA 线性化。 观察通道,一般来说,比RX通道需要更宽的带宽; 这会导致 RX 和 Obs 配置之间的抽取因子和数据速率不同。

在 IP 配置中启用 TDD RX/Obs 共享模式时,每个 RF-ADC 通道都有两个 AXI4Stream 接口可用。 请注意,它们不会同时处于活动状态。
每个 AXI4-Stream 的抽取因子、输出数据速率和 FIFO 配置都独立保留,并且可以使用 PL 输入 (tdd_obs) 动态切换。 请注意,RX 和 Obs 配置共享 RF-ADC 中的其他功能块,例如复混频器/NCO、DSA 等。例如,为 RX 和 Obs 通道选择相同的实数/复数模式和相同的 NCO 频率。 当 RF-ADC 从一种模式切换到另一种模式时,DSA 值会有所不同。 您应该每次通过实时端口或 RFdc API 设置所需的 DSA 值。

多图块同步 (MTS) 仅对 RX 模式有效,在 Obs 模式下不支持。MTS 保持其状态,不会在 RX/Obs 模式切换时受到影响。

两个 PL 时钟(AXIS_aclk、AXIS_obs_aclk)可用于不同的数据速率。下图说明了 TDD RX/Obs 共享模式。

image-20220727110155759

比特流重配置

当有一个或多个块在运行时,要加载新比特流或将当前比特流重新加载到RFSoC 中,必须遵循以下步骤以确保安全运行。 在重新配置事件期间未能遵循这些步骤可能会影响部件的使用寿命可靠性。

  1. 使模拟前端静音以避免 TX 和 RX 信号。
  2. 使用 XRFDC_Shutdown API 命令或 Power-Down Tile 寄存器单独关闭所有使用的 RF-ADC 和 RF-DAC 块。
  3. 加载新的比特流或重新加载现有的比特流。
  4. 配置完成后,IP 中的上电状态机将按照正确的顺序启动磁贴。

与 AXI4-Stream 接口的接口

AXI4-Stream 接口的数量和每条总线的宽度取决于 Vivado 中选择的操作模式所需的带宽。 内插和抽取可以降低 AXI4-Stream 带宽要求,并且可以在 IP 内核配置屏幕上选择每个 AXI4Stream 接口的宽度以及时钟速率和内插/抽取设置。

下图显示了 4 GSPS 的单个 RF-DAC 数据输入,在 500 MHz 运行的单个 AXI4-Stream 接口上具有 8 倍的 I 和 Q 插值。

image-20220727110800956

下图显示了在 500 MHz 运行的单个 AXI4-Stream 接口上具有 4x 抽取和 I 和 Q 的 RF-ADC。

image-20220727110942357

下图显示了 4 GSPS 的 2x32 位 RF-DAC,具有真实数据、8x 插值,并以 250 MHz AXI4-Stream 时钟运行。

image-20220727111018788

reference

1.PG269

这篇关于RFSoC应用笔记 - RF数据转换器 -12- RFSoC关键配置之其他功能(三)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/310401

相关文章

Python使用Pandas对比两列数据取最大值的五种方法

《Python使用Pandas对比两列数据取最大值的五种方法》本文主要介绍使用Pandas对比两列数据取最大值的五种方法,包括使用max方法、apply方法结合lambda函数、函数、clip方法、w... 目录引言一、使用max方法二、使用apply方法结合lambda函数三、使用np.maximum函数

SpringBoot+MyBatis-Flex配置ProxySQL的实现步骤

《SpringBoot+MyBatis-Flex配置ProxySQL的实现步骤》本文主要介绍了SpringBoot+MyBatis-Flex配置ProxySQL的实现步骤,文中通过示例代码介绍的非常详... 目录 目标 步骤 1:确保 ProxySQL 和 mysql 主从同步已正确配置ProxySQL 的

Spring Boot整合log4j2日志配置的详细教程

《SpringBoot整合log4j2日志配置的详细教程》:本文主要介绍SpringBoot项目中整合Log4j2日志框架的步骤和配置,包括常用日志框架的比较、配置参数介绍、Log4j2配置详解... 目录前言一、常用日志框架二、配置参数介绍1. 日志级别2. 输出形式3. 日志格式3.1 PatternL

Redis的数据过期策略和数据淘汰策略

《Redis的数据过期策略和数据淘汰策略》本文主要介绍了Redis的数据过期策略和数据淘汰策略,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录一、数据过期策略1、惰性删除2、定期删除二、数据淘汰策略1、数据淘汰策略概念2、8种数据淘汰策略

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

配置springboot项目动静分离打包分离lib方式

《配置springboot项目动静分离打包分离lib方式》本文介绍了如何将SpringBoot工程中的静态资源和配置文件分离出来,以减少jar包大小,方便修改配置文件,通过在jar包同级目录创建co... 目录前言1、分离配置文件原理2、pom文件配置3、使用package命令打包4、总结前言默认情况下,

Python给Excel写入数据的四种方法小结

《Python给Excel写入数据的四种方法小结》本文主要介绍了Python给Excel写入数据的四种方法小结,包含openpyxl库、xlsxwriter库、pandas库和win32com库,具有... 目录1. 使用 openpyxl 库2. 使用 xlsxwriter 库3. 使用 pandas 库

SpringBoot定制JSON响应数据的实现

《SpringBoot定制JSON响应数据的实现》本文主要介绍了SpringBoot定制JSON响应数据的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们... 目录前言一、如何使用@jsonView这个注解?二、应用场景三、实战案例注解方式编程方式总结 前言

SpringBoot整合DeepSeek实现AI对话功能

《SpringBoot整合DeepSeek实现AI对话功能》本文介绍了如何在SpringBoot项目中整合DeepSeekAPI和本地私有化部署DeepSeekR1模型,通过SpringAI框架简化了... 目录Spring AI版本依赖整合DeepSeek API key整合本地化部署的DeepSeek

Python实现多路视频多窗口播放功能

《Python实现多路视频多窗口播放功能》这篇文章主要为大家详细介绍了Python实现多路视频多窗口播放功能的相关知识,文中的示例代码讲解详细,有需要的小伙伴可以跟随小编一起学习一下... 目录一、python实现多路视频播放功能二、代码实现三、打包代码实现总结一、python实现多路视频播放功能服务端开