一个开源的纯FPGA网口采集卡

引言

在高速数据采集领域,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逻辑架构主要包含以下五个模块:

  1. EthernetBridge IP核基于UDP协议实现网络通信,将以太网接口的数据透明桥接到AXI总线,实现高效数据传输;其中,AXI Lite低速总线用于模块的初始化配置,AXI Full高速总线负责从DDR缓存中读取数据;I2C总线连接外部串行EEPROM芯片,用于存储网络参数及AD校准数据;

  2. AD驱动逻辑:负责AD芯片的初始化,生成特定频率的触发信号并发送至AD芯片,同时读取各通道的转换结果;

  3. Collect RTL数据采集逻辑:支持瞬时采集、触发采集和实时采集三种模式,其中触发采集可灵活设置触发位置;

  4. AXI Full Write DMA逻辑:在数据采集逻辑的控制下,将采集到的数据实时写入DDR缓存,确保数据流的连续与可靠。

四、快速上手

开发者可按照仓库 README 中的说明,先完成 FPGA 工程的综合与下载,再运行配套的上位机程序,即可在几分钟内跑通从采集到显示的全流程。建议先使用默认配置验证链路连通性,再逐步调整采样率与通道数,观察数据变化。

五、数据采集视频

下面视频采集参数:8通道,16bit精度,1Msps采样率实时采集,上位机采集缓存10秒的数据。

1G网口1Msps实时采集视频

视频拍的不好,体现不出1Mspses 采样率,请大家不要见怪。

六、总结

mstar-collect-fpga 为基于网口的 FPGA 数据采集提供了一套完整、可复用的开源方案。无论是用于实际项目部署,还是作为学习 FPGA 网络采集

设计的入门素材,该项目都具有很高的参考价值。希望本文能帮助你快速上手并在此基础上开展自己的开发工作。

相关推荐
博客zhu虎康11 小时前
实现局域网P2P通信:内网发送消息
网络·网络协议·p2p
码农小韩12 小时前
FPGA学习(二)——LED闪烁
fpga开发·verilog·fpga·led·组合逻辑·分频设计
xixingzhe21 天前
AI 对话打字机效果:SSE 和 HTTP 的区别与适用场景
网络·网络协议·http
9527华安1 天前
FPGA纯verilog实现DP视频接口,支持2K60帧分辨率,提供3套工程源码和技术支持
fpga开发·音视频·dp
叼烟扛炮2 天前
Linux 学习笔记(五十一):数据链路层与 ARP 协议——局域网寻址与黑客骗局
linux·网络·网络协议·php·tcpdump
ChaseVLSI2 天前
FPGA与ASIC的区别详解:内部结构、开发成本与适用场景,项目选型到底该选哪个
嵌入式硬件·fpga开发·硬件架构·硬件工程
沫璃染墨2 天前
从零入门计算机网络系列(十四):TCP报文与字节流本质——从数据封装到报文边界
linux·服务器·网络·网络协议·tcp/ip·tcp
byte轻骑兵2 天前
【LMP】规范精讲[13]: 参数的户口本、公钥的集装箱与出厂的兜底值
人工智能·网络协议·人机交互·lmp·蓝牙链路管理
流浪0012 天前
计算机网络篇17:传输层——TCP 超时重传、三次握手与四次挥手,TIME_WAIT 为什么要等 2MSL
网络协议·tcp/ip·计算机网络·三次握手·四次挥手·超时重传
AI 编程助手GPT3 天前
curl 返回成功就能收文件?用本地 HTTP 验证错误页与超时
网络·网络协议·http