• 正文
  • 相关推荐
申请入驻 产业图谱

集成数据采集、射频、人工智能与 FPGA,基于树莓派的自动化测试开源模块化平台!

08/24 08:09
208
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

如果数据采集射频、人工智能与 FPGA 共用同一块背板会怎样?DAQnx,一套面向数据采集与自动化测试的开源模块化平台!

项目背景

为什么开发 DAQnx?面向数据采集、射频与自动化测试的开源模块化平台。

DAQnx 是一套模块化仪器平台,硬件包含 1 个控制器插槽与 3 个应用模块插槽。整机将嵌入式 Linux、USB 控制、可编程时序 / 触发 / 同步总线,以及可插拔的数据采集、射频、FPGA、IO 模块集成在同一个机箱内。多年来,大量工程师与科研人员耗费大量时间去整合封闭、昂贵的商用仪器,而非专注开展实验,由此催生了这个项目。

开发初衷

DAQnx 并非从一张电路原理图起步。它源于作者从业多年在工业界与科研场景反复遇到的痛点:测量任务本身大多可以实现,但把多台仪器整合到一起往往是最难的环节。

市面上已经有不少功能强大的平台,但当实验存在一点特殊需求时,这些平台往往价格高昂、架构封闭,或是使用繁琐。一项定制化需求,往往意味着额外购买授权、添置新设备,或是被迫修改实验方案去迁就仪器本身。

这些年,来自欧美各地实验室的同事总在问同一个问题:有没有一套灵活的数据采集平台,既不用高额预算,也不用投入巨大精力攻克系统集成的学习门槛?NI、MTCA 虽然可以很好完成很多高难度任务,但它们的成本与复杂度并不适配大量中小型实验场景。

有一件事让这个痛点变得格外具体。一位癌症研究科研人员朋友,需要实现约 1kHz 信号切换、电压输出、数十路纳安级电流通道读取、射频收发器件驱动、数据相关运算以及数字 IO 处理。这些单项测量都并不特殊,难点在于把多台仪器、单片机放大器开关板卡整合为一套可脚本控制的自动化系统。整套搭建花费数千美元,还耗费数月做集成调试。作者当时已经着手为他开发一套一体化设备,但设备还没完成,他就离世了。这件事一直提醒作者:这是一个值得解决的工程问题 ——应该让仪器适配实验,而不是实验迁就仪器。

类似的需求不断出现:通道之间需要干净稳定的同步;实验迭代时可以更换采集前端;全程维持同一套软件与控制环境。这周系统可能只需要简单的多通道 ADC;下周就要换成几十 MS/s 采样率的 FPGA 模块。机箱与底层接口应当保持不变。

作者本身是科研工程师,于是利用业余时间在家着手开发 DAQnx:一套开源模块化平台,让定制化测量与测试系统更容易搭建、自动化与更新配置。

原理图:

设计目标

整个项目遵循一条核心设计原则:更换模块即可改变仪器功能,而非购置一整套新设备。

模块化,按需适配业务场景:同一机箱可以配置为数字示波器、波形发生器、软件无线电 / 频谱接收机、高速 ADC/DAC 系统、数字 IO 平台,或是上述设备的组合。应用模块可按需集成本地电源稳压与隔离电路

灵活的控制架构:可使用树莓派 CM5 控制器实现独立嵌入式 Linux 运行;也可通过 USB 桥接,由笔记本电脑驱动整套设备;后续还会推出 FPGA 控制器,满足高实时性的严苛任务。

开源、支持脚本开发:USB 完成基础控制与配置;可编程 MLVDS 总线负责确定性时钟、触发、同步以及跨模块通信。软件层对 Python 友好;原型机 UI 基于 SCPI 协议;数据支持导出 JSON、HDF5、CSV 格式。

高度可定制、兼顾成本:面向工程研发、测试自动化、技术学习场景。

平台架构

当前原型机箱在共享背板上布置 1 个控制器插槽、3 个通用应用插槽。模块可以直接插拔替换,无需改动整机其余硬件。每个插槽都提供带保护的供电、USB 连接,同时接入可编程的模块间通信总线。

控制器选型:USB 桥接、CM5、FPGA

初代控制器设计追求简洁:笔记本电脑与背板之间的 USB 桥接。借助它可以直接用 Python 控制子板,在接入嵌入式计算机之前,先验证整套模块化设计思路。

