走進技術專欄,解鎖前沿科技
輕鬆掌握測試知識,率先成為科技達人
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(同微信)
