I2C (Inter-Integrated Circuit)

o Summary

: 필립스에서 개발한 직렬 컴퓨터 버스이며 마더보드, 임베디드 시스템, 휴대전화등에 저속의 주변 기기를 연결하기 위해 사용 (1982년대 초반)

- Serial Data Line (SDA) , Serial Clock (SCL) (pull-up / Open-drain)

- Master-Slave 구조, Multi-Slave 지원  

- Max is 5V / 7 bits Address (16 ea is reserved) 

- Speed : 10kbps (low-spped) -> 100kbps (Common) -> 400kbps (fast mode) -> 1 Mbps (fm+, fast mode plus) -> 3.4Mbps(high-speed)

- High-Speed (3.4Mbps) is 16 bits Address


o Operation

- Master에서 SCL을 제어, Slave는 Master의 요구에 따른 데이터 송부. 그리고 최종 Ack or NACK을 받는다. (이것에 따라 I2C Error or I2C Timeout 발생)
- 일반적으로 Embedded에서는 400kbps 사용. 초당 50kBytes의 최대 데이터 전송 가능. 
- Single Message <-> Mass Data 가능.
- 프로토콜은 I2C Controller에서 제어가능.

o Revision

- In 1982, the original 100-kHz I²C system was created as a simple internal bus system for building control electronics with various Philips chips.

- In 1992, Version 1.0 (the first standardized version) added 400-kHz Fast-mode (Fm) and a 10-bit addressing mode to increase capacity to 1008 nodes.

- In 1998, Version 2.0 added 3.4-MHz High-speed mode (Hs) with power-saving requirements for electric voltage and current.

- In 2000, Version 2.1[2] introduced a minor cleanup of version 2.0.

- In 2007, Version 3.0[3] added 1-MHz Fast-mode plus (Fm+), and a device ID mechanism.

- In 2012, Version 4.0[4] added 5-MHz Ultra Fast-mode (UFm) for new USDA and USCL lines using push-pull logic without pull-up resistors, and added assigned manufacturer ID table. This is the most recent standard.


o Reference

- Eng Wiki : http://en.wikipedia.org/wiki/I%C2%B2C

- Kor Wiki : http://ko.wikipedia.org/wiki/I2c

- 예제는 이 문서를 참고 : http://www.robot-electronics.co.uk/acatalog/I2C_Tutorial.html

 

+ Recent posts