이 기사 시리즈에서는 장치 간 데이터 전송을 위해 사용할 수 있는 다양한 종류의 직렬 통신 프로토콜에 대해 살펴보고 있습니다. 기사들은 오늘날 사용되는 몇 가지 더 인기 있는 프로토콜과 표준을 다룰 것이며, 이 시리즈의 마지막에서는 각각의 장단점을 요약하고 비교할 것입니다. 다음 번에 설계에서 직렬 통신 버스를 구현해야 할 때 이 정보가 유용하게 사용되기를 바라며, 회로에 가장 적합한 옵션을 선택하는 데 도움이 되기를 희망합니다.
이 기사에서는 레거시 RS-232 프로토콜 표준을 살펴볼 것입니다.
RS-232는 Recommended Standard 232를 의미하며, 1960년에 만들어진 전자 장치 간 데이터 전송을 위한 전자 장치 프로토콜 표준입니다. 한때 RS-232는 가장 일반적으로 사용되는 데이터 전송 형식이었으며 주로 표준 9핀 D-sub(DB-9) 연결을 사용하여 구현되었습니다. 이 표준은 오늘날에도 컴퓨터, 자동화, 의료 장치를 포함한 다양한 전자 장치에서 여전히 자주 사용됩니다.
클래식 DB-9 케이블, 이미지 출처: https://www.digikey.co.uk/product-detail/en/assmann-wsw-components/AK131-2/AE1379-ND/930165
RS-232은 낮은 논리 레벨 신호(0) 전송을 위해 양의 전압을 사용하고, 높은 논리 레벨 신호(1) 전송을 위해 음의 전압을 사용합니다.
RS-232 신호 예시
전압 |
논리 값 |
---|---|
-18v부터 -5v까지 |
1 |
-5v부터 +5v까지 |
(정의되지 않음) |
+5v부터 +18v까지 |
0 |
RS-232 통신의 원리는 간단합니다. 송신 장치는 데이터를 버퍼에 저장한 다음 케이블(또는 PCB 트레이스)을 통해 데이터를 전송하고, 수신 장치는 이 데이터를 자신의 버퍼에 저장합니다. 그런 다음 수신 장치는 버퍼에 저장된 데이터를 읽을 수 있습니다.
수신 장치가 연결되어 있지 않을 때 정보를 전송하지 않도록 하기 위해 DTR(데이터 전송 준비) 및 DSR(데이터 세트 준비) 핀이 사용됩니다. 이 핀들이 연결되어 있고 수신 장치에 의해 이들에 적절한 전압이 설정되면, 송신 장치는 수신 장치가 연결되어 있고 준비가 되었다는 것을 알게 됩니다.
송신자가 데이터를 너무 빠르게 전송하고 수신자가 버퍼에서 데이터를 충분히 빠르게 읽을 수 없는 경우, 버퍼가 오버플로우되어 데이터가 손실됩니다. 이 상황을 방지하기 위해 송신자에게는 두 개의 핀이, 수신자에게는 하나의 핀이 추가되었습니다. 송신자 측에서는 이 핀을 RTS(Request to send)라고 표시하고, 수신자 측에서는 CTS(Clear to send)라고 표시합니다. 수신자는 버퍼가 가득 찼을 때 이 핀의 전압을 낮추어 송신자에게 알립니다. 이는 수신자가 준비될 때까지 송신자가 더 이상 정보를 보내지 않도록 합니다. 이를 하드웨어 플로우 제어라고 합니다.
전화 응용 프로그램에 사용 가능한 두 개의 추가 핀도 있는데, 이제는 대부분 사용되지 않습니다. 하나는 DCD(Data Carrier Detect)로, 모뎀에 아날로그 신호가 수신되고 있음을 알리고, 다른 하나는 RI(Ring Indicator)로, 전화가 울리고 있음을 나타냅니다. 이들은 현재 실질적으로 사용되지 않습니다.
마지막 연결은 SG(Signal Ground)로, 통신 장치의 접지 전압 참조입니다.
RS-232 통신 장치에는 DTE(데이터 단말 장비)와 DCE(데이터 통신 장비) 두 가지 유형이 있습니다. DTE의 예로는 컴퓨터, PLC 또는 기타 명령을 보내는 장비가 있습니다. DCE의 예로는 모뎀, 카메라, 프린터 및 일반 자동화 장비가 있습니다.
두 DTE 또는 두 DCE 장치는 서로 정보를 전송할 수 없습니다. 장치 간 통신을 설정하기 위해 명령을 보내는 DTE가 있어야 하며 이러한 명령을 수행하는 DCE가 있어야 합니다.
아래와 같이 모뎀을 사용하여 컴퓨터 간에 통신하는 데 RS-232를 사용할 수도 있습니다:
대안으로, 모뎀이 필요 없게 하는 Null Modem 배선을 사용할 수 있습니다
그러나 DSR 및 RTS 전선의 필요성을 없애기 위해서는 데이터를 보낼 수 있을 때와 보낼 수 없을 때를 나타내는 데이터 패킷이 수신 측에서 보내져야 합니다. 데이터를 보낼 수 있다는 것을 나타내기 위해 패킷은 XON으로 설정되고 보낼 수 없다는 것을 나타내기 위해 XOFF로 설정됩니다. 이를 소프트웨어 흐름 제어라고 합니다.
RS-232을 사용하는 주요 단점은 다른 직렬 통신 프로토콜에 비해 통신 속도가 상대적으로 느리다는 것입니다. 많은 응용 프로그램에서 최대 128kbps의 속도에만 안정적으로 도달할 수 있습니다. 또 다른 단점은 신뢰할 수 있는 케이블의 최대 길이가 단 15미터에 불과하다는 것입니다. 긴 거리 케이블을 통해 전선 저항과 전압 루프가 문제가 됩니다.
RS-232은 이제 새로운 장치에서 일반적으로 사용되지 않지만, 다른 더 현대적인 통신 프로토콜이 사용 가능하기 때문입니다. 그럼에도 불구하고, 오래된 장치들이 종종 발견됩니다. 그럼에도 불구하고, 가장 최신이고 고급 컴퓨터 마더보드조차도 일반적으로 COM 포트 헤더를 가지고 있으며, 필요한 경우 RS-232를 제공합니다. 10년 이상 된 장비가 여전히 현장에 상당량 있으며, 프린터, 산업 자동화 장비 등이 포함되어 있어 사용됨에 따라 프로그래밍 및 유지보수가 필요합니다. 그러한 경우, RS-232는 필수적입니다. 다행히도, RS-232에서 USB로의 변환기와 같은 다양한 변환기가 많이 있어 이러한 장치들과 쉽게 통신할 수 있습니다.
이 기사에서는 일부 레거시 RS-232 프로토콜 표준 기능을 살펴보고 그 장점과 구현 세부 사항에 대해 논의했습니다. 다음 기사에서는 사용 가능한 다른 직렬 통신 프로토콜에 대해 살펴볼 것입니다. 무언가를 놓쳤나요? 이 시리즈의 이전 기사를 확인하세요: 직렬 통신 프로토콜 - 소개 및 직렬 통신 프로토콜 - 파트 투: UART.
다음 PCB 설계에서 Altium Designer®가 어떻게 도움을 줄 수 있는지 자세히 알아보고 싶으신가요? Altium의 전문가와 상담하세요.