임의 웨이브폼 생성기에서 고급 웨이브폼 시퀀싱 및 트리거링

개요

다음 문서에서는 Signal Generator를 사용하여 웨이브폼을 연결 및 루프하여 사용자 신호를 생성하고, 스크립팅이라는 기능을 통해 다이나믹 웨이브폼을 생성하며, 마커와 데이터 마커 이벤트를 사용하여 다른 인스트루먼트와 동기화하는 방법을 학습합니다. 

내용

NI 임의 웨이브폼 생성기 소개

고급 웨이브폼 트리거링 및 시퀀싱 기능은 임의 웨이브폼 생성기고속 디지털 제품 등 다양한 NI 모듈러 인스트루먼트에서 사용할 수 있습니다.

현대 임의의 웨이브폼 생성기는 큰 웨이브폼을 저장하기 위해 깊은 내장 메모리를 구현합니다. 일반적으로 “링크 및 루프”라고 불리는 것을 사용하여 이러한 웨이브폼을 순차적으로 생성할 수 있습니다. 이 기능을 사용하면 미리 정해진 순서 또는 동적 순서로 웨이브폼을 생성하여 복잡한 웨이브폼 시퀀스를 생성할 수 있습니다.

그림 1은 Signal Generator 메모리에 저장할 수 있는 세 가지 고유한 웨이브폼을 보여줍니다.

그림 1: 메모리에 저장된 여러 임의의 웨이브폼

이러한 웨이브폼을 메모리에 저장한 후, 순차적으로 링크하고 루프할 수 있습니다. 그러므로 생성 세션이 시작되기 전에 반드시 웨이브폼의 시퀀싱 지시를 메모리에 저장해야 합니다. NI 신호 생성기를 사용하면, 여러 웨이브폼과 여러 시퀀스 명령을 내장 메모리에 저장할 수 있습니다. 그림 2는 NI Signal Generator 가능한 메모리 사용을 보여줍니다.

그림 2: NI 신호 생성기는 여러 웨이브폼을 내장 메모리에 저장합니다.

그림 2는 Signal Generator 저장된 웨이브폼이 상당량의 메모리를 차지할 수 있음을 보여줍니다. 예를 들어, 1초 동안 100 MS/s에서 샘플링된 웨이브폼은 200 MB를 차지합니다. 그러므로 Signal Generator 내장 메모리를 효과적으로 사용하는 것이 중요합니다. 실제로 웨이브폼 연결과 루프링을 사용하는 장점 중 하나는 최소한의 내장 메모리를 사용하면서 복잡한 시퀀스를 생성할 수 있다는 점입니다.

연결 및 루프

NI 신호 생성기에 있는 연결 및 루프 옵션은 시퀀스 모드와 스크립트 모드라는 두 개의 연결 및 루프 모드로 구성됩니다. 시퀀스 모드를 사용하면, 인스트루먼트가 내장 메모리에 저장된 시퀀스가 있는 미리 정해진 일련의 웨이브폼을 생성하도록 설정할 수 있습니다. 반면, 스크립트 모드는 사용자가 생성된 웨이브폼이 하드웨어 또는 소프트웨어 트리거의 상태에 의존하는 다이나믹 웨이브폼 시퀀스를 생성할 수 있기 때문에 더욱 강력합니다. 또한, 스크립트 모드는 “if/else”와 같은 조건적 구문을 사용하여 웨이브폼 시퀀스를 분기합니다. 마지막으로, 연결 및 루프 모드 모두에서, 마커 또는 마커 이벤트와 같은 기능을 가진 하나 또는 여러 트리거 신호를 출력하도록 Signal Generator 설정할 수 있습니다.

시퀀싱 모드

시퀀싱 모드에서, 웨이브폼 시퀀스는 각 단계가 웨이브폼 이름, 루프 카운트, 마커 위치의 세 파라미터에 대한 정보를 포함하도록 설정되어야 합니다. 그림 3은 일반적인 스크립트에서 설정된 파라미터를 보여줍니다.

그림 3: 웨이브폼 시퀀스에서 구성된 파라미터

