Mathworks MATLAB 從第一代的 Analog Discovery 即開始相互支援合作。目前在 R2018a 版本的 Data Acquisition Toolbox 可支援 第二代的 Analog Discovery 2,可讓您在 MATLAB 中執行以下任務:
- 從兩個示波器通道讀取數據(模擬輸入)
- 從兩個波形產生器控制並產生數據(模擬輸出)
- 調整 Analog Discovery 2的擷取率
- 查找並顯示 Analog Discovery 2 設置
Mathworks 的原廠頁面內有說明如何以300 kHz的速率擷取電壓數據 (輸入波形是由外部函數發生器提供的正弦波 10Hz / 2Vpp)。
為 Digilent 設備創建 DataAcquisition
使用來發現連接到系統的Digilent設備daqlist。
daqlist(“ digilent”) dq = daq(“ digilent”)
ans =
1×4 table
DeviceID Description Model DeviceInfo
________ _____________________________________________ ____________________ _______________________
"AD1" "Digilent Inc. Analog Discovery 2 Kit Rev. C" "Analog Discovery 2" [1×1 daq.di.DeviceInfo]
dq =
DataAcquisition using Digilent Inc. hardware:
Running: 0
Rate: 10000
NumScansAvailable: 0
NumScansAcquired: 0
NumScansQueued: 0
NumScansOutputByHardware: 0
RateLimit: []
Show channels
Show properties and methods
添加模擬輸入通道
添加具有設備IDAD1和通道ID的模擬輸入通道1。將測量類型設置為Voltage。
ch_in = addinput(dq, "AD1", "1", "Voltage");
設置數據獲取和通道屬性
將採集速率設置為300 kHz,並將輸入信號的動態範圍設置為-2.5至2.5伏。
ch_in.Name = "AD1_1_in" rate = 300e3; dq.Rate = rate; ch_in.Range = [-2.5 2.5];
ch_in =
Index Type Device Channel Measurement Type Range Name
_____ ____ ______ _______ ________________ __________________ __________
1 "ai" "AD1" "1" "Voltage (Diff)" "-25 to +25 Volts" "AD1_1_in"
擷取單次樣本
按需獲取單次掃描,顯示數據和触發時間。
singleReading =
timetable
Time AD1_1_in
_____ ________
0 sec -0.37211
startTime =
datetime
21-Nov-2019 16:56:50.631
獲取帶有時間戳的數據
採集一組時鐘數據一秒鐘。
[data, startTime] = read(dq, seconds(1));
繪製獲取的數據
plot(data.Time, data.AD1_1_in);
xlabel('Time (s)');
ylabel('Voltage (V)');
title(['Clocked Data Triggered on: ' datestr(startTime)]);

更多說明請參考 Mathworks 原廠頁面


