I2C-bus는 풀업저항이 연결되어 있는 SDA와 SCL을 이용하여 IC간에 통신을 하게 됩니다.

 

풀업저항이 연결되어 있는 이유는

 

입출력 전압 레벨이 다른 장치 간에도 통신이 가능해 지기 때문입니다.

(전압 레벨차는 통신 속도에 따라 범위가 달라지므로 datasheet를 참조하셔야 됩니다.)

 

보통 master와 slave로 구분할 수 있고, trasmitter와 reciever로 세분됩니다.

일반적으로, master는 MCU가 되고, slave는 각종 센서류, 메모리, 출력장치가 됩니다.

 

i2c-bus 통신 규격은 다음과 같습니다.

 

1. SCL이 high이면, SDA의 신호는 일정해야함(Data)

2. SCL이 low이면, SDA의 신호는 변경가능

3. SDA의 신호가 falling edge면 START

4. SDA의 신호가 rising edge면 STOP

 

i2c003.png