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

칩 셀렉트

SPI에서 어느 슬레이브와 통신할지 고르는 선. 활성인 동안만 그 슬레이브가 클럭을 자기 것으로 받아들인다.

보통 LOW 가 활성이라 이름에 바 표시를 붙여 적는다.

CS ───┐                    ┌───    LOW 인 구간이 한 번의 거래
      └────────────────────┘
SCLK      ┌┐┌┐┌┐┌┐┌┐┌┐

왜 필요한가

SPI 는 주소가 없다. 같은 클럭·데이터선에 여러 슬레이브가 붙어 있으므로, 누구에게 말하는지를 별도의 선으로 알린다. 슬레이브가 늘면 GPIO 도 그만큼 늘어난다.

실무에서 데는 곳

거래 중간에 CS 를 올린다        많은 칩이 상태를 리셋해 버린다 — 한 거래는 끝까지 LOW 유지
CS 를 하드웨어에 맡겼는데
바이트마다 토글된다             연속 전송이 여러 거래로 쪼개진다 → GPIO 로 직접 제어하는 편이 안전하다
풀업이 없어 부팅 중 떠 있다      MCU 가 초기화되기 전에 슬레이브가 오동작할 수 있다

마지막 항목 때문에 CS 선에 풀업을 다는 것이 관행이다.

데이지체인

일부 칩은 CS 하나로 여러 개를 직렬로 엮는 방식을 지원한다. 배선은 줄지만 프레임을 통째로 밀어 넣어야 해서 소프트웨어가 복잡해진다.

함께 보면 좋은 용어

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