GPIB 시스템 성능을 향상하는 여덟 가지 방법

개요

자동화된 측정 시스템을 구축할 때, 너무 좋은 성능이라는 것은 없습니다. 성능 향상은 생산 테스트 및 GPIB 기반 데이터 수집 어플리케이션에 명확한 영향을 미칩니다. 시스템 성능을 향상시키면 다음과 같은 이점을 얻을 수 있습니다.

- 테스트 처리량을 늘리고 더 짧은 시간에 더 많은 제품을 테스트
- 신제품을 빠르게 검증하여 더 빨리 시장 출시
- 테스트 장비의 자본 지출을 최소화

본질적으로 시간을 절약한다는 것은 고객 제공 기대치를 넘어서고, 더 빠르게 제품을 개발하고, 수익에 긍정적인 영향을 미치도록 테스트 장비에 대한 보다 현명한 투자를 하는 것으로 해석할 수 있습니다. IEEE 488(GPIB) 버스는 오늘날 많은 자동 측정 시스템의 기반이 되므로 GPIB 시스템 성능을 높이는 데 도움이 되는 다양한 옵션을 평가하는 것이 좋습니다. 테스트 및 R&D 엔지니어는 GPIB가 자동화된 측정 시스템에 통합할 수 있는 가장 광범위한 측정 디바이스를 지원하는 사용하기 쉽고 입증된 인터페이스이기 때문에 계속 사용하고 있습니다. 이러한 이유로 이 어플리케이션 노트에서는 GPIB와 함께 사용하여 시스템 성능을 향상시킬 수 있는 8가지 옵션에 대해 설명할 것입니다.

내용

소프트웨어 및 하드웨어에 걸친 솔루션

아래의 8가지 솔루션은 GPIB 시스템 성능을 향상시키기 위해 직접 사용할 수 있는 하드웨어 및 소프트웨어 옵션을 모두 포함합니다. 이 8가지 솔루션은 함께 또는 독립적으로 사용할 수 있으며 특정 시스템에 가장 적합한 제안을 통합할 수 있습니다.

1. DMA를 지원하는 GPIB 인터페이스 사용

PCI는 GPIB를 통해 데이터가 수신되면 우수한 데이터 전송 성능을 제공합니다. ISA 기반 컴퓨터와 달리 PCI 기반 컴퓨터에는 PC 메모리로 직접 데이터를 전송하기 위해 주변 카드에서 공유할 수 있는 전용 DMA 컨트롤러가 없습니다. 최대 성능을 위해 PCI 주변 장치 보드에는 데이터를 PC 메모리로 효율적으로 직접 전송하여 마이크로프로세서에서 데이터를 처리할 수 있도록 자체 내장 DMA 컨트롤러가 있어야 합니다. 이 기능이 있는 보드는 버스 마스터로 식별됩니다. 즉, 시스템의 마이크로프로세서와 독립적으로 PCI 버스를 제어하고 데이터를 전송할 수 있다는 뜻입니다.

버스 마스터 기능이 없는 주변 장치 카드는 마이크로프로세서를 인터럽트하여 단순히 데이터를 전송하기 위해 모든 처리 작업을 중지하게 합니다. 이러한 인터럽트는 어플리케이션을 멈추게 하여 전체 시스템 성능이 크게 저하될 수 있습니다.

2. 8MB/s 호환 GPIB 컨트롤러 및 계측기 사용

HS488은 IEEE 488의 고속 확장판으로 GPIB의 최대 처리량을 8MB/s로 높입니다. 벤치마크 결과에 따르면 성능이 25%에서 3,000%로 향상됩니다. 오실로스코프를 사용한 최근 벤치마크에서는 PC와 계측기 간의 최대 7.4MB/s의 데이터 전송 속도를 보여주었습니다. HS488은 GPIB 컨트롤러 하드웨어에서 구현되기 때문에 사용하기 쉽습니다. 더 높은 성능이라는 이점을 얻기 위해 어플리케이션 소프트웨어를 변경할 필요가 없습니다. HS488은 현장 테스트를 거쳤으며 기존 IEEE 488 기기와 완벽하게 호환됩니다. 고속 및 표준 IEEE 488 계측기는 호환성 문제 없이 동일한 시스템에 공존할 수 있습니다.