第二代控制器采用树莓派计算模块 CM5,运行嵌入式 Linux。装上波形发生模块、数字化采集模块、IO 模块之后,DAQnx 无需外接电脑,就可以作为独立自动化测试台使用。针对对实时性、算力要求更高的业务,规划推出基于 Xilinx Zynq 的 FPGA 控制器。

应用模块:基于 RP2040/RP2350 PIO 实现确定性 IO

绝大多数采集原型板使用 RP2040 或 RP2350,利用片内可编程 IO(PIO)外设。最初选用这两款芯片是为了简化开发、快速原型验证;实际使用发现,PIO 可以实现确定性并行采集,无需把时序压力交给主 CPU

PIO 既不是通用处理器,也不是完整 FPGA。每个 PIO 单元包含小型状态机,可以直接操作 GPIO,通过 FIFO 搬运数据,配合 DMA 完成内存数据流写入。它无法实现 FPGA 级别的数字信号处理,但可以极低成本完成高精度时序并行 IO 与数据捕获。更高采样率、串行转换器接口、高负载实时处理,则交给 FPGA 模块实现。

FPGA模块

为实现单模块自定义逻辑,作者基于莱迪思 iCE40UP5K 设计板卡。它体积小、功耗低。后续规划推出更大规模 FPGA 模块,包含 Zynq 系列器件,用于高速转换器以及 JESD204B 这类高速接口。

背板:集成分电、USB 集线器与可编程 MLVDS 总线

背板具备三大核心功能:受保护的低噪声电源分配;用于控制与通用扩展的 USB 集线器;可配置 MLVDS 链路,实现时钟、触发、同步,以及模块间低延迟确定性通信。

当前原型中,控制器作为 USB 主机,三块应用模块作为 USB 从设备。该方案让初代背板可以用 46 层 PCB 实现,模块枚举与控制逻辑简单直接。后续会升级更高带宽 USB,满足大流量数据传输模块。

MLVDS 总线承担架构里的确定性任务。全双工可编程线路可以分发时钟、触发信号,传输低速数据,也可在主控制器管控下配置成类 SPI 背板。USB 依旧作为配置、通用数据交互的便捷通路。

后续路线还规划交换式高速串行总线,进一步降低模块控制器之间数据流延迟、提升带宽。目前正在评估交叉路由串行链路、类 PCIe 方案;最终选型取决于实际业务场景是否值得引入对应复杂度。

架构要点:每个插槽独立智能供电;集成分 USB 集线器;总线承载数据、时钟、触发、同步信号,支持完整跨模块路由。

实际使用目标很直白:更换模块即可改变测试台功能,无需重构整机、重新烧录全部固件

作者的原型测试台:重新配置仅需十秒。每个模块自带本地电源,一个插槽的噪声不会传导到其他插槽。

模块电源部分:每块板卡都自带本地稳压与大容量滤波电容

当前原型中用到两级树莓派生态:CM5运行Linux控制环境;多块应用模块使用 RP2040/RP2350实现确定性采集与IO。这套基础系统资料完备、上手友好;有更高性能需求时,可以直接上FPGA模块。

原型验证:波形采集

首轮高速采集验证,基于 ADC08100 搭配 RP2040 制作载板。ADC 输出并行数据,PIO 确定性捕获数据,DMA 搬运至内存。借鉴 RPscope 项目思路,爆发采样模式下实现约 60MS/s 采样率,数万点采样无丢点。作者把 RP2040 封装为 LGA 模块引出 IO,搭配独立 ADC 载板,处理模块可以复用。

ADC 载板同时集成比较器硬件触发,前端附带放大器。为了把板卡做成真正可用仪器,而不是一次性演示 Demo,作者开发 SCPI 控制接口,可以配置板卡参数、最高约 60MS/s 波形采集,同时显示时域、频域数据。测试中,采集模块通过 DAQnx 背板连接 USB 控制器,笔记本电脑通过 USB 读取数据。重点不只是 ADC 本身,而是完整工作流:挑选模块、统一接口配置、背板完成多模块同步,实现整套测试自动化。

测试台工作状态:机箱 USB 连接电脑,显示器显示波形,笔记本实时 FFT 运算。

