UART, SPI, I2C는 마이크로컨트롤러나 센서, 모듈들이 서로 대화할 때 사용하는 통신 방식입니다. 사람으로 치면 “어떻게 말하느냐”, “몇 명이 동시에 말하느냐”, “규칙이 있느냐”의 차이입니다.
이 세 가지는 속도, 배선 수, 연결 방식이 서로 다른데, 이 부분을 비유로 들어 블로그 포스팅에서 다루겠습니다.
UART – 1:1 전화 통화
UART는 전화 통화에 비유할 수 있습니다.
- 한 번에 한 사람과만 통화
- 서로 약속한 말하는 속도(baud rate)가 같아야 함
- 선은 2개(TX, RX)
A가 말하면 B가 듣고, B가 말하면 A가 듣는 구조라, 전화기 두 대를 직접 연결한 느낌
특징
- 구조가 단순
- 디버깅이 쉬움
- 여러 장치를 동시에 연결하기 어려움
주 사용처
- PC ↔ 마이크로컨트롤러 (시리얼 모니터)
- GPS 모듈
- 블루투스 모듈
SPI – 회의실에서 손들고 말하는 방식
SPI는 회의실 발표에 비유할 수 있습니다.
- 한 명의 진행자와 여러 명의 참가자가 있을때,
- 진행자가 “너 말해” 하고 지정해야 말할 수 있습니다
회의실에 여러 사람이 있지만, 진행자가 이름을 부르면 그 사람만 말합니다. 때문에 말이 빠르고 정확하게 전달됩니다.
특징
- 매우 빠른 속도
- 배선이 많음(보통 4개 이상)
- 동기식 통신이라 안정적
주 사용처
- 디스플레이
- 고속 센서
- SD 카드
I2C – 단체 채팅방
I2C는 단체 채팅방에 비유할 수 있습니다.
- 모든 사람이 같은 채팅방에 있고 각자 고유한 닉네임(주소)이 있을때,
- 두 개의 선만으로 모두 연결
“@센서1 데이터 보내줘”라고 말하면, 센서1만 응답하는 구조입니다.
특징
- 선이 2개뿐이라 배선이 깔끔합니다
- 여러 장치를 쉽게 연결할 수 있습니다
- 속도는 SPI보다 느립니다
주 사용처
- 온습도 센서
- 가속도 센서
- RTC 모듈
한눈에 비교
| UART | 전화 통화 | 1:1 | 중간 | 단순함 |
| SPI | 회의 발표 | 1:N | 매우 빠름 | 고속, 안정 |
| I2C | 단체 채팅 | 1:N | 느림 | 배선 간단 |
언제 어떤 걸 쓰면 좋을까?
- 디버깅, 간단한 통신 → UART
- 속도가 가장 중요할 때 → SPI
- 센서 여러 개를 깔끔하게 연결할 때 → I2C
결론
UART, SPI, I2C는 누가 말하는지, 어떻게 말하는지, 얼마나 빨리 말하는지의 차이이며, 상황에 맞게 통신 방식을 선택하는 것이 임베디드 시스템 설계의 핵심입니다.
'임베디드 시스템' 카테고리의 다른 글
| 모터 제어 이론 기초 (0) | 2026.03.28 |
|---|---|
| STM32H5 마이크로컨트롤러란? (0) | 2026.03.09 |
| DMA(Direct Memory Access)란 무엇인가? (0) | 2025.12.31 |