news 2026/6/10 16:27:17

RFSOC学习记录(四)MTS时序分析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
RFSOC学习记录(四)MTS时序分析

MIMO等场景中,ADC DAC的多发多收机制是很重要的,在如今多数的使用场景里,RFSOC这样射频直采的模式逐渐代替了超外差接收机,零中频接收机,而多发多收的板卡每一个ADC/DAC系统都有自己的独立采样时钟,如果这些事中相位不同,哪怕是几十皮秒的频偏,不同片的波形输出就会存在相位偏差,对于多通道波束成形与MIMO阵列信号处理等应用时都会产生灾难性的影响,于是我们就需要确保所有通道在同一个采样瞬间采同一个值,这就是MTS的首要目的

MTS(Multi-Tile Synchronization)

多片同步,是指在系统中存在多个采样器(ADC)或多个数模器(DAC)时,要保证它们之间的 采样时刻、相位、数据帧边界完全一致。

确保所有通道在同一个采样瞬间采同一个模拟值,时间上零点需要对齐

保证 JESD204 接口的帧边界一致,让每个通道输出的数据帧在 FPGA 中同时到达同一个时刻

确保多通道输出信号具有相同相位基准,实现相位相干

原理

在pg269的官方文档里面,我们可以看到MTS涉及到的信号以及步骤是这样的:MTS 用一路 SYSREF(外部/模拟与 PL 捕获的 SYSREF) 作为全局定时参考,通过板内分发和软件 API(IP 内的同步状态机 + RFdc 驱动)对所有参与 tile 的分频器相位、FIFO 延时和可动态更新的数字功能(如 NCO/混频、QMC、coarse delay)进行可重复、确定性对齐,以保证多 tile、甚至多器件间的样本时序与数字更新同时发生

image

一些关键信息

SYSREF

这个信号在上一讲的时候其实已经介绍过了,SYSREF是多设备(FPGA adc dac)之间的共同时钟标记,告诉这些设备在某个时刻,所有的帧边界需要对齐,其是由PLL2的VCO时钟经过内部逻辑分频产生,可以配置为单次脉冲(One-shot),周期性脉冲(periodic)和禁止输出(powerdown),是周期性、低抖动的参考脉冲流(通<10 MHz,且是各相关时钟的整数子倍数),用于对齐 divider 相位(Tn clocks)、以及触发动态更新事件(NCO 相位/频率写入)。模拟 SYSREF 和 PL SYSREF 必须相同频率且在需要确定性延迟时保持恒定相位关系。

模拟 SYSREF 从器件外部进入主 tile(tile0),由该 tile 内部平衡分发到其它 tiles;PL_SYSREF 则进入 PL 用于捕获并传递给 IP核使用(user_sysref_adc / user_sysref_dac)

SYNC

特别要注意的一点,这里的SYNC和上一讲讲的SYNC不是同一个信号!!上一讲的SYNC是外部/PL端的SYNC,用来控制触发产生SYSREF,而现在说的SYNC是RFDC IP内部生成的同步脉冲,是由捕获到的 SYSREF 上升沿产生,用于 tile 对齐

SYNC 是在 MTS 流程中,由主 tile 捕获到的 SYSREF 上升沿触发生成的内部tile 级同步脉冲(Tile Synchronization Pulse),用于同步 tile 内部的分频器、相位累加器和 FIFO 读写指针,从而实现 tile 间的相位对齐。当外部 SYSREF 输入到tile 0时,tile 内部会捕获它的上升沿,并据此生成 SYNC 脉冲分发给不同的tile

SYNC 一旦产生,会复位或重新对齐 每个 tile 内部的采样分频器相位;对齐 tile 内的 FIFO 读/写指针;对齐内部数字路径(Mixer、NCO、Interpolator/Decimator)中的相位起点;对齐数据流到 PL 的时序,使不同 tile 输出的第一个有效样本落在同一时刻。

PL SYSREF 捕获与 PL 时钟要求

PL_SYSREF 与 PL_clock 必须是差分信号,且 PL_clock 要放在专用时钟引脚,AXI-Stream 时钟应由 PL 时钟生成(不要用 core 的时钟输出来驱动 PL)。SYSREF 的频率必须既是转换器内部时钟的整数子倍,又是 PL_clock 的整数子倍(以保证在 PL 中被同步采样)

模拟SYSREF和PL SYSREF必须在MTS期间为连续时钟

主从tile

在 MTS 中,tile 0(ADC/DAC 的 Tile_0)必须是 active 并作为 master。所有参与 MTS 的 tiles 必须采样率相同、相同 decimation/interpolation、相同 samples per AXI4-Stream word 和相同 AXI4-Stream 时钟率,且 ADC tiles 在一个组内必须是相同类型(Quad 或 Dual)。否则 MTS 不被支持

MTS步骤

1. 打开时钟与 SYSREF 源(analog 与 PL),确保 PLL/时钟 lock。任何时钟改变都必须重新同步(Both analog and digital clocks must be running and locked before synchronization begins.

Any change to the clocks requires resynchronization.)

