SPI는 마스터(Master)와 슬레이브(Slave) 간의 고속 직렬 통신 방식으로, 4개 이상의 신호선을 사용하여 데이터를 교환한다. SPI 회로와 동작 방식에 대한 질문이 나올 수 있으며, 하드웨어 회로와 프로토콜을 논리적으로 설명하면 좋다.
📌 1. SPI 기본 개념
✔ SPI는 클럭 신호(SCK)를 이용하여 동기적으로 데이터를 송수신하는 직렬 통신 방식이다.
✔ 마스터(Master)와 하나 이상의 슬레이브(Slave)가 연결될 수 있다.
✔ 고속 데이터 전송이 가능하며(일반적으로 1MHz ~ 50MHz), 풀이중(Full Duplex) 방식으로 동시에 송수신이 가능하다.
✔ I2C와 달리 SPI는 슬레이브 선택을 위해 추가적인 신호선(SS, CS)이 필요하다.
📌 2. SPI 하드웨어 회로
SPI 통신을 구현하기 위해 다음 4개의 주요 신호선이 필요하다.
신호선 기능 방향
MISO (Master In Slave Out) | 슬레이브 → 마스터 데이터 전송 | 슬레이브 → 마스터 |
MOSI (Master Out Slave In) | 마스터 → 슬레이브 데이터 전송 | 마스터 → 슬레이브 |
SCK (Serial Clock) | 마스터가 생성하는 클럭 신호 | 마스터 → 슬레이브 |
SS (Slave Select, CS) | 특정 슬레이브를 선택하는 신호 | 마스터 → 슬레이브 |
📌 SS(CS) 핀이 필요하므로, 여러 개의 슬레이브가 연결될 경우 각각의 슬레이브에 개별적인 SS 핀을 할당해야 한다.
📌 3. SPI 회로 구성 (MCU ↔ 센서 연결 예제)
📌 단일 슬레이브 회로 (Single Slave Configuration)

📌 SS 핀이 LOW가 되면 해당 슬레이브가 활성화되고, 데이터 전송이 시작된다.
📌 마스터는 SCK(Serial Clock)를 생성하며, 슬레이브는 이 클럭에 동기화되어 데이터를 송수신한다.
📌 4. 다중 슬레이브 연결 방식 (Multiple Slave Configuration)
① 개별 SS 핀을 사용하는 방식

📌 각 슬레이브는 개별적인 SS 핀을 할당받으며, 마스터는 필요할 때만 특정 SS 핀을 LOW로 설정하여 해당 슬레이브를 활성화한다.
② Daisy Chain 방식 (Shift Register 기반 연결, 일부 장치에서 사용)
- 일부 SPI 장치는 Daisy Chain 방식으로 연결할 수 있으며, 이 경우 SS 신호를 하나만 사용하고, 데이터가 직렬로 전달된다.
- Daisy Chain은 일반적인 방식은 아니며, 일부 ADC 또는 특수한 SPI 디바이스에서만 사용된다.
📌 5. SPI 동작 원리
✔ 마스터가 SCK(클럭)를 생성하고, 슬레이브는 이 클럭을 따라 데이터를 송수신한다.
✔ MOSI(마스터 → 슬레이브), MISO(슬레이브 → 마스터)로 데이터를 주고받는다.
✔ 풀 이중(Full-Duplex) 방식이므로, 동시에 데이터 전송과 수신이 가능하다.
✔ SS(Chip Select) 신호가 LOW가 될 때만 해당 슬레이브가 활성화된다.
📌 6. SPI 신호 타이밍 (Clock Polarity & Phase)
SPI는 Clock Polarity (CPOL)와 Clock Phase (CPHA) 설정에 따라 4가지 모드로 동작한다.
ModeCPOL (클럭 극성)CPHA (클럭 위상)특징
Mode 0 | 0 (Idle Low) | 0 (Leading Edge: Rising) | 가장 일반적인 설정 |
Mode 1 | 0 (Idle Low) | 1 (Leading Edge: Falling) | |
Mode 2 | 1 (Idle High) | 0 (Leading Edge: Falling) | |
Mode 3 | 1 (Idle High) | 1 (Leading Edge: Rising) |
📌 CPOL과 CPHA 설정이 마스터와 슬레이브 간 일치해야 정상 동작함.
📌 잘못된 설정 시 신호 타이밍 오류 발생 가능.
📌 7. SPI의 장점과 단점
✔ 장점
- 고속 데이터 전송 가능 (최대 50MHz 이상)
- 풀 이중(Full Duplex) 방식으로 동시에 송수신 가능
- 하드웨어 구현이 단순하여 빠른 데이터 전송에 적합
- 동기식(Synchronous) 통신으로 신뢰성이 높음 (I2C보다 노이즈에 강함)
✔ 단점
- SS(Chip Select) 핀이 추가로 필요하여 다중 슬레이브 연결 시 핀 수가 증가
- I2C처럼 다중 마스터를 지원하지 않음
- 장거리 전송에는 부적합 (신호 감쇠 문제 발생 가능)
✔ 이렇게 설명하면 좋다:
"SPI는 고속 직렬 통신 방식으로, 4개의 신호선을 사용하여 데이터 전송을 수행합니다.
풀 이중 방식이라 동시에 데이터를 송수신할 수 있으며, SS(Chip Select)를 통해 슬레이브를 선택합니다.
다중 슬레이브 연결 시 SS 핀이 많이 필요할 수 있지만, I2C보다 속도가 빠르고 신뢰성이 높습니다."
📌 8. SPI 예상 질문 & 답변
Q1. SPI의 기본적인 동작 원리를 설명해 주세요.
✔ 답변
"SPI는 클럭 신호(SCK)를 이용하여 마스터와 슬레이브 간 동기적으로 데이터를 송수신하는 직렬 통신 방식입니다.
MOSI(마스터 → 슬레이브), MISO(슬레이브 → 마스터)로 데이터를 주고받으며, 풀 이중(Full Duplex) 통신이 가능합니다.
SS(Chip Select) 핀이 LOW가 될 때만 해당 슬레이브가 활성화됩니다."
Q2. I2C와 SPI의 차이점은 무엇인가요?
✔ 답변
"I2C는 두 개의 신호선(SDA, SCL)만 사용하지만, SPI는 4개의 신호선(MOSI, MISO, SCK, SS)을 사용하여 더 빠른 속도로 데이터를 전송할 수 있습니다.
SPI는 풀 이중 통신이 가능하며, 동기식 방식으로 신뢰성이 높지만, SS 핀이 추가로 필요하다는 단점이 있습니다."
📌 9. 결론
📌 SPI는 클럭 신호(SCK)를 사용하여 동기적으로 데이터를 송수신하는 직렬 통신 방식이다.
📌 마스터-슬레이브 구조이며, SS(Chip Select)를 통해 특정 슬레이브를 선택한다.
📌 I2C보다 빠르지만, 추가적인 SS 핀이 필요하여 하드웨어 복잡성이 증가할 수 있다.
'IT' 카테고리의 다른 글
SEC EDGAR에서 최신 10-K 보고서 URL 가져오기 (1) | 2025.03.09 |
---|---|
UART (Universal Asynchronous Receiver Transmitter) 회로의 이 (0) | 2025.03.02 |
I2C 회로 및 동작 원리 (0) | 2025.03.02 |
스마트폰에서 Thermal(열) 제어를 위한 기술 및 방법 (3) | 2025.03.02 |
스마트폰 PCB 설계 시 고려해야 할 제약 (0) | 2025.03.02 |