반응형

sprugp2a.pdf
0.53MB

 

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 핀이 필요하여 하드웨어 복잡성이 증가할 수 있다.

반응형

+ Recent posts