[시리얼 통신] RS485 통신 분석
본문 바로가기
통신

[시리얼 통신] RS485 통신 분석

by 124578 2020. 6. 9.

 

1. RS485 통신 이란?

 

  RS-232, RS-422의 확장 버전으로, 홈 네트워크를 지원하는 일종의 직렬 통신 프로토콜 표준.
RS-232는 전송 속도가 낮고 전송 거리가 짧다. 이를 보완하기 위해 개발된 RS-422는 한 개의 마스터 장치와 슬레이브 장치 간에 데이터를 주고 받는 방식으로 통신한다. 반면, RS-485는 모든 장치들이 같은 라인에서 데이터 전송 및 수신을 할 수 있다. 통상 2개의 선을 사용하여 반이중(half duplex) 통신 방식으로 사용하나 2개의 RS-485 통신망을 사용하면 전이중(full duplex) 통신도 가능하다. 이를 4선(4-wire) 또는 전이중 RS-485라고 한다. 또한 RS-485는 최대 드라이버·리시버 수가 각각 32개에 이르고, 최대 속도 10Mbps에 최장 거리 1.2km까지 네트워크 구축이 가능하다.

 

[네이버 지식백과] RS485 [Recommended Standard 485] (IT용어사전, 한국정보통신기술협회)

 

 

 

  - RS485 물리적 인터페이스(2선식 결선방식)

 

RS485 물리적 인터페이스(2선식 방식, 반이중 방식)

 

 

 2. 결선 방식

 

   - 2선식 방식

     2선식 방식은 모든 노드들이 마스터 개념으로 통신을 할 수 있으나 반이중 방식이다.

     반이중 방식은 송수신을 비동기적으로 할수 없고 송신과 수신을 교대로 하여 통신을 한다.

 

   - 4선식 방식

     2선식 방식을 개선한 방법으로 반이중 방식을 다시 전이중 방식으로 변환한 방식이다.

     마스터 슬레이브 개념으로 마스터는 RS422 통신 칩을 사용하며 슬레이브는 RS485 통신칩을 사용하는 방식이다.

 

 3. 전기적 특성

  - 차동 신호 방식

 

    RS232 통신과 다르게 데이터가 한선이 아니라 두선이라서 차동으로 데이터를 송수신 한다.

    수신부에서 차동 데이터만 받아들이게 설계 되어 있다.

    Data+,Data- 차동신호로 주고 받을 때 이점은 외부 노이즈 영향을 받지 않는다는 것이다.

   

    N = 노이즈 , Data+ = 데이터 +, Data- = 데이터 -

       

     식:    (Data+)+N - (Data-)+N = (Data+) - (Data-) , 노이즈가 제거된 차동 신호 

 

   동상 신호인 노이즈는 제거 된다.

 

   

 

4. 통신속도

 

 - 보레이트(baudrate)

   보레이트는 1초동안 보낼수있는 비트수를 말한다.

   RS485의 통신 속도는 보레이트(baudrate)로 규정한다.

   보레이트 9600은 1초동안 9600bit의 데이터를 전송 할수 있다는 것을 말한다.

   보레이트는 4800, 9600, 19200, 38400, 115200 (단위:bit/s ) 등 다양하다.

   이종장비간 통신을 위해서는 두장비간 보레이트를 동일하게 설정해야한다.

    RS485의 경우 RS232C보다 훨씬 더 빠른 통신 속도를 지원한다.

   

5. 통신거리

 

  - RS485통신 거리는 케이블의 종류와 보레이트에 영향을 받는다.

  - 케이블은 Low Capacitance 일수록 전송거리는 길어진다.

  - 일반적으로 통신속도가 빠를수록 통신거리는 짧아진다.

 

 

 

 

6. RS485 설정 환경

 

  - RS485 통신 프레임 구조

RS485 프레임 구조

- COMPORT: 하드웨어에 할당된 COMPORT이다.

- 보레이트: Bit/s로 표현되는 시리얼 통신의 통신 속도이다.

- DATA BIT: 시리얼통신으로 데이터를 전송할 BIT의 개수를 설정한다.

- PARITY BIT: 비트의 합으로 데이터의 오류를 검사하는 비트이다.

- STOP BIT: STOP비트의 개수를 설정한다.

