RS-232, RS-422, RS-485: UART를 멀리 보내기
같은 UART 프레임을 전압 레벨과 차동 신호로 바꿔 수십 m~1km까지 보냅니다. 세 규격의 차이와 RS-485 방향 제어.
MCU의 UART는 3.3V 단일 신호라 1~2m만 넘어도 불안합니다. 트랜시버 칩으로 신호 모양만 바꾸면 프레임은 그대로 두고 멀리 보낼 수 있습니다.
| 규격 | 신호 | 거리 | 노드 | 특징 |
|---|---|---|---|---|
| RS-232 | ±3~15V, 단일 | ~15m | 1:1 | PC 시리얼 포트. 논리가 반전됨 |
| RS-422 | 차동, 단방향 쌍 | ~1200m | 1:10 수신 | 전이중 (4선) |
| RS-485 | 차동, 양방향 | ~1200m | 32노드 이상 | 반이중 (2선), 산업 표준 |
RS-232 주의
1이 음의 전압입니다. MCU 핀에 바로 연결하면 망가집니다. MAX3232 같은 트랜시버가 필요합니다.
RS-485 실전
- 한 선(A, B 쌍)을 여러 장치가 공유하므로 송신할 때만 드라이버를 켜야 합니다. 트랜시버의 DE 핀을 GPIO로 켜고, 마지막 비트가 다 나간 뒤(UART TC 플래그) 끕니다. 너무 일찍 끄면 마지막 바이트가 깨집니다.
- 선 양 끝에 120Ω 종단 저항을 둡니다.
- 아무도 말하지 않을 때 선 상태를 정하는 페일세이프 바이어스 저항을 한 곳에 둡니다.
- Modbus RTU가 RS-485 위에서 가장 많이 쓰는 프로토콜입니다.