HS488 호환 GPIB 컨트롤러는 NI에서 지금 바로 구입할 수 있습니다. HS488에 대한 자세한 내용은 아래 링크를 참조하십시오.

3. 최적화된 측정 및 명령 구문 분석 기능이 있는 GPIB 계측기 찾기

명령을 처리하고 계측기의 GPIB 출력 버퍼에 측정 정보를 저장하는 것은 GPIB 계측기에서 측정값을 수집할 때 시간이 많이 소요되는 작업일 수 있습니다. 계측기 공급업체는 가능한 가장 측정 성능을 보장하기 위해 이러한 잠재적인 병목 현상을 최적화해야 합니다. 내장 마이크로프로세서 및 내부 시스템 버스의 속도와 유형은 계측기 처리 성능을 짐작할 수 있게 합니다. 그러나 최적화된 펌웨어 없이는 강력한 하드웨어를 충분히 활용할 수 없습니다. 계측기 공급업체가 이와 관련하여 스펙이나 벤치마크 정보를 제공하지 않는 경우 대부분의 경우 GPIB를 통해 측정을 설정하고 수집할 때 어떤 계측기가 최상의 성능을 산출하는지 확인하기 위해 다양한 계측기를 실험해야 합니다.

4. 고성능을 위해 설계된 GPIB 계측기 드라이버 사용

IVI 드라이버는 특정 계측기의 상태를 기억하여 시스템 성능을 향상시키도록 설계되었습니다. 상태 캐시 엔진은 계측기의 하드웨어 설정 상태를 기억합니다. 이 기능은 하드웨어 설정 값을 수정해야 하는 경우에만 계측기 I/O를 수행하여 시스템이 지능적으로 동작하도록 도와주기 때문에 테스트 성능을 크게 향상시킵니다. 예를 들어, 단순히 구동 신호의 주파수를 스위핑하는 경우 진폭, 웨이브폼 모양, 위상 및 기타 유형의 신호 정보는 중복되기 때문에 반복해서 다시 보낼 필요가 없습니다. 현재 VXI 플러그 앤 플레이 계측기 드라이버는 상태 캐시 기능을 제공하지 않습니다.

IVI 드라이버를 사용하면 테스트 개발 또는 시스템 배포 중에 최상의 결과를 얻기 위해 특수한 모드에서 실행되도록 계측기 드라이버를 설정할 수도 있습니다. 예를 들어, 계측기로 전송하려는 모든 값의 범위를 자동으로 확인하고 필요한 경우 유효한 값으로 강제 변환하도록 드라이버를 설정할 수 있습니다. 또한 각 명령이 계측기로 전송된 후 계측기의 상태 바이트를 자동으로 확인하도록 드라이버를 설정할 수도 있습니다. 테스트 프로그램을 생산 라인에 배포할 때는 가능한 가장 빠른 실행을 할 수 있도록 이러한 모든 "개발 모드" 설정을 빠르게 적용 해제할 수 있습니다. 뛰어난 디버그 기능과 더 빠른 실행 시간이라는 두 가지 장점을 모두 누릴 수 있는 것입니다.

이러한 기능을 활용하는 방법에 대한 자세한 내용은 IVI 드라이버 도움말을 참조하십시오. IVI 드라이버는 20개 이상의 사용자 및 공급업체로 구성된 IVI 재단에서 발행한 공개 산업 스펙을 기반으로 생성됩니다. 

벤치마크 예 – 시스템 응답 크기 대 주파수 측정
미확인 시스템의 주파수 응답을 결정하는 작업을 생각해 보십시오. 이를 위해서는 다양한 주파수에서 사인파를 생성하기 위한 파형/함수 발생기와 테스트 중인 시스템의 출력 전압을 측정하기 위한 DMM 또는 오실로스코프가 모두 필요합니다. 상위 레벨의 계측기 드라이버 호출을 사용하여 함수 발생기와 오실로스코프를 프로그래밍하는 테스트 프로그램에 대한 의사 코드를 아래에서 볼 수 있습니다.