- 흐름제어: RTS(Request to pin)핀과 CTS(Clear to Send)핀을 이용하여 하드웨어 통신 제어를 한다.

   송신측과 수신측 데이터를 송수신 할경우 수신측에서 데이터부하가 많아 질 경우 송신측에서 보내는 데이터의 흐름을    제한하기 위해 사용한다. 

   시리얼 포트에서 제공하는 RTS핀과 CTS 핀을 이용하여 핀의 상태를 이용하여 통신의 흐름을 제어한다.

 

7. 통신 방식 비교   

시리얼 통신 규격

 

8. RS485 결선 방법 

 

  - 2선식 통신방식으로써 TRXD+, TRXD- 2선을 이용하여 통신이 가능

  - 4선식 방식으로 결선이 가능하며 TXD+, RXD+, TXD-, RXD- 로 결선이 가능하다. 이렇게 하는 경우 전이중 방식으로 통신이 가능하다.

  - 통신선로를 결선하는 경우 방법은 RX+ 는 TX+쪽으로 결선하며  RX- 는 TX- 쪽으로 연결한다.  서로 크로스가 되도록 결선한다. 결선이 잘못되는 경우 통신이 되지 않거나 잘못된 데이터를 송수신하게 된다.

  - 통신선로이기 때문에 + 단자 와 - 단자가 서로 잘못 연결된다고 해서 내부적으로 디바이스가 바로 손상되거나 하는 일은 없다.

 

 

9. RS485 통신의 쓰임

 

 - 주로 모터제어나 설비의 통신제어용으로 쓰임

 - 통신이 노이즈에 강하기 때문에 전장환경에서 신호의 왜곡이 덜하다는 장점이 있음

 - 주로 메인장비와 다수의 서브장비를 연동하는 경우 유용하게 사용이가능하다.

 

10. 종단저항

 

 - 통신을 하는 장비마다 각기 다른 임피던스를 가지고 있기 때문에 임피던스 차이를 해결하기 위해 종단에 저항을 달아 준다.

 - 주로 120 옴의 종단저항을 사용한다.

 - 테스트용 근거리(약 0.5m 이내)에서는 종단저항 없이도 통신에 무리가 없으나 거리가 멀어질수록 종단저항이 없이는 통신 신호가 왜곡 될 수 있다.

 - 이 종단 저항은 RS485 뿐만이 아니라 차동으로 신호를 주고받는 다른 통신 포맷에서 사용되고 있다.

 

 

11. RS485 통신 설정 방법

 

 - 일반 시리얼 통신과 설정 방법이 같다.

  • 보레이트(baudrate) : bit/sec 단위이며 초당 전송이 가능한 데이터 비트수를 나타낸다.
  • 데이터비트(Data bits) : 몇단위 비트로 통신을 할것인지를 정하는 설정이다. 일반적으로 8bit를 많이 사용한다.
  • 패리티비트(Parity bits) : 패리티오류 검출을 하기위해 사용하는 비트이다. 통신의 무결성을 체크하는 기능이다. 일반적으로 NONE으로 놓고 사용한다.
  • 스톱 비트(Stop bits) : 스톱비트로써 일반적으로 1로 설정한다.
  • 흐름제어(Flow Control) : 흐름제어는 하드웨어적으로 통신의 무결성을 보장하기 위해 사용한다. 

 

12. RS485 통신 컨버터

   - 산업용 PC나 특수목적용 PC가 아닌 범용 PC나 노트북에는 더이상 시리얼 카드를 외부로 빼놓는 경우는 없기 때문에 USB와 RS485 통신을 지원하는 컨버터를 사용해서 개발을 진행 합니다. 

 

일반적으로 USB TO 485 관련 통신 제품군을 활용합니다. 

 

13. RS485 제어 보드의 개발

 - RS485 제어보드의 개발을 위해서는 아두이노 모듈을 활용하는 법이 있고 AVR 보드를 활용하여 개발하는 방법이 있습니다. 

 

 - 아두이노 보드나 AVR을 활용하여 개발하는 경우에는 RS 485 변환 칩을 활용하여 부가적인 회로를 설계 해야 합니다. 

대표적인 변환 칩은 ADM2587EBRWZ 가 있습니다.

 

댓글


TOP

TEL. 02.1234.5678 / 경기 성남시 분당구 판교역로