혼합 신호 회로를 측정, 생성, 제어하기

[테크월드=김경한 기자] 연구실 공간이 줄어들고 엔지니어링팀이 점점 더 분산됨에 따라, 기업은 기존 연구소에 대한 보완책으로 일체형 측정기를 선택하고 있다. 이에 모든 유형의 설계를 지원할 수 있는 휴대용 테스트·측정 벤치에 대한 필요성이 증가하고 있다. 

 

 자료제공: 디질런트(Digilent) 

전 세계 엔지니어들은 디질런트(Digilent) 테스트·측정 장치를 사용해 항상 오실로스코프, 로직 분석기, 파형 발생기 등을 사용할 수 있으므로 설계주기 시간을 단축하고 영향을 증가시킨다.

디질런트의 테스트·측정 장비

NI 랩뷰(LabVIEW)는 그래픽 프로그래밍 방식을 통해 하드웨어 구성, 측정 데이터, 디버깅을 비롯한 애플리케이션의 모든 측면을 시각화할 수 있도록 지원한다. 랩뷰를 사용하면 다음과 같은 이점이 있다. 

 ■ 직관적인 그래픽 프로그래밍으로 사고 방식을 프로그래밍
 ■ 타의 추종을 불허하는 하드웨어 지원을 통해 거의 모든 하드웨어에 연결
 ■ 데이터를 신속하게 수집·시각화
 ■ 다른 소프트웨어 도구와 상호 운용 

이 튜토리얼은 디질런트 테스트·측정 장치에서 NI 랩뷰 커뮤니티 에디션(LabVIEW Community Edition)과 다양한 계측기를 사용해 아날로그와 디지털 회로를 테스트하는 방법을 설명한다. 

 

전제 조건
 ■ 디지키(Digi-Key)를 통해 모두 사용할 수 있는 휴대용 디질런트 테스트·측정 장치
  - 휴대용 회로 실험실인 아날로그 디스커버리 스튜디오(Analog Discovery Studio)
  - 아날로그 디스커버리(Analog Discovery) 2, USB 오실로스코프, 로직 분석기, 다기능 측정기
  - 디지털 디스커버리(Digital Discovery), 휴대용 USB 로직 분석기, 디지털 패턴 생성기
 ■ 최신 버전의 웨이브폼(WaveForms)과 랩뷰 커뮤니티가 설치된 컴퓨터

 

하드웨어 설정
USB 케이블을 통해 테스트·측정 장치를 컴퓨터에 연결한다. 장치에 외부 전원이 필요한 경우 전원 공급 장치를 콘센트에 연결한 다음, 전원 공급 장치의 배럴잭을 테스트·측정 장치에 연결한다. 장치의 전원 스위치를 ON 위치로 전환한다. 장치 상단에 있는 녹색 ‘전원 양호’ 표시등 LED가 켜진다.

 

소프트웨어 설정
1. VI 패키지 관리자(VIPM) 브라우저를 연다[그림 1].

[그림 1] vipm 브라우저

2. ‘Digilent’를 검색하고 ‘Digilent WaveForms VI’를 열고 ‘Install’을 클릭한다[그림 2]

[그림 2] WaveForms vis 설치

3. 설치가 완료되면 현재 창을 닫고 VI 패키지 관리자를 연다. ‘Digilent WaveForms VI’를 검색하고 더블 클릭한다[그림 3].

[그림 3] ‘Digilent WaveForms VI’ 검색 결과

4. ‘Show Examples’ 버튼을 클릭한다[그림 4].

[그림 4] vipm_waveforms_vis

(참고 1)(참고 2)는 본문 ‘4. Show Examples’ 버튼을 클릭한다[그림 4].’가 있는 페이지의 하단에 넣어주세요. 

 (참고 1) 랩뷰를 다운로드하려면 NI 계정이 필요하다. 랩뷰 커뮤니티는 ‘LabVIEW Community’에서 다운로드할 수 있다. 시작 가이드는 ‘LabVIEW Community Getting Started’에서 찾을 수 있다. 랩뷰 커뮤니티를 설치하면 VI 패키지 관리자와 VIPM 브라우저가 설치되고 나중에 이 가이드에서 사용된다.
 (참고 2) 웨이브폼은 ‘WaveForms’에서 다운로드할 수 있다. 설정 프로세스는 ‘WaveForms Getting Started Guide’에 있다. 웨이브폼을 설치하면 WaveForms VI에 필요한 ‘Digilent WaveForms Runtime’이 설치된다.

