NI PXI 임의 웨이브폼 생성기 기능

개요

이 문서에서는 NI PXI 임의 웨이브폼 생성기의 다양한 기능과 관련된 개념에 대해 설명합니다. NI PXI 임의 웨이브폼 생성기에 대한 자세한 내용은 PXI 웨이브폼 생성기란?을 참조하십시오.

내용

웨이브폼 크기 및 양자

대부분의 Signal Generator의 메모리 구조는 웨이브폼 크기와 양자에 제한을 둡니다. 디바이스 메모리에 다운로드되는 모든 웨이브폼은 샘플 개수 기준으로 최소 웨이브폼 크기이어야 합니다. 또한 디바이스 메모리에 다운로드된 웨이브폼의 샘플 단위 크기는 특정 숫자 또는 양자의 정수배여야 합니다.

예를 들어, 최소 웨이브폼 크기가 4이고 웨이브폼 양자가 4인 NI 5412 임의 웨이브폼 생성기는 최소 웨이브폼 크기가 256이고 양자가 8 샘플인 이전 모델보다 더 유연합니다. NI 5412는 4, 8, 12, 16 등 크기의 웨이브폼을 출력할 수 있지만, 이전 모델은 256, 264, 272, 280 등 크기의 웨이브폼만 출력할 수 있습니다.

웨이브폼 시퀀싱


여러 웨이브폼과 그 웨이브폼 시퀀싱 명령은 Signal Generator 내장 메모리에 로드할 수 있습니다. 시퀀스를 사용하여 웨이브폼을 생성하는 개념은 "웨이브폼 시퀀싱" 또는 "링크 및 루프" 웨이브폼이라고 합니다. 웨이브폼을 루프하면 단일 웨이브폼을 여러 번 반복하고, 웨이브폼을 링크하면 AWG의 재생 리스트를 지정합니다. AWG는 내장 메모리에 웨이브폼을 저장하기 때문에, 웨이브폼의 길이는 제한되어 있습니다. 웨이브폼 루프는 여러 번 반복되는 서브컴포넌트가 있는 신호를 생성하는데 도움이 됩니다. 웨이브폼 부분을 루프로 만들면 메모리 효율성이 향상되고 웨이브폼의 잠재적 지속기간이 증가합니다.

다음 그림은 웨이브폼과 부분 시퀀싱의 개념을 보여줍니다.


그림 1


그림 1에서, 웨이브폼 A는 내장 메모리에 다운로드되는 사인파의 단일 사이클을 나타냅니다. 웨이브폼 B는 내장 메모리에 다운로드되는 램프 웨이브폼의 단일 사이클을 나타냅니다. 각 웨이브폼은 반드시 최소 웨이브폼 크기와 양자 규칙을 따라야 합니다.


그림 2


위의 그림 2의 부분 1은 웨이브폼 A를 사용하여 생성된 부분을 3번 반복하거나 루프하는 것을 보여줍니다. 부분 2에는 두 번 루프되는 웨이브폼 B가 포함되어 있습니다. 부분 3에는 한 번만 루프되는 웨이브폼 A가 포함되어 있습니다.


그림 3

 


그림 3과 같이, 이러한 웨이브폼은 시퀀스로 연결되어 있습니다.

웨이브폼 트리거링


신호 소스는 웨이브폼 생성을 컨트롤하기 위한 여러 타입의 하드웨어 트리거링을 제공합니다. 트리거는 하나 이상의 디바이스 기능을 시작하는 내부 또는 외부 자극입니다. 트리거 자극에는 TTL 디지털 에지, 소프트웨어 함수, 아날로그 레벨이 포함됩니다. 외부 트리거를 다시 반출할 수 있으며, 마커 이벤트와 함께(아래 설명) 하드웨어 작업을 외부 회로 또는 다른 NI 디바이스와 동기화할 수 있습니다. 일반적으로 신호 소스 트리거는 웨이브폼 출력이 시작된 후 웨이브폼 생성을 시작하거나 AWG가 한 웨이브폼 단계에서 다른 웨이브폼 단계로 단계별 실행을 시작하도록 합니다. 다음은 일반적으로 사용되는 4가지 트리거 모드(시작 트리거 모드, 연속 트리거 모드, 스텝 트리거 모드, 버스트 트리거 모드)에 대해 설명합니다.


