반도체 간의 시리얼 통신을 파형 측정으로 확인하는
I2C 버스의 기본 해설과 트러블 대책 실무
PDF 다운로드 안내
근래에, 멀티미디어 네트워크화에 수반하여 IEEE1394, USB 등의 시리얼 인터페이스 규격을 흔히 보게 된다. 시리얼 전송은 필요한 신호선의 수가 적기 때문에 적용이 간편하다고 하는 이점이 있어서, 이전부터 다양한 용도에 이용되어 왔다. 단, 시리얼 전송은 고속화가 곤란하기 때문에 고속용에는 주로 패럴렐(parallel) 전송이 사용되어 왔다. 그러나, 시리얼 전송은 근년에 와서 반도체 기술의 발전과 함께 비교적 용이하게 고속화가 가능하여 급속히 발전해 왔다.
I2C(Inter Integrated Circuit)는 필립스사가 1980년대 초 무렵에 제창한 2개의 신호선 SCL(Serial CLock)와 SDA(Serial DAta)에 의해 디바이스 간의 정보전달을 하는 시리얼 인터페이스 방식이다. 전송속도는 SCL(클록)에 의해 정해지는데, 제창된 당초에는 최대 100kbps의 속도였지만, 버스상을 흐르는 데이터량이 증가해감에 따라, 1992년에 퍼스트 모드(400kbps), 1998년에는 하이스피드 모드(3.4Mbps)가 제창되어. 데이터 전송속도가 고속화되었다.
I2C는 당초에 텔레비전이나 VCR 등의 가전제품 내부에서 주로 사용되고 있었다. 현재는 더욱 확대되어 오디오기기, 의료기기, 완구 등 다양한 제품내에서 사용되고 있다. 또, 노트북 PC 등의 배터리 제어용의 통신에 사용되고 있는 SM 버스(System Management bus)도 I2C 버스가 베이스이다. I2C 대응 디바이스는 인터페이스를 내장하고 있으므로, 버스 인터페이스 회로의 설계는 불필요하다. 또, I2C 대응의 디바이스이면 I2C 버스상에서의 IC를 용이하게 추가, 삭제, 변경할 수 있다.
I2C 버스는 2개의 신호선만으로 데이터 통신이 가능하고, 통신규약도 어렵지 않다. 또, I2C 버스에 대응하고 있는 디바이스도 각 메이커로부터 많이 나오고 있으며, 시스템 내부에서 디바이스의 추가, 삭제, 변경도 간단히 할 수 있다.
본고는 텔레비전, 영상기기, 셋탑박스 등의 내부에서, IC 간의 데이터 통신에 흔히 사용되고 있는 I2C 버스에 대해 실무적인 해설과 트러블 대책에 대해, 실제 측정한 결과를 사례로 들어 설명한다.
■ 주요내용
1. 시리얼 전송의 발전
■ EIA-232(RS-232), Ethernet, USB(Universal Serial Bus),
IEEE1394(FireWire), CAN(Controller Area Network)
2. I2C(Inter Integrated Circuit)의 개요
3. I2C 버스의 사양 해설
■ I2C 버스의 특징
□ I2C 버스에 접속하는 방법, I2C 버스의 전기적 특성과 타이밍
■ 데이터의 송수신
□ 스타트 컨디션과 스톱 컨디션. SDA를 변화시키는 타이밍
□ 데이터 포맷, 애크놀리지(acknowledge)
□ 데이터 전송 포맷(7비트 어드레스 모드의 송수신)
□ 10비트 어드레스 모드의 수신
4. I2C의 트러블 사례와 대책
■ 마스터가 어드레스 지정해도 대상의 슬레이브가 애크놀리지를
돌려주지 않는 문제
■ 과대 부하에 의한 오동작과 대책
국제테크노정보연구소