I2C Start/Stop I2C는 SCL, SDA 두 라인으로만 구성된 간단한 버스이고, 여러개의 디바이스가 동시에 연결될 수 있다. 연결된 디바이스 중에 전송을 주관하는 것은 마스터(master), 마스터의 요청에 따라 데이터를 주고 받는 것을 슬레이브(slave)라고 한다. I2C에는 마스터가 여러개 연결(multi-master)될 수 도 있는데, 이런 상황에서는 마스터간에 서로 버스를 차지하기 위한 일종의 경쟁 상황이 발생 할 수 있다. 이런 상황을 적절히 중재하는 방법을 아비트레이션(arbitration)이라고 하며, 이 때문에 마스터가, 여럿인 상황에서도 안전하게 전송이 이루어질 수 있다. 일단 마스터가 하나이고 슬레이브가 여럿인 시스템이 있다면 버스상에 아무런 데이터 전송이 업는 상태에서는 ..
I2C 오픈 콜렉터 (Open Collector) 오픈 드레인 (Open Drain) I2C 버스는 두 라인에 여러 개의 디바이스를 달 수 있다. 로직 디바이스의 출력단에는 내부의 트랜지스터가 출력 전류의 소스(source) 또는 싱크(sink)로 동작하도록 되어있다. 내부 회로를 보면 보통 트랜지스터 하나가 다른 트랜지스터를 머리에 이고 있는 모습을 하고 있어서, 이를 보통 토템폴(totem pole)구조라 한다. 이런 구조 외에 또 하나 자주 쓰이는 것이 오픈 콜렉터, 오픈 드레인 출력단이다. 오픈 콜렉터나 오픈 드레인이나 모두 같은 개념이며, 단지 로직회로가 TTL(트렌지스터를 사용)이냐 CMOS(CMOS FET 트렌지스터를 사용)이냐에 따라 구분된다. 오픈 콜렉터 구조는 위의 그림에 나타난대로 로..