데이터계측분석/데이터통신 기술자료

RS-232 통신 프로토콜

에이티에스 2023. 5. 11. 09:52
728x90

역사적으로 RS232 통신 프로토콜은 1962년 EIA(Electronics Industry Alliance)와 TIA(Telecommunication Industry Association)가 개발한 오래된 직렬 통신 프로토콜입니다.

최신 하드웨어 설계는 USB, 이더넷 및 Wi-Fi와 같은 혁신적인 직렬 통신 프로토콜을 사용합니다. 하지만 여전히 RS232는 탁월한 성능을 보여줍니다. 그 이유는 RS232 신호가 I2C 및 직렬 TTL 신호와 비교할 때 더 먼 거리로 확산되기 때문입니다. 게다가, 그것은 더 나은 소음 내성을 가지고 있습니다.

 

RS232 프로토콜이란 

RS232에서 'RS'는 권장 표준을 의미합니다. DTE 및 DCE 신호를 사용하여 직렬 통신을 정의합니다. 여기서, DTE는 데이터 단말 장비(Data Terminal Equipment)를 의미하고, DCE는 데이터 통신 장비(Data Communication Equipment)를 의미한다. DTE 장치의 예로는 컴퓨터가 있고 DCE는 모뎀입니다. 공식적으로는 직렬 바이너리 데이터 교환을 사용하여 DTE 장비와 DCE 장비 간의 인터페이스로 지정됩니다.

DTE와 DCE 간의 통신

 

DTE(컴퓨터)는 정보를 다른 최종 장비인 DCE(모뎀)에 직렬로 전송합니다. 이 경우 DTE는 이진 데이터 "11011101"을 DCE로 전송하고 DCE는 이진 데이터 "11010101"를 DTE 장치로 보냅니다.

RS232는 공통 전압 레벨, 전기 표준, 작동 모드 및 DTE에서 DCE로 전송할 비트 수를 설명합니다. 이 표준은 전화선을 통한 정보 교환 전송에 사용됩니다.

 

전기 표준

RS232의 전기 사양은 1969년에 업데이트되었습니다. 전압, 슬루율, 라인 임피던스, 작동 모드 및 전송 속도를 지정합니다.

 

전압 레벨

RS232의 라인 전압 범위는 -25V에서 +25V입니다. 신호 전압과 제어 전압으로 분류됩니다.

RS232 전압 레벨

 

+3V에서 +25V 사이의 신호 전압은 로직 '1'을 나타내고 -3V에서 -25V 사이의 신호 전압은 로직 '0'을 나타냅니다. 제어 전압 신호는 네거티브 로직을 사용하는 반면, 로직 '1'은 -3 내지 -25 볼트를 나타내고 로직 '0'은 +3V 내지 +25V를 나타낸다. -3V에서 +3V까지의 전압은 불확실한 상태로 간주됩니다.

 

슬루율

입력 전압의 변화에 따라 RS232 드라이버가 응답하는 속도가 결정됩니다. 이를 종종 슬루율이라고 합니다. RS232 표준은 느린 상승 및 하강 시간으로 최소 슬루율을 유지하여 인접 신호 간의 혼선을 줄입니다. 일반적으로 허용되는 최대 슬루율은 30V/μsec입니다.

 

라인 임피던스

RS232 드라이버와 수신기 사이의 임피던스 브리징은 송신기와 수신기 사이의 전압 전송을 최대화하기 위해 정의됩니다. 3KΩ에서 7KΩ의 범위에 있습니다.

 

작동 모드

RS232 장치는 단일 종단 신호(2선)에서 작동합니다. 즉, 한 와이어가 전압을 변화시키고 다른 와이어는 접지에 연결됩니다. 싱글 엔드 신호는 드라이버 및 수신기 회로의 접지 전압 차이에 의해 유도되는 노이즈의 영향을 받습니다. 싱글 엔드 기술의 장점은 정보를 전송하는 데 필요한 와이어가 적다는 것입니다.

 

전송 속도

초당 전송되는 이진 비트 수입니다. RS232는 110에서 230400까지의 전송 속도를 지원합니다. 일반적으로 1200, 4800, 9600, 115200의 전송 속도가 사용됩니다. 송신기에서 수신기로 데이터를 보내는 속도를 결정합니다.

메모: 전송 속도는 송신기 측과 수신기 측 모두에서 동일해야 합니다.

 

통신 인터페이스

RS232는 DB9 및 DB25 커넥터를 사용하여 DTE와 DCE 간의 통신을 결정합니다. D-sub 커넥터(DB9, DB25)는 수 및 암 케이블과 함께 제공됩니다. DB9 커넥터에는 9개의 핀이 있고 DB25 커넥터에는 25개의 핀이 있으며 각 핀에는 자체 기능이 있습니다.

