Serial Peripheral Interface 통신이라고 하며 직역하면 직렬 주변 기기 인터페이스다.
CAN 통신과 똑같이 직렬통신이며, 병렬로 작동한다.
즉 1대 다수 통신을 지원하는 동기식 방식이다.
Master ↔ Salve 방식이다.

SPI 1:1 예시
위와 같이 SPI는 4가지 신호가 있어야 한다.
SCLK(=SCK) : 동기화 신호이며 클럭 전송을 위한 단자로, 마스터 슬레이브 클럭으로 전송한다.
MOSI : Master Output Slave Input, 마스터에서 슬레이브에게 데이터를 전송하는 것이다.
MISO : Mater Input Slave Output, 슬레이브에서 마스터에게 데이터를 전송하는 것이다.
CS: Chip Select , 보통 SS 핀 즉, Salve Select로 슬레이브를 선택할 때 사용된다. 마스터가 슬레이브를 선택하기 위한 장치이다.

SPI Circuit
SPI 장치들은 Shift Register를 가지고 있다. 기본적으로 MSB부터 전송되는데 특정 컨트롤러는 LSB부터 전송하는 방법도 지원한다.

SPI Example
마스터에서 슬레이브로 어떤 값을 보낸다고 가정했을 때, 보내는 1 Clock의 신호마다 data가 이동된다.

쉬운 그림