Push-pull, Opencollector, Opendrain 동작

MCU I/O를 설정하다 보면 Push-pull, Open collector, Open drain이라는 용어를 만난다. Push-pull과 Open collector는 회로 구성이 다르고, Open collector와 Open drain은 주로 사용하는 소자가 BJT인지 MOSFET인지의 차이다.




여기서는 동작을 쉽게 비교하기 위해 BJT 기준으로 설명한다.




Push-pull과 Open collector 회로

Push-pull 출력은 보통 두 개의 트랜지스터로 High와 Low를 모두 능동적으로 구동한다. Open collector 출력은 한 개의 트랜지스터로 한쪽 방향만 구동하며, 반대 방향은 외부 회로가 결정한다.




Push-pull과 Open collector 회로 구성

Push-pull 동작

입력 [a]에 Low를 인가하면 PNP 트랜지스터가 도통되어 [b]가 VCC 쪽으로 연결된다. 반대로 [a]에 High를 인가하면 NPN 트랜지스터가 도통되어 [b]가 GND 쪽으로 연결된다.




Push-pull 출력 동작

따라서 Push-pull은 하나의 출력에서 High와 Low를 모두 분명하게 만들 수 있다. 신호를 빠르고 명확하게 구동해야 하는 일반적인 디지털 출력에 적합하다.




Open collector와 Open drain 동작

Open collector는 출력 트랜지스터가 켜질 때 [b]를 GND로 끌어내린다. 트랜지스터가 꺼지면 [b]는 Floating 상태가 되므로 풀업 저항이나 다른 장치가 High 상태를 만든다.




Open collector 출력 동작

여러 장치가 한 신호선을 공유해야 할 때 이 특성이 유용하다. Open drain도 같은 방식으로 동작하며, 사용하는 소자가 MOSFET이라는 점이 다르다.

Comments

댓글을 불러오고 있습니다.