티스토리 뷰
개요
시리얼 통신과 관련하여 나오는 용어, 기술을 정리해본다.
잘 정리된 자료들이 많아서 대부분은 링크로 대체하고 여기서는 간략한 정리만 해둔다.
간략 요약 (TL;DR)
UART 는 TTL 이다. - 대부분의 경우는 UART 라 부르는게 맞다.
UART 와 RS-232 는 전압빼고 모두 같다. - UART 는 0V(=0) 에서 3.3V 또는 5V(=1), RS-232 는 +12V(=0) 에서 -12V(=1) 를 사용한다. - 나머지는 모두 같다고 생각하자.
MAX3232 칩으로 UART - RS-232 간 통신을 연결할 수 있다.
RS-232 - PC에서 종종 지원하는게 장점이고, TTL Level 보다 높은 전압으로 좀더 먼거리 통신 가능
RS-422 - RS-232 보다 조금 더 먼 거리, 하나의 포트에 여러 Receiver 장비 연결가능 - 지원하는 장비가 드물다
RS-485 - RS-422 과 유사하지만 2 wire 만 사용하는게 간편 - 프로그래밍은 조금 더 복잡할 수 있지만 자동으로 처리해주는 장비쓰면 해결 - 여러 Commander - 여러 Receiver 연결 가능 |
참고링크들
UART, USART, RS232
- 참고링크: https://www.sparkfun.com/tutorials/215
- 참고링크2: https://goo.gl/gPQUT4
RS-232, RS-422, RS-485
- 참고문서 다운로드: http://www.airtech21.com/admin/bbs/down.php?code=data&idx=5734&no=1
UART
- TTL 은 Transistor-Transistor Logic 의 약자
- TTL 는 프로토콜이 아니며, 옛적 디지털 회로에서의 기술이다.
- TTL은 Vcc 5V를 쓸때를 말하기도 하지만, 대부분 UART 라 표기하는게 맞는 경우가 많다.
- USART 는 UART + Sync 기능이다.
- 동기화 클럭이 없이 대기상태인 High 에서 Low로 떨어질때에 START 된다.
- Voltage level Vcc 는 3.3V, 5V 둘중 마이크로프로세서가 사용하는 전압을 쓰면 된다.
- UART 통신하는 두 장비는 transmission speed, bit-rate 등을 맞춰줘야 한다.
RS-232
- RS 는 Recommended Standard 의 약자
- 최대 5V 인 UART 만으로는 먼거리에서의 통신은 힘들다.
- 그래서 RS-232 는 좀 더 큰 전압을 지원하여 거리문제를 해소한다.
- 보통 +12V 는 0, -12V는 1 을 많이 쓴다.
- 나머지는 모두 UART 와 같다고 생각하자
- MAX3232 칩으로 UART 와 RS-232 간의 전압 방식 맞춰줘서 통신할 수 있다
RS-232 와 TTL (0V - 5V) 간의 전압레벨 비교
< 출처: https://www.sparkfun.com/tutorials/215 >
RS-232, RS-422, RS-485 비교
< 출처: 참고문서 다운로드 >
구분 |
RS-232 |
RS-422 |
RS-485 |
포트연결 |
포트 하나에 리시버 하나 |
포트 하나에 리시버 32개 (리피터 쓰면 추가 가능) 리시버 간에는 Address 로 구분 |
포트 하나에 리시버 32개 (리피터 쓰면 추가 가능) 포트들, 리시버들 간에는 Address 로 구분 |
최대통신거리 |
15 m |
1.2 km (리피터 쓰면 더 멀리 가능) |
1.2 km (리피터 쓰면 더 멀리 가능) |
기타 |
- PC 에서 지원 (요즘엔 없는 경우도 많음) - 노이즈에 취약 (Single-ended)
|
- RS-232 와 매우 유사 (같은 프로그래밍 가능) - 4 wire 라서 노이즈에 강함 |
- 보통은 2 wire 라서 RS-422 보다 간편하다 - 프로그래밍시 transmitter 를 켜고 끄는 조작이 필요하지만 보통 장비가 자동으로 해준다. |
'embedded' 카테고리의 다른 글
Arduino - TCP Client로 명령받기 (10) | 2018.09.18 |
---|---|
Arduino Serial 로 hex 전송하기 (5) | 2018.09.04 |
아두이노에서 ds18b20 온도센서 다루기 (0) | 2018.08.22 |
아두이노를 이용한 온습도 센서 측정 (3) | 2018.08.10 |
현 시점 라즈베리파이 OS 설치 - 180730 (0) | 2018.07.30 |

- Total
- Today
- Yesterday
- 영화
- 2023
- 잡학툰
- go
- 엉클 밥
- clean agile
- agile
- strange
- OpenAI
- intellij
- Gin
- websocket
- 클린 아키텍처
- 티스토리챌린지
- 인텔리제이
- 노션
- bun
- backend
- 독서
- Bug
- 2024년
- notion
- 클린 애자일
- API
- solid
- 오블완
- 독서후기
- ChatGPT
- postgres
- golang
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |