본문 바로가기

i2c

I2C protocol 전에 유영창님이 마소에 쓴 칼럼을 포스팅하긴 했는데 내용이 리눅스 디바이스 드라이버 쪽이라 이번에는 protocol관점에서 간단하게 포스팅 하기로 했다. I2C는 일종의 protocol이라 디바이스마다 동작이 상이할 수도 있지만 기본 개념만 알고있으면 스펙을 보고 쉽게 제어할 수 있을 것이다. 이제 부터 시작~! I²C 는 필립스에서 개발한 직렬 컴퓨터 버스이며 마더보드, 임베디드 시스템, 휴대폰등에 저속의 주변 기기를 연결하기 위해 사용된다. I²C 라는 이름은 Inter-Integrated Circuit의 약자이며 "eye-squared-see[아이-스퀘어-씨]" 라고 발음한다. I2C의 장점은 단지 2개의 wire로만 통신이 가능하다는데 있다. 1개의 wire는 SCL로 uni-direction이며.. 더보기
임베디드 리눅스로 I2C 버스에 접근하자 - 유영창 임베디드 리눅스로 I2C 버스에 접근하자 유영창 - 마이크로소프트웨어 2005년 5월호 이번 컬럼에서는 I2C 버스와 이를 이용한 디바이스를 리눅스에서는 어떻게 다루고 있는지를 살펴보고 관련된 디바이스 드라이버의 구조를 파헤쳐 보고자 한다. 참고로 여기서 소개하는 것은 커널 2.6을 기준으로 하고 있다. 독자들은 I2C라고 하는 시리얼 버스를 아는가? 임베디드 시스템을 개발할 때 여러 디바이스를 다루다 보면 약방에 감초처럼 자주 등장하는 버스다. 8비트 마이크로 컨트롤러를 다루는 프로그래머라면 EEPROM나 RTC와 같은 디바이스를 다루기 때문에 반드시 사용할 만큼 중요한 버스인데 리눅스를 사용하는 시스템이라면 디바이스 드라이버와 관련된 사용 문서를 발견하기 힘들기 때문에 조금 다루기 곤란한 버스와 디바.. 더보기