Serial Peripheral Interface. 선 4가닥을 쓴다.
SCK 클럭 — 마스터가 만든다
MOSI Master Out Slave In
MISO Master In Slave Out
CS 칩 셀렉트 — 여러 슬레이브 중 하나를 고른다
UART 와의 근본적 차이 — 누가 먼저 말하나
SPI 는 마스터가 클럭을 줘야 데이터가 흐른다. 슬레이브는 자발적으로 말할 수 없다.
| UART | SPI | |
|---|---|---|
| 배선 | 2선 | 4선 |
| 속도 | ~1 Mbps 실용 | 수~수십 Mbps |
| 자발적 송신 | 양쪽 다 가능 | 슬레이브는 불가 |
이 차이가 TBD-003(Sensing ↔ RPi)의 판단 근거였다. 비전 결과는 9바이트라 속도가 문제가 아닌데, 엔진룸 동물 진입은 RPi 가 판정 즉시 올려보내야 하는 이벤트다. SPI 면 폴링 주기만큼 지연이 붙는다.
이 프로젝트에서 SPI 를 쓸 만한 자리
TBD-003 을 SPI 로 정하면 Sensing ↔ RPi 에 쓰이고, 그 외에는 외부 플래시(SPI NOR)로 시험 로그를 저장하는 용도가 자연스럽다 — 내부 SRAM 순환 버퍼로는 온도 응답 곡선 몇 분치밖에 못 담는다.