그림 4


그림 4와 같이, 시작 트리거 모드에서 메모리에 정의된 웨이브폼 시퀀스는 전체 시퀀스를 통과하여 한 번만 생성한 후 웨이브폼 생성이 정지됩니다. 생성기가 시작 트리거를 받으면, 웨이브폼 생성은 첫번째 세그먼트에서 시작하여 마지막 세그먼트까지 계속됩니다. 전체 시퀀스 리스트가 생성된 후, 마지막 부분의 마지막 샘플이 연속적으로 생성됩니다.

반면, 연속 트리거 모드에서는 그림 5와 같이 웨이브폼 부분의 전체 시퀀스가 연속적으로 반복됩니다. 시작 트리거와 연속 트리거 모드 모두에서, 초기 트리거 이후의 모든 트리거는 무시됩니다.


그림 5


그림 6과 같이, 단계별 트리거 모드에서 시퀀스 리스트에 정의된 웨이브폼은 트리거가 인식될 때마다 한 부분을 생성합니다. 웨이브폼은 해당 특정 부분에 대해 설정된 횟수만큼 루프를 반복합니다. 부분의 생성이 정지된 후, 웨이브폼의 마지막 샘플은 다음 트리거를 받을 때까지 연속적으로 반복됩니다. 다음 트리거를 받을 때, 다음 세그먼트에 의해 정의된 웨이브폼은 설정된 개수의 루프를 생성합니다. 시퀀스 리스트가 모두 소진된 후, 웨이브폼 생성은 첫번째 부분으로 돌아가고, 이후 트리거가 다시 프로세스를 시작합니다. 트리거는 부분이 생성을 마친 후에만 인식됩니다. 그렇지 않은 경우, 트리거는 무시됩니다.


그림 6


버스트 트리거 모드는 시퀀스 리스트에 정의된 각 웨이브폼 선분이 마지막 선분의 마지막 샘플을 반복하는 대신 다른 트리거가 발생할 때까지 연속적으로 생성한다는 점만 제외하면, 단계별로 실행되는 트리거 모드와 비슷하게 작동합니다.


그림 7

마커 출력

마커는 웨이브폼 생성 내의 특정 포인트에서 생성할 수 있는 디지털 펄스입니다. 마커는 모든 시퀀스 부분에 놓을 수 있으며 다른 디바이스의 타이밍을 컨트롤하기 위한 트리거로 사용할 수 있습니다. 예를 들어, 마커 출력은 일반적으로 고속 디지타이저 및 오실로스코프의 디지털 트리거로 사용됩니다.

마커 출력은 각 부분의 웨이브폼 버퍼 시작에서 오프셋 카운트(샘플 개수)를 제공하여 지정됩니다. 웨이브폼 루프가 한 부분에서 여러 번 실행되는 경우, 마커는 설정된 샘플 위치에서 웨이브폼 루프를 생성할 때마다 생성합니다.

웨이브폼 루프가 여러 번 반복되는 부분에서 한 번만 마커를 생성하려면, 해당 부분을 여러 부분으로 분리합니다. 예를 들어, 100번 루프하는 사인 웨이브폼의 첫번째 반복에서만 마커를 생성하려면, 특정 샘플 위치에서 마커가 있는 사인 웨이브폼을 생성하는 부분을 생성하고 루프는 한 번만 생성합니다. 마커와 루프 없이 99번 사인 웨이브폼을 생성하는 두번째 부분을 생성합니다.

그림 8과 같이, 이 기술은 각각 다른 조합의 세그먼트에서 사용하여, 마커와 하나의 루프(세그먼트 1)를 포함하는 세그먼트를 생성한 후 4번 루프를 실행하는 마커 없는 세그먼트를 생성하여 사인 웨이브폼의 5개 루프마다 하나의 마커를 생성할 수 있습니다. 이 두 부분은 사이클을 반복해야 하는 만큼 반복됩니다.


