안녕하세요. 아이언벨입니다.
오늘은 Serial통신 중 한 개인 RS-232C 통신을 하겠습니다.
아마 산업현장에서 특정 장비와 통신연결을 하게 된다면 가장 많이 사용하는 통신 Interface일 겁니다.
RS-232C 개요
- 1969년에 EIA(Electronic Industries Association)에서 발표한 규격입니다.
- RS는 Recommended Statard의 약자입니다.
- 232는 특별한 의미는 없습니다. RS로 시작하는 통신의 식별번호입니다. 자주 사용하는 RS-485, 422도 동일합니다.
- 232C의 C는 232통신의 버전입니다. 2번 Revision 되어 C가 붙어있습니다. 우리가 사용하는 RS-232는 모두 RS-232C라고 보시면 됩니다.
- Serial통신입니다. 0과 1로 시간에 따른 변화를 데이터로 받습니다.
- 컴퓨터와 연결되는 많은 장비들은 RS-232C Interface를 채택하고 있습니다.
- 한번에 보낼 수 있는 데이터는 8bit(Byte)이며, 시작 비트와 스톱 비트를 포함하면 약 10bit입니다. (설정에 따라 변경됩니다.)
- 비동기 통신입니다. 그래서 주고 받는 통신장비는 서로 통신속도(Baud Rate)를 맞춰야 통신이 가능합니다.
69년도라.. 엄청 오래되었죠. 우리가 사용하는 통신 Interface 중 이렇게 오래된 것이 많습니다.
인터넷을 하기위해서 OSI7 layer 또한 1983에 나왔습니다.
RS-232C 물리적인 통신 연결 방법
- Tx, Rx, GND 3개의 라인만 있으면 통신이 가능합니다.
- 일반적으로 D-SUB9(DB9) 커넥터를 사용합니다.
- D-SUB9에서 2번,3번,5번 핀을 사용하며 5번 핀은 GND고정이지만 2번, 3번은 컴퓨터와 장비가 크로스 되어야 하기 때문에 상화에 따라 변경됩니다.
- 제어하는 장비(컴퓨터)가 D-SUB9(수)를 사용하며 2번핀이 Rx, 3번 핀이 Tx를 사용합니다.
- 제어받는 장비(계측장비, 라벨프린터, 바코드 스캐너)는 반대로 D-SUB9(암)를 사용하며 2번 핀이 Tx, 3번 핀이 Rx를 사용합니다.
- PIN MAP은 고정은 아닙니다. 제조사, 장비에 따라 다를 수 있기 때문에 PIN MAP을 확인해야 합니다.
- 예전 PC나 노트북은 Serial Port를 제공해 주었지만, 최근에는 거의 보이지 않습니다.
- USB to RS-232C 모듈을 따로 구매해서 많이 사용합니다. 제조사는 상당히 많으며 1만원 안쪽으로 구매 가능합니다.
- 장치 관라자에서 확인 가능합니다. COM1, COM2 이렇게 나와있습니다.
RS-232C COM Port 찾는 방법
- COM Port가 한 개만 있다면 따로 찾을 필요는 없지만, 여러 개 있다면 내가 사용하고자 하는 COM Port를 찾아야 합니다.
- 준비물 : 2번 3번 쇼트된 커넥터
- 원리 : Tx, Rx가 쇼트되어있기 때문에 Port를 Tx할 경우 Echo 메시지가 들어옵니다.
- IronBell이라고 보낸 메세지가 다시 돌아온다. (8byte 메시지를 1024 bytes로 읽으라고 해서 Timeout이 발생했다.)
다시 정리해보면
1. 2,3번 쇼트 커넥터를 원하는 출력 Port에 연결한다.
2. 통신 프로그램으로 PC의 Port를 한개씩 열어 보낸 메시지가 다시 돌아오는지 확인한다.
3. tip. 이방법은 물리적 연결은 쇼트로 되어있고, 통신 설정은 어차피 Rx Tx 공통으로 되어있기에 어떤 설정도 상관없다.
RS-232C 설정(Config)
- 5개의 통신 설정을 맞춰야 통신이 가능합니다.
- 5개의 통신 설정 항목은 Baud Rate, Data bits, Stop bits, Parity, Flow Control입니다.
- Baud Rate : 초당 몇 개의 bit를 전송할 것인지 설정합니다. 비동기 통신이기 때문에 매주 주요합니다. 일반적으로 9600이나 19200을 사용합니다.
- Data bits : 8bit를 주로 사용합니다. 간혹 7bit를 사용하기도 합니다.
- Parity : Data 유효성 검증을 위해 사용합니다. 노이즈가 있는 환경이면 설정하는 것이 좋습니다.
- Stop bits : Frame의 끝을 알려주는 bits입니다. 보통 1을 사용하며 간혹 2를 사용하기도 합니다.
- Flow Control : 흐름 제어입니다. 거의 사용하지 않지만 사용하게 된다면 설정할 내용 흐름 제어 방식에 따라 다릅니다.
물리적인 연결과 RS-232C 설정을 맞추게 되면 통신 준비는 완료되었습니다.
2편에서는 통신 준비가 완료된 상태에서 실제 Data를 주고받는 내용으로 작성하겠습니다.
'RS-232C통신' 카테고리의 다른 글
[RS-232C통신] 2강. RS-232C 파형 분석 (0) | 2022.09.13 |
---|
댓글