스윕 사인 테스트를 위한 의사 코드 및 테스트 설정:

오실로스코프 초기화 및 설정
주파수 생성기 초기화 및 설정
While (주파수 < EndFreq)
BEGIN LOOP

사인파 생성
자극 웨이브폼 읽기 (스코프 채널 1)
응답 웨이브폼 읽기 (스코프 채널 2)
자극과 응답 저장 크기 및 위상 증가 빈도 간의 크기 및 위상 차이 계산

END LOOP

크기와 위상 차이 플롯 생성
DMM 닫기
주파수 생성기 닫기


이 테스트 프로세스는 HP 33120A 함수 발생기와 HP 54645D 오실로스코프를 사용하여 구현되었습니다. 테이블 1은 이 특정 테스트에 대한 IVI와 기존 드라이버 간의 성능 차이를 강조합니다.

 

테이블 1. 상태 캐시 벤치마크

상태 캐시테스트 시간(초)성능 차이
Off
(전통적인 VXI플러그 앤 플레이 드라이버)
35.0해당 없음
On
(IVI 드라이버)
13.2265%


5. 호스트 PC로의 데이터 처리 분담 고려

계측기의 처리 및 분석 기능은 계속해서 개선되고 있습니다. 그러나 계측기 공급업체가 PC 업계와 긴밀하게 발맞춰 최신 처리 기술을 제공하는 것은 어렵습니다. 많은 경우 새 프로세서를 통합하려면 공급업체는 계측기를 다시 설계해야 합니다. 고성능을 활용하려면 새 버전의 계측기를 구입해야 할 수도 있습니다.

항상 가장 강력한 처리 기능을 사용할 수 있으려면 계측기 내부의 때로는 구식 처리 기능에 의존하기보다는 일부 계산 집약적 분석을 PC에 분담시키는 것을 고려해야 합니다. 일반적으로 PC 기능은 계측기 기능보다 더 빠른 속도로 발전합니다. 아마 계측기보다 PC를 더 자주 교체할 것입니다. 새로운 세대의 PC를 구입할 때마다 일부 측정 처리 및 분석에 PC를 사용하여 새로운 성능 향상을 직접 실현할 수 있습니다.

또한 계측기는 닫힌 상자이므로 분석을 맞춤화할 수 없습니다. PC를 사용하면 많은 계측 소프트웨어 공급업체가 신호 처리, 필터링 및 일반 분석을 위한 완전한 라이브러리를 제공하므로 맞춤형 분석 루틴을 정의하는 작업을 크게 단순화하기 때문에 맞춤형 분석을 쉽게 추가할 수 있습니다.

6. 소프트웨어에서 멀티스레딩 사용 고려

멀티스레딩은 어플리케이션의 작업을 여러 태스크 또는 스레드로 나누는 프로그래밍 방법입니다. 어플리케이션의 주 스레드에 의해 생성된 이러한 여러 스레드는 시스템 내 다른 스레드와 독립적으로 실행될 수 있습니다. 스레드는 작업을 완료하면 종료됩니다. 어플리케이션의 주 스레드는 모든 작업이 완료되면 어플리케이션을 닫는 역할을 합니다. 시스템에 둘 이상의 프로세서가 있는 경우 별도의 프로세서에서 개별 스레드를 동시에 실행하여 어플리케이션 성능을 높일 수 있습니다. 또한 어플리케이션의 각 스레드에 적절한 프로세서 타임 슬라이스를 할당하도록 단일 프로세서 시스템을 조정하여 더 나은 성능을 얻을 수도 있습니다. 각 스레드에 할당된 프로세서 시간을 설정하면 프로세서가 다른 스레드를 실행하기 전에 외부 이벤트를 기다리는 동안 한 스레드를 계속 실행할 수 있기 때문에 성능을 향상시킬 수 있습니다. 이는 GPIB 애플리케이션의 일반적인 시나리오입니다.

