- Serial Peripheral Interface Bus
- 동기식 직렬 데이타 링크. synchronous serial data link.
- Full duplex.
-
Master/Slave 모드로 동작.
- master가 data frame을 initiate.
-
slave는 다수 접속 가능.
- slave select 신호. chip select.
-
4개의 신호선으로 연결.
- SCLK(SCK) : Serial CLocK. 클럭.
- MOSI(SDO, DO, SO) : Master Output, Slave Input. 마스터->슬레이브 신호선. Serial Data Out.
- MISO(SDI, DI, SI) : Master Input, Slave Output. 슬레이브->마스터 신호선. Serial Data In.
- SS(nCS, CS, nSS, STE) : slave select. active low. 마스터 output. 슬레이브가 하나뿐일 경우 low로 tie 시킬 수 있다. 슬레이브 중 falling edge를 검출하는 놈도 있으니 주의.
[peer-to-peer 구성]
[1 master, 3 slave 구성]
[daisy-chain 구성]
-
데이타 전송.
- 클럭에 동조되어 비트단위로 전송.
- MOSI, MISO에서 데이타는 MSB first로 전송된다.
-
Clock Polarity and Phase
- CPOL. Clock POLarity. clock의 base value가 무엇인가?
- CPHA. Clock PHAse. clock의 첫번째 edge에서 read할 것인가? 두번째 edge에서 read할 것인가?
-
CPOL=0 : clock의 base value는 0
- CPHA=0 : clock의 rising edge에서 data read. falling edge에서 data change.
- CPHA=1 : clock의 falling edge에서 data read. rising edge에서 data change.
-
CPOL=1 : clock의 base value는 1
- CPHA=0 : clock의 falling edge에서 data read. rising edge에서 data change.
- CPHA=1 : clock의 rising edge에서 data read. falling edge에서 data change.
- CPOL과 CPHA의 조합은 모드로 표현되기도 한다.
[Timing diagram]
MODE | CPOL | CPHA |
0 | 0 | 0 |
1 | 0 | 1 |
2 | 1 | 0 |
3 | 1 | 1 |
이 글은 스프링노트에서 작성되었습니다.