NI-VISA USB RAW 모드를 사용하여 어떻게 장치와 통신할 수 있습니까?

업데이트 됨 Jan 15, 2019

해당 제품

Driver

  • NI-VISA

문의사항

NI-VISA 3.0 부터 USB 지원이 되는데, RAW 모드를 사용하여 USB 장치와 통신을 시작하려면 어떻게 해야 합니까?

해결책

USB 장치와 통신하려면 다음 단계를 따르십시오.
  1. Windows에서 장치를 검색하고 NI-VISA가 장치 드라이버로 할당되어 있는지 확인해야합니다. 이 동작을 바인딩이라고 하며, Windows 에서는 .inf 파일을 사용하여 바인딩이 수행됩니다. 각 USB 장치에는 고유한 공급 업체 및 모델 번호가 있습니다. .inf 파일에는 지원하는 장치 및 장치를 처리하는 드라이버의 공급 업체 및 모델 번호가 들어 있습니다. 플러그 앤 플레이 장치가 PC에 연결되면 Windows는 장치 정보를 읽고 공급 업체 및 모델 번호를 사용하여 .inf 파일을 검색합니다. 일치하는 .inf 파일이 있는 경우, Windows 는 소유자로 등록된 드라이버를 장치에 바인딩합니다.
  2. NI-VISA 로 디바이스와 통신하려면 NI-VISA 드라이버를 디바이스에 바인딩할 .inf 파일을 생성해야 합니다. NI-VISA 패키지에는 VISA Driver Development Wizard 라는 유틸리티가 이 과정을 돕습니다. 적절한 벤더와 모델 번호를 제공하면, 이 유틸리티는 .inf 파일을 자동으로 생성합니다. VISA 드라이버 개발 마법사에 대한 자세한 내용은 아래 링크를 참조하십시오.
  3. 일단 .inf 파일이 디렉토리에 있으면 (SYSTEM_DIR\inf 에 숨겨져 있음), USB 장치를 연결하여 Windows 가 하드웨어 검색 마법사를 거쳐 NI-VISA 를 장치의 드라이버로 표시해야 합니다. 설치 후 디바이스는 적절한 리소스 이름을 가진 Measurement & Automation Explorer (MAX) 에 나타나게 됩니다.
  4. 이제 viUsbControlIn 이나 viUSBControlOut 과 같이 USB 를 위한 두 개의 추가 VISA 함수를 사용할 수 있습니다. 이 함수들을 사용하면, 기본적으로 모든 USB 장치에 있는 USB 장치의 제어 파이프에 접근할 수 있습니다. VISA 속성을 사용하여 장치와의 통신을 설정할 수 있습니다. USB 특정 속성에 대한 자세한 내용을 보려면, NI-VISA USB Specific Attributes in LabVIEW Property Nodes 기사를 참조하십시오.
NI-VISA는 열린 엔드 포인트에서 디바이스를 스캔합니다. 인터럽트 또는 벌크 파이프에 대해 열려 있는 엔드 포인트가 있는 경우, 각 파이프에 대한 엔드 포인트 속성은 열린 엔드 포인트 중 가장 낮은 것을 표시합니다. 만일 속성에 -1이 포함되어 있으면, 파이프에 대해 열린 엔드 포인트가 없음을 의미합니다. 이 시점에서 장치와의 모든 통신 설정은 해당 장치에 따라 다릅니다.

추가 정보

USB RAW 모드는 USB 사양의 낮은 수준의 통신 메커니즘에 대한 접근을 제공합니다. NI-VISA는 사양서에 이미 정의 된 메커니즘을 단지 노출하기 때문에, 이를 사용하는 개발자가 USB 사양 및 USB 디바이스 프로그래밍에 익숙하다고 가정합니다. NI-VISA USB RAW 모드는 인터럽트, 벌크 및 컨트롤 데이터 전송을 지원합니다. 등시 전송은 지원되지 않습니다.

또한 NI-VISA USB RAW 지원을 사용하여 USB 장치와 통신하는 것은 매우 특정한 장치이므로 사용자가 장치 작동 방법에 대해 자세히 알고 있어야 합니다. 이러한 의미에서 NI-VISA PXI 지원을 사용하는 레지스터 레벨 프로그래밍과 유사합니다. NI-VISA는 디바이스에 통신 채널을 제공하지만 데이터의 의미는 디바이스에 따라 다릅니다.

NI-VISA는 USB 통신을 위한 두 가지 모드인 USBTMC 와 RAW 모드를 지원합니다. 해당 기술 문서에서는 VISA USB RAW 모드에 대한 정보를 제공하였습니다. USBTMC 에 대한 내용은 다음의 기사에서 참조하시기 바랍니다 : USBTMC를 사용하여 USB 디바이스와 통신

이 글이 도움이 되셨습니까?

도움 안됨