GPIB 어플리케이션은 다양한 방식으로 멀티스레딩을 활용할 수 있습니다. 멀티스레딩을 사용하면 별도의 작업을 분리하여 시스템 리소스를 보다 효율적으로 관리할 수 있습니다. 멀티스레딩을 사용하면 시간이 중요한 작업을 별도의 스레드로 분리하여 SRQ(서비스 요청)와 같은 시간이 중요한 이벤트를 모니터링하는 동시에 메모리에 이미 있는 데이터를 처리할 수 있습니다.

예를 들어, 어플리케이션에 사용자 입력을 관리하는 스레드, 데이터를 수집하고 기록하는 스레드, 데이터 처리 및 표시를 담당하는 세 개의 스레드가 있을 수 있습니다. 데이터를 처리하고 표시하려면 시간이 많이 걸리고 프로세서를 많이 사용됩니다. 데이터의 양과 데이터를 수집하는 속도는 다양합니다. 어플리케이션은 또한 계측기의 SRQ를 여러번 지속적으로 확인할 수도 있습니다. 사용자 상호 작용은 다른 활동에 비해 산발적인 이벤트일 수 있습니다. 멀티스레딩을 사용하면 이러한 작업을 분리하고 각 개별 작업의 처리 요구 사항을 해결할 수 있습니다. 또한 두 개 이상의 GPIB 인터페이스를 사용하는 어플리케이션의 경우 전용 스레드로 각 GPIB 인터페이스 및 각 인터페이스 제어의 계측을 관리할 수 있습니다.

NI의 NI-488.2 소프트웨어는 멀티스레드에 안전하며 멀티스레드 어플리케이션을 위한 완전한 기능을 제공합니다. NI LabWindows™/CVI 및 LabVIEW는 또한 계측기 제어 어플리케이션을 위한 멀티스레딩 기능과 함께 제공됩니다. LabVIEW 및 LabWindows/CVI에서의 멀티스레딩에 대한 더 자세한 정보는 LabVIEW를 사용하여 최대 성능과 안정성을 위한 멀티스레딩 어플리케이션 생성하기 및 LabWindows/CVI에서의 멀티스레딩을 참조하십시오.

7. 네이티브 계측기 데이터 포맷 사용

마이크로프로세서는 2진 포맷으로 측정을 수행합니다. 그러나 GPIB를 통해 데이터를 전송하면 데이터가 여러 번 영숫자 형식(일반적으로 ASCII)으로 변환됩니다. 두 번의 데이터 변환을 수행하는 데 시간이 소요되기 때문에 성능이 영향을 받습니다. 첫 번째 변환은 이진 데이터가 GPIB를 통한 전송을 위해 ASCII로 변환되는 계측기에서 발생합니다. 계측기의 프로세서의 처리 성능은 일반적으로 오늘날 출시된 최신 PC에 비할 바가 못 되기 때문에 이 변환에는 시간이 많이 소요될 수 있습니다. 두 번째 변환은 데이터의 추가 처리 및 분석을 위해 측정 데이터를 ASCII에서 바이너리로 변환하는 데이터 구문 분석 루틴을 작성하는 PC에서 발생합니다. 이 두 작업의 비용을 제거하려면 계측기 네이티브 데이터 포맷(2진)으로 데이터를 전송하는 것이 좋습니다.

8. 까다로운 어플리케이션에 모듈식 플러그인 계측기 사용 고려

데이터 스트리밍, 빠르고 작은 데이터 전송, 매우 정확한 동기화 및 트리거링 기능이 필요한 어플리케이션의 경우 모듈식 플러그인 계측기를 사용하여 일부 측정을 수행하는 것을 고려하십시오. 이러한 계측기는 PCI, PXI/CompactPCI 및 VXI 플랫폼에서 사용할 수 있습니다. 이 중 어느 플랫폼을 사용해도 GPIB 계측기를 쉽게 제어할 수 있으므로 양쪽의 장점을 모두 얻을 수 있습니다.

