회로도를 보면 풀업과 풀다운 저항에 연결되는 전원 공급과 GND에 대해서 Vdd, Vss 라는 키워드를 많이 적어두었다. 강의에서도 그렇게 본 것 같고. 그래서 나는 Vdd 와 Vss 라는게 전원과 GND를 표현하기 위해 쓰는 관용적인 표현이구나! 라고 생각햇는데, 또 찾아보니 항상 그렇지는 않은 것만 같았다.
ㅤ
그러다가 하나 의심이 들었는데, 혹시 풀업과 풀다운 저항이 사실은 저항이 아니라 MOSFET 이라서 Vdd, Vss 키워드를 사용하는 것이라면? 😮‼️
ㅤ
[ 여기에서 말하는 풀업, 풀다운 저항은 GPIO 회로 내부의 풀업 저항과 풀다운 저항을 말하는 것이다! ]

ㅤ
문서에서는 GPIO는 Weak Internal Pull-Up / Pull-Down Resistor를 가지고있다고 되어있다. 그런데 이게 활성화 될 수도 있고 안될수도 있다고 되어있다. (아… 일단 Resistor이긴 한데, 그럼 가변저항인가..?)

ㅤ
우선 내가 파악한 바에 따르면
- 풀업, 풀다운 저항은 전기적으로 제어할 수 있음 (On/Off)
- On 을 하면 저항이 붙어있어서 전류가 흐를 수 있고, Off 를 하면 (거의) 전류가 통하지 않는다 (== High Impedence)
- Weak Pull-up Pull-down : 외부에서 신호가 입력될 때는 해당 신호를 사용하고, 외부 입력이 Floating 상태인 경우에만 풀업, 풀다운 값을 전달해야 하므로 높은 저항값을 가진다. 즉, 저항을 통해 나오는 V의 영향력이 작다.
- 이를 위해 Weak 풀업, 풀다운을 위해 사용하는 저항은 대략 K$\Omega$ 단위이다.
ㅤ
대략 “이게 강사님이 말했던 기업에서 오픈하지 않는 영업기밀 영역의 회로 부분인가?” 라는 생각이 들던 찰나에, 다른 챕터에 있던 ‘풀업 저항’ 키워드에서 전기적 특성을 알고싶다면 데이터 시트를 보라는 말이 나와있었다.

ㅤ
오호, 데이터시트로 바로 찾아갔지. 그랬더니 아래처럼 작성되어있었다.

- 풀업 저항은 실제 저항 소자와 PMOS가 직렬로 연결되어있다. PMOS가 차지하는 저항의 영향력은 10% 정도이다.
- 풀다운 저항은 실제 저항 소자와 NMOS가 직렬로 연결되어있다. NMOS가 차지하는 저항의 영향력은 10% 정도이다.
ㅤ
그리고 아래처럼 표가 작성되어 있었다.

- 풀다운 저항의 값은 대략 30k~50k$\Omega$ 의 저항값을 가진다.
- 풀업 저항 역시 대략 30k~50k$\Omega$ 의 저항값을 가진다.
ㅤ
그림으로 그려본다면 요런 느낌?

ㅤ
앞서 PMOS와 NMOS가 스위치처럼 동작하기는 하지만, 실제로는 트랜지스터 소자 자체가 절연이 되어있는게 아니기 때문에 누설 전류가 발생한다고 했었다. 그래서 PMOS와 NMOS가 스위치라기보다는 High-Impedance로 전류의 흐름을 제어한다고 했는데 이때의 저항 값이 대략 몇 M$\Omega$ (1,000,000$\Omega$) 단위라고 했던 기억이 난다.
ㅤ
갑자기 막 강사님이 말했던 내용들이 머리에 착착 정리가 되기 시작한다!!! 오호!!!!!
ㅤ
GPIO의 내부 풀업 저항과 풀다운 저항을 비활성화 했을 때 개념상 전류가 완전히 흐르지 않는다고 두고 회로를 그렸지만 사실은 계속 회로상 연결이 되어있었고, 이걸 무시할 수 있었던 이유는 비활성화 했을 때 저항이 너무너무 커서이다. (그래서 강사님이 풀업 저항이랑 풀다운 저항을 보고 사실은 얘네들이 High-Impedance 라고 했었구나!! 😎😎)
ㅤ
나는 처음에는 풀업 저항이랑 풀다운 저항이 어떻게 컨트롤에 의해서 제어가 되는거지? 저게 가변 저항인건가? 라고 생각했었는데, PMOS와 NMOS가 답이였다니. 역시 마법이 해주는게 아니라, 다 내가 알고 있는 거였네.
ㅤ
V=IR을 공부하다가 Vdd, Vcc 가 의미하는 바가 뭐지? 에 호기심이 생겨 찾아보던 와중에, 풀업과 풀다운 저항에 연결된 전압들의 이름이 5V 대신에 Vdd, GND 대신에 Vss 라는 이름을 사용하는 것을 보고 결국 여기까지 와버렸다 ㅋㅋ
ㅤ
흠 역시 모든건 데이터시트에 다 들어있나보다.
ㅤ
'Embedded System > MCU' 카테고리의 다른 글
| [MCU] SysTick 타이머 (2) | 2025.11.04 |
|---|---|
| [MCU] Push-Pull과 Open-Drain의 장단점? (0) | 2025.11.02 |
| [MCU] V=IR과 기본 임피던스부터 풀업과 풀다운, 푸시풀과 오픈드레인까지 (0) | 2025.11.02 |
| [MCU] UART 구조와 이해 (0) | 2025.10.30 |
| [MCU] GPIO 실습 : USER Button과 LED 켜기 (0) | 2025.10.28 |