DB9 암수 핀아웃

DB25 핀아웃

기능 설명

전기적 특성 외에도 RS232는 직렬 인터페이스에서 사용되는 신호의 기능을 정의했습니다. 그 중 일부는 공통 접지, 데이터, 제어 및 타이밍 신호입니다. 다음은 RS232 핀아웃에 사용되는 신호 목록입니다.

 

신호 이름기능

위의 신호 이외에도 (1차 신호) RS232는 DTE 및 DCE의 선택적 연결을 위해 2차 DTE, 2차 RTS, 2차 DCD, 2차 TxD 및 2차 RxD와 같은 2차 신호를 제공합니다.

 

 

 

직렬 케이블의 종류

DTE와 DCE 사이에 직렬 통신을 가능하게 하기 위해 두 가지 유형의 RS232 케이블이 있습니다. Null 모뎀과 직선 케이블입니다. Null 모뎀 케이블에서 수컷 커넥터의 TX(송신기) 핀은 암컷의 RX(수신기) 핀에 연결되고 수컷의 RX 핀은 암컷의 TX 핀에 연결됩니다

Null 모뎀 또는 크로스오버 케이블

 

다음은 스트레이트 스루 케이블입니다. 이름에서 알 수 있듯이 일대일 커넥터, 즉 한 장치의 전송 핀이 다른 장치의 전송 핀에 연결되고 한 장치의 수신기 핀이 다른 장치의 수신기 핀에 연결됩니다. 연결 외에도 케이블 길이는 배선 커패시턴스에 따라 다릅니다. 사양에 따라 케이블 길이는 거의 80피트입니다.

스트레이트 케이블 연결

RS232 통신의 작동

RS-232의 작동은 프로토콜 형식으로 이해할 수 있습니다. RS-232는 점대점 비동기 통신 프로토콜이므로 단일 방향으로 데이터를 보냅니다. 여기서는 송신기와 수신기를 동기화하는 데 클럭이 필요하지 않습니다. 데이터 형식은 시작 비트로 시작되고 7비트 바이너리 데이터, 패리티 비트 및 정지 비트가 차례로 전송됩니다.

프로토콜 형식

RS232 프레이밍

 

전송은 시작 비트 '0'을 전송하여 시작됩니다. 이것은 7 비트의 ASCII 데이터로 이어집니다. 패리티 비트는 수신기 검증을 위해 이 데이터에 추가됩니다. 송신기에서 보낸 데이터는 수신기에서 일치해야 합니다. 마지막으로 정지 비트를 사용하여 전송이 중단되고 이진 '1'로 표시됩니다. 일반적으로 1개 또는 2개의 정지 비트를 보낼 수 있습니다.

 

위의 다이어그램에서 ASCII 문자 'A'는 '1'과 '0'의 직렬 바이너리 스트림을 사용하여 전송됩니다. 데이터를 보내는 동안 각 비트 사이에 일정한 지연이 있어야 합니다. 이 지연은 비활성 시간으로 간주되며 RS232 라인은 음의 논리 상태(-12V)에 있습니다.

 

핸드셰이킹이란 

핸드셰이킹은 발신자(송신기)와 수신자 간에 정보 신호를 교환하는 프로세스입니다. 이 신호는 송신기와 수신기 사이에 통신 링크를 구축합니다. RS232에는 두 가지 유형의 핸드셰이킹이 있습니다. 하드웨어 핸드셰이킹과 소프트웨어 핸드셰이킹입니다.

핸드셰이킹

 

커넥터 DB9 및 Db25는 핸드셰이킹 목적으로 사용됩니다. 핸드셰이킹이 수행되지 않으면 TxD(송신기)와 RxD만 교차 결합됩니다. 다른 핀, RTS, CTS, DSR 및 DTR은 루프백 방식으로 연결됩니다.

핸드셰이킹 기술을 사용하기 위해 RTS와 CTS가 교차 결합됩니다. 또한 DTR과 DSR도 교차 모드로 연결됩니다.

 

핸드셰이킹을 사용하는 이유

데이터 손실 없이 정보를 송수신하려면 송신기와 수신기 간의 강력한 통신을 유지해야 합니다. 이를 위해 버퍼가 사용됩니다. 버퍼는 정보가 서로 다른 속도로 처리될 때까지 송신기와 수신기가 데이터를 저장할 수 있도록 하는 임시 저장 위치입니다.

데이터 흐름

 

