1. Push-Pull
- 0 아니면 1의 상태를 출력하는 회로 구성
- 입력이 0이면 OUTPUT은 1 : 위의 PNP TR(N-Channel)이 켜져서 VCC와 연결
- Push 상태일 때 VCC 전압을 IC 외부로 전류를 밀어냄
- 입력이 1이면 OUTPUT은 0 : 아래 NPN TR(P-Channel)이 켜져서 GND와 연결
- Pull 상태일 때 IC 내부의 GND와 연결되어 IC 외부의 핀으로부터 전류를 끌어당김

2. Open-Drain(Open-Collector)
- Push-Pull의 PNP(P-Channel)을 제거
- BJT의 경우 Open-Collector, MOSFET의 경우 Open-Drain이라고 부름
(Collector는 BJT의 Collector, Drain은 MOSFET의 Drain 핀을 의미. Open-Drain과 Open-Collector는 동일한 동작 원리를 가지는 구성을 BJT로 만들었는지, MOSFET로 만들었는지의 차이. Push-Pull은 BJT나 MOSFET구분 없이 부름)
- 입력이 0이면 OUTPUT은 0 : 아래 NPN TR(P-Channel)이 켜져서 GND와 연결
- 입력이 1이면 출력은 Open(floating)

- 출력이 나오려면 pull-up 저항을 달아야 함

그러면 왜 굳이 이렇게 사용할까?
(1) Open-Drain 사용하는 이유 1
여러개의 장치를 한개의 선으로 양방향 통신을 해야 할때
- 여러개의 장치가 한개의 선을 제어하려고 할때, Push-Pull의 경우 어떤 장치는 High, 어떤 장치는 Low이면 Short로 파손 될 수 있음
- 여러개의 장치가 한개의 선을 제어하려고 할때, Open-Drain의 경우, 한개라도 드라이브 하면 Low가 되며 다른 장치에 영향을 주지 않음
ex) 아래와 같이 I2C처럼 여러개의 Port를 묶어 사용할때 Open-Drain이 필요함
여러개의 I2C 소자중 한개라도 SCL, SDA 버스를 드라이브 하면 Low가 됨

(2) Open-Drain 사용하는 이유 2
연결되어 있는 장치의 레벨이 다를때(Level shifter 용도)
ex) MCU가 3.3V이고 연결되는 IC가 5V 출력일 경우, MCU를 Open-Drain 설정하고 pull-up 저항 달아서 사용(VDD 3.3V라고 하더라도, 5V tolelance 지원 되는 MCU가 있긴함)
참고 문서 : MAX7325, MAXIM
UM10204, NXP
'전자 회로 설계 > 회로 및 제어' 카테고리의 다른 글
전자 회로 설계 - 시리얼 통신(RS-232) (0) | 2025.03.16 |
---|---|
PSpice for TI - Simulation(Transistor) (0) | 2025.03.16 |
전자 회로 설계 - Relay, SSR 사용과 회로 설계 (0) | 2025.03.16 |
전자 회로 설계 - Flyback(Freewheeling) diode, 환류 다이오드 (0) | 2025.03.16 |
전자 회로 설계 - Crystal Load capacitance (0) | 2025.03.15 |