본문 바로가기

전자 공학/기타

SPI 통신이란?

반응형

 

 

 

안녕하세요. 취업한 공대누나입니다.

지난 시간에는 기기와 기기간의 통신 중 하나로 I2C에 대해 공부를 해보았습니다.

오늘은 또 다른 통신 방법 중에 하나인 SPI 통신에 대해 공부해보도록 하겠습니다.

I2C에 대해 궁금하신 분들은 아래를 참고해주세요.

2020/12/24 - [전자 공학/기타] - I2C 통신(TWI)이란?

1. SPI란?

Serial Peripheral Interface의 약자로 시리얼 통신 방식 중 한가지입니다.

I2C와 마찬가지로 1개의 Master와 여러 개의 Slave가 연결될 수 있습니다.

 

통신을 위해서는 최소 4개의 선이 필요합니다.

 

SCK

클럭 전송을 위한 단자입니다. 마스터에서 슬레이브로 클럭을 전송합니다.

 

MOSI (Master Out Slave In)

Master에서 Slave로 데이터를 전송하기 위한 단자입니다.

 

MISO (Master In Slave Out)

Slave에서 Master로 데이터를 전송하기 위한 단자입니다.

 

SS

마스터 장치에서 슬레이브 장치를 선택하기 위한 단자입니다.

SS를 통하여 어떤 장치랑 통신할지를 선택하고,

마스터에서 슬레이브로 클럭을 전송하면 마스터 기기와 슬레이브 기기가 데이터를 주고 받을 수 있습니다.

여러 개의 슬레이브가 마스터에 연결될 수 있지만, 슬레이브 갯수만큼 SS 신호 선이 늘어나게 됩니다.

따라서 여러 개의 슬레이브가 존재할 때는 효율적이지는 않습니다.

 

 

데이터를 전송하고 수신하는 선이 따로 있기 때문에 송, 수신이 동시에 일어날 수 있습니다.

따라서 반이중 통신 방식인 I2C에 비해서 속도가 빠릅니다.

 

 

2. 데이터 송수신 과정

 

간단하게 먼저 과정을 요약해보면 Master에서 통신하고 싶은 Slave에 0을 인가하여 Enable을 시킵니다.

그리고 Clock을 생성하여 동기화를 해주고, Data를 주고 받게 됩니다.

 

SPI는 한 개의 Slave Device와 통신이 가능합니다.

따라서 통신을 할 Slave만 Low를 주어 통신을 하고, 통신을 하지 않는 나머지 Slave는 High를 주어야합니다.

 

그 다음에는 클럭 신호를 동기화시켜 줍니다.

사용하고자 하는 Chip의 Datasheet를 봐야 정확한 코드를 짤 수 있습니다.

Rising edge에서 동작을 할 지, Falling edge에서 동작할 지 이러한 것들을 데이터 시트를 보고 설정을 해줍니다.

 

SAM4S16C

위 Chip의 데이터 시트를 보게 되면 CPOL이 0일 경우 Falling edge에서 동작을 하고

CPOL이 1일 경우 Rising edge에서 동작을 하게 됩니다.

그림에도 나와있듯이 SPI는 송신과 수신이 동시에 가능한 것을 알 수 있습니다.

 

 

I2C와 SPI 둘 다 실습하는 시간을 조만간 가져보도록 하겠습니다.

감사합니다.

 

 

반응형

'전자 공학 > 기타' 카테고리의 다른 글

PWM 이란?  (0) 2021.01.01
메모리 반도체와 비메모리 반도체  (0) 2020.12.29
I2C 통신(TWI)이란?  (0) 2020.12.24
CMOS센서 CCD센서  (0) 2020.12.23
EEPROM이란?  (0) 2020.12.22