위의 다이어그램에서 송신기와 수신기에는 자체 버퍼가 있습니다. 전송 버퍼는 수신자에게 보낼 문자를 보유합니다. 수신 버퍼는 송신기에서 수신된 문자를 보유합니다. 송신기가 더 빠른 속도로 데이터를 전송하면 수신기가 수신하지 못할 수 있습니다. 이 경우 수신자가 문자 'C'를 놓치고 있습니다. 이를 피하기 위해 핸드 셰이킹이 사용됩니다. 핸드셰이킹을 사용하면 통신이 시작되기 전에 송신기와 수신기 장치가 동의할 수 있습니다.

 

하드웨어 핸드셰이킹

데이터 송수신의 흐름 제어는 하드웨어 핸드셰이킹을 사용하여 수행됩니다. 제어 신호 DTR, DSR, RTS 및 CTS 신호를 사용합니다. 일반적으로 컴퓨터와 모뎀 간의 통신을 설정할 때 RTS 및 CTS 신호가 사용됩니다.

수신기 버퍼에서 대체되는 데이터를 중지합니다. 신호는 핸드셰이킹을 활성화하기 위해 높은 상태(로직 '1')로 유지됩니다.

 

소프트웨어 핸드셰이킹

이 유형의 핸드셰이킹은 시작-중지 통신에 두 개의 ASCII 문자를 사용합니다. 따라서 이를 소프트웨어 흐름 제어라고 합니다. 소프트웨어 핸드셰이킹은 XON/XOFF 문자를 사용하여 직렬 통신을 제어합니다. 'XON'은 Ctrl+S 또는 ASCII 문자 11을 나타내고 'XOFF'는 Ctrl+Q 또는 ASCII 13을 나타냅니다. 이 핸드셰이킹에는 3개의 와이어가 필요합니다. TXD, RXD 및 신호 GND입니다.

 

'XOFF' 문자가 활성화되면 송신기에서 'XON' 문자를 수신할 때까지 통신이 종료됩니다. 일부 경우들에서, 수신기 버퍼가 과부하되어 수신기가 송신기에 자동으로 'XOFF'를 전송하게 될 수 있다.

 

핸드셰이킹의 작동

초기 상태에서 RTS 라인은 DTE에 의해 하이로 당겨져 DCE를 깨웁니다. 이 상태에서는 데이터가 전송되지 않습니다. 그 후 DCE는 CTS 라인을 HIGH로 설정하여 데이터를 수신합니다. 이렇게 하면 DTE가 응답하고 DTR을 HIGH 상태로 설정합니다. 이제 데이터 전송이 이루어집니다. 데이터 전송이 완료되면 RTS와 DTR은 모두 DTE에 의해 LOW로 풀링됩니다. 그런 다음 DCE는 CTS 회선을 LOW 상태로 트리거합니다. 이렇게 하면 DTE가 데이터를 전송하지 않습니다.

RS232 핸드셰이킹 신호

 

이러한 방식으로 DTE 요청에 의해 핸드셰이킹이 발생하여 통신 링크를 제어하고 DCE가 데이터를 전송할 수 있도록 합니다.

 

RS232와 UART의 차이점

RS232와 UART 프로토콜의 주요 차이점은 전압 레벨입니다. 이 외에도 반이중 및 전이중 통신을 모두 지원합니다.

 

마이크로 컨트롤러는 RS232 전압을 허용하지 않으며 손상될 수 있습니다. 이를 방지하기 위해, UART (영어) (Universal Asynchronous Transmitter Receiver)가 사용됩니다. 직렬 형식으로 데이터를 보내고 받습니다. 전압의 레벨 변환을 수행하기 위해 MAX232와 같은 RS232 드라이버 IC가 UART와 직렬 포트 사이에 사용됩니다.

RS232 – UART

장점

RS232의 장점은 시스템 간 통신을 위한 표준 직렬 인터페이스로 사용할 수 있으며 다음과 같은 이점도 있습니다.

  • 간단한 프로토콜 설계.
  • 하드웨어 오버헤드는 병렬 통신보다 적습니다.
  • 단거리 응용 프로그램에 권장되는 표준입니다.
  • DTE 및 DCE 통신과 호환됩니다.
  • 개발을 위한 저비용 프로토콜입니다.
  •  

단점

RS232 프로토콜의 한계는 전이중 통신을 지원하지 않으며 접지 전위를 이동시키는 단일 종단 프로토콜이라는 것입니다. 또한 케이블 길이가 길수록 직렬 통신 중에 크로스 토크가 발생합니다. 따라서 이 프로토콜은 장거리 통신에 제한됩니다.

728x90
반응형
그리드형