본문 바로가기
MCU 통신/이론

SPI

by [Akashic Records] 개발의선지자 2024. 7. 7.

※ 해당 글은 개인 공부 기록을 남겨놓는 것이 목적임으로 오류가 발생할수 있습니다.

    오류 또는 업데이트된 사항이 있다면 댓글로 알려주시면 감사하겠습니다.

 

이번에는 SPI(Serial PeriPheral  Interface) 통신을 포스팅하고자 한다.

SPI 는 마스터 - 슬레이브 구조를 가진 전이중 고속 통신 방식이다.

 

연결 선 

1. 데이터 통신 전송용(MASTER -> SLAVE) : MOSI

2. 데이터 통신 전송용 (SLAVE -> MASTER ) : MISO

3, 동기 클럭 신호 통로 : SCK(Serial Clock) 

4. 슬레이브 장치 선택 신호 통로 : SS

 

1 : 1 연결

 

1 : N 연결

 

 

기본적으로 클록은 동기 통신에서 데이터의 전달 시점을 알려주고, 전달된 데이터가 안정적인 상태를 유지할때 수신 장치가 수신된 데이터를 검사하도록 알려주는 역할을 한다,

 

클럭의 극성과 위상 결정

SPI MODE 클럭 극성(CPOL) 클럭 위상(CPHA)
Mode 0 0 0
Mode 1 0 1
Mode 2 1 0
Mode 3 1 1

 

클럭의 극성에 따라 달라진다.

CPOL 0일 때, 클럭 기본 상태가 0 , CPHA 0일 떄 ,상승 에지에서 데이터 전송

CPOL 1일 떄, 클럭 기본 상태가 1,  CPHA 1일 떄, 하강 에지에서 데이터 전송

 

출처 : https://m.blog.naver.com/darknisia/220673747042
Mode 0
Mode 1

 

Mode 2
Mode 3


데이터 구조

기본적으로 MSB부터 전송

마스터 장치가 제공하는 클록에 의해 데이터 전송이 동시에 이루어진다.

동기화 문제를 해결하기 위해 마스터와 슬레이브 장치들은 원형 큐 데이터 퍼버를 가지고 있

 

MSB부터 전송, 마스터와 슬레이브가 동시 전송

 

 

통신 프로토콜

1.     마스터가 동기화 클럭(SCLK) 극성과 위상을 결정한다.

2.     마스터는 통신하지 않는 장치는 HIGH 상태를 만들고

        통신할 SPI 장치 SS핀을  LOW 상태로 두어 해당 슬레이브를 활성화하고, 나머지 장치 SS핀은 HIGH 상태 둔다.

3.     마스터는 모드에 따른 SCLK 상승 엣지/하강 엣지에 따라  데이터를 한 번에 1bytes씩 MOSI 와이어 따라

        슬레이브에게 전송 슬레이브는 MOSI 와이어 핀으로 수신한 비트를 읽어온다.

4.     동시에 슬레이브는 모드에 따른 SCLK 상승 엣지/하강 엣지에 따라  데이터를 한 번에 1bytes씩 MISO 와이어 따라

        마스터에게 전송 마스터는 MOSI 와이어 핀으로 수신한 비트를 읽어온다.

5.     일반적으로 SPI 통신 시스템은 양방향으로 동작.(MISO MOSI가 동시 전송)

 

'MCU 통신 > 이론' 카테고리의 다른 글

NEC Protocol  (0) 2024.06.27
I2C  (0) 2024.06.27
RS-485 HW 구성 [1]  (0) 2024.06.13
U(S)ART (1)  (0) 2024.05.26