임베디드 용어 사전
시리얼 통신

CPOL

SPI에서 클럭이 쉴 때의 전압 레벨. 0이면 LOW, 1이면 HIGH로 대기한다.

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 불일치 증상

로직 분석기로 클럭과 데이터를 함께 보면 어느 에지에서 데이터가 안정적인지 바로 보인다.

함께 보면 좋은 용어

노트에서 맥락과 함께 보기 — SPI — 클럭을 같이 보내는 대신 선이 넷