导航
技术专栏
走进技术专栏,解锁前沿科技
轻松掌握测试知识,率先成为科技达人
2025/11
10
NI数据采集卡协议详解-NI服务中心

NINational Instruments)数据采集卡的"协议"涉及多个层面,从底层的硬件通信到上层的编程接口以下是一些详细的介绍

NI数据采集卡协议详解

NI DAQ 系统架构与协议栈

整体协议层次

text

应用层 (LabVIEW, C++, Python, MATLAB)

    ↓

NI-DAQmx API (编程接口)

    ↓

设备驱动层 (NI-DAQmx驱动)

    ↓

硬件通信协议 (USB, PCIe, Ethernet, PXI)

    ↓

物理层 (硬件接口)

硬件通信协议

1. PCI Express (PCIe)

协议:PCIe 2.0/3.0

特点:高带宽、低延迟

应用:PCI, PXIe 设备

典型设备:PCIe-6323, PCIe-6353

2. USB

协议:USB 2.0/3.0

特点:即插即用、便携

应用:便携式测量系统

典型设备:USB-6000系列, USB-6300系列

3. PXI

协议:PCI + 触发总线 + 参考时钟

特点:模块化、高精度同步

应用:自动化测试系统

典型设备:PXIe-6368, PXI-6259

4. 以太网 (Ethernet)

协议:TCP/IP, UDP

特点:远距离传输、网络化

应用:分布式测量

典型设备:NI CompactDAQ以太网机箱

5. CompactDAQ

协议:专有高速串行协议

特点:模块化、坚固耐用

应用:工业环境测量

软件协议与API

1. NI-DAQmx驱动协议

这是NI DAQ的核心软件协议:

特性:

统一API:不同硬件使用相同的编程接口

多语言支持:LabVIEW, C, C#, Python, MATLAB

状态机模型:任务配置、验证、执行、清理

编程模型:

text

创建任务 → 配置通道 → 配置定时 → 配置触发 →

开始任务 → 读取/写入数据 → 停止任务 → 清除任务

2. VISA协议 (Virtual Instrument Software Architecture)

用途:仪器控制标准化

支持:GPIB, Serial, USB, Ethernet

应用:与外部仪器通信

数据传输协议

1. DMA (直接内存访问)

特点:高吞吐量、低CPU占用

应用:高速数据流

优势:数据直接从设备传输到内存

2. 中断传输

特点:低延迟、事件驱动

应用:触发、数字事件检测

3. 编程I/O

特点:CPU控制传输

应用:低速控制操作

通信协议详解

PCIe协议栈

text

应用数据

    ↓

NI-DAQmx驱动

    ↓

Windows内核驱动

    ↓

PCIe设备驱动

    ↓

PCIe链路层

    ↓

PCIe物理层

USB DAQ协议

text

测量数据

    ↓

设备固件

    ↓

USB批量传输

    ↓

USB协议栈

    ↓

USB物理接口

编程接口协议

1. C API

c

// 创建任务

DAQmxCreateTask("", &taskHandle);

// 配置模拟输入通道

DAQmxCreateAIVoltageChan(taskHandle, "Dev1/ai0", "",

                         DAQmx_Val_Diff, -10.0, 10.0,

                         DAQmx_Val_Volts, NULL);

// 开始任务

DAQmxStartTask(taskHandle);

2. Python (nidaqmx库)

python

import nidaqmx

with nidaqmx.Task() as task:

    task.ai_channels.add_ai_voltage_chan("Dev1/ai0")

    data = task.read(number_of_samples_per_channel=1000)

3. LabVIEW

协议:图形化数据流编程

组件:DAQmx VI、属性节点、方法节点

同步与触发协议

1. 定时协议

时钟源:内部时钟、外部时钟

采样率:精确的定时控制

时基:高精度参考时钟

2. 触发协议

数字触发:上升沿、下降沿

模拟触发:电平触发、窗口触发

软件触发:程序控制触发

3. 同步协议

星形触发:通过PXI背板

参考时钟:10MHz或100MHz时钟分发

触发总线:PXI专用触发线

安全与可靠性协议

1. 错误处理协议

错误代码:统一的错误代码体系

状态查询:设备状态监控

超时机制:操作超时保护

2. 数据完整性

校验和:数据传输验证

缓冲管理:防止数据丢失

流控制:速率匹配

网络协议(以太网DAQ)

1. 发现协议

mDNS:设备自动发现

NI服务定位:专用发现协议

2. 数据传输

TCP:可靠数据传输

UDP:低延迟数据流

HTTP:配置和监控

3. 安全协议

SSL/TLS:加密通信

身份验证:设备访问控制

协议选择指南

根据应用需求选择:

需求 推荐协议 典型设备

最高性能 PCIe PCIe-63xx系列

便携性 USB USB-63xx系列

系统集成 PXI PXIe-63xx系列

远程测量 以太网 cDAQ-91xx系列

工业环境 CompactDAQ cDAQ-92xx系列

协议监控与调试

诊断工具:

NI MAX:设备状态监控

NI-DAQmx诊断面板:详细通信诊断

系统资源管理器:硬件资源查看

数据监听工具:实时数据流监控

常见协议问题:

驱动程序冲突:多个驱动版本共存

资源冲突:IRQ、DMA冲突

带宽不足:USB带宽被其他设备占用

电缆质量问题:信号完整性问题

如需进一步技术支持,可联系18682985902(同微信)