Microprocessor/MCU Communication I2C 오픈 콜렉터(Open Collector) 오픈 드레인(Open Drain)
  • 728x90
    반응형

     

     

    I2C 오픈 콜렉터 (Open Collector) 오픈 드레인 (Open Drain)

     

    I2C 버스는 두 라인에 여러 개의 디바이스를 달 수 있다.

    로직 디바이스의 출력단에는 내부의 트랜지스터가 출력 전류의 소스(source) 또는 싱크(sink)로 동작하도록 되어있다.

    내부 회로를 보면 보통 트랜지스터 하나가 다른 트랜지스터를 머리에 이고 있는 모습을 하고 있어서, 이를 보통 토템폴(totem pole)구조라 한다.

     

    이런 구조 외에 또 하나 자주 쓰이는 것이 오픈 콜렉터, 오픈 드레인 출력단이다. 오픈 콜렉터나 오픈 드레인이나 모두 같은 개념이며, 단지 로직회로가 TTL(트렌지스터를 사용)이냐 CMOS(CMOS FET 트렌지스터를 사용)이냐에 따라 구분된다.

    오픈 콜렉터 구조는 위의 그림에 나타난대로 로직 회로 내부의 부하 회로를 없애고 트랜지스터의 콜렉터를 바로 외부 핀으로 뽑아놓은 형태를 하고 있다. 따라서 이 출력단을 사용하려면 반드시 외부에 풀업 저항을 달아줄 필요가 있다.

     

    I2C버스의 SDA, SCL 두 라인에는 반드시 풀업저항을 달아주도록 되어있다.

    이것은 I2C의 드라이브 회로가 모두 오픈 콜렉터로 되어있기 때문이다.

    그림에서는 두 개의 오픈 콜렉터 출력단을 연결하여 하나의 풀업저항으로 연결하고 있다.

    두 개의 트랜지스터가 모두 Off상태일 때는 트렌지스터로 전류가 흐르지 않으므로 C포인트에서의 전압은 Vcc와 같게 된다. 즉 출력이 H또는 1상태가 되는 것 이다.

     

    만약에 두 트랜지스터 중에 하나가 On이 된다면 다른 트랜지스터의 상태에 관계없이 C점의 전압은 On된 트랜지스터의 이미터와 콜렉터간 전압(VCE)이 된다. 이 값은 이론적으로 0이다.

     

    즉 둘 중에 하나만 On이 되면 출력의 상태가 바뀐다. 아래쪽의 진리표에는 A또는 B의 신호 상태에 따른 C의 상태가 정의 되어있다.  이 값은 논리 회로에서 NOR(Not-OR)와 같은 상태를 나타낸다.

     

    이처럼 오픈 콜렉터 구조는 외부에 선만 연결해서 논리 회로를 추가한 효과를 만들어낸다.

    선만 사용해서 만든 논리회로라고 해서 와이어드 OR(wired-OR)라고 한다.

    NOR인데 왜 OR이라고 하면 출력을 부논리(negative logic) 관점으로 본다면 C대신 C'의 값으로 정의할 수 있고 이는 OR의 로직을 나타낸다.

     

    한편 오픈 콜렉터를 와이어드 AND라고 하는 경우도 있다.

    C점에 연결된 모든 디바이스 중에 어느 하나만 출력을 0으로 떨어뜨리면 C점은 바로 0이 된다.

    입력 중에 하나만 0이면 출력이 0이되는 회로를 AND라고 한다.

    이런 관점으로 보면 오픈 콜렉터는 와이어드 AND적인 특성을 나타낸다고 할 수 있다.

     

     

     

     

    728x90
    반응형

    'Microprocessor > MCU Communication' 카테고리의 다른 글

    SPI 통신 기초  (0) 2019.01.14
    SPI 통신  (0) 2016.12.12
    I2C start/stop  (0) 2016.09.20
    I2C 개념 정리  (0) 2016.09.20
상단으로