여기에서 다양한 측정기의 기능을 보여주는 예시를 참조할 수 있다.
 - 아날로그 디스커버리 2와 아날로그 디스커버리 스튜디오의 아날로그(Analog) IO 예시
 - 아날로그 디스커버리 2, 아날로그 디스커버리 스튜디오, 디지털 디스커버리의 디지털(Digital) IO예시

 

아날로그 I/O 예시
제공된 예시 파일 frequency_sweep.zip을 다운로드하고 압축을 푼 다음 더블 클릭해 랩뷰 커뮤니티에서 연다. 예시에 사용된 모든 측정기는 자체 VI에서 사용할 수 있으며, 무엇을 만들 수 있는지 확인할 수 있다.
랩뷰 내에서 파형 생성기를 사용하려면 Measurement I/O → Digilent WF VIs → FGEN 
컨테이너에서 [그림 5]와 같은 Subvis를 사용할 수 있다.

[그림 5] 웨이브젠 툴(wavegen_tools)

 ■ Initialize: 사용자가 디질런트 테스트·측정 장치를 선택할 수 있도록 하고 장치 핸들러를 다른 파형 발생 Subvis로 보낸다.
 ■ Standard: 생성할 기능과 함수의 진폭, DC 오프셋, 듀티 사이클, 주파수를 설정하는 데 사용한다.
 ■ Run: 함수 생성기를 실행하는 데 사용한다.
 ■ Stop: 함수 생성기를 중지한다.
 ■ Close: 프로그램이 종료되면 측정기를 닫아 다른 소프트웨어에서 사용할 수 있게 한다(동시에 두 개의 프로그램으로 측정기를 제어할 수 없음).
 ■ 임의 파형 생성, 함수 생성기 상태에 대한 데이터 반환, 측정기 재설정 등을 위한 기타Subvis도 사용할 수 있다(예시 프로그램에서는 사용되지 않음).

랩뷰 내에서 오실로스코프 측정기를 사용하려면 Measurement I/O → Digilent WF VIs → MSO 컨테이너에서 [그림 6], [그림 7]과 같은 Subvis를 사용할 수 있다.

[그림 6] 스쿠프 툴(scope_tools 1)
[그림 7] 스쿠프 툴(scope_tools 2)

 ■ Initialize: 사용자가 디질런트 테스트·측정 장치를 선택할 수 있도록 하고 장치 핸들러를 다른 파형 발생 Subvis로 보낸다.
 ■ Read: 선택한 스코프 채널에서 데이터를 수집하는 데 사용된다.
 ■ Run: 오실로스코프를 실행하는 데 사용된다.
 ■ Stop: 오실로스코프를 중지한다.
 ■ Close: 프로그램이 종료되면 측정기를 닫아 다른 소프트웨어에서 사용할 수 있게 한다(동시에 두 개의 프로그램으로 측정기를 제어할 수 없음).
 ■ Analog: 사용자가 채널을 선택하고 결합 유형과 프로브 감쇠를 설정할 수 있다(BNC 프로브를 사용할 때 유용할 수 있음).
 ■ Analog Edge: 선택한 채널의 트리거 레벨, 트리거 기울기 및 트리거 이력을 설정하는 데 사용된다.
 ■ 채널·트리거 속성 설정, 오실로스코프 상태에 대한 데이터 반환, 측정기 재설정 등을 위한 기타 Subvis도 사용할 수 있다(예시 프로그램에서는 사용되지 않음).

랩뷰 가상 측정기는 전면 패널과 블록 다이어그램의 두 부분으로 구성된다. 전면 패널은 데이터 입출력에 대한 모든 제어 장치와 표시기를 포함하며 프로그램이 실행 중일 때 사용자 인터페이스 역할을 한다. 블록 다이어그램은 전면 패널에 있는 블록뿐만 아니라 정보 처리와 블록 간 연결에 필요한 다른 블록도 포함한다. 해당 창의 빈 공간을 마우스 오른쪽 버튼으로 클릭하고 라이브러리에서 필요한 블록을 선택해 두 창에 새 블록을 추가할 수 있다. 창에 이미 있는 블록은 해당 블록을 마우스 오른쪽 버튼으로 클릭해 수정할 수 있다. 다음에서는 전면 패널과 블록 다이어그램의 이용 방법을 참조할 수 있다.

전면 패널에는 메뉴 모음과 함께 정렬 설정, 검색 버튼 등이 포함돼 있다(자세한 내용은 ‘LabVIEW Community Getting Started’ 참조). Run 버튼(1)과 자체 패널(3), 제어와 표시기 개체가 패널에 배치된다[그림 8].

