■ GPIB 란
GPIB (General Purpose Interface Bus)는 컴퓨터와 계측기 간의 인터페이스로 개발되었습니다.
주로 PC와 측정 장비를 연결하는데 사용되는 외부 버스의 일종으로, 비동기 병렬 전송 방식입니다.
GPIB는 Hewlett Packard에서 개발 한 사내 표준 인 HP-IB로 만들어졌으며 IEEE 의 승인을 받아 국제 표준이 되었습니다.
많은 전류 측정 장비는 GPIB 인터페이스를 표준으로 지원하며 PC 및 측정 장비를 사용하는 측정 시스템에 널리 사용됩니다.
■ GPIB 표준
GPIB 표준에는 현재 IEEE-488 및 상위 레벨 프로토콜 인 IEEE-488.2가 포함됩니다.
- IEEE-488에 지정된 전송 방법 외에도 IEEE-488.2에는 텍스트 데이터 및 숫자 식에 대한 구문, 모든 장치에서 사용할 수있는 명령 및 쿼리가 있습니다.
- IEEE-488.2 호환 장비는 IEEE-488에 규정 된 범위 내에서 다른 IEEE-488.2 호환 장치 및 IEEE-488 장치와 통신 할 수 있습니다.
■ GPIB 설치하기
두 개의 Device간 GPIB 통신을 하기 위해 NI-488.2 Driver를 설치하는 과정을 설명하겠습니다.
NI-488.2는 NI GPIB 컨트롤러와 GPIB 포트가 있는 NI 임베디드 컨트롤러를 사용하는 User를 지원합니다.
1. ni.com/info 홈페이지에 접속하여 LinuxRepository 정보 코드를 입력하고 제출해야 합니다.
2. Repository 부가 기능을 설치 파일을 아래의 그림 순서대로 다운로드 합니다.
3. 다운로드한 Repository 부가 기능 파일을 설치합니다.
# rpm –i [다운로드한 파일이름] |
4. 이제 NI driver software를 설치해야 합니다.
# yum install ni-daqmx |
5. yum install 명령어로 NI-488.2 Linux Driver Package를 설치합니다.
Package 중 이미 설치된 패키지는 제외하고 아래의 모든 Package를 설치하면 GPIB를 사용할 환경이 구축됩니다.
# yum install [ 아래의 Package] |
■ GPIB 통신하기
두 개의 Device 간 GPIB를 통신하는 과정입니다.
아래의 예시는 두 Device가 PC일 경우 PC 간 통신을 위한 지침으로 사용할 수 있는 일련의 과정입니다.
1. GPIB Explorer를 실행 후 GPIB Interface를 선택합니다.
# gpibexplorer |
2. 이제 GPIB 통신을 하기위해 두 대의 Device 간 Controller와 Non-Controller을 구분하여 설정을 진행해야 합니다.
아래와 같이 GPIB Configuration에서 설정하면 GPIB 통신 시 마다 따로 입력 해주지 않아도 되는 Default 값이 설정 가능합니다.
예를 들어, 현재 Controller Device에는 System Controller가 Check 되어 있고, Non-Controller Device에는 System Controller가 Check 되어 있지 않습니다.
이를 GPIB Configuration UI에서 설정해주지 않으면, 아래의 GPIB 유틸리티 실행 시 추가로 ibrsc 0 명령을 입력하여
Non-Controller Device를 비컨트롤러로 만들어 주어야 합니다.
- Controller Device
- Non-Controller Device
3. Controller와 Non-Controller 설정을 완료한 후 GPIB 통신을 진행합니다.
- Controller Device
# gpibintctrl // 대화형 GPIB 제어 유틸리티를 시작합니다. - 첫 번째 매개 변수는 액세스 보드의 인덱스입니다. - 두 번째는 장치의 기본 GPIB 주소입니다. - 세 번째는 GPIB 장치의 보조 주소(일반적으로 0)입니다. - 네 번째는 I/O 타임아웃 값입니다. - 다섯 번째는 장치의 EOI 모드입니다. - 여섯 번째는 장치의 EOS 문자 모드입니다. |
- Non-Controller Device
# gpibintctrl // 대화형 GPIB 제어 유틸리티를 시작합니다. 예상되는 바이트 수입니다. 예를들어, HELLO 문자를 보낸다면 5 바이트를 읽을 것입니다. |
4. GPIB 통신 결과 Controller 부에서 ibwrt 명령어로 송신한 "hello" 문자열을 Non-Controller 부에서 ibrd 명령어로 수신하여 출력되는 것을 볼 수 있습니다.
'Communication' 카테고리의 다른 글
Linux 환경 네트워크 속도 변경 및 측정 (0) | 2020.03.05 |
---|---|
허브 / 스위치 / 라우터 / 공유기 차이 및 비교 (0) | 2020.03.02 |
포트와 소켓 (0) | 2020.02.28 |
CentOS 환경 NFS 설정하기 (0) | 2020.02.14 |
CentOS 환경 FTP 통신하기 (3) | 2020.02.14 |