그림 8

데이터 마커 이벤트

표준 마커 출력의 가장 큰 한계는 웨이브폼 부분당 하나의 마커 이벤트만 발생할 수 있다는 점입니다. 데이터 마커 이벤트는 한 부분에서 여러 마커 이벤트를 허용하도록 마커 기능을 확장합니다. 디바이스가 데이터 마커 이벤트를 지원하는지 확인하려면 "어플리케이션에 맞는 Signal Generator 찾기" 가이드를 참조하십시오.

데이터 마커는 16개의 웨이브폼 데이터 비트 중 하나를 디바이스의 유효한 대상으로 반출할 수 있는 이벤트입니다. AWG는 디지털-아날로그 변환기를 사용하여 일련의 디지털 샘플을 아날로그 웨이브폼으로 변환합니다. 예를 들어, NI 5421 AWG에는 샘플당 16개의 웨이브폼 데이터 비트가 있습니다. 16개의 웨이브폼 데이터 비트 중 최대 4개를 한 번에 반출할 수 있습니다.

데이터 마커 이벤트의 디지털 레벨은 특정 데이터 비트가 웨이브폼 데이터에서 토글될 때마다 변경됩니다. 웨이브폼 데이터 비트가 한 부분에서 여러 번 토글되는 경우, 데이터 마커 레벨은 매번 변경됩니다. 데이터 비트 레벨이 하이일 때, 데이터 마커 레벨은 하이입니다. 또한 이 관계를 반전시킬 수 있습니다.

다음 그림은 지정된 데이터 비트가 토글될 때 로우와 하이 사이에서 이동하는 반출된 데이터 마커 이벤트를 보여줍니다. NI 5421에서 데이터 마커 이벤트는 RTSI 버스, PXI 트리거 라인, SYNC OUT/PFI 0 및 PFI 1 또는 PFI 4 및 PFI 5로 반출할 수 있습니다.

 


그림 9


데이터 마커 이벤트를 사용하면 신호 생성기와 다른 디바이스 간의 동기화가 더 밀집됩니다. 예를 들어, AWG와 디지타이저는 AWG의 반출된 시작 트리거를 사용하여 동기화되는 경우가 많습니다. 그러나 시작 트리거가 반출되는 시간과 출력 커넥터에서 아날로그 웨이브폼 생성이 발생하는 시간 사이에는 짧은 지연이 있습니다. 데이터 마커 이벤트를 트리거 소스로 사용하는 경우, 마커 이벤트가 아날로그 출력에 직접 동기화되기 때문에 트리거 응답 시간이 빨라집니다.

스크립팅


스크립팅은 매우 복잡한 웨이브폼과 트리거링 시퀀스를 빠르고 쉽게 생성할 수 있는 강력한 기능입니다. 스크립트를 사용하여 생성 작업에서 여러 웨이브폼 사이에 "링크와 루프"를 만들 수 있습니다. 스크립트는 생성할 웨이브폼, 생성할 웨이브폼의 순서, 생성된 웨이브폼의 횟수, 조건적 명령을 포함하는 지시사항의 세트입니다. 디바이스에는 한 번에 여러 스크립트가 있을 수 있습니다. 스크립트 이름을 참조하여 어떤 스크립트를 실행할지 선택할 수 있습니다. 이 섹션에서는 어플리케이션에서 스크립트를 사용하는 방법과 스크립트를 생성하는 구문에 대해 설명합니다.

먼저 아래에 보이는 간단한 스크립트의 예를 살펴보겠습니다.


스크립트 myScript
웨이브폼 생성1
웨이브폼 생성2
웨이브폼 생성3
스크립트 끝


실행될 때, 이 스크립트는 연속적으로 세 개의 웨이브폼을 생성합니다. 스크립트/끝 스크립트, 생성, 반복/끝 반복, if/else/end if, 기다림, 지우기라는 6가지 기본 명령어를 사용하여 보다 복잡한 스크립트를 쉽게 생성할 수 있습니다.

