3. 高速数据采集系统需求分析与架构设计

高速数据采集系统的设计,第一步不是选芯片,而是把“要采什么、采多快、采多准、采几路”翻译成可验证的工程指标。采样率、分辨率、通道数这三个指标看似独立,实际上互相牵制:通道数增加会分摊 PL 逻辑与存储带宽,分辨率提高会放大数据位宽与接口压力,采样率提升则直接决定 ADC 接口类型和时钟方案。本节围绕指标分解、ADC/DAC 选型、PL 与 PS 任务划分、数据流与控制流建模四条主线展开。

一、指标分解:从需求到可执行参数

假设一个教学示例场景:需要采集 4 路模拟信号,每路信号带宽约 20 MHz,要求能分辨 1 mV 级的小信号,并希望保留约 20% 的过采样余量。按奈奎斯特准则,采样率至少为 2×20 MHz=40 MSPS;考虑抗混叠滤波器过渡带与过采样收益,取 50 MSPS 作为单通道采样率。分辨率方面,若满量程为 2 V,要分辨 1 mV,理论位数需满足 2^N ≥ 2000,即 N ≥ 11 位,工程上取 12 位或 14 位更稳妥。通道数为 4,则系统总采样率为 4×50 MSPS=200 MSPS,总数据率为 200 M×12 bit=2.4 Gbit/s(未含开销)。

这些数字必须进一步落到接口与存储上。若采用 LVDS 并行接口,12 位数据加帧时钟、位时钟,单通道约需 7 对差分线;4 通道即 28 对,对 PL 的 IO 和布线是明显压力。若改用 JESD204B,单条高速串行链路即可承载多通道数据,但需要 GT 收发器与 SYSREF 同步。指标分解的产出应是一张“需求—参数—约束”对照表,而不是一句“高速采集”。

二、ADC/DAC 选型依据

ADC 选型优先看四个维度:采样率与分辨率是否同时满足、模拟输入带宽与接口形式、功耗与封装、以及是否支持多片同步。以 50 MSPS、12~14 位、4 通道为例,可考虑 AD9226(12 位、65 MSPS、并行 LVDS/CMOS)或 AD9643(14 位、双通道、LVDS)。若通道数继续增加,AD9253(四通道、14 位、125 MSPS、串行 LVDS)更合适。DAC 侧若用于回放或激励,需关注建立时间、无杂散动态范围 SFDR 和更新率,例如 AD9767(14 位、125 MSPS、双通道)可用于波形回放。

选型时还要核对 Zynq 侧的可承接能力:PL 的 SelectIO 是否支持目标电平标准、GT 收发器数量是否够用、DDR 带宽是否覆盖 2.4 Gbit/s 的写入需求。若 PL 侧逻辑资源紧张,可优先选择串行 LVDS 或 JESD204B 器件,用 SerDes 替代大量并行走线。

三、PL 采集与 PS 处理的任务划分

Zynq 的核心优势在于 PL 与 PS 的分工。PL 负责硬实时、高吞吐、低延迟的部分:ADC 接口时序接收、数据解串、通道对齐、触发判断、乒乓缓存写入、以及必要的前置滤波或抽取。PS 负责非硬实时但逻辑复杂的部分:参数配置、协议栈、数据打包上传、文件存储、上位机交互、算法调度与结果呈现。

划分原则是:采样时钟域内的操作必须留在 PL;需要操作系统、网络或文件系统的操作交给 PS。典型做法是 PL 用 AXI4-Stream 把采集数据写入 BRAM 或 DDR 的乒乓缓冲区,PS 通过 AXI4-Lite 配置采样长度、触发阈值、通道使能等寄存器,通过中断或轮询获知一帧完成,再从 DDR 读取数据做后续处理。这样既保证采集不丢点,又让 PS 有足够时间做算法。

四、数据流与控制流建模

数据流描述“数据从哪里来、经过什么、到哪里去”,控制流描述“谁在什么时候发出什么命令、如何判断完成”。两者必须分开建模,否则调试时容易把时序问题误判为逻辑问题。下图给出一个四通道采集系统的数据流与控制流关系示意:模拟信号经 ADC 进入 PL,在 PL 内完成解串与缓存,再经 AXI 总线进入 PS;控制侧由 PS 下发配置,PL 返回状态与中断。

四通道高速采集系统:数据流与控制流 模拟前端 AFE 4 路信号调理 抗混叠滤波 ADC 阵列 4×50 MSPS 12~14 bit PL 可编程逻辑 解串 / 通道对齐 触发判断 / 抽取 乒乓缓存 BRAM AXI4-Stream / AXI4-Lite PS 处理系统 参数配置 / 寄存器 DDR 数据搬运 算法 / 网络 / 存储 中断 / 状态回读 模拟 数字 AXI 数据 配置 中断/状态 时钟与触发 采样时钟 / SYSREF 外部触发输入 时钟 关键指标 单通道 50 MSPS 12~14 bit 分辨率 4 通道并行 总数据率 ≈ 2.4 Gbit/s 数据流与控制流分工 数据流:AFE → ADC → PL 解串/缓存 → AXI → PS DDR → 算法/上传 控制流:PS 配置寄存器 → PL 触发/采集 → 中断通知 PS → 状态回读 硬实时操作留在 PL;协议、文件、网络与算法调度交给 PS 乒乓缓存保证采集不丢点,AXI4-Lite 保证配置可读回

建模时建议把数据流和控制流分别画成两条链:数据链关注位宽、时钟域、吞吐和缓存深度;控制链关注命令顺序、握手信号、超时与错误处理。例如,PS 先写“采样长度=8192、触发阈值=0x800、通道使能=0xF”,再拉高 start;PL 在检测到触发后填满一帧,置位 done 并产生中断;PS 响应中断后读取状态寄存器,确认无溢出再搬运数据。若状态寄存器报 overflow,则说明 PL 缓存深度或 PS 搬运速度不足,需要调整乒乓深度或降低单帧长度。

指标分解时建议保留一张“需求—参数—约束”对照表:每一行写清原始需求、推导出的参数、对应约束(接口、时钟、存储、功耗),后续选型和任务划分都以此为依据,避免中途指标漂移。

综上,需求分析的本质是把模糊的“高速”拆成采样率、分辨率、通道数、数据率、接口形式等可核对项;架构设计的本质是把这些指标分配到 PL 与 PS,并用数据流和控制流两条线分别验证。只有指标可追溯、任务边界清晰、两条流都能独立观察,后续的时序收敛和系统联调才有稳定基础。