[그림 8] 아날로그 전면 패널(Front Panel) 좌측

이 예시에서 패널은 장치 요소 세 부분으로 구분된다. 왼쪽 상단에는 사용된 테스트와 측정 장치를 선택하는 데 사용되는 장치 이름이 있는 드롭다운 목록이 있다. Stop 버튼(2)도 여기에 있다. 이 버튼을 사용하면 프로그램, 오실로스코프, 함수 생성 측정기를 모두 중지할 수 있다.

왼쪽 아래 부분에는 웨이브젠 측정기의 모든 제어 요소(채널, 기능 선택기 드롭다운 목록, 슬라이더, 텍스트 상자)가 포함돼 있다. 이 목록에는 듀티 사이클, 시작·종료 주파수, 스위프의 주파수 증분을 설정하기 위한 진폭, DC 오프셋 전압, 텍스트 상자 설정이 포함된다.

오실로스코프라는 이름의 오른쪽 부품에는 스코프 채널 선택, 결합 유형 설정, 트리거 엣지 설정, 프로브 감쇠 설정에 대한 4개의 드롭다운 목록이 포함된다(기본적으로 이 목록은 1X로 설정되며, BNC 프로브를 사용하는 경우 수정해야 함). 제어 필드 옆에 플롯 창도 있다. 여기에 측정된 신호가 표시된다. 축 범위는 자동으로 설정된다[그림 9].

[그림 9] 아날로그 전면 패널 우측

블록 다이어그램에는 메뉴 모음과 함께 정렬 설정, 검색 버튼 등이 포함돼 있다(자세한 내용은 ‘LabVIEW Community Getting Started’ 참조). Run 버튼(프로그램 시작도 가능), 패널 자체도 포함된다. 제어, 표시기, 데이터 처리 블록, 구조가 패널에 배치되고 연결된다[그림 10]

[그림 10] 아날로그 블록 다이어그램 1

이 예시에서 블록 다이어그램은 장식과 기능 구조로 인해 네 파트로 구분된다. 장치 선택이라는 첫 번째 파트는 드롭다운 목록 장치(제어 요소)를 포함하고 해당 출력을 선택한 장치 이름을 전송하는 미리 정의된 문자열과 비교한다. 이 부품에는 0개의 수신과 1개의 송신 신호(선택한 장치의 이름)가 있으며, 이 신호는 나중에 측정기 이니셜라이저 블록으로 전달된다.

다음 파트에서는 전면 패널 제어 요소에서 검색된 매개 변수에 따라 측정기를 설정하는 작업을 담당한다. 웨이브젠과 스코프 측정기의 설정 프로세스는 병렬로 수행된다.

상단 파트에서는 웨이브젠 측정기의 선택된 채널이 초기화된 다음 생성될 기능, 함수의 진폭, 듀티 사이클, DC 오프셋이 설정된다. 생성된 신호의 주파수는 스위프의 시작 주파수다. 웨이브젠 측정기는 Run 블록으로 시작한다[그림 11].

[그림 11] 아날로그 블록 다이어그램 2

하단 파트에서는 스코프 측정기가 초기화된 다음 채널이 선택되고 결합과 프로브 감쇠가 설정된다. 수직 오프셋은 웨이브젠 측정기에서 설정된 DC 오프셋과 동일하며 수직 범위는 생성된 신호의 진폭의 2배로 설정된다. 이후 트리거는 선택한 스코프 채널에 연결되고, 트리거 슬로프전면 패널의 제어 요소에 따라 트리거 슬로프가 설정되며, 트리거 레벨은 생성된 신호의 진폭의 절반으로 설정되며, 트리거 이력은 0.01V로 설정된다. 플롯 창의 축 범위도 여기에 설정된다. X 축은 0에서 시작 주기까지의 범위이고 Y 축은 신호의 전체 피크 대 피크 범위를 표시하도록 설정된다[그림 12].

[그림 12] 아날로그 블록 다이어그램 3

다음 파트는 중간 루프에 있으므로 특정 조건이 충족될 때까지 반복되며 반복 간에 10분의 대기 시간이 있다. 이 파트에는 측정기가 이전 파트에서 처리한 수신 신호와 오류 신호뿐만 아니라 웨이브젠 측정기 매개 변수(듀티 사이클, 시작 주파수, 파형 기능, 진폭, DC 오프셋)도 포함돼 있다. 루프에는 표준 블록(파형 설정)이 포함된다. 이 블록은 이전 파트의 표준 블록과 동일한 매개 변수를 수신하지만, 주파수는 매번 반복 때마다 변경되며, 새 주파수는 시작 주파수의 합으로 계산되고 주파수 증분과 반복 지수 사이의 곱으로 계산된다. 계산된 주파수가 종료 주파수와 같거나 더 크면 루프가 종료된다. 프로그램이 루프를 종료하게 하는 다른 조건으로는 오류가 발생하거나 전면 패널에서 Stop 버튼을 누른 경우다.