시퀀싱을 위한 소프트웨어 프로그래밍 인터페이스는 LabVIEW NI-FGEN 드라이버의 고급 임의의 시퀀싱 팔레트를 사용하여 생성됩니다. 이 드라이버를 사용하여 그림 4와 같이 niFGEN 생성 임의 시퀀스 VI를 사용하여 Signal Generator 시퀀스 명령을 씁니다.

그림 4: 내장 메모리에 시퀀스 쓰기

이 VI에서 시퀀스 명령은 두 개의 배열로 작성됩니다. 하나는 각 웨이브폼의 반복 횟수를 포함하고 다른 하나는 각 웨이브폼의 핸들 정보를 포함합니다. 또한, 보다 고급 시퀀스를 생성하여 각 웨이브폼에 대해 마커 이벤트를 출력할 수 있습니다. 이 옵션이 활성화된 경우, 각 웨이브폼에 대해 마커 오프셋을 지정하도록 세번째 배열을 설정해야 합니다.

시퀀스 트리거 모드

선택한 트리거 메커니즘에 따라 다양한 모드를 사용하여 시퀀스로 설정된 웨이브폼을 생성할 수 있습니다. 트리거 이벤트는 소프트웨어 이벤트로 발생할 수 있지만, 사용 가능한 트리거 라인 중 하나의 하드웨어에서 더 일반적으로 발생합니다. National Instruments 신호 생성기로, 웨이브폼 시퀀싱에 사용할 수 있는 트리거 모드는 단일 트리거, 연속 트리거, 스텝 트리거, 버스트 트리거입니다. 각 모드는 각 웨이브폼이 생성될 때 각각 다른 출력 옵션을 제공합니다. 아래 설명되어 있습니다.

단일 트리거

단일 트리거 모드는 모든 트리거링 모드 중 가장 간단합니다. 이 모드에서는 생성 주기 동안 트리거가 한 번만 사용되기 때문입니다. 그러므로 트리거 조건이 충족되면 인스트루먼트를 다시 활성화해야 합니다. 단일 트리거 모드에서, 일반적으로 트리거를 시작 트리거로 사용하여 웨이브폼의 생성을 시작합니다. 그림 5와 같이 Signal Generator 시작 트리거를 받을 때까지 기다리는 동안 마지막 웨이브폼의 마지막 샘플을 출력합니다. 이 트리거 조건이 충족되면, Signal Generator 웨이브폼 또는 웨이브폼 시퀀스의 생성을 시작합니다. 

그림 5: 단일 시작 트리거로 시퀀싱하기

그림 5와 같이, Signal Generator 시작 트리거의 상승 에지에서 출력을 시작합니다. 그러나 시작 트리거 발생 시점과 채널 0 출력 시작 사이에는 약간의 지연이 있습니다. 샘플링 속도와 보간 인수의 함수인 이 지연은 Signal Generator 사양에 설명되어 있습니다. 또한, 이 특정 시나리오에서 두 개의 웨이브폼의 시퀀스가 생성하도록 설정되어 있습니다. 시퀀스에서 마지막 웨이브폼이 생성되면, Signal Generator 마지막 샘플 값을 계속 구동합니다.

연속 트리거링

반면, 연속 트리거 모드에서는 웨이브폼 부분의 전체 시퀀스가 연속적으로 생성됩니다. 트리거를 수신하면, Signal Generator 시퀀스의 첫번째 웨이브폼으로 신호를 생성하기 시작합니다. 또한, Signal Generator 시퀀스의 각 단계를 출력한 후 시퀀스가 완료되면 첫번째 단계로 돌아갑니다. 

그림 6: 연속 트리거 모드로 시퀀싱하기

그림 6과 같이, 출력은 시작 트리거 조건이 발생한 직후에 시작됩니다. 또한 Signal Generator 생성 세션이 정지될 때까지 계속해서 웨이브폼의 시퀀스를 생성합니다. 그림 5에서, 시간 t2일 때 Signal Generator 루프는 시퀀스의 첫번째 웨이브폼으로 변합니다.

단계별 트리거링

