해결책
필립스 반도체(현 NXP)는 1982년에 저속 주변 장치를 메인 칩에 연결할 때 각 장치마다 핀과 배선을 할당하지 않도록 하기 위한 단순한 내부 버스로 I2C를 발명했다.
이 프로토콜은 장치 간에 SDA 데이터 선과 SCL 클록 선만 필요로 한다. 주소 바이트가 장치를 선택한 후 데이터가 클록에 맞춰 입력되거나 출력되며, 주소 바이트의 8번째 비트는 읽기 또는 쓰기를 표시하고 7비트로 최대 128개의 주소를 제공한다.
배선이 매우 적고 값비싼 부품이 필요 없었기 때문에 I2C는 지속적으로 사용되었으며, 2006년 10월 6일 이후로는 라이선스 없이 무료로 구현할 수 있게 되었다. TWI와 SMBus 같은 하위 집합, 그리고 10비트 주소 지정과 더 빠른 클록에 이르는 변형들이 I2C를 기본 저속 상호 연결 방식으로 유지시켰다.
달성한 것
두 개의 선과 장치 주소만으로도 많은 것을 해낸다
성공한 이유
두 개의 선으로 십여 개의 칩을 연결하여 공간이 제한된 보드에서 핀을 절약한다
주소 지정이 프로토콜에 내장되어 있어 장치에 별도의 선택 선이 필요 없다
속도는 느리지만 SPI의 4선 비용과 RS-232의 일대일 한계에서 자유롭다
필립스가 이를 공개했고 나중에 라이선스 비용을 없앴다
핀이나 배선을 추가할 수 없을 때는 주소 지정을 프로토콜 자체가 담당하도록 설계하라. 작고 저렴한 버스는 배선 비용이 더 많이 드는 더 빠른 경쟁자들보다 오래 살아남을 수 있다.
그 후
I2C는 센서, 디스플레이, EEPROM, 관리 칩을 마이크로컨트롤러에 연결하는 표준 방식이 되었고, 40년 이상의 표준화로 장치들은 대체로 상호 운용이 가능해졌다. I2C는 임베디드 시스템, 휴대폰, 자동차 전자 장치에서 어디에나 존재한다.
근거 확인하기
출처
- Intro to I2C: Multi-Device Communication with Minimal Pins Embedded Computing Design · embeddedcomputing.com ·
- I2C Wikipedia · en.wikipedia.org