루프에는 스코프를 시작하고 측정을 수행하는 실행 블록과 전면 패널의 플롯 창인 아날로그 데이터 표시기에 연결된 읽기 블록도 포함된다. 이 섹션의 송신 신호는 오류 신호와 측정기 핸들이다.

루프가 종료되면 다른 소프트웨어에서 사용할 수 있도록 두 기기가 모두 중지되고 닫힌다. 두 개의 오류 신호가 병합 처리된다. 실행 중에 오류가 발생한 경우 오류 메시지가 표시된다[그림 13].

[그림 13] 아날로그 블록 다이어그램 4

VI를 실행하려면 먼저 전면 패널에서 사용된 테스트·측정 장치를 선택하고 원하는 파형의 속성과 주파수 스위프의 매개 변수를 설정한 다음 Run 버튼을 누른다. 측정은 Stop 버튼을 사용해 언제든지 중지할 수 있으며, 종료 주파수에 도달하면 종료된다[그림 14].

[그림 14] 아날로그 실행(Analog_Running)

예시를 테스트하려면 테스트·측정 장치의 오실로스코프 채널 1핀(주황색 와이어/원형)을 장치의 웨이브젠 채널 1출력 핀(노란색 와이어/원형)에 연결한다. MTE 케이블이 있는 아날로그 디스커버리 스튜디오와 같이 차동 입력 채널을 사용하는 장치의 경우 오실로스코프 채널 1음극 핀(흰색 줄무늬가 있는 주황색 와이어)을 웨이브젠 채널 1(검은색 와이어)과 연결된 접지 핀에 연결해야 한다.

 

디지털 I/O 예시
제공된 예시 파일 digital_io.zip를 다운로드하고 압축을 푼 다음 더블 클릭해 랩뷰 커뮤니티에서 연다. 예시에 사용된 모든 측정기는 자체 VI에서 사용할 수 있으며, 무엇을 만들 수 있는지 확인할 수 있다.

랩뷰에 있는 테스트·측정 장치의 디지털 I/O 핀에 액세스하려면 Measurement I/O → Digilent WF VIs → Dig 컨테이너에서 다음 Subvis를 사용할 수 있다[그림 15].

[그림 15] 디지털 툴(Digital_Tools)

 ■ Initialize: 사용자가 디질런트 테스트·측정 장치를 선택할 수 있도록 하고 장치 핸들러를 다른 디지털 I/O Subvis로 보낸다. 
 ■ Read: 주어진 디지털 I/O 라인 세트의 상태를 읽는 데 사용된다.
 ■ Write: 주어진 디지털 I/O 라인 세트의 상태를 설정하는 데 사용된다..
 ■ Close: 프로그램이 종료되면 측정기를 닫아 다른 소프트웨어에서 사용할 수 있게 한다(동시에 두 개의 프로그램으로 측정기를 제어할 수 없음).
 ■ I/O 라인에 ‘Tristate’ 버퍼 추가, 측정기 재설정 또는 라인 상태(Tristated /Static)에 대한 정보(예시 프로그램에서는 사용되지 않음) 등을 위한 기타 Subvis도 사용할 수 있다.

랩뷰 가상 계측기는 전면 패널과 블록 다이어그램의 두 부분으로 구성된다. 전면 패널에는 내부와 출력에 대한 모든 제어 장치와 표시기가 포함돼 있으며, 프로그램이 실행 중일 때 사용자 인터페이스 역할을 한다. 블록 다이어그램에는 전면 패널에 있는 블록뿐만 아니라 정보 처리와 블록 간 연결에 필요한 다른 블록도 포함된다. 해당 창의 빈 공간을 마우스 오른쪽 버튼으로 클릭하고 라이브러리에서 필요한 블록을 선택해 두 창에 새 블록을 추가할 수 있다. 창에 이미 있는 블록은 해당 블록을 마우스 오른쪽 버튼으로 클릭해 수정할 수 있다. 다음에서는 전면 패널과 블록 다이어그램의 이용 방법을 참조할 수 있다.

전면 패널에는 메뉴 모음과 함께 정렬 설정, 검색 버튼 등이 포함돼 있다(자세한 내용은 ‘LabVIEW Community Getting Started’ 참조). Run 버튼(1), 자체 패널(3), 제어, 표시기 개체가 패널에 배치된다[그림 16].