2. 模拟 SYSREF 捕获(在主 tile),IP 把捕获到的上升沿转换为内部 sync 脉冲并平衡分发到所有 tiles。这是针对每个芯片完成的,需要多个周期性SYSREF脉冲,以便确定最佳延迟值。因此,MTS过程需要周期性SYSREF时钟(Ensures SYSREF is safely captured by auto-adjusting the internal SYSREF programmable delay for setup/hold. This is done for each tile and requires a number of periodic SYSREF pulses so that the optimal delay value can be determined. As a result, a periodic SYSREF clock is needed for the MTS process.)

3. 复位时钟分频器,当所有芯片都安全捕获SYSREF时,后续SYSREF边沿用于同步所有分频器相位(When all tiles are safely capturing SYSREF, a subsequent SYSREF edge is used to synchronize all divider phases.)

4. 自动测量并校准 FIFO 延时,IP + 驱动自动完成测量/调整,以匹配每个 tile 的延迟,可以运行API读取返回值以确认(Analog SYSREF and PL_Sysref signals are used to measure the latency through each FIFO.Use the measurements across all tiles to adjust the latencies so that they match.)

5. 对数字功能(NCO、QMC、Coarse Delay 等)进行 SYSREF 触发的动态更新(先在所有 tile 写好目标寄存器并“arming”,再用 SYSREF 触发,确保所有 tile 在同一 SYSREF 边沿生效)。对于 NCO 更新,必须在更新前关断/门控 SYSREF(或使用 IP 的内部门控机制),以避免边沿落在更新过程中导致不一致;之后再恢复 SYSREF(When digital features which will impact the tile alignment are enabled, the related digital function blocks must be initialized/updated with SYSREF dynamic update event. These digital features include fine mixer/NCO, QMC, and coarse delay.)

下图见pg269文档的第201页

image

常见问题

1. 必须确认所有参与 MTS 的 tiles(ADC/DAC)采样率、decimation/interpolation、samples-per-AXI-word、AXI 时钟一致

2. SYSREF不可以是单脉冲触发一次性对齐,必须要是连续时钟一遍ip核捕获

3. PL SYSREF 必须被 PL clock 同步采样,且 AXI4-Stream 时钟应由 PL clock 生成,不能由ip核的clk_out输出,这点在学习记录(二)里面已经提及过

4. SYSREF捕获正确但是数据没对齐可能是FIFO的延迟差异,未正确应用 Target_Latency,导致部分 tile 输出比其他早几个时钟,或者PL 端复位时序问题,MTS 之后立刻启动 AXI 流,部分 tile 尚未出数据。可以等5-10us再拉起axi逻辑

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 15:14:54

为 AI 智能体打造高效的上下文工程 -- Anthropic

上下文工程是构建高效AI智能体的关键方法论。由于大模型存在上下文衰减和注意力预算限制&#xff0c;需要谨慎管理系统指令、工具、外部数据和消息历史。核心策略是使用最少但信息量高的token&#xff0c;如采用即时上下文检索、通过压缩和结构化笔记应对长周期任务。上下文工程…

作者头像 李华
网站建设 2026/6/9 0:55:21

Thinkphp和Laravel摄影作品图片分享网站_1ao52-vue

目录具体实现截图项目开发技术介绍PHP核心代码部分展示系统结论源码获取/同行可拿货,招校园代理具体实现截图 本系统&#xff08;程序源码数据库调试部署讲解&#xff09;带文档1万字以上 同行可拿货,招校园代理 Thinkphp和Laravel摄影作品图片分享网站_1ao52-vue 项目…

作者头像 李华
网站建设 2026/6/9 7:11:10

Springboot文化艺术发展有限公司4rl42(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。

系统程序文件列表项目功能&#xff1a;用户,日程动态,明星影音,fans俱乐部,练习生报名,商务合作,简历投递开题报告内容一、选题背景与意义行业现状与痛点随着全球文化产业的蓬勃发展&#xff0c;文化艺术领域正迎来前所未有的发展机遇。然而&#xff0c;传统的文化艺术管理方式…

作者头像 李华
网站建设 2026/6/10 7:53:25

Spring Boot 接口全链路测试全攻略:从单元到生产级验证

Spring Boot 接口全链路测试全攻略:从单元到生产级验证 在分布式微服务系统中,接口稳定性直接决定了用户体验和业务连续性。 本文将系统性介绍 8 种核心测试方法,并额外补充 7 个进阶策略,帮助你从开发到生产,构建一个全面的测试体系,让 Spring Boot 接口稳定性提升 100…

作者头像 李华
网站建设 2026/6/10 11:42:54

前端动画性能优化

先说说为啥动画性能这么要命。现在用户可没耐心等你页面慢慢加载&#xff0c;动画一卡顿&#xff0c;轻则体验打折&#xff0c;重则流失用户。更别提搜索引擎现在把页面交互流畅度也算进排名因素了&#xff0c;你要敢让动画掉帧&#xff0c;SEO排名分分钟往下掉。而且移动端设备…

作者头像 李华
网站建设 2026/6/10 12:32:04

计算机Java毕设实战-基于Springboot网上蛋糕售卖店管理系统的设计与实现基于springboot的云与糖蛋糕购物平台系统的设计与实现【完整源码+LW+部署说明+演示视频,全bao一条龙等】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华