ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [전자공학] Push-Pull
    공학/전자공학 2023. 8. 3. 02:30

    글의 참고

    - https://irmus.tistory.com/76

    - https://cookbook.tistory.com/20


    글의 전제

    - 밑줄로 작성된 글은 강조 표시를 의미한다.

    - 그림 출처는 항시 그림 아래에 표시했다.


    글의 내용

    - 목적, 소개

    " Baremetal, Firmware, RTOS, Linux 관계없이 GPIO 를 출력 포트로 설정하면, 해당 GPIO 에 대한 물리적 `GPIO Configuration` 를 선택할 수 있다. 이 때, GPIO output mode 는 Push-Pull 가 Open-drain 이 있는데, 이 글에서는 Push-Pull 에 대해 알아본다. 일단 가장 중요한 건, Push-Pull 회로는 MCU 및 IC 의 내부 전원을 이용하여 출력포트의 값을 결정하는 것을 의미한다.

     

     

    - 종류, 특징

    " Push-Pull 회로를 구성할 때는 BJT(Open-collector) 와 MOSFET(Open-drain) 을 이용하여 구현할 수 있다(`BJT` 나 `MOSFET` 을 잘 모르겠다면, 그냥 스위치라고 생각하면 된다. 우리가 버튼을 눌러서 움직이는 물리적인 스위치가 아닌, 전기적으로 움직이는 스위치라고 생각하면 된다. 즉, signal HIGH 시에 On, LOW 시에 Off 할 수 있다고 생각하면 된다). 즉, 2가지 방식으로 구현이 가능하다.

     

     

    - 구조

    " 아래 그림은 푸쉬-풀 출력단을 간단하게 표현한 것이다. 푸쉬-풀 출력 포트는 2개의 TR로 구성된다. 위쪽의 PNP TR(P-MOS)이 `푸쉬`를 담당하고, 아래쪽의 NPN TR(N-MOS)이 `풀`을 담당한다. 단어의 의미를 생각해 보면 쉽게 이해할 수 있을 수 있다. NPN TR은 GND 쪽으로 끌어 `당기고`, PNP TR은 VCC쪽으로 `밀어` 올린다.

     

    Push-Pull Open-Drain

     

     

    " 로직 회로에서는 TR을 스위치로 사용한다는 것을 생각해보면 쉽게 이해할 수 있다. 이해하기 쉽게 위의 그림에서 TR을 스위치로 바꾸면 다음과 같다.

     

    " 위의 그림에서 2개의 스위치 중 아래쪽 스위치를 On 시키면, Output 는 GND 와 바로 연결된다. 즉, Output port 를 GND 쪽으로 끌어내린 것으로 0V가 출력된다. 반면 위쪽 스위치를 On 시키면 VCC 와 연결되어 High 가 출력된다. VCC 쪽으로 밀어 올리기 때문이다. 참고로, `Push-Pull` 에 기반한 GPIO output 은 아무것도 연결되어 있지 않아도, 그 자체로 잘 동작한다. 즉, Output port 에 아무것도 연결되어 있지 않아도 Output port 의 전압이 의도한 바 대로 움직인다는 뜻이다. Low 를 출력할 때 0V 가 출력되고, High 를 출력하면 VCC 혹은 VDD 가 출력된다. Output port 에 아무것도 연결하지 말고 디지털 멀티미터기 or 오실로스코프로 측정해보면 출력 전압이 움직이는 것을 볼 수 있다.

Designed by Tistory.