STM32CubeMX에서 GPIO의 출력특성을 설정하다보면 Push pull과 Open drain 설정을 하게 되어있습니다.
이번에는 Push Pull부분과 Open drain에 대해서 알아보겠습니다.
먼저 Push Pull입니다.
Push Pull은 MCU 및 IC의 내부 전원을 이용하여 출력포트의 출력을 결정하는 것을 말합니다. 밑에 Push Pull회로의 그림을 참고하여 설명을 하겠습니다.
회로는 N-ch MOSFET과 P-ch MOSFET으로 구성이 되어있습니다. 입력을 0(LOW)로 설정할 경우 P-ch MOSFET만 작동하여 출력단자가 1(HIGH)가 됩니다.
반대의 경우 N-ch MOSFET만 작동하여 출력단자가 0(LOW)가 됩니다.
이번에는 Open drain입니다.
Open drain의 회로는 아래 그림과 같이 구성이 되어 있습니다.
즉 MCU 및 IC내부의 전원을 사용하는것이 아닌 외부의 전원을 이용하는것이 Push Pull과의 차이점입니다.
외부의 전원을 사용하는 이유는 만약 MCU의 전원이 3,3V이고 외부 포트에 연결되는 외부장치가 5V인 경우 전압차이가 발생하는데 직접연결할때 문제가 발생할 수 있습니다. 그러므로 외부에 연결하는 외부장치와 전압을 맞춰 주기 위하여 사용합니다.