Back to Blog

【国产NI替代】基于国产FPGA+兆易创新GD32F450的全国产16振动+2转速(24bits)高精度终端采集板卡

#fpga开发

引言

在国产工业自动化与边缘 AI 领域,如何在保持高精度测量的前提下,实现成本可控、易于维护的采集方案,是许多企业面临的共同难题。本文围绕 “国产 NI 替代” 这一主题,详细介绍一款基于 AG16KF256 国产 FPGA + 兆易创新 GD32F450 的全国产 16 振动 + 2 转速(24 bits)高精度终端采集板卡 的硬件架构、功能划分以及实现要点。阅读后,你将了解该板卡的整体设计思路、FPGA 与 ARM 的职责分配、内置算法的工作原理,并获得在实际项目中进行快速落地的参考路径。

一、系统概览

该采集板卡采用 AG16KF256 国产 FPGA 与 兆易创新 GD32F450 组合,实现了对 16 路振动通道2 路转速通道(均为 24 bit 分辨率)的同步采集、前端滤波、抽取、以及后端特征值与 FFT 计算。整体方案兼顾了 成本、功耗、易维护 三大关键指标,能够在不依赖国外高价 NI 硬件的情况下,满足工业现场对高精度信号采集与实时分析的需求。

二、硬件选型理由

1. AG16KF256 国产 FPGA

  • 国产化优势:国产 FPGA 在采购周期、授权费用以及后期技术支持方面相较于国外器件更具优势。
  • 资源匹配:AG16KF256 提供足够的逻辑单元、块 RAM 与 DSP 切片,能够满足 16 路 ADC 数据的并行采集、数字滤波(如 FIR、IIR)以及抽取(Decimation)等实时处理需求。
  • 灵活的 I/O:支持多达 200+ 的可编程 I/O,方便直接对接高速 ADC、传感器以及 ARM 软核接口。

2. 兆易创新 GD32F450

  • 国产 ARM 架构:GD32F450 基于 ARM Cortex‑M4 内核,最高主频 180 MHz,具备 DSP 指令集与单精度浮点单元(FPU),能够高效执行特征值计算与 FFT。
  • 成本优势:相较于国外的 T3 系列处理器,GD32F450 的采购成本更低,且在国内拥有完善的供应链。
  • 易于维护:代码基于 CMSIS‑DSP 与 HAL 库,开发者可以快速上手并进行二次开发。

原文引用
“国产 ARM 的硬件架构,虽然比 T3 处理器的运算能力弱,但是具备成本更低,代码更易维护的特点。”

三、功能划分与工作流程

1. 前端采集(FPGA)

FPGA 负责 信号前端采集 + 滤波 + 抽取 的工作,具体流程如下:

步骤描述
ADC 接口通过 LVDS 或 SPI 接口读取 24 bit ADC 数据,支持 16 路振动与 2 路转速同步采样。
数字滤波采用 FIR 滤波器(或 IIR)对原始采样进行噪声抑制,滤波系数可在 Vivado/Quartus 中通过 IP 核配置。
抽取(Decimation)根据采样率需求,对滤波后数据进行抽取,降低后续处理带宽,提升系统整体效率。
DMA 缓冲将处理后的数据写入 FPGA 内部 Block RAM,形成双缓冲区供 ARM 读取。

2. 后端计算(ARM)

ARM 负责 后端特征值计算、FFT 计算以及软核协议的对接和上传工作,主要步骤如下:

步骤描述
数据搬运通过 AXI‑Lite 或 APB 总线从 FPGA DMA 缓冲区读取采样数据,使用 DMA 控制器实现零拷贝。
特征值计算利用 CMSIS‑DSP 库中的统计函数(均值、方差、峰值等)快速提取每路信号的关键特征。
FFT 计算调用 CMSIS‑DSP 的 arm_cfft_f32 接口,对需要频域分析的通道执行 1024 点或 2048 点 FFT,得到幅值谱。
软核协议基于轻量级 TCP/IP(LwIP)或 CAN‑FD 协议栈,将计算结果封装为自定义报文,上传至上位机或云平台。
结果存储关键结果可写入外部 Flash 或 SD 卡,便于离线分析。