为完成ADC原型性能标定,使用鼎阳台式波形发生器输入信号,执行电压、频率扫描,同时测试信噪比 SNR、无杂散动态范围 SFDR、信号与噪声失真比SINAD等 ADC 关键指标。测试过程没有出现丢采样点。当前模拟前端带宽约 5MHz。这只是原型标定,并非最终正式模块手册;目的是演示 DAQnx 完整工作链路以及平台可支撑的测试场景。

只想开箱即用的用户,可以直接把模块当作成品仪器;开发人员可以从 Linux 控制器对RP2040类模块以及FPGA重新编程,还可以通过网络远程操控整套设备。

作者还基于AD9833开发波形发生模块,可以输出可编程正弦波方波三角波,频率相位数字可控。把它和高速 ADC 模块装在同一机箱,就可以一边输出激励信号,一边采集响应信号,下文波形、FFT 截图均来自这套组合。波形视图:500kHz正弦波,50MS/s采样,原始8位ADC码值(0255)。硬件触发保证波形稳定,底部状态栏实时测量。

同一组采集的频域视图。表头固定显示采样点数 N、FFT 点数 NFFT、频率步长Δf(频点宽度)、窗函数,分析峰值前可以直观确认频谱分辨率。

正弦输入FFT:基频 997.61kHz,谐波自动标记。

脉冲输入信号FFT。

已实现模块与产品路线图

应用插槽为通用设计,只需要更换模块,同一机箱就可以变身不同仪器,或是多仪器组合。BP2517 软件无线电模块(RTLSDR 载板,301800MHz):整机变为频谱接收机。DAQnx 搭配 AI 加速卡与多路数据采集模块

目前可用(可工作原型):8 位高速采集模块(RP2040 PIO + ADC08100);16位ADC模块;RTLSDR 载板;iCE40UP5K FPGA模块;基于 LMX2582最高3GHz射频发生模块;Coral USB AI 加速载板;RP2040 IO模块;可配置10端口混合信号模块(集成 ADC、DAC、数字 IO)。模块组合是这套平台的核心:波形发生器、数字化采集卡、IO 模块搭配嵌入式Linux,就能构成独立自动化测试台。通用插槽也可以接入非测量类模块,例如存储、自动化外设。

本文不打算把每一块板卡都写成完整数据手册。上面的测试重点是验证采集功能可行性;后续设计成熟后,会分模块发布详细规格与性能标定报告。

开发中/规划中:产线终端测试系统采集滤波板卡;基于 LMS7002M、AD936x 的软件无线电模块;用于高精度电压电流测量的 24 位 ADC 模块;更高速度 ADC/DAC 采集;可编程射频前端;Zynq 系列 FPGA 模块;前文提到的高速背板总线。

以上属于规划路线,并非当前可交付功能,开发优先级将由实际项目需求决定。

DAQnx 并非要否定现有商用平台的价值,它们解决的是不同场景。NI 拥有成熟软件、认证与工业级技术支持;MTCA 面向高要求大型模块化系统;Red Pitaya 是优秀 FPGA 软件无线电平台;Analog Discovery 是出色教学与实验室紧凑型仪器。

DAQnx 瞄准另一个细分定位:小型开源混合信号 / 射频模块化机箱,搭载嵌入式 Linux,控制器与应用板卡均可插拔替换,每块模块独立模拟电路设计,搭配可编程背板。目标是复用模块搭建定制测试台,而不是不断修改实验去适配固定仪器。

当前局限性

DAQnx 尚处于早期阶段:模块品类还需要扩充;模拟板卡需要更完整性能标定,包含接地、隔离、噪声、长期稳定性测试。现在发布原型,是为了收集真实需求,指导后续模块开发。

现有外壳为3D打印原型件:量产版本会更换金属外壳,提升电磁屏蔽、接地可靠性与机械强度;把手、面板、装配结构还在迭代。

路线图中多项功能暂未落地:软件、模块生态、高带宽背板都还在迭代,会明确区分已实现硬件与规划功能。

适用人群

面向工程师、科研人员、测试开发人员、高阶学习者。需要一套可脚本控制的定制测试台,但不想从零搭建整套仪器栈。尤其适合需要同时融合采集、信号发生、射频、数字 IO、自动化,并且全部功能受控于同一控制器的场景。这正是本项目最初想要解决的痛点。

相关推荐

工业树莓派制造商,树莓派官方设计合作伙伴和官方代理商。

微信公众号