作者:Fisher Yang,文章来源:FPGA FAE技术分享选集
1 AMD Xilinx RFSoC 系列器件简介
1.1 器件架构
AMD XilinxZynq UltraScale+ RFSoC 将高性能 RF-ADC 和 RF-DAC 直接集成到 SoC 内部,用直接射频采样(Direct RF Sampling)取代了传统的分立数据转换器 + JESD204 接口方案。
RFSoC 可以理解为在 MPSoC 内部增加了一个 RFDC(RF Data Converter)模块。RFDC 通过 AXI4-Stream 与 PL 互联,硬件设计只需额外完成 RFDC 的电源与时钟设计即可。
1.2 TILE结构
RFDC 内部以Tile为单位组成:每个 Tile 包含若干转换器通道、一套时钟分配电路和可选内部 PLL。同一 Tile 内的通道始终对齐,但跨 Tile 不保证对齐。
2 RFSoC同步原理
2.1 为什么需要同步
多 Tile 同步MTS(Multi-Tile Synchronization)是实现大规模 MIMO(Massive MIMO)、波束赋形(Beamforming)以及相控阵雷达(Phased Array Radar)应用的关键技术。
图2-1 波束形成应用:多天线阵元需要相位对齐的多通道数据转换器
在 RF Data Converters 启动时,同一 Tile 内的转换器始终对齐,但不保证确定性延时(deterministic latency);跨 Tile 系统中既不保证确定性延时,也不保证延时对齐(latency alignment)。
Latency alignment 意味着所有通道的相对延时相同;Determinism 意味着每次上电后总延时一致。某些应用需要同时满足两者。
图 2-2 Latency Alignment 与 Determinism 的区别
2.2 延时不一致的四个来源
MTS 只提供数字对齐,PCB 和时钟规则必须另行遵守(参考PCB Design User Guide)。
图 2-3 跨 Tile 延时不匹配的四个来源
① Sample Clock Skew:各 Tile 时钟输入必须对齐,任何不匹配意味着不在同一时刻采样。无法内部校正,必须 PCB 走线等长。
② Tile PLL Divider Phase:不同 Tile 的 PLL 输出分频器上电后可能相位不同,需SYSREF 同步复位。
③ DUC/DDC Digital Clock Divider Phase:Tile 数字部分用采样时钟分频,跨 Tile 可能不同相位,需统一复位。
④ Dual-Clock FIFO Read/Write pointer release:FIFO 可能有 M 或 M+1 读周期延时,需校正。
2.3 MTS的硬件前提条件
1. ADC/DAC Tile 的 Sample Clock 必须相位对齐,同时到达 Tile 时钟输入端。
2. DAC 输出路径和 ADC 输入路径必须 delay matched。
3. Analog SYSREF 和 PL SYSREF 必须路由到 RFSoC 时保持上电到上电后的固定相位关系。
2.4 IP配置与软件配置
在 Vivado 中必须对需要同步的 Tile 使能 MTS。编号最低的 ADC Tile 和 DAC Tile 必须在同步组中。
图 2-4 RFDC IP 中使能MTS 配置
软件中必须包含 MTS API 调用:
图 2-5 include MTS API
建议将 metal log 级别设为 DEBUG:
图 2-6 Metal Log 设为 DEBUG 级别
声明 ADC 和 DAC 同步组结构,指定需同步的 Tile,调用XRFdc_MultiConverter_Sync:
图 2-7 XRFdc_MultiConverter_Sync 调用示例
2.5 MTS内部机制详解
2.5.1 步骤 1:DTC 扫描捕获 SYSREF
API 运行后,SYSREF 被分配到所有参与同步的 Tile,然后用模拟采样时钟通过延时抽头链(Delay Tap Chain, DTC)安全捕获。如果 Tile PLL 使能,还会用 PLL VCO 捕获。
DTC 从tap 64 开始扫描,寻找 SYSREF 位于采样时钟周期中央的最佳位置。Metal log 示例:
DTC 扫描中 0 表示时钟周期稳定区域,1/2/3 表示跳变。# 是起始位置,* 是最终选定位置。参考 Tile 的选定码作为下一个 Tile 的种子。
SYSREF信号质量要求:SYSREF 必须是高质量、自由运行的低抖动方波。如果有噪声,DTC 扫描会在不同 Tile 中捕获到不同位置,导致 Tile 间错位。
2.5.2 步骤 2:同步复位分频器
安全捕获 SYSREF 后,用它同步复位各 Tile 内部所有数字分频器。SYSREF 频率必须是GCD(DAC_Sample_Rate/16, ADC_Sample_Rate/16) 以及所有 PL 侧采样时钟的整数子倍频。
分频器复位后,所有 Tile 有了公共时钟基准——解决了来源 2(PLL 分频器相位)和来源 3(数字时钟分频器相位)。
2.5.3 步骤 3:PL SYSREF 捕获与 Marker 测量
PL User SYSREF 必须在 PL Clock 域(以及 AXI-Stream 域)被捕获。这就是 SYSREF 必须是所有 PL 时钟整数子倍频的原因。
图 2-8 PL SYSREF 捕获机制(来源:AMD)
MTS 比较 PL SYSREF 和 Tile SYSREF 跨各 Tile 的飞行时间。由于它们在芯片封装管脚处具有恒定相位关系,任何跨 Tile 延时差异只能来自 FIFO。IP 向 FIFO 插入 Marker bit,在读侧停止 Marker 计数器,然后比较各 Tile 计数器值并调整 FIFO 读指针——解决来源 4。
Metal log 中的 Marker 和延时信息:
2.6 MTS 报告与确定性延时
图 2-9 MTS Sync Report 截图
确定性延时(Deterministic Latency):MTS 结构中的Target_Latency成员可设置目标延时。方法:先设为0 运行一次,取最大延时测量值加余量作为目标。对 RF-ADC,余量须为 FIFO 读字数 x 抽取因子的整数倍;对 RF-DAC,设 16。
MTS 默认行为是对齐Tile。如果目标设太低 metal log 会警告无法达到目标,并且它只会同步tiles。
2.7 对齐效果
遵循所有规则后,可达到 +/-1 T1 时钟周期内的对齐精度。实际中亚 T1范围的残余错位来自 PCB 走线(模拟 I/O 和 Tile 输入时钟)。
图 2-10 MTS 后 8 路ADC 单音输入对齐效果
3 RFSoC MTS 测试环境搭建及测试数据分析
测试概况
评估板:2 块 ZU67DR(板子 A、板子 B)。
设备:时钟源、功分器。
3.1 测试环境
a. 时钟源输出单音接1分4功分器分别给2块板子的2路ADC,SMA线等长
b. 板子参考时钟接信号源 10 MHz 参考
c. 一块板子出触发信号,触发自己和另一块板子
d. 板子 A IP 192.168.110.92,板子 B IP 192.168.110.93
e. 板子接 12V 电源
图3-1 双板MTS 测试实物连接
图3-2 双板MTS 测试实物连接
图3-3 双板MTS 测试实物连接
3.2 测试步骤
a. 上电
b. 打开测试软件 Connect 连接板子 A 和 B
c. 点击 MTS 按钮执行同步
d. 点击 Capture 采集数据
图3-4 上位机测试软件界面
图3-5 上位机测试软件界面
3.3 测试结果
所有结果为相对 A_CH1 的相位差和时间延时。流程:上电-MTS-采集-断电,循环测试复位重复性。
原时钟源 5 次循环
更换低相噪时钟源 10次循环
测试结果分析
● 同板通道 A_CH2:最大偏差仅 0.01-0.02 度 / 0.1-0.2 ps
● 跨板通道:原时钟源 ~14-20 ps,换低相噪源后 ~5.5-6.3 ps
● 时钟源质量直接影响跨板一致性,偏差改善约 3 倍
● 固定相位差属正常:MTS 整数样点对齐后的亚样点残差,可后续校准
4 总结
RFSoC 通过 SYSREF + RFDC MTS API 实现多通道确定性同步。MTS 在 IP 内部通过 DTC 安全捕获 SYSREF、同步复位分频器、Marker 测量 FIFO 延时来对齐各 Tile。
多芯片系统中,在所有芯片间分配同源低偏斜时钟与 SYSREF,逐芯片执行 MTS 并指定统一 Target_Latency即可实现跨板确定性对齐。
遵循所有 PCB 和时钟规则后,对齐精度在 +/-1 T1 内。亚 T1 残余来自 PCB 走线差异,MTS 无法消除。
参考资料
如果您在RFSoC同步方面有问题,欢迎联系:
simonyang@comtech.cn
charlesxu@comtech.cn