Clock Phase. 샘플링 시점을 정한다.
CPHA = 0 클럭의 첫 번째 에지에서 데이터를 읽는다
CPHA = 1 두 번째 에지에서 읽는다
왜 이게 중요한가
데이터선의 값은 에지 근처에서 바뀐다. 바뀌는 순간에 읽으면 값이 불안정하므로, 한쪽은 바꾸고 다른 쪽은 읽는 식으로 에지를 나눠 쓴다.
┌─┐ ┌─┐ ┌─┐ CPHA=0 → ↑에서 읽고 ↓에서 바꾼다
CLK ─┘ └─┘ └─┘ └─ CPHA=1 → ↓에서 읽고 ↑에서 바꾼다
MOSI ═╳═══╳═══╳═══
실무 팁
- 슬레이브 데이터시트에 모드 번호가 명시돼 있는 경우가 많다. 그대로 쓴다
- 값이 한 비트씩 밀리면 CPHA 를 반대로 바꿔 본다
- 여러 슬레이브가 모드가 다르면 칩 선택을 바꿀 때마다 SPI 설정을 다시 해야 한다