비용 측면에서는 PXI/CompactPCI는 견고하고 데스크탑 PC에서 볼 수 있는 것과 동일한 PCI 버스를 기반으로 하기 때문에 생산 테스트 환경을 위한 경제적인 솔루션을 제공합니다. PXI/CompactPCI를 기반으로 하는 모듈식 플러그인 계측은 다음과 같은 많은 이점을 제공합니다.

 

  • 7개의 PCI 슬롯
  • 컴퓨터 메모리로의 직접 데이터 스트리밍을 위한 버스 마스터 DMA 기능
  • 매우 견고한 모듈형 패키징
  • 백플레인 타이밍 및 트리거링
  • 데스크탑 PC와 동일한 표준 Windows 상용 소프트웨어
  • PXI/CompactPCI 임베디드 컴퓨터에서 작동하는 데스크탑 PC 시스템 소프트웨어
  • 측정 정확도를 희생하지 않는 보급형 계측기 및 디지타이저
  • 낮은 첫 바이트 지연
  • GPIB 측정 디바이스의 쉬운 제어


모듈식 계측 솔루션은 이러한 시스템이 측정 및 자동화 시스템에 존재하는 세 가지 다양한 요구 사항을 충족하기 때문에 매력적인 옵션입니다. 첫 번째 요구 사항은 PC 메모리에서 대량의 데이터를 스트리밍으로 입출력할 수 있어야 한다는 것입니다. 오실로스코프, 임의 함수 발생기 및 고속 디지타이저와 같은 디바이스에는 가능한 한 최단 시간에 PC 메모리와 데이터를 주고 받을 수 있도록 충분한 버스 대역폭이 필요합니다.

두 번째 요구 사항은 카운터/타이머, 전원 공급 장치 및 디지털 멀티미터와 같이 매우 적은 양의 데이터를 전송하는 장치와의 효율적인 통신입니다. 이러한 디바이스의 효율적인 통신은 주로 정보의 첫 바이트를 보내는 데 걸리는 시간(첫 바이트 지연)에 따라 달라집니다. 이 비용은 전송할 데이터의 전체 양이 적기 때문에 상당한 비중을 차지합니다. PCI, PXI/CompactPCI 및 VXI의 첫 바이트 지연은 10~100ns입니다. GPIB의 경우는 약 100µs입니다. 작은 첫 바이트 지연은 전송할 데이터 양이 적은 디바이스에 대한 빠른 통신을 보장합니다.

세 번째 요구 사항은 모듈식 플랫폼에서 사용할 수 없는 기존 GPIB 장비에 연결할 수 있어야 한다는 것입니다. NI에서 바로 사용 가능한 GPIB 컨트롤러 보드/모듈이 이 요구 사항을 충족합니다.

결론

GPIB 시스템 성능을 향상할 수 있는 많은 옵션이 있습니다. 이 어플리케이션 노트에서 설명된 옵션은 선택한 계측기, 구매한 GPIB 컨트롤러, 어플리케이션을 구축하는 데 사용하는 소프트웨어 및 설계 방법론에 포괄합니다. 위의 팁이나 스스로 생각할 수 있는 기타 아이디어를 기반으로 현실적인 체크리스트를 작성한 다음 적절한 조치로 직접 해결할 수 있게 선택하십시오. 현재 GPIB 시스템에 아직 충분히 활용하지 못한 기능이 있다는 것을 발견할지도 모릅니다.

NI의 GPIB 및 계측기 제어 인터페이스에 대한 더 자세한 정보는 아래의 관련 링크를 참조하십시오.

LabWindows 상표는 Microsoft Corporation와의 라이센스 계약 하에 사용되고 있습니다. Windows는 미국 및 기타 국가에 등록된 Microsoft Corporation의 등록 상표입니다.

Was this information helpful?

Yes

No