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 原廠頁面


							