이 예시에서 패널은 장치 요소 두 파트로 구분된다. 상단에는 사용된 테스트·측정 장치를 선택하는 데 사용되는 장치 이름이 있는 드롭다운 목록이 있다. Stop 버튼(2)도 여기에 있다. 이 버튼을 사용하면 프로그램을 중지할 수 있으며 디지털 I/O 라인이 모두 LOW로 설정된다.    

하단에는 0~16(제어) 값의 슬라이더와 16개의 가상 LED가 있으며, 각 LED는 디지털 I/O 라인의 이름을 따서 이름이 지정됐다. 프로그램이 실행 중일 때 슬라이더는 얼마나 많은 디지털 라인이 HIGH가 될지 결정한다. 슬라이더를 움직여 HIGH로 설정된 라인 수를 수정할 수 있다. 가상 LED는 라인이 HIGH인지 여부를 나타낸다(HIGH이면 켜지고 LOW이면 어둡게 켜짐).

[그림 16] 디지털 전면 패널 설명

블록 다이어그램에는 메뉴 모음과 함께 정렬 설정, 검색 버튼 등이 포함돼 있다(자세한 내용은 ‘LabVIEW Community Getting Started’ 참조). Run 버튼(프로그램 시작도 가능), 패널 자체도 포함된다. 제어, 표시기, 데이터 처리 블록, 구조가 패널에 배치되고 연결된다[그림 17].

[그림 17] 디지털 블록 다이어그램 1

이 예시에서 블록 다이어그램은 장식 및 기능 구조로 인해 세 파트로 구분된다. 장치(기기 선택, 초기화)라는 첫 번째 파트는 드롭다운 목록 장치(제어 요소)를 포함하고 출력을 미리 정의된 문자열과 비교하고 디지털 IO 측정기를 선택한 장치 이름으로 초기화한다. 이 파트에는 디지털 IO 측정기 핸들러와 오류 신호라는 0개의 수신과 2개의 송신 신호가 있다.

다음 파트는 중간 루프에 있으므로 특정 조건이 충족될 때까지 반복되며 반복 간에 100분의 대기 시간이 있다. 이 파트는 이전 파트에서 두 개의 신호를 수신한다. 오류 신호와 장치 핸들러는 DIO-Write 블록에 연결되며, DIO-Write 블록은 입력 슬라이더로부터도 데이터를 수신한다. 슬라이더로 출력된 숫자는 부울 배열로 변환된 다음 이 배열의 내용이 디지털 I/O 라인에 기록된다. 오류와 측정기 핸들 신호는 DIO-Read 블록에 연결된다. 이 블록의 도움을 받아 프로그램은 디지털 I/O 라인 0~15의 값을 읽은 다음 부울 배열을 숫자로 변환한다. 이 숫자는 상수 값과 비교되며 각 비교 결과에 따라 가상 LED의 상태가 결정된다. 오류가 발생하거나 전면 패널에서 Stop 버튼을 누르면 루프가 종료된다. 측정기 손잡이와 오류는 다음 부분으로 전송된다[그림 18].

[그림 18] 디지털 블록 다이어그램 2

루프가 종료되면 속성 노드로 인해 모든 가상 LED의 상태가 False(LED 꺼짐)로 설정되고, 0개의 부울 배열이 모두 디지털 I/O 라인에 기록된다(모든 라인이 LOW로 설정됨). 기기가 닫혀 다른 프로그램에서 사용할 수 있게 되면 오류가 발생한 경우 오류 메시지가 표시된다[그림 19]

[그림 19] 디지털 블록 다이어그램 3

VI를 실행하려면 먼저 전면 패널에서 사용된 테스트·측정 장치를 선택한 다음 Run 버튼을 누른다[그림 20]

[그림 20] 디지털 실행(Digital_Running)

여기에서 디지털 I/O 라인 0~15의 값을 슬라이더로 설정할 수 있다. 핀의 상태도 다시 읽혀지고 가상 LED로 표시된다. 전면 패널의 Stop 버튼을 사용해 프로그램을 종료할 수 있다.

프로젝트 세부사항과 원본 파일은 디질런트 위키인 디질런트프로젝트(https://reference.digilentinc.com/learn/instrumentation/tutorials/getting-started-with-labview/start)에서 확인할 수 있다. 

이 기사를 공유합니다
저작권자 © 테크월드뉴스 무단전재 및 재배포 금지
이 기사와 관련된 기사