NI 5401, NI 5411, 혹은 NI 5431에서 사각파의 Duty Cycle을 변경할 수 있나?



하드웨어: Signal Sources (AWG/FG/AO)>>Arbitrary Waveform and Function Generators

문제점:
NI 5401, NI 5411, 혹은 NI 5431로 사각파를 생성할 때, duty cycle은 항상 50%입니다. 이 duty cycle을 바꿀 수 있나요?

솔루션:
NI 5401, NI 5411, 혹은 NI 5431로 사각파를 생성하는 방법에는 2가지가 있다. 가장 쉬운 것은 사각파를 정상적으로 생성해서 ARB OUT 핀으로 받는 것이다. 다른 방법은 사인파를 생성한후 SYNC OUT 핀에서 사각파로 받는 것이다. 보드에서 사인파가 생성될 때마다, SYNC 핀에서 같은 주파수의 사각파가 생성된다.

SYNC 커넥터에서 나오는 사각파의 duty cycle을 변경하기 위해서 Sync Duty Cycle High 프로퍼티를 설정해야 한다. LabVIEW에서는 프로퍼티 노드로(Output Attributes » Sync Duty Cycle High) 할 수 있고, C나 Visual Basic에서는 niFgen_SetAttributeViReal64 함수로 할 수 있다. 20%에서 80%까지의 값만이 유효하다.

정상적인 ARB OUT 핀에서 나오는 사각파의 duty cycle을 변경하려면 약간의 추가적인 작업이 필요하다. NI 5401, NI 5411, 혹은 NI 5431은 DDS 모드로 사각파를 생성할 때 16,384 포인트의 배열로 사각파를 표현한다. NI-FGEN의 Configure Standard Waveform 함수는('waveform' 입력에 'square'), 기본적으로 50% duty cycle의 사각파를 생성하고 이를 DDS 버퍼에 올려놓는다. duty cycle을 변경하려면, 직접 이 패턴을 표현하는 배열을 만들어서 이를 수동으로 DDS 버퍼에 올려놓아야 한다. 만약 10% duty cycle을 원한다면, 배열의 처음 10%(1638 포인트)를 HIGH 값으로 하고, 나머지 90%(14746 포인트)를 LOW로 한다. DDS 버퍼는 16,384(2^14)포인트로 고정되어 있으므로 배열 길이 역시 이와 같아야 한다.

데이터 배열이 있으면 niFgen_DefineUserStandardWaveform() 함수와 함께 이를 불러서 niFgen_ConfigureStandardWaveform() 함수의 'waveform'을 'user'로 설정한다. 이렇게 하면 해당 데이터를 DDS 버퍼에 수동적으로 올리게 된다.

아래 링크된 예제 프로그램을 참고하시오.

관련 링크:
Developer Zone Example: User Defined Duty Cycle for a Square Wave Output Using the DDS Operation Mode for NI 5401, NI 5411, or NI 5431
Developer Zone Example: User-defined duty cycle for a square wave output using the DDS mode of operation for the NI 5104, NI 5411, or NI 5431 (program written in LabWindows/CVI)

첨부:





리포트 날짜: 01/04/2001
마지막 업데이트: 12/13/2007
문서 번호: 253929Y5