본문 바로가기
임베디드/전자 일반

2. [전자일반] Open-Collector / Open-Drain

by fuhehe 2024. 9. 24.

 

Open-Collector를 이해 하기 위해서는 우선 내부에 사용되는 BJT(Bipolar Junction Transistor)의 동작 방식을 이해해야 한다.

그림과 같이 BJT의 경우 베이스쪽에 걸리는 전압에 따라 컬렉터에서 이미터 쪽으로 전류가 흐르게도 흐르지 않게도 할 수 있다.

[BJT]

 

여기서 베이스쪽을 MCU의 Output에 연결하고 콜렉터쪽을 MCU외부 GPIO핀으로, 그리고 이미터쪽을 GND에 연결한 구조가 Open-Collector이다.

BJT대신 MOSFET소자를 사용한게 Open-Drain이고 이 둘은 소자의 차이이외에 동작방식은 동일하다.

[Open-Collector, Open-Drain]

 

위의 그림에서 Signal쪽이 MCU의 출력쪽이고 MCU는 이 출력을 통해 콜렉터에서 이미터쪽으로 흐르는 전류를 제어할 수 있다.

 

하지만 이 상태로는 MCU외부로 나가는 GPIO핀에는 전압이 걸리지 않는다.단순히 콜렉터와 이미터간 연결만 연결만 제어가 될 뿐이다.  따라서 GPIO핀에 LED같은 소자를 연결해도 아무런 동작을 하지 않는다.

 

그렇다면 왜 이런 구조를 사용하는 것일까?

Signal만 MCU에서 제어하고 나머지 회로는 직접 구현해서 사용하라는 의미다.

일반 Push-Pull출력인 경우 대부분의 MCU는 3.3V전압이 출력되는데 만일 외부 회로가 다른 전압을 사용하거나 MCU출력보다 큰 전류를 사용하는 회로인 경우 MCU출력을 그대로 사용할 수 없다.

따라서 MCU내부에서 Signal은 제어를 하지만 그외 나머지 것들은 외부에서 직접 만들어 쓰라는 것이다.

 

그래서 Open-Collector(Drain)는 미완성 회로이므로 나머지는 직접 상황에 맞게 구성해서 사용할 수 있게끔 하는 회로이다.

[Open-Collector 외부 연결]

 

위의 그림과 같이 오른쪽 외부장치의 입력이 왼쪽 MCU의 출력전압과 다를 경우 Open-Collector구성으로 외부 전원을 추가해 구성할 수 있다.

왼쪽 MCU의 시그널 상태에 따라 콜렉터-이미터간 연결이 되어 Vext전압이 그대로 GND로 흘러 Low상태로 되고, 콜렉터-이미터간 연결이 되지 않아 Vext전압이 그대로 Pull-up되어 High상태가 된다.

이때 외부에는 Pull-up/Pull-down 회로를 직접 구성해서 사용하면 된다.(그렇지 않을 경우 Vext-GND간 과전류가 발생할 수 있다.)

 

다음으로 Open Drain방식을 보기위해 STM32의 GPIO Output포트의 회로도를 보자.

[STM32 GPIO Output Driver]

 

STM32에서 Push/Pull 방식의 Output은 P-MOS, N-MOS둘다 사용하지만 Open Drain방식에서는 아래 N-MOS만 사용된다.

N-MOS의 경우 Gate에 걸린 전압이 HIGH일때 Source와 Drain이 연결되고, LOW일때 Source와 Drain의 연결이 끊어진다.

P-MOS는 그 반대로 Gate에 걸린 전압이 HIGH일때 Source와 Drain의 연결이 끊어지고, LOW일때 연결된다.

 

 

'임베디드 > 전자 일반' 카테고리의 다른 글

1. [전자일반] Pull-up, Pull-down 저항  (0) 2024.07.25