1. I2C 또는 I2C
ㅇ 최소 2선 만으로도 가능한, 단거리용 동기식 반이중 직렬 통신 인터페이스 규격
- 1986년 필립스 반도체社(후에 NXP社로 독립)에서 규격화
2. I2C 특징
ㅇ (장점)
- 저 비용, 단순, 내부 클록, 폭넓은 사용 등
. 단지 2개 선 만으로도 양방향 통신 가능
. 범용적인 2 wire 통신 방식의 대명사로 알려짐
- 짧은 거리에서(주로 2~3 미터 이내),
. 주변장치와 비교적 저비용,저속의 정보 교환이 가능
ㅇ (단점)
- 데이터 전송시 매번 수신쪽의 확인응답(ACK) 필요
- 한번에 한 방향씩 만 전송 가능
- 신뢰적인 전송을 위해, 각 버스 선들이 공급 전원에 풀업되는 풀업 저항 (1~10 kΩ) 필요
ㅇ (용도)
- PCB 보드 상의 칩 간 연결, 센서 연결, 소형 LCD 장치 연결 등
3. 선로 구성
ㅇ 선 구성
- 최소 2개 가닥의 선 만으로도 통신 사용
. SDA (Serial Data) : 데이터용 1 선(핀)
. SCL (Serial Clock) : 클럭용 1 선(핀)
. (송수신 양쪽이 접지(GND)를 공유하므로, 실제로는 3개 선 임)
- 버스 방식으로, 필요시 여러 장치들이 저마다 이러한 선들을 공유
ㅇ 선/케이블
- PCB 칩 간에 구리선을 사용 가능
- 4선식 차폐 또는 무차폐 케이블 등 사용 가능
ㅇ 풀업 저항 필요
- 각 장치별 내부 최종단 트랜지스터의 출력이,
. Open Drain(Open Collector) 방식으로 시판되므로,
- SDA,SCL 버스 선들은,
. 반드시 공급 전원(3.3~5 V)에 풀업 저항(1~10 kΩ)을 연결시켜야 즉, 풀업시켜야 만,
. 버스 출력이 없을 때도, 출력이 VDD(또는,VCC)로 끌어올려짐 (Pullup)
- idle 상태에서 High Impedance를 갖도록 해야 함
- 만일, 두 장치의 해당 버스 선이 논리값 1,0 동시 나타나면, 비트 0으로 판정됨
4. 통신 형태
ㅇ 반이중 방식
- 매 번 송신,수신 따로 전송
. 즉, 한번에 한 방향씩 만 가능
ㅇ 통신 구성 : 1:多 통신 가능
- 다수의 슬레이브 장치들을, 하나 또는 여러 마스터 장치와 통신 가능
- 2가닥의 선 만으로도, 1008개의 슬레이브 장치까지 통신이 가능
ㅇ 전송속도
- 100, 400 kbps
- 1, 3.4 Mbps
5. 장치 구분 및 식별
ㅇ 구분
- 마스터 장치
. 기능 : 통신 초기화/제어, 버스 사용권 관리, SCL 클럭을 버스 상에 공급 등
. 통상, 마이크로콘트롤러가 이에 사용됨
. 때론, 마스터 장치도 여럿 있을 수 있음
- 슬레이브 장치 : 마스터 관리 하에 여러 장치들을 수용 가능
- I2C 허브 장치 : 버스 길이 연장 및 신호 레벨 정합
ㅇ 장치 식별 : 소프트웨어적인 주소(7 비트) 사용
6. I2C 기본 프로토콜 프레임
ㅇ [참고] ☞ start 비트,stop 비트,ACK 등 참조
ㅇ R/W : 마스터에서 슬레이브에 대한 Read 또는 Write의 지시 명령
- 0 : 마스터 → 슬레이브 (write), 1 : 마스터 ← 슬레이브 (read)