I2C(Inter-Integrated Circuit,아이 스퀘어 씨)
- 필립스에서 개발한 직렬 컴퓨터 버스
- 마더보드, 임베디드 시스템, 휴대전화 등에 저속의 주변 기기를 연결하기 위해 사용됨.
- I2C는 풀업 저항이 연결된 직렬 데이터(SDA)와 직렬 클럭(SCL)이라는 두 개의 양방향 오픈 컬렉터 라인을 사용한다. 최대 전압은 +5V이며, 일반적으로 +3.3V 시스템이 사용되지만 다른 전압도 가능하다.
- I2C 레퍼런스 디자인은 7bit의 주소 공간을 가지며, 이 중 16개는 예약되어 있으므로, 동일한 버스에 최대 112개의 노드를 연결할 수 있다. 가장 일반적으로 사용되는 I2C 버스의 모드는 표준 모드인 100kbit/s와 저속 모드인 10kbit/s가 사용된다. 최신 리비전의 I2C는 보다 빠르게 동작하며, fast mode인 400kbit/s와 고속 모드인 3.4Mbit/s를 지원한다. 최대 1008 노드까지 연결 가능한 10bit 주소 지정 등의 확장된 기능등을 지원한다.
- 응용 영역
- 사용자 설정값을 저장하기 위해 NVRAM에 접근하는 경우
- 저속의 디지털-아날로그 변환 회로에 접근하는 경우
- 저속의 아날로그-디지털 변환 회로에 접근하는 경우
- 모니터의 명암, 대비, 색상 등을 변경하는 경우
- 지능형 스피커의 볼륨값을 변경하는 경우
- 휴대전화 같은 장치에 포함된 발광 다이오드를 제어하는 경우
- 중앙 처리 장치 온도나 팬 속도와 같은 하드웨어 모니터링 정보나 진단 센서 정보를 읽는 경우
- 실시간 클럭 값을 읽는 경우
- 시스템 요소의 전원을 제어하는 경우
- I2C의 장점은 특히 마이크로컨트롤러에서 단지 2개의 일반 목적 입출력 핀(GPIO)과 소프트웨어만을 이용하여 여러 장치들을 제어할 수 있다는 점이다
- 주변장치들은 시스템이 동작 중일 때도 I2C 버스에 추가/제거될 수 있으며, 이것은 핫 스왑이 필요한 요소들을 이용하는 응용에 적합하다.
- I2C는 엑세스 버스, VESA 디스플레이 데이터 채널 (DDC) 인터페이스, 시스템 과리 버스(SMBus), IPMI 프로토콜 중의 하나인 지능형 플랫폼 관리 버스(IPMB)의 기본 기술이다. 이러한 것들은 전압과 클럭 주파수 범위에서 차이가 있으며, 인터럽트 라인을 가질 수 있다.
- I2C 버스의 설계상 장점 : 노이즈에 강하여 신뢰성이 높고, 매우 적은 전력을 사용하며, 다양한 온다환경에서도 잘 동작할 뿐만 아니라, 다양한 전압레벨을 지원한다.
* I2C에서 ACK의 역할
- Write 시 정상 수신 신호
- Read 시 송신 완료 신호
- Write, Read 모두 ACK 신호는 Slave에서 발생시킴
* I2C의 정의
- 1980년대 필립스에서 개발된 버스 표준안
- 2개의 전송 라인을 이용한 양방향 통신 지원(SDA, SCL)
- 현재 세계에서 가장 많이 쓰이는 임베디드 표준안
- Multi-master capable bus with arbitration feature
- Master-Slave communication supported
- Each IC on the bus is identified by its own address code
* I2C의 장점
- 단순한 하드웨어 구성
- 단순한 프로토콜로 구성
- 장치의 연결과 제거가 용이함
- Simpler PCB
- Fast enough for all "Human Interfaces" applications(Display, Switches, Keyboard)
- Large number of I2C devices
* I2C Signals
(1) Control Signal
- SCL highdptj SDA transition으로 판정
- Start / Stop bit
- Start : SDA low 이동 후 SCL low 이동
- Stop : SCL high 이동 후 SDA high 이동
(2) Data Signal
- SCL이 pulse 안에서 SDA 데이터의 이동으로 0/1 구분
- SCL pulse 안에서...
- SDA pulse 존재하면 : 1
- SDA pulse 존재하지 않으면 : 0
(3) ACK / NAK Signal
- 9번째 data 신호로 판명
- ACK : 0
- NAK : 1
The image shows a simplified equivalent circuit diagram for an I2C connection between two devices (master or slave). It shows all factors which are relevant for I2C.
VCC | I2C supply voltage, typically ranging from 1.2 V to 5.5 V |
GND | Common ground |
SDA | Serial data (I2C data line) |
SCL | Serial clock (I2C clock line) |
Rp | Pull-up resistance (a.k.a. I2C termination) |
Rs | Serial resistance |
Cp | Wire capacitance |
Cc | Cross channel capacitance |
댓글 없음:
댓글 쓰기