단계별 트리거 모드에서, 트리거는 시퀀스 리스트의 각 웨이브폼을 단계별로 실행하는데 사용됩니다. 생성 세션이 시작되면, 첫번째 웨이브폼 루프는 특정한 단계에 대해 설정된 횟수만큼 반복됩니다. 웨이브폼이 적절한 횟수만큼 반복되면, 웨이브폼의 마지막 샘플은 다음 트리거를 받을 때까지 계속 반복됩니다. 다음 트리거를 받을 때, 두번째 웨이브폼은 설정된 반복 횟수만큼 생성됩니다. 이 과정은 설정된 마지막 웨이브폼이 생성될 때까지 반복됩니다. 이 시점에서, 생성 시퀀스를 다시 시작하려면 트리거 조건이 필요합니다(그림 7). 

그림 7: 단계별 트리거 모드로 시퀀싱하기

그림 7에서 보이는 것처럼, Signal Generator 첫번째 트리거를 받을 때 t0 시간에 첫번째 웨이브폼을 생성하기 시작합니다. 또한 설정된 루프 개수(이 경우 두 개)에 도달할 때까지 ‘waveform0’의 생성을 통해 계속 루프를 실행합니다. 이 특정 시나리오에서 ‘waveform0’이 루프를 두 번 실행하도록 설정되어 있는 것을 확인할 수 있습니다. 그림 7에서 볼 수 있는 것처럼, Signal Generator 다음 웨이브폼이 생성될 때까지 ‘웨이브폼0’의 마지막 샘플을 계속 구동합니다.

버스트 트리거링

버스트 트리거 모드는 시퀀스의 각 웨이브폼이 수신된 각 트리거 사이에 연속적으로 반복되는 것을 제외하고는 단계별로 실행되는 트리거 모드와 비슷합니다. 이 모드에서 Signal Generator 트리거를 받을 때 웨이브폼을 생성하기 시작합니다. 또한 다음 트리거를 받을 때까지 루프를 계속 실행하여 해당 웨이브폼을 생성합니다. 그 후에만 다음 웨이브폼으로 진행됩니다(그림 8의 타이밍 다이어그램 참조). 

그림 8: 버스트 트리거 모드로 시퀀싱하기

그림 8과 같이, 첫번째 트리거는 시간 ‘t0’에 수신되어 Signal Generator 시퀀스의 첫번째 단계를 생성하도록 합니다. Signal Generator 는 다음 트리거를 받을 때까지 계속 이 웨이브폼을 루프합니다. 그러므로, ‘t1’에서 두번째 트리거를 받을 때, Signal Generator 시퀀스의 다음 단계로 진행합니다.

고급 웨이브폼 시퀀싱을 위한 스크립팅

시퀀스 모드를 사용하면 Signal Generator 트리거를 받을 때 일련의 웨이브폼을 출력할 수 있지만, 제한이 있습니다. 기본적으로 시퀀스 모드에서는 신호 생성이 시작되기 전에 각 단계가 설정되어야 합니다. 출력이 조건적인 다이나믹 스크립트를 설정하려면, 스크립팅이라는 보다 고급 형태의 시퀀싱을 사용해야 합니다.

스크립트를 사용하면, Signal Generator 시스템의 하드웨어 또는 소프트웨어 이벤트에 따라 다이나믹하게 웨이브폼의 시퀀스를 출력할 수 있습니다. 또한 유연성 때문에 가장 고급 웨이브폼 컨트롤 기능입니다. 스크립트를 사용하면 여러 웨이브폼 사이에 링크와 루프를 연결할 뿐만 아니라 테스트 중인 디바이스에서 발생하는 이벤트에서 웨이브폼 조건을 생성할 수 있습니다. 이 섹션에서는 여러 예제 스크립트를 사용하여 기본적인 스크립트 언어 원소를 살펴봅니다.

스크립트 언어의 기본 사항

스크립팅의 기본적인 아이디어는 Signal Generator 메모리에 이름있는 웨이브폼을 저장한 후 어떤 웨이브폼이 주어진 시간에 생성될지 결정하는 스크립트에 의해 호출될 수 있다는 것입니다. 또한 스크립트는 신호 생성 전에 임의의 웨이브폼 생성기에 다운로드됩니다.

소프트웨어에서 스크립팅 프로그래밍 인터페이스에는 세 가지 기본적인 함수가 필요합니다. 각각 그림 9에서 볼 수 있습니다.

그림 9: LabVIEW에서 스크립트 구성하기