原文引用
“FPGA 依旧是负责信号前端采集+滤波+抽取的工作,ARM 主要负责后端特征值计算,FFT 计算以及软核协议的对接和上传工作。”

3. 内置算法

板卡内部已经实现了 特征值的计算以及请求 FFT 的计算功能,用户无需自行实现底层 DSP 代码,即可直接调用 API 完成所需分析。

原文引用
“内置算法可以完成特征值的计算以及请求 FFT 的计算功能。”

四、设计实现要点

1. FPGA 开发流程

  1. 需求拆解:明确每路 ADC 的采样率、分辨率以及滤波需求。
  2. IP 核选型:使用厂商提供的 ADC 接口 IP、FIR 滤波 IP、抽取 IP,确保时序收敛。
  3. 时钟约束:为保证 24 bit 高速采样,建议使用 100 MHz 以上的系统时钟,并在约束文件中标记关键路径。
  4. 仿真验证:在 ModelSim/Questa 中对滤波与抽取逻辑进行功能仿真,确保信号完整性。
  5. 资源利用率:AG16KF256 的逻辑利用率控制在 70% 以下,以留出余量用于后期功能扩展。

2. ARM 软件开发要点

  • CMSIS‑DSP 初始化:在 main.c 中调用 arm_cfft_radix4_init_f32 完成 FFT 结构体初始化。
  • DMA 配置:使用 GD32F450 的 DMA 控制器,将 FPGA Block RAM 地址映射为外设内存,实现自动搬运。
  • 任务调度:采用 FreeRTOS 或裸机轮询方式,确保采集、计算、上传三大任务的实时性。
  • 协议栈选择:若现场网络为以太网,推荐使用 LwIP;若为工业现场总线,可选用 CAN‑FD 驱动。

3. 调试与验证

项目检查点方法
采样完整性采样率、位宽、同步性使用示波器捕获 ADC 输出,比较 FPGA 读取波形与原始波形是否一致。
滤波效果频谱噪声抑制程度在 ARM 端执行 FFT,观察噪声峰值是否下降至预期阈值。
特征值准确性均值、峰值、 RMS 与仪器读数对比将板卡输出的统计值与示波器或专用仪表进行交叉验证。
通讯可靠性报文丢失率、时延使用网络抓包工具(Wireshark)监测上传报文,确保在高负载情况下仍保持低时延。

五、成本与维护优势

  1. 采购成本:AG16KF256 与 GD32F450 均为国产器件,单价约为同类国外产品的 30%~50%。
  2. 软件生态:GD32F450 兼容 ARM 官方 CMSIS 与 HAL,社区资源丰富,降低学习曲线。
  3. 供应链安全:国产芯片受国家政策扶持,交付周期短,能够快速响应项目需求。
  4. 可维护性:代码基于标准库,后期功能迭代(如新增通道、升级滤波算法)只需在 FPGA 或 ARM 端进行模块化修改,避免大面积硬件更换。

六、典型应用场景

  • 机械设备健康监测:对大型旋转机械的振动与转速进行同步采集,实时计算 RMS、峰值与频谱,提前预警轴承故障。
  • 工业机器人:在机器人关节处布设振动传感器,监测运动过程中的冲击与共振,优化控制算法。
  • 能源设施:风电、核电等场景下的结构振动监测,利用高分辨率采集与 FFT 分析进行结构健康评估。

七、结语

通过 AG16KF256GD32F450 的协同设计,本文展示的 16 振动 + 2 转速高精度终端采集板卡实现了国产化、低成本、易维护的完整解决方案。FPGA 负责高速前端信号的采集、滤波与抽取,ARM 则承担特征值与 FFT 的计算以及协议对接,二者分工明确、协同高效。对于希望摆脱国外 NI 硬件束缚、在国产化道路上快速推进的企业而言,这套方案提供了可落地的技术参考,也为后续功能扩展(如多通道、AI 推理)奠定了坚实基础。希望本文的详细拆解能够帮助读者在实际项目中快速实现高精度采集与实时分析。