주요 콘텐츠

이 페이지는 기계 번역을 사용하여 번역되었습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

Digilent Analog Discovery를 사용하여 동시에 데이터 수집 및 생성하기

이 예제에서는 300kHz의 속도로 전압 데이터를 동기적으로 생성하고 수집하는 방법을 보여줍니다.

Discovery Digilent 장치

daqlist를 사용하여 시스템에 연결된 Digilent 장치를 검색합니다.

daqlist("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]

Digilent 장치에 대한 DataAcquisition 생성

daqlist를 사용하여 시스템에 연결된 Digilent 장치를 검색합니다.

dq = daq("digilent")
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

아날로그 출력 채널 추가

나열된 Digilent 장치를 사용하여 아날로그 출력 채널을 추가하되, ID를 AD1로, 채널 ID를 1로, 측정 유형을 Voltage로 설정합니다.

addoutput(dq, "AD1", "1", "Voltage");
addoutput(dq, "AD1", "2", "Voltage");
ch_out = dq.Channels(1:2);
ch_out(1).Name = "AD1_1_out";
ch_out(2).Name = "AD1_2_out"
ch_out = 

    Index    Type    Device    Channel      Measurement Type              Range               Name    
    _____    ____    ______    _______    _____________________    ____________________    ___________

      1      "ao"    "AD1"       "1"      "Voltage (SingleEnd)"    "-5.0 to +5.0 Volts"    "AD1_1_out"
      2      "ao"    "AD1"       "2"      "Voltage (SingleEnd)"    "-5.0 to +5.0 Volts"    "AD1_2_out"

아날로그 입력 채널 추가

동일한 장치와 측정 유형을 Voltage로 설정하여 아날로그 입력 채널을 추가합니다.

addinput(dq, "AD1", "1", "Voltage");
addinput(dq, "AD1", "2", "Voltage");
ch_in = dq.Channels(3:4);
ch_in(1).Name = "AD1_1_in";
ch_in(2).Name = "AD1_2_in"
ch_in = 

    Index    Type    Device    Channel    Measurement Type          Range              Name   
    _____    ____    ______    _______    ________________    __________________    __________

      1      "ai"    "AD1"       "1"      "Voltage (Diff)"    "-25 to +25 Volts"    "AD1_1_in"
      2      "ai"    "AD1"       "2"      "Voltage (Diff)"    "-25 to +25 Volts"    "AD1_2_in"

DataAcquisition 속성 설정 및 출력 파형 정의

생성 속도를 300kHz로 설정합니다.

rate = 300e3;
dq.Rate = rate;

% Specify a 10 Hz sine wave for 1 second.
f = 10;
totalduration = 1;
n = totalduration * rate;
t = (1:n)/rate;
output = sin(2*pi*f*t)';

데이터 생성 및 수집

채널 1에서는 진폭 1V, 채널 2에서는 진폭 2V의 사인파를 생성하고 동일한 속도로 타임스탬프 데이터를 수집합니다.

[data, startTime] = readwrite(dq, [output 2*output]);

수집 데이터 플로팅

plot(data.Time, data.AD1_1_in, data.Time, data.AD1_2_in);
xlabel('Time (s)');
ylabel('Voltage (V)');
title(['Clocked Data Triggered at: ' datestr(startTime)])