먼저 각 웨이브폼은 임의의 웨이브폼 생성기(AWG)에 이름있는 웨이브폼으로 다운로드됩니다. 스크립트는 각 웨이브폼을 이름으로 식별하기 때문에 이름있는 웨이브폼을 작성해야 합니다. 두 번째로, 스크립트는 웨이브폼에 작성됩니다. 스크립트에는 각 웨이브폼이 생성되는 순서를 결정하는 다양한 명령이 포함되어 있습니다. 마지막으로, 생성이 시작되고 AWG가 출력 엔진에서 웨이브폼을 생성하기 시작합니다.

스크립트 트리거 개요

스크립트 트리거를 사용하면 보다 복잡한 스크립트를 생성할 수 있습니다. 스크립트를 사용하면 실제 신호를 사용하여 어떤 웨이브폼을 생성해야 할지 결정할 수 있습니다. 이 신호는 백플레인의 PXI 트리거 라인 또는 프런트패널 커넥터의 PFI (Programmable Function Interface) 트리거에서 오는 신호일 수 있습니다.

niFgen 스크립트 트리거 설정 VI를 사용하여 소프트웨어에서 스크립트 트리거를 설정할 수 있습니다. 이 함수를 사용하여 특정 트리거 라인의 레벨 또는 에지 트리거를 설정할 수 있습니다. 그림 10의 함수 호출 이후, 스크립트는 “scriptTrigger0”를 변수로 사용하여 다양한 웨이브폼이 생성되는 순서를 결정할 수 있습니다.

그림 10: 스크립트 트리거 구성

스크립팅 언어에서, 스크립트 트리거는 특정 하드웨어 조건과 관련된 변수로 처리됩니다. 그림 10 예제 스크립트에서 보이는 것처럼, scriptTrigger0은 참/거짓 불리언 로직 구문으로 계산되어야 합니다. 그림 11에서 볼 수 있습니다.

그림 11: 스크립트 트리거 평가

스크립트 트리거를 사용하여 스크립트 언어 내에서 조건 명령어를 사용할 수 있기 때문에, Signal Generator 테스트 중인 실제 디바이스에서 신호에 의존하는 신호를 출력할 수 있습니다. 다음 섹션에서는 스크립팅 언어의 몇 가지 기본 설명을 살펴보고 스크립팅 기능에 대한 개요를 제공합니다.

스크립트 언어의 기초

스크립트 언어에는 웨이브폼을 생성할 수 있는 순서를 결정하는 몇 가지 기본 명령이 포함되어 있습니다. 이 섹션에서는 기본 명령을 나열하고 이를 사용하는 몇 가지 기본 시퀀스를 살펴봅니다. 기본 스크립팅 명령 세트에는 다음과 같은 명령이 포함됩니다:        

  • Generate n – 출력 엔진이 ‘n’번의 웨이브폼 시퀀스를 생성하도록 지시합니다.
  • 특정 조건이 충족될 때까지 – 시퀀스를 반복합니다.
  • If/Else – 스크립트 트리거가 불리언 변수로 작동하는 조건 명령.
  • 기다림 – 출력 엔진이 신호 생성을 다시 시작하기 위해 조건이 충족될 때까지 기다리도록 하는 지연 명령.
  • 지우기 – 발생할 수 있는 트리거의 모든 인스턴스를 지웁니다.

명령까지 반복

“다시 실행을 반복” 명령을 사용하면 트리거가 발생할 때까지 웨이브폼을 반복적으로 생성할 수 있습니다. 그림 12는 이 명령을 사용하는 단순 스크립트를 실행하는데 필요한 명령의 세트를 보여줍니다.

그림 12: "다시 실행" 명령을 사용하는 예제 스크립트

“scriptTrigger0”이 어떤 웨이브폼을 생성할지 결정하는 변수로 사용되고 있는 것을 확인합니다. 그림 13의 순서도를 사용하여 스크립트 언어를 시각화합니다.

그림 13: "다시 실행" 명령을 포함하는 스크립트의 순서도

이 특정 스크립트에서, Signal Generator 먼저 “waveform0”를 생성합니다. 그런 다음 "웨이브폼1" 생성을 통해 루프를 실행하고 "scripttrigger0"이 참으로 계산될 때까지 이 웨이브폼을 반복합니다. 이 이벤트가 발생하면, Signal Generator 시퀀스를 종료하기 전에 “웨이브폼2”를 생성합니다. 그림 14는 이 스크립트의 결과로 나오는 출력 신호를 보여줍니다.

