走进技术专栏,解锁前沿科技
轻松掌握测试知识,率先成为科技达人
2025/10
22
NI示波器卡编程完整步骤指南-NI技术支持中心
一、准备工作
1.1 硬件连接与配置
安装硬件设备
将NI示波器卡(如PCIe-5162/PXIe-5164)正确插入PCIe/PXIe插槽
连接信号线至前端BNC接口,注意阻抗匹配(50Ω/1MΩ)
验证硬件状态
打开Measurement & Automation Explorer (MAX)
在"设备和接口"中确认示波器卡被正确识别
执行自检测试(Self-Test)
1.2 软件环境搭建
安装必要软件
NI-SCOPE驱动(最新版本)
开发环境(LabVIEW/CVI/VB/C#/Python等)
可选:NI-Sync(多设备同步时)
配置采集参数
Python
# Python示例:检查设备列表
import niscope
session = niscope.Session()
print(session.devices)

二、基础采集编程步骤
2.1 LabVIEW编程流程
创建DAQmx任务
使用"DAQmx Create Task"VI
选择通道类型(Analog Input→Voltage)
配置时序参数
采样率(Sample Rate)
记录长度(Number of Samples)
触发设置(参考2.3节)
实现采集循环
Labview
[DAQmx Start Task] → [DAQmx Read] → [数据处理] → [循环直到停止]
2.2 C语言编程示例
C
ViSession session;
niscope_init("PXI1Slot2", VI_TRUE, VI_TRUE, &session);
// 配置垂直设置
niscope_ConfigureVertical(session, "0", 1.0, NISCOPE_VAL_PROBE_GAIN_1X);
// 配置水平设置
niscope_ConfigureHorizontalTiming(session, 1e9, 10000, 50.0, VI_TRUE);
// 启动采集
niscope_InitiateAcquisition(session);
三、高级功能实现
3.1 触发配置
触发类型选择
边沿触发(Edge Trigger)
窗口触发(Window Trigger)
数字触发(Digital Trigger)
视频触发(Video Trigger)
LabVIEW配置示例
Labview
[DAQmx Trigger] →
选择触发源(PFI0/PXI_Trig等)→
设置触发电平(Trigger Level)→
配置触发条件(Rising/Falling Edge)
3.2 多设备同步
硬件连接
使用PXI背板触发线(PXI_Trig0~7)
或通过RTSI总线连接
同步代码片段
Python
# 主设备配置
master.configure_trigger_mode(NISCOPE_VAL_MASTER)
# 从设备配置
slave.configure_trigger_mode(NISCOPE_VAL_SLAVE)
3.3 分段存储采集
C
// 配置分段存储
niscope_ConfigureAcquisition(
session,
NISCOPE_VAL_SEGMENTED, // 分段模式
10, // 分段数
10000, // 每段点数
1e9 // 采样率
);
四、数据处理与分析
4.1 波形处理技术
频域分析
Python
import numpy as np
from scipy.fft import fft
yf = fft(waveform)
xf = np.linspace(0, sample_rate/2, len(waveform)//2)
参数测量
幅值(Amplitude)
上升时间(Rise Time)
占空比(Duty Cycle)
4.2 数据存储方案
二进制存储(推荐)
Labview
[Open File] → [Write to Binary File] → [Close File]
TDMS格式存储
Python
import nidaqmx
with nidaqmx.Task() as task:
task.timing.cfg_samp_clk_timing(1000)
writer = nidaqmx.stream_writers.AnalogSingleChannelWriter(task.out_stream)
writer.write_many_sample(data)
五、性能优化技巧
5.1 采集效率提升
使用DMA传输
C
niscope_SetAttributeViInt32(
session,
NISCOPE_ATTR_FETCH_RELATIVE_TO,
NISCOPE_VAL_FETCH_DMA
);
内存优化配置
合理设置缓冲区大小
启用交错模式(Interleaved Mode)
5.2 实时显示优化
双缓冲技术
波形压缩显示
Python
def downsample(data, factor):
return data[::factor]
六、调试与错误处理
6.1 常见错误代码
错误代码 含义 解决方案
-1074135024 超时 增加超时设置
-1074135035 缓冲区溢出 增大缓冲区或降低采样率
-1074135029 触发超时 检查触发信号连接
6.2 调试工具
NI Trace工具:监控底层API调用
MAX测试面板:快速验证硬件功能
LabVIEW探针:实时查看数据流
七、草莓污视频下载测试科技支持服务
如需获取完整示例代码或技术咨询,请联系草莓污视频下载测试科技的技术支持团队18682985902(同微信)
上一篇
