RFSOC学习记录(一)RF data converter总览

最近使用了27DR的板子,是第一次接触RFSOC的产品,遇到了很多个奇怪的问题,写篇文章总结一下我对RF data converter这个ip核的看法

这是我遇到过配置最复杂的ip核,包括接口数量,时钟结构种种方面的问题,我将通过几个部分分别写下我对这个IP核的理解

1. 概述

ZU27DR属于GEN1的架构,包含8×ADC + 8×DAC,ADC的最高采样率为4.096GHz,DAC的最高采样率为6.554GHz,每个通道支持独立配置采样率,混频模式等操作

模块组成有ADC子系统,包含模拟采样 + DDC(数字下变频) + 抽取滤波的功能

​编辑

还有DAC 子系统,有插值滤波 + DUC(数字上变频) + 模拟输出的功能​编辑

ADC和DAC以tile的形式存在,像27dr这块板子 是4个adc tile,每个tile两片adc,2个dac tile,每个tile四片dac。

Gen 1的架构支持: 1x, 2x, 4x, 8x的插值模式,插值的具体作用之后会讲到

IP核整体集成高速 ADC/DAC 转换、数字下变频(DDC)、数字上变频(DUC)、NCO 混频、插值/抽取滤波等功能。

2. 时钟系统

主要时钟有

  1. Samlping clk: AD/DA的采样时钟,通常为GHz级,时钟大小为驱动采样的实际转换速度
  2. Reference clk: 为内部PLL提供参考输入
  3. AXI clk:驱动FPGA数据通路的时钟速率,通常在100-500mhz左右
  4. clk_out:从ip输出的时钟速率,与采样率有关

具体每个时钟的来源去向会在下一篇文章中详细提到

3. 数据接口

这是ip核完全配置完毕之后向外的接口图

编辑

接口名字 IN/OUT 驱动时钟 功能
s_axi_aclk IN N/A AXI时钟输入
sysref_in IN N/A 外部模拟SYSREF输入
user_sysref_adc IN m0_axis_aclk 来自PL端自己配置的设计的RF-ADC SYSREF输入;与RF-ADC模块0 PL时钟同步
user_sysref_dac IN s0_axis_aclk 来自PL端自己配置的设计的RF-DAC SYSREF输入;与RF-DAC模块0 PL时钟同步
adc/dacX_clk IN N/A RF-ADC/DAC片内PLL参考时钟或采样时钟输入
sX_axis_aclk IN N/A 用于RF-DAC数据输入的时钟输入
sX_axis_aresetn IN N/A sX_axis_aclk域的低电平有效同步复位。在sX_axis_aclk稳定之前应保持低电平
sXY_axis_tdataM:0 IN sX_axis_aclk AXI 4-流数据输入
sXY_axis_tvalid IN sX_axis_aclk AXI 4-Stream有效
sXY_axis_tready OUT sX_axis_aclk AXI 4-Stream就绪
vout OUT N/A DAC模拟输出
mX_axis_aclk IN N/A 用于RF-ADC数据输出的时钟输入
mXY_axis_tdataM:0 OUT mX_axis_aclk AXI 4-流数据输出
mXY_axis_tvalid OUT mX_axis_aclk AXI 4-Stream有效
mXY_axis_tready IN mX_axis_aclk AXI 4-Stream就绪
vin IN N/A ADC模拟输入
irq OUT s_axi_aclk 中断输出

以上就是ip核接口的名字属性以及功能简介

4. 功能配置

  • DAC 功能
  • 插值倍数:1× / 2× / 4× / 8×
  • Mixer 类型:Fine / Coarse / Bypass
  • 输出模式:Real / I/Q
  • NCO 频率分辨率、相位累加器位宽
  • Output Mode:SNR Optimize / SFDR Optimize
  • ADC 功能
  • 抽取倍数:1× / 2× / 4× / 8×
  • Mixer 类型:Fine / Coarse / Bypass
  • 输入模式:Real / I/Q
  • DDC 功能配置
  • 采样对齐与通道同步

相关推荐
YuePeng9 小时前
写了五年注解的低代码框架,2.0 决定让你连注解都不用写了
github·产品
小白ai9 小时前
从"能 ping 通吗"到"为什么上不了网"——我写了一个网络故障诊断引擎
github
徐小夕11 小时前
jitword 协同文档3.2发布:打造浏览器中最强word编辑器
前端·架构·github
齐翊13 小时前
分享一个在 Claude Code 里 [同时] 用多个 ApiKey 的方法
程序员·github·agent
A_Lonely_Cat14 小时前
记一次 GitHub 幽灵协作者大清洗:强制重写 Git 历史与穿透 CDN 缓存实践
git·github
极光技术熊1 天前
Spring AI 从入门到精通:构建你的 AI 开发知识体系
后端·github
用户39483951075531 天前
怎么让我的 Agent 真正"懂"我?——关于记忆、经验学习与预测的一些真实体验
github
远航_2 天前
git submodule
前端·后端·github
fthux2 天前
如果你用 Mac,那你可能需要 Noti Shift
macos·开源·github
程序员天天困2 天前
Loop Engineering 实战:/goal 命令让 AI 自己写完整项目
github