그림 14: Signal Generator 출력 및 “다시 실행” 스크립트

그림 14에서 보이는 것처럼, AWG는 "scripttrigger0"이 참으로 계산될 때까지 계속해서 "웨이브폼1"을 생성합니다.

명령까지 기다림

“기다림” 명령을 사용하여, 하드웨어 조건이 발생할 때까지 모든 웨이브폼의 생성을 정지하도록 Signal Generator 설정할 수 있습니다. 그림 15는 “기다림”을 사용하는 예제 스크립트를 보여줍니다. 다시 말해, AWG가 언제 웨이브폼 생성을 다시 시작할지 결정하는 변수로 “scriptTrigger0”가 사용됩니다.

그림 15: "기다림" 명령을 사용하는 예제 스크립트

“기다림” 구문 앞에 “Clear” 구문이 사용되는 것을 확인합니다. 지우기 구문은 “waveform0”이(가) 생성되는 동안 발생했을 수 있는 모든 트리거 조건을 무시하는데 사용됩니다. 그림 16은 이 특정 스크립트의 순서도를 보여줍니다.

그림 16: "기다림" 명령을 포함하는 스크립트의 순서도

이 특정 스크립트에서 AWG는 “waveform0”를 먼저 생성하여 시작합니다. 그 후, Signal Generator 트리거 조건이 충족될 때까지 “웨이브폼0”의 마지막 샘플을 출력합니다. 트리거 조건이 발생하면, AWG는 스크립트를 다시 시작하고 “웨이브폼1”과 “웨이브폼2”을 생성합니다. 그림 17은 생성기의 물리적 출력을 보여줍니다.

그림 17: "기다림" 스크립트를 가진 Signal Generator 출력

If/Else 명령

“If/else” 명령 시퀀스를 사용하여 하드웨어 조건에 따라 웨이브폼이 생성되는 순서를 결정할 수 있습니다. 또한, 이러한 명령이 중첩된 경우, 이를 사용하여 생성할 웨이브폼이 여러 트리거 조건에 의존하는 진리 테이블을 구현할 수 있습니다. 그림 18은 “If/else” 명령 시퀀스를 사용하는 간단한 스크립트를 보여줍니다.

그림 18: "If/else" 명령을 사용하는 예제 스크립트

또한 그림 19은 특정 웨이브폼이 생성되는 순서를 나타내는 순서도를 보여줍니다.

그림 19: "If/else" 명령을 포함하는 스크립트의 순서도

이 예에서, AWG는 “waveform0”를 먼저 생성하여 시작합니다. 그 다음 “scripttrigger0”은 다음에 어떤 웨이브폼이 생성될지 결정하기 위해 평가됩니다. “scripttrigger0”이(가) 거짓으로 계산되는 경우, “waveform1”이(가) 생성됩니다. “scriptrigger0”이 참으로 계산되는 경우, “waveform2”가 생성됩니다. 그림 20은 시간 함수로 표시된 AWG의 물리적 출력을 보여줍니다.

그림 20: "If/else" 스크립트를 사용한 Signal Generator 출력

그림 20에서 “scripttrigger0”이 참으로 계산되면 “waveform2”가 생성됩니다. 이 예제는 하나의 조건문만을 보여줍니다. National Instruments AWG를 사용하면 최대 4개의 스크립트 트리거를 설정할 수 있습니다. 그 결과, “If/else” 구문을 중첩하여 보다 복잡한 논리적 구문을 나타낼 수 있습니다.

출력 트리거 및 이벤트

현재까지 이 문서는 주로 입력 트리거를 사용하여 신호 생성기의 출력을 컨트롤하는 방법에 대해 설명합니다. 그러나 신호 생성기는 출력 트리거를 생성하여 다른 인스트루먼트의 동작을 컨트롤할 수 있습니다. 출력 트리거의 두 가지 타입은 마커 이벤트와 데이터 마커 이벤트입니다. 첫 번째 타입의 경우, 한 개까지(시퀀스 모드) 또는 네 개까지(스크립트 모드) 트리거 라인을 설정하여 설정된 샘플 번호와 동기화된 상태를 변경할 수 있습니다. 반대로, 데이터 마커 이벤트를 사용하면 아날로그 웨이브폼의 최대 4비트를 최대 4개의 트리거 라인에 연결할 수 있습니다. 이러한 타입의 출력 트리거에서 트리거의 상태는 실제 웨이브폼에 내장됩니다.