스크립트/엔드스크립트 - 단일 스크립트 내에 포함되고 해당 스크립트에 이름을 연결하는 명령 세트를 정의합니다.

생성 - 이름있는 웨이브폼을 생성합니다. 전체 웨이브폼 또는 그 부분을 생성할 수 있습니다. 또한 명명된 웨이브폼의 지정된 위치에서 마커를 생성하도록 선택할 수 있습니다.

복수/종료 반복 - 명령 세트를 반복합니다. 유한한 횟수만큼 반복하거나, 영원히 반복하거나, 하드웨어 스크립트 트리거를 받을 때까지 반복할 수 있습니다.

If/Else/End If - 특정 스크립트 트리거가 수신되었는지 여부에 따라 스크립트의 어떤 섹션을 실행할지 결정합니다.

기다림 - 스크립트 트리거를 받을 때까지 실행을 일시 정지합니다.

삭제 - 이전에 래치된 스크립트 트리거를 무시합니다. 이 옵션은 일반적으로 기다림 전에 사용되거나 명령까지 반복됩니다.


이러한 스크립팅 함수를 사용하여 복잡한 웨이브폼 시퀀스를 생성하는 몇 가지 예를 살펴보겠습니다. NI 스크립트 편집기를 사용하면 쉽게 스크립트를 작성, 관리, 에러 확인할 수 있습니다.

유한 반복 (N번) - 이 스크립트는 웨이브폼1, 웨이브폼2, 그리고 웨이브폼3을 생성합니다. 웨이브폼2는 3번 반복됩니다.

스크립트 유한 반복
웨이브폼 생성1
반복 3
웨이브폼 생성2
반복 끝
웨이브폼 생성3
스크립트 끝


조건적 반복 - 이 스크립트는 웨이브폼1, 웨이브폼2, 그리고 웨이브폼3을 생성합니다. 웨이브폼2는 scripttrigger0이 발생할 때까지 반복됩니다.

스크립트 조건적 반복
웨이브폼 생성1
scripttrigger0까지 반복
웨이브폼 생성2
반복 끝
웨이브폼 생성3
스크립트 끝


조건적 분기 - If/Then Else - 이 스크립트는 웨이브폼을 생성합니다1. 그런 다음, scripttrigger0이 수신되면 wavform2가 생성됩니다. 그렇지 않으면, scripttrigger0이 수신되지 않은 경우 웨이브폼3이 생성됩니다.

스크립트 조건적분기
웨이브폼 생성1
if scripttrigger0 이후
웨이브폼 생성2
else
웨이브폼 생성3
다른 종단
스크립트 끝


여러 웨이브폼을 단계별로 실행하기 - 이 스크립트는 웨이브폼1을 생성하고 스크립트트트리거0을 기다립니다. scripttrigger0이 발생하면, 스크립트는 웨이브폼2를 생성합니다. 그 후 스크립트는 scripttrigger0이 다시 발생할 때까지 기다린 후 웨이브폼을 생성합니다3. 명확한 명령을 사용하여 명령이 무시될 때까지 기다림 전에 받은 스크립트 트리거를 확인합니다. 이 전체 시퀀스는 생성이 강제 종료될 때까지 영원히 반복됩니다.

스크립트 단계복수 웨이브폼 구현
영원히 반복
웨이브폼 생성1
스크립트 트리거 지우기0
scripttrigger0까지 기다림

웨이브폼 생성2
스크립트 트리거 지우기0
scripttrigger0까지 기다림

웨이브폼 생성3
스크립트 트리거 지우기0
scripttrigger0까지 기다림
반복 끝
스크립트 끝


마커로 웨이브폼 생성하기 - 이 스크립트는 웨이브폼을 생성하고 샘플 20에서 마커 이벤트를 생성합니다.


스크립트 마커로 생성하기
웨이브폼1 마커 생성0 (20)
스크립트 끝

관련 NI 제품

이 주제에 관심이 있는 고객들은 다음 NI 제품에도 관심을 보였습니다.

Was this information helpful?

Yes

No