본문 바로가기
전자공학/LoRa 통신

I2C 통신에 대한 깔끔한 설명 - 원리부터 응용까지 (with 온도센서)-1

by ohj921189 2020. 3. 16.
반응형

       목차

 

1. I2C 통신이란?

  - I2C 통신이란?

  - I2C 통신의 특징

 

2. 왜 I2C 통신을 사용하는 가?

   - I2C통신과 SPI 통신,UART 통신과의 비교

 

3. I2C 통신을 위해 필요한 조건

  - I2C 통신을 위해 하드웨어적으로 필요한 것

 

4. I2C 통신의 원리

  - 데이터 전송을 위한 네개의 구간

  - Master와 Slave 사이의 통신

 

5. 온도센서에서의 I2C 통신 원리 - 응용

 

 

 

1. I2C 통신이란?

 

I2C 통신이란?

 

1. 여러 개의 슬레이브와 통신이 가능하며 , 여러 개의 마스터끼리도 통신이 가능합니다. 

 

2. 데이터를 주고 받는 데에 두 개의 통신선만 필요합니다. 이 두 가지 선을 SCL, SDA 라고 합니다. 

 

I2C 통신의 특징

 

1. 7비트의 주소 공간을 사용하며 128개의 슬레이브를 사용가능 합니다.

 

2. 여러 개의 마스터끼리 통신이 가능 하며  400Khz의 전송 속도를 갖습니다.

 

3. 장치가 sleep 모드일 때 주소 인식으로 깨어날 수 있습니다.

 

 

 

2. 왜 I2C 통신을 사용하는 가?

 

1. UART 통신과 같은 비동기 통신은 사전에 디바이스 간의 데이터 전송 속도를 맞추어야 합니다.

 

-> 서로 통신하는 장치들은 오차가 없이 동일한 속도로 데이터를 보내야 하고 조금이라도 속도가 맞지 않으면 잘못된 데이터가 송신/수신 됩니다.

 

-> 비동기 통신은 많은 하드웨어 장치가 요구되며, 매 데이터 마다 시작비트와 종료비트를 포함애야 하고 비효율적인 통신 방식입니다.

 

2. SPI 통신은 동기 통신이며 마스터와 슬레이브 간 연결 할 때 MISO, MOSI, SCK, CS 4개의 선이 필요합니다.

 

-> 슬레이브에서 마스터, 마스터에서 슬레이브로 가는 통신선이 존재하여 송신과 동시에 수신이 가능하다는 장점이 있지만 선이 많이 필요로 하여 여러 개의 슬레이브를 연결할 때 상당히 복잡하여 사용하기가 불편합니다.

 

 

----> I2C 통신은 UART 통신과 다르게 동기 통신이고, SPI 통신과 다르게 SCL, SDA 두가지 선으로 여러 개의 슬레이브 장치와 통신하는 것이 가능하여 많이 활용되는 통신 방식입니다.

 

 

 

3. I2C 통신을 위해 필요한 조건

 

SDA, SCL 선은 기본 값(디폴트)으로 HIGH인 상태여야 합니다. 그러므로 이 두 개의 선이 HIGH인 상태가 되기 위해서는 반드시 버스에 PULLUP 저항을 달아주어야 합니다. 각각의 신호선은 PULLUP 저항으로 연결되어 있어서 어떤 장치도 신호선을 LOW로 만들지 않는한 신호는 HIGH로 유지 됩니다.

 

이것은 하나의 장치가 신호선을 LOW로 만든 상황에서 다른 장치가 신호선을 HIGH로 만들려고 해도 LOW로 유지되기 때문에 신호 선점을 위한 다툼이 없고 이로 인하여 과도한 전력손실을 막을 수 있고 장치에 대한 손상을 예방할 수 있습니다

 

 

 

 

반응형

댓글