DDAQ 留盘功能实现初步技术路线

总体目标

PL 端生成测试数据,通过 AXI DMA 写入 PS 端 DDR,再由 Linux 侧程序将 DDR 中的数据写入 PS 侧 SSD2,完成数据留盘功能。

数据链路

PL 端测试数据    // 当前先用假数据验证,后期替换为真实 AD 采集数据
    ↓
AXI-Stream    // 将 PL 端数据转换为 AXI-Stream 格式,供 DMA 接收
    ↓
AXI DMA S2MM    // Vivado 中加入的 AXI DMA IP 核,负责把 AXI-Stream 数据写入 PS DDR
    ↓
PS DDR    // 高速临时缓存,存放 DMA 写入的数据
    ↓
Linux 留盘程序    // 从 DDR 中读取数据,按指定格式写入文件
    ↓
文件系统    // 完成文件到 NVMe SSD 的写入
    ↓
SSD2// 保存测试数据

总体推进顺序

  1. 梳理与 PS 相关的硬件接口,包括 PS DDR、UART、启动介质、PCIe、SSD2。

  2. 完成 PL 端测试数据产生模块、AXI-Stream 数据格式转换模块的实现。

  3. 加入 AXI DMA IP,连接 AXI DMA 和 PS,实现 PL 端到 PS DDR 的数据传输通路。

  4. 生成 bitstream,并导出包含 bitstream 的 .xsa

  5. .xsa 创建 Vitis 裸机工程,并用裸机程序验证 DMA 通路。

  6. 基于 .xsa 制作 Linux 系统。

  7. 测试 SSD2 是否可写。

  8. 在 Linux 中完成 DMA 与留盘功能开发。


本文章使用limfx的vscode插件快速发布