회로에 흐르는 생각들 – 전기전자, 알고 쓰는 법

[전기전자 기초 #29] SPI, I2C, UART의 차이점과 활용 | 대표적인 직렬 통신 방식

앤카 2025. 6. 9. 00:00
반응형

안녕하세요 😊
오늘 배울 내용은 디지털 통신에서  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 대해 알아보겠습니다.

읽어주셔서 감사합니다 😊
유익했다면 댓글과 공감 부탁드려요!

 

반응형