월간 전자 연구소

오늘은 SPI 통신에 대해 알아보겠다.
혹시라도 회로설계 기초 실무 강의가 관심이 있다면 아래 링크 참고해주시기 바란다.

https://electronic-king.tistory.com/257

 

[기초 실무 강좌] 회로설계 기초 실무 수강신청자 모집! (Feat. 시험강의 01강, 강의자료 무료 제공)

안녕하세요. 현재 월간전자연구소 블로그 운영중인 운영자 입니다. [글 중간에 오리엔테이션 강의 참고!!] 회로설계 역량은 기본적이지만 접하기 어려운 기술중에 하나입니다. 최대한 회로설계

electronic-king.tistory.com


1. SPI 통신이란?
Serial Peripheral Interface의 줄임말이다.
동기식 통신이다.
전이중 통신 모드로 동작하며, 마스터 슬레이브 모드로 동작하며 마스터가 데이터 초기화를 할 수 있고, Chip select 라인을 통해 여러 슬레이브를 선택할 수 있다.
* 전이중 통신 : 양방향 통신이 가능한 것. 예) 전화(내가 말하면서 들을 수 있다는 점)

[아래 해당 포스팅의 글을 통해 공부할때 모르는 내용이나 단어가 있으면 항상 꼭 짚고 넘어가시길 바랍니다!]

SPI 마스터 슬레이브

2. SPI 인터페이스
SPI는 4가지의 신호를 지정한다. 반드시 이 4가지의 신호가 있어야 SPI 통신이 가능하다.
1) SCLK
: Serial Clock(직렬 클럭)으로 마스터에서 출력하여 슬레이브로 입력해준다. SPI 통신의 주기를 SCLK로 설정할 수 있다. 동기화 신호이며 통신 Clock이라 생각하면 된다.
2) MOSI
: Master Output Slave Input, 말 그대로 마스터 출력, 슬레이브 입력이다.
실제 마스터에서 슬레이브로 데이터를 먹일 때 MOSI를 통해 데이터를 준다.
3) MISO
: Master Input Slave Output, 슬레이브 출력, 마스터 입력이다.
보통 MOSI를 통해 슬레이브에 명령 DATA가 들어오면 MISO를 통해 슬레이브에서 마스터로 응답 DATA가 출력된다.
4) CS
: Chip Select, 보통 SS 핀 즉 Slave Select로 슬레이브를 선택할 때 사용된다.

 

3. SPI 1 : N 통신의 이해

SCLK로 동기식 클럭을 만들어주며 CS를 이용하여 Slave를 선택하여 통신할 수 있다.
SPI는 한 개의 Slave Device와 통신만 가능하며 CS를 LOW로 주면 해당 장치와 통신할 수 있다.
한마디로 통신하지 않는 Slave는 CS에 High를 주고 통신하는 Slave에만 CS에 LOW를 주면 된다.

 

4. SPI 설정
 

1) 클럭의 극성
: CPOL을 HIGH로 설정할지, LOW로 설정할지  결정해야 한다. 이것의 설정은 Rising edge에서 동작인지 Falling edge에서 동작인지를 결정해준다.
   
2) 동작
: 타이밍도를 보면 CS가 HIGH일 때는 동작을 하지 않도록 동기 클락도 생성이 되지 않고 CS가 LOW가 되면 동기 클락이 생성되며 데이터를 주고받는다. 
즉, 마스터에서 CS에 LOW를 주어 제어 Enable을 시킨 뒤, clock을 생성하여 동기를 맞춰주고 DATA를 주고받는 통신방식이다.
SPI 통신방식을 사용하는 CHIP은 모두 이러한 방식으로 사용한다. 반드시 위의 나와있는 4핀이 필요하며 마스터에서는 출력 핀으로 CS, SCLK, MOSI 핀 입력으로는 MISO핀이 할당되어있다.
타이밍도 대로 마스터에서 제어만 해주면 구현하는데 어려운 통신방식은 아닐 것이라 생각된다.

5. 정리
오늘은 통신에 가장 기본인 SPI 통신에 대해 알아보았다.
SPI 통신방식을 우선적으로 알아본 이유는 추후에 ADC 관련 IC분석이나 Phase제어 등의 IC분석을 할 때 좀 더 쉽게 접근할 수 있도록 먼저 알아보았다.
SPI 통신에 반드시 필요한 핀들과 어떻게 동작하는지 타이밍도를 이해하면 그것으로 충분하다.
오늘의 공부도 도움이 됐길 바란다.

이 글을 공유합시다

facebook twitter googleplus kakaoTalk kakaostory naver band