Clock Polarity. 아무것도 보내지 않을 때 클럭선이 어디에 있는가를 정한다.
CPOL = 0 유휴 상태에서 클럭이 LOW
CPOL = 1 유휴 상태에서 클럭이 HIGH
CPHA 와 함께 모드가 된다
모드 0 CPOL=0 CPHA=0 가장 흔하다
모드 1 CPOL=0 CPHA=1
모드 2 CPOL=1 CPHA=0
모드 3 CPOL=1 CPHA=1 센서류에서 자주 보인다
왜 네 가지나 있나
SPI 는 표준화 기구가 만든 규격이 아니라 관행이라, 부품마다 기대하는 조합이 다르다. 그래서 데이터시트의 타이밍도를 보고 맞춰야 한다.
안 맞으면 나타나는 증상
전부 0 또는 0xFF 만 읽힌다
값이 한 비트씩 밀려서 들어온다 ← 대표적인 CPHA 불일치 증상
로직 분석기로 클럭과 데이터를 함께 보면 어느 에지에서 데이터가 안정적인지 바로 보인다.