마커 이벤트

마커 이벤트를 사용하면, 최대 4개의 트리거 라인을 설정하여 상태가 특정 샘플 생성과 동기적으로 변경되도록 할 수 있습니다. Signal Generator 전면 패널 또는 PXI 백플레인의 PFI 트리거 라인에서 이 디지털 펄스를 생성할 수 있습니다.

마커 이벤트는 웨이브폼 시작으로부터 오프셋 카운트(샘플 개수)를 제공하여 지정됩니다. 시퀀스 모드에서는 시퀀스의 각 단계에 대해 하나의 마커 이벤트를 설정합니다. 스크립트 모드에서는 특정 웨이브폼의 다른 오프셋에서 최대 4개의 마커를 설정할 수 있습니다. 그림 21에서 볼 수 있듯이, 마커와 연관된 트리거 라인이 20번째 샘플을 생성하는 동일한 클럭 에지에서 지정됩니다. 또한 이 특정한 경우, 트리거 라인이 샘플 클럭의 40 주기 동안 지정되도록 설정되어 있는 것을 확인할 수 있습니다.

그림 21: 마커 이벤트 출력의 타이밍

프로퍼티 노드를 사용하여 여러 가지 방법으로 마커 출력의 동작을 설정할 수 있습니다. 그림 21과 같이, 마커 이벤트는 샘플 클럭의 8 주기 동안 펄스로 설정되어 있습니다. niFgen 프로퍼티 노드를 사용하여 이 동작을 지정할 수 있습니다(그림 22).

그림 22: 프로퍼티 노드를 사용하여 마커 이벤트 구성하기

그림 22는 출력 터미널, 출력 동작 및 펄스 폭을 설정할 수 있음을 보여줍니다. 그림 22의 마커가 펄스로 설정된 반면, 대신에 출력을 토글하도록 설정할 수도 있습니다.

마커 이벤트는 여러 인스트루먼트를 동기화해야 하는 경우 특히 유용합니다. 또한 PXI 신호 생성기로 마커 이벤트 트리거를 디지타이저, RF 벡터 신호 생성기 또는 고속 디지털 I/O 하드웨어와 같은 여러 모듈에 쉽게 연결할 수 있습니다.

데이터 마커 이벤트

데이터 마커 이벤트를 사용하여, 최대 4개의 웨이브폼 데이터 비트를 디지털 신호로 물리적 트리거 라인으로 반출할 수 있습니다. 예를 들어, 일반적인 Signal Generator 16비트 DAC (디지털-아날로그 변환기)를 사용합니다. 그러므로 신호를 생성할 때, 샘플 속도 주파수의 주기마다 16비트 샘플이 DAC에 전송됩니다. 또한 각 샘플의 최대 4 비트를 물리적 트리거 라인에 연결할 수 있습니다. 그러므로 이 4개의 웨이브폼 비트를 다른 하드웨어와 동기화하기 위해 디지털 웨이브폼으로 설정할 수 있습니다.

데이터 마커 이벤트의 디지털 레벨은 특정 데이터 비트가 웨이브폼 데이터에서 토글될 때 변경됩니다. 웨이브폼 데이터 비트가 한 부분에서 여러 번 토글되는 경우, 데이터 마커 레벨은 매번 변경됩니다. 데이터 비트 레벨이 하이일 때, 데이터 마커 레벨은 하이입니다. 또한, 역 로직을 사용하도록 데이터 비트 마커를 설정할 수 있습니다. 그림 23은 데이터 비트 마커를 사용하는 신호의 타이밍 다이어그램을 보여줍니다.

그림 23: 웨이브폼의 비트 단위 표현

그림 23과 같이, 일반적인 Signal Generator 각 샘플은 16비트 숫자로 구성되어 있습니다. Signal Generator 샘플 클럭마다 16비트 숫자를 업데이트할 수 있습니다. 그림 23은 각 16비트 샘플의 4개의 최하위 비트를 하이라이트하여 보여줍니다. 위에서 설명한 것처럼, 각각의 개별 비트를 디지털 신호로 물리적 트리거 라인에 연결할 수 있습니다. 그림 24의 각 데이터 비트 트리거 라인의 타이밍 다이어그램에서 디지털 트리거 라인의 동작을 보여줍니다.

그림 24: 데이터 마커 이벤트 타이밍 다이어그램

그림 24는 각 데이터 비트 마커가 외부 트리거 라인으로 연결되도록 설정할 수 있는 것을 보여줍니다. 각 샘플의 비트 값이 트리거 라인의 상태를 결정하는 것을 확인합니다. ‘DataBit3’에서 비트는 처음 세 개의 클럭 주기에서 ‘0’이며, ‘t2’에서 시작하여 ‘1’으로 변경됩니다.  그 결과 ‘PXI_Trig 3’의 디지털 상태는 처음 세 주기 동안 로우로 유지되고, 시간 ‘t2’에서 하이가 됩니다.

데이터 마커 이벤트를 사용하면, 하드웨어에서 신호 생성기와 다른 디바이스의 동기화를 더 밀접하게 만들 수 있습니다. 또한 여러 PXI 인스트루먼트 간의 동기화는 모듈 사이에 외부 연결이 필요하지 않기 때문에 더욱 쉬워집니다.

요약 및 어플리케이션

National Instruments 신호 생성기의 고급 웨이브폼 트리거링 및 시퀀싱 기능을 사용하면, 복잡한 웨이브폼을 생성하고 여러 인스트루먼트 간의 동기화를 구현할 수 있습니다. 또한 동기화된 인스트루먼트가 같은 물리적인 PXI 시스템에 있습니다. 그 결과, 여러 인스트루먼트와 밀접하게 동기화된 복잡한 테스트 신호를 구현할 수 있습니다. 그림 25는 여러 인스트루먼트를 포함하는 테스트 셋업의 예를 보여줍니다. PXI 시스템에서 Signal Generator 다른 인스트루먼트의 동작을 컨트롤하기 위해 마커 이벤트 또는 데이터 비트 마커 기능을 구현할 수 있습니다.

그림 25: 자동화된 PXI 테스트 시스템

그림 25와 같이, Signal Generator 는 테스트 중인 유닛(UUT)에 자극 신호를 제공할 수 있습니다. 또한, 추가적인 인스트루먼트는 마스터 Signal Generator 자극을 사용하여 UUT와 동기적으로 상호작용할 수 있습니다. ATE 시스템 설계에 대한 자세한 내용은 테스트 시스템 리소스 라이브러리에서 기술 가이드 모음을 다운로드하십시오.

또한, UUT의 자극 신호를 사용하여 AWG의 자극 신호를 결정할 수 있습니다. 스크립팅과 스크립트 트리거를 사용하면, 실제 트리거 이벤트를 기반으로 신호의 출력을 컨트롤할 수 있습니다. 그림 26은 Signal Generator UUT에서 오는 디지털 컨트롤 신호에 조건적으로 일련의 다른 신호를 생성하는 테스트 시나리오의 블록다이어그램을 보여줍니다. 스크립트를 사용하면, Signal Generator 웨이브폼 생성을 정지하지 않고도 플로우 시 이러한 디지털 컨트롤 신호에 응답할 수 있습니다.

그림 26: 다이나믹 시퀀싱 사용

그림 26에서는 PFI0과 PFI1이 UUT에서 입력을 받도록 스크립트 트리거로 설정되었습니다. 신호 생성기는 최대 4개의 스크립트 트리거를 사용하여 신호 출력을 컨트롤할 수 있습니다. 두 개 이상의 컨트롤 라인이 필요한 경우, PXI 타이밍 및 동기화 모듈을 사용하여 디지털 트리거 신호를 Signal Generator 연결할 수 있습니다.

결론

NI의 최신 신호 생성기는 복잡하고 정확한 아날로그 신호를 생성할 수 있습니다. 따라서 신호 생성기는 다양한 신호를 생성하고 다양한 어플리케이션을 지원할 수 있습니다.

관련 링크

Was this information helpful?

Yes

No