I2C통신은 아주 흔하게 사용하는 통신 방법중에 하나로서, 주로 하나 이상의 센서들을 제어하거나 값을 받아올 때 사용합니다.
센서용으로 I2C통신이 흔하게 이용되는 이유는 한 간편한 방식으로 통신라인에 최대 7-bit 주소를 이용할 수 있기 때문인데,
이는 곧 이론상으로 한 통신라인 상에서 127개의 센서를 제어할 수 있다는 뜻입니다.
해당 통신을 구현하기 위해서는 특정한 회로 및 시퀀스 스펙을 맞춰주어야 합니다.
1. 하드웨어상 특징
- 통신 라인에서 제어 주체별로 각각 Master, Slave로 나눌 수 있으며 주로 MCU가 Master가 되고 센서가 Slave가 됩니다.
Master는 통신 라인의 Clock 주파수를 생성하고 Slave의 주소를 호출하여 동작을 제어하는 역할을 합니다.
Slave는 Master에 의해 호출되어 Master가 원하는 값을 반환합니다.
- 주로 +3.3V 전압을 이용하며, 그 이상의 전압도 가능합니다. 다만, 각 칩이나 센서별로 스펙상 특정한 전압을 사용하기 때문에
해당 전압에 맞추어 사용하여야 합니다.
- 통신 라인은 SDA(데이터), SCL(클락) 두 선으로 구성되어 있고 각각의 선에 풀업 저항이 필요합니다. (+3.3V의 경우 주로 4.7K)
2. 동작 시퀀스 특징
'Electronics > Hardware Engineering' 카테고리의 다른 글
MATLAB에서 UART로 받아온 값 그래프로 출력하기 (0) | 2018.09.21 |
---|---|
UART통신 SW, HW 흐름제어(Flow Control) (0) | 2017.04.21 |