이 페이지는 기계 번역을 사용하여 번역되었습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
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)])
