Back to Blog

数据采集卡:USB2.0总线,5通道、24位串行1KHz AD,程控增益1-128倍放大,16路DIO

#fpga开发

概述

USB‑XM2401 是一款面向微弱信号测量的高精度数据采集卡,核心采用 AD 公司 AD7714 芯片。AD7714 基于 Σ‑Δ(Sigma‑Delta)架构,提供 24 位无失真码,并内置自校准功能,无需外接电位器即可完成零点和满量程校准。该芯片的低噪声、低功耗特性使其非常适合实验室、工业现场以及嵌入式边缘 AI 系统中对模拟信号的高精度采集。

板卡通过 USB 2.0 总线与主机通信,采用 Cypress CY68013(EZ‑USB FX2) 作为 USB 主控芯片,支持热插拔、即插即用。板上还集成了大规模现场可编程门阵列(FPGA),负责数字信号的总控和可靠性提升。

外部模拟信号经 20 针 IDC 接头(J1) 输入,数字 I/O 通过 40 针 IDC 接头(J2) 进行输入输出。板卡提供 16 路 TTL 电平数字量输入/输出,其中数字输出具备上电自动清零功能,CPU 输出为正向驱动;数字输入可通过跳线选择上拉或下拉(出厂默认下拉),便于现场灵活配置。

出厂时随卡提供 Win7/8/10/XP 环境下的测试程序、动态链接库(DLL)以及完整的编程指导(DEMO 程序),支持 VB、VC、LabVIEW、C# 等常用语言的采集例程,并提供两年质保服务。

关键性能特点

项目说明
通道数AD7714 提供 5 通道 输入,可灵活配置为 3 路差分5 路准差分 模式。
程控增益支持 1‑128 倍 程控增益,用户可通过软件实时调节,以适配不同信号幅度。
复位方式上电自动硬复位,亦支持软件软复位,调用相应函数即可完成。
分辨率Σ‑Δ 架构实现 24 位无误码输出,确保极高的量化精度。
非线性度保证 0.0015 % 的非线性度,满足严苛测量需求。
滤波器可选 4.8 Hz‑1.01 kHz 的可编程滤波器截止频率,适配不同采样速率。
功耗典型工作电流 226 µA,省电模式仅 4 µA,适合低功耗嵌入式系统。
噪声输入等效噪声 <150 nV rms,保证微弱信号的可靠捕获。
接口SPI(3 线) 串行接口,支持自校准(零点、满量程)。
输入范围单极性 0‑2.5 V,双极性 ‑2.5 V‑2.5 V(默认)。若使用程控增益放大,放大后信号必须仍在量程内,计算公式为:单极性 0‑2.5 V / 2^gain;双极性 ‑2.5 V / 2^gain ‑ 2.5 V / 2^gain。
参考电源高精度参考 AD780,提供稳定的基准电压。
数字 I/O16 路输入、16 路输出,TTL 电平;输出具备 锁存上电自动清零 功能。
电源管理采用电源管理芯片,自动判断外部供电或 USB 总线供电;外供电具备防接反保护。
尺寸12 cm × 10 cm × 2.7 cm(宽 × 长 × 高)。
工作电流<350 mA(含所有功能工作时的最大电流)。
工作环境电压 5 V ± 0.25 V;温度 0 ℃‑50 ℃;湿度 5 %‑95 %

:文中 “^” 符号代表次方,例如 2^gain 表示 2 的 gain 次方。

硬件结构简析

  1. AD7714 核心

    • 采用 Σ‑Δ 调制器与数字滤波器相结合的方式,实现高分辨率、低噪声的模数转换。
    • 内置 自校准 电路,能够在上电或软件触发时完成零点与满量程校准,省去外部校准电位器的繁琐步骤。
  2. Cypress CY68013(FX2)USB 控制器

    • 支持 USB 2.0 全速(12 Mbps) 传输,兼容多平台驱动。
    • 通过内部 FIFO 缓冲区实现高速数据流的平滑传输,降低主机 CPU 的中断负担。
  3. FPGA(现场可编程门阵列)

    • 负责 数字 I/O 的时序控制、数据打包以及与 USB 控制器的桥接。
    • 采用 模块化设计,便于后期功能扩展或固件升级。
  4. 电源管理

    • 当外部电源接入时,电源管理芯片自动切换至外供电;若外部电源未检测到,则使用 USB 总线供电。
    • 防接反保护电路确保在误接电源极性时不损坏核心芯片。

软件支持与开发指南

驱动与库

  • 驱动:随卡提供的驱动兼容 Windows 7/8/10/XP,即插即用,无需额外签名或管理员权限。
  • DLL:动态链接库封装了底层 USB 读写、SPI 通信、程控增益设置、滤波器配置等常用接口,开发者只需调用对应函数即可完成数据采集。

示例代码

以下示例展示了使用 C# 调用 DLL 完成一次采样的基本流程(代码保持原样,仅作示例展示):

using System;
using System.Runtime.InteropServices;

class Program
{
    // DLL 中的函数声明(示例)
    [DllImport("XM2401.dll")]
    private static extern int OpenDevice();

    [DllImport("XM2401.dll")]
    private static extern int SetGain(int channel, int gain);

    [DllImport("XM2401.dll")]
    private static extern int ReadData(int channel, out int value);

    static void Main()
    {
        if (OpenDevice() != 0)
        {
            Console.WriteLine("打开设备失败");
            return;
        }

        // 将第 1 通道增益设置为 16 倍
        SetGain(1, 16);

        // 读取第 1 通道的数据
        int adcValue;
        if (ReadData(1, out adcValue) == 0)
        {
            Console.WriteLine($"通道 1 采样值: {adcValue}");
        }
        else
        {
            Console.WriteLine("读取数据失败");
        }
    }
}

提示:实际使用时请参考随卡提供的 DEMO 程序编程手册,其中包含完整的错误码说明与高级功能(如批量采样、触发模式等)。

LabVIEW 示例

LabVIEW 用户可直接使用 VI 文件进行拖拽式编程,内部同样调用 DLL 接口,实现 实时波形显示数据记录自动校准 等功能。

使用注意事项

  1. 增益与量程匹配

    • 当程控增益放大时,放大后的信号必须仍在 AD7714 的输入量程内,否则会产生 饱和失真。请务必按照文档中的计算公式检查信号幅度。
  2. 电源供电

    • 若使用外部电源供电,请确保电压在 5 V ± 0.25 V 范围内,并检查防接反保护是否正常工作。
  3. 数字 I/O 配置

    • 数字输入的上拉/下拉跳线(JP1)应根据现场实际需求进行设置,错误的上拉/下拉配置可能导致信号误判。
  4. 温湿度环境

    • 工作温度范围为 0 ℃‑50 ℃,湿度 5 %‑95 %。在极端环境(如高温或高湿)下使用前,请确认卡片已通过相应的环境测试。
  5. 软件兼容性

    • 虽然驱动兼容多种 Windows 版本,但在 64 位系统 上使用时,请确保使用对应的 64 位 DLL,否则可能出现加载失败的情况。

典型应用场景

  • 实验室精密测量:利用 24 位分辨率与低噪声特性,对电化学、光谱仪等微弱信号进行高精度采集。
  • 工业过程监控:通过 5 通道多路输入与程控增益,实时监测温度、压力、流量等模拟量,并通过 16 路数字 I/O 实现现场控制。
  • 边缘 AI 前端:在嵌入式 AI 系统中,作为高精度传感器前端,将模拟传感器数据转化为数字流送入 FPGA 或 MCU 进行后续算法处理。

结论

USB‑XM2401 通过 AD7714 的高分辨率 σ‑Δ ADC、Cypress CY68013 的可靠 USB 2.0 接口以及 FPGA 的数字控制,实现了 5 通道、24 位、1 kHz 采样率的高精度模拟信号采集。其程控增益、可编程滤波器、低功耗与低噪声特性,使其在实验室、工业现场以及边缘计算等多种场景中都具备竞争力。配套的 Windows 驱动、DLL 库以及多语言示例代码降低了二次开发门槛,帮助工程师快速集成并实现可靠的数据采集解决方案。