引言
在高速数据采集领域,FPGA 凭借其并行处理能力和灵活的可重构特性,成为构建高性能采集系统的核心器件。而基于网口的 FPGA 数据采集卡,则通过以太网接口实现远距离、高带宽的数据传输,兼顾了采集性能与部署便利性。本文将深入剖析 mstar-collect-fpga 这一优秀的开源库,从整体架构、核心模块到实际应用,帮助开发者快速理解其设计思路,并掌握基于该库进行二次开发的关键方法,为构建自己的高速采集系统提供有力参考。
一、项目简介
mstar-collect-fpga 是一个基于网口通信的 FPGA 数据采集开源项目,托管于 Gitee 平台,仓库地址为 https://gitee.com/mstar_ypc/mstar-collect-fpga。该项目以 FPGA 为核心,通过以太网接口与上位机进行高速数据交互,适用于需要长时间、高吞吐量采集的工业与科研场景。项目代码结构清晰、接口简洁,既适合直接部署使用,也适合作为学习 FPGA 数据采集与网络传输设计的参考范例。
二、核心特性
2.1、mstar-collect-fpga 在硬件设计上达到了以下性能指标:
- AD 精度:16 bit,保证高分辨率的数据采集质量。
- 通道数:8 通道同步采集,满足多路信号并行采样的需求。
- 采样率:1 Msps 实时采集,兼顾高速率与数据完整性。
- **通迅:**1Gbps以太网,基于UDP协议。
- **数据缓存:**512Mbit DDR。
2.2、在软件与系统层面,项目还具备以下特性:
- 网口高速传输:基于以太网接口实现数据上行传输,突破传统串口、USB 的带宽瓶颈,支持远距离稳定通信。
- FPGA 并行采集:充分利用 FPGA 并行处理能力,实现多通道、高采样率的数据采集与预处理。
- 开源可定制:完整开放源码,开发者可根据实际需求灵活修改采集逻辑、协议格式与上位机交互方式。
- 软硬件协同:提供配套的上位机软件与 FPGA 工程,便于快速搭建完整的采集验证环境。
三、项目结构
项目整体分为 FPGA 工程与上位机软件两大部分,二者通过自定义的网口协议进行通信。FPGA 侧负责数据采集、缓存与组包发送,上位机侧负责接收、解析、存储与显示,形成完整的数据链路。本文重点介绍数据采集的硬件部分与 FPGA 逻辑工程,上位机软件部分暂不展开。
3.1、硬件方案架构
采用单FPGA无CPU的架构。主控芯片采用安路科技的 FPGA,型号为 PH1P35MDG324-3,内部集成了 512 Mbit 的 DDR 存储,用于缓存采集数据,缓解高速采样与网口传输之间的速率差异。AD 芯片选用北京士模微电子的 CM2268,负责将模拟信号转换为数字信号。PCB 板采用底板与核心板分离的设计:核心板承载 FPGA 与 Gige PHY 等关键器件,便于独立调试与升级;底板则负责电源管理、接口扩展以及 AD 前端信号调理,两块板通过高速板对板连接器互连,既保证了信号完整性,也提升了系统的可维护性与可扩展性。采用双板分离设计的主要目的在于,将发热量较大的 FPGA 与 Gige PHY 芯片集中到核心板上,使其远离 AD 芯片,从而最大程度地保证 AD 芯片的温度稳定,避免因温度波动过大而影响采集精度。下图即为硬件结构图。

3.2、 FPGA 逻辑工程方案架构
纯FPGA逻辑架构主要包含以下五个模块:
-
EthernetBridge IP核基于UDP协议实现网络通信,将以太网接口的数据透明桥接到AXI总线,实现高效数据传输;其中,AXI Lite低速总线用于模块的初始化配置,AXI Full高速总线负责从DDR缓存中读取数据;I2C总线连接外部串行EEPROM芯片,用于存储网络参数及AD校准数据;
-
AD驱动逻辑:负责AD芯片的初始化,生成特定频率的触发信号并发送至AD芯片,同时读取各通道的转换结果;
-
Collect RTL数据采集逻辑:支持瞬时采集、触发采集和实时采集三种模式,其中触发采集可灵活设置触发位置;
-
AXI Full Write DMA逻辑:在数据采集逻辑的控制下,将采集到的数据实时写入DDR缓存,确保数据流的连续与可靠。

四、快速上手
开发者可按照仓库 README 中的说明,先完成 FPGA 工程的综合与下载,再运行配套的上位机程序,即可在几分钟内跑通从采集到显示的全流程。建议先使用默认配置验证链路连通性,再逐步调整采样率与通道数,观察数据变化。
五、数据采集视频
下面视频采集参数:8通道,16bit精度,1Msps采样率实时采集,上位机采集缓存10秒的数据。
1G网口1Msps实时采集视频
视频拍的不好,体现不出1Mspses 采样率,请大家不要见怪。
六、总结
mstar-collect-fpga 为基于网口的 FPGA 数据采集提供了一套完整、可复用的开源方案。无论是用于实际项目部署,还是作为学习 FPGA 网络采集
设计的入门素材,该项目都具有很高的参考价值。希望本文能帮助你快速上手并在此基础上开展自己的开发工作。