반응형
안녕하세요 😊
오늘 배울 내용은 디지털 통신에서 SPI, I2C, UART는 장치 간 데이터를 전송하기 위한 대표적인 직렬 통신 프로토콜 입니다.
그럼 바로 SPI (Serial Peripheral Interface), I2C (Inter-Integrated Circuit), UART (Universal Asynchronous Receiver/Transmitter) 에 대해 알아보겠습니다.
✅ SPI, I2C, UART란?
SPI (Serial Peripheral Interface), I2C (Inter-Integrated Circuit), UART (Universal Asynchronous Receiver/Transmitter)는
직렬 통신(Serial Communication) 방식을 통해 두 장치 간 데이터 전송을 담당하는 프로토콜입니다.
이 세 가지 방식은 MCU, 센서, 메모리, 통신 모듈 등과 연결할 때 많이 사용됩니다.
💡 비유:
- SPI는 고속도로처럼 빠르게 데이터를 주고받습니다.
- I2C는 버스처럼 여러 장치가 같은 통로를 공유합니다.
- UART는 택배처럼 순서대로 하나씩 전달합니다.
🔌 SPI (Serial Peripheral Interface)
✔️ 특징
| 항목 | 설명 |
| 전송 방식 | 동기식 (Synchronous) |
| 최대 속도 | 수십 Mbps |
| 라인 수 | 4개 (MISO, MOSI, SCK, SS) |
| 마스터-슬레이브 구조 | 마스터가 클럭을 제어 |
| 전송 방향 | 양방향 (Full Duplex) |
🎨 SPI의 신호 라인
| 신호 | 설명 |
| MOSI (Master Out Slave In) | 마스터 → 슬레이브 데이터 전송 |
| MISO (Master In Slave Out) | 슬레이브 → 마스터 데이터 전송 |
| SCK (Serial Clock) | 마스터가 생성하는 클럭 신호 |
| SS (Slave Select) | 특정 슬레이브 선택 |
✔️ SPI의 장점과 단점
| 장점 | 단점 |
| 전송 속도가 빠름 | 많은 GPIO 핀이 필요 |
| 양방향 통신 가능 | 여러 슬레이브 연결 시 핀 수 증가 |
| 간단한 하드웨어 구성 | 긴 거리 전송에 부적합 |
✔️ SPI의 활용 예시
- SD 카드와 통신
- Ethernet 모듈 연결
- LCD 디스플레이 제어
- 메모리 칩 (Flash Memory)
🔌 I2C (Inter-Integrated Circuit)
✔️ 특징
| 항목 | 설명 |
| 전송 방식 | 동기식 (Synchronous) |
| 최대 속도 | 400kbps (Fast Mode), 3.4Mbps (High Speed Mode) |
| 라인 수 | 2개 (SCL, SDA) |
| 마스터-슬레이브 구조 | 여러 슬레이브와 연결 가능 |
| 전송 방향 | 반이중 (Half Duplex) |
🎨 I2C의 신호 라인
| 신호 | 설명 |
| SCL (Serial Clock Line) | 클럭 신호 전달 |
| SDA (Serial Data Line) | 데이터 전송 및 수신 |
✔️ I2C의 장점과 단점
| 장점 | 단점 |
| 두 개의 라인으로 다수의 장치 연결 가능 | 전송 속도가 느림 |
| 간단한 배선 | 버스 충돌 시 에러 발생 |
| 주소 체계로 장치 구분 | 통신 속도가 SPI보다 느림 |
✔️ I2C의 활용 예시
- 온도 센서 (Temperature Sensor)
- EEPROM 메모리 통신
- RTC (Real Time Clock) 연결
- LCD 제어
🔌 UART (Universal Asynchronous Receiver/Transmitter)
✔️ 특징
| 항목 | 설명 |
| 전송 방식 | 비동기식 (Asynchronous) |
| 최대 속도 | 일반적으로 115200bps |
| 라인 수 | 2개 (TX, RX) |
| 마스터-슬레이브 구조 | 없음 (Peer to Peer) |
| 전송 방향 | 양방향 (Full Duplex) |
🎨 UART의 신호 라인
| 신호 | 설명 |
| TX (Transmit) | 송신 데이터 전송 |
| RX (Receive) | 수신 데이터 수신 |
✔️ UART의 장점과 단점
| 장점 | 단점 |
| 간단한 배선 | 속도가 상대적으로 느림 |
| 클럭 신호 없이 전송 | 거리 제약이 있음 |
| 소프트웨어 처리 간단 | 다수 연결이 복잡함 |
✔️ UART의 활용 예시
- PC와 마이크로컨트롤러 통신
- GPS 모듈 연결
- 블루투스 통신
- Arduino 시리얼 통신
✔️ SPI, I2C, UART의 비교
| 항목 | SPI | I2C | UART |
| 전송 방식 | 동기식 | 동기식 | 비동기식 |
| 최대 속도 | 수십 Mbps | 3.4 Mbps | 115200 bps |
| 신호 라인 수 | 4개 | 2개 | 2개 |
| 통신 방향 | 양방향 (Full Duplex) | 반이중 (Half Duplex) | 양방향 (Full Duplex) |
| 마스터-슬레이브 | O | O | X |
| 다중 장치 연결 | 어려움 | 쉬움 | 제한적 |
| 거리 제약 | 짧음 | 중간 | 중간 |
⚡ 실무에서의 활용 예시
| 용도 | SPI | I2C | UART |
| 센서 연결 | ✔ | ✔ | ✔ |
| SD 카드 통신 | ✔ | ✘ | ✘ |
| 메모리 접근 | ✔ | ✔ | ✘ |
| 디스플레이 제어 | ✔ | ✔ | ✘ |
| 통신 모듈 | ✘ | ✘ | ✔ |
| 블루투스 통신 | ✘ | ✘ | ✔ |
🧠 오늘의 요약
- SPI, I2C, UART는 직렬 통신의 대표적인 방식입니다.
- SPI는 빠르고 강력한 전송 속도로 메모리, 디스플레이에 유리합니다.
- I2C는 두 개의 라인만으로 다수의 장치를 연결할 수 있어 센서 통신에 적합합니다.
- UART는 클럭 없이 독립적으로 PC, GPS, 블루투스와 통신할 때 사용됩니다.
- 각 방식은 전송 속도, 라인 수, 연결 용이성에 따라 선택됩니다.
📘다시 한번 더 정리
🔄 SPI (Serial Peripheral Interface)
- 빠른 전송 속도와 양방향 통신 지원
- SD 카드, 메모리, 디스플레이에 활용
🔄 I2C (Inter-Integrated Circuit)
- 두 개의 라인만으로 다수의 장치를 연결
- 온도 센서, EEPROM, LCD 제어에 활용
🔄 UART (Universal Asynchronous Receiver/Transmitter)
- 클럭 없이 비동기식 전송
- PC 통신, GPS, 블루투스에 활용
각 방식의 특징을 이해하고, 프로젝트에 적절한 프로토콜을 선택하면
더 빠르고 안정적인 데이터 전송이 가능합니다.
📌 다음 글 예고
다음 시간에는 임베디드 시스템과 MCU에 대해 알아보겠습니다.
읽어주셔서 감사합니다 😊
유익했다면 댓글과 공감 부탁드려요!
반응형