GPIO / RESET / POWER DOMAINS

GPIO 풀업·풀다운: 리셋부터 절전 복귀까지

정상 동작 때의 GPIO 설정만으로 전원 투입 직후와 절전 중의 핀 상태를 설명할 수는 없습니다. 신호를 구동하는 주체와 수신 조건을 시간대별로 나눠 확인합니다.

핀마다 시간대와 전원 상태를 먼저 적습니다

전원 OFF, 전원 상승, 리셋 유지·해제, 정상 동작, 절전·복귀를 나눕니다. 각 구간에 구동자, 입력·출력·고임피던스 여부, 내부 풀 활성 여부, 수신기가 허용하는 전압을 적습니다. 꺼진 장치의 핀을 무조건 HIGH로 유지하라는 뜻은 아닙니다.

분기와 관측 지점을 나눈 자체 개념도
  1. 전원·리셋: 펌웨어 실행 전 누가 선을 정하는가?

  2. 정상 동작: 구동 방식과 수신 전압이 맞는가?

  3. 절전·복귀: 전원 영역과 핀 설정이 유지되는가?

ESP32 공식 지침은 리셋 기본 상태, 스트랩 샘플링, 내부 풀 없는 입력 전용 핀과 Deep-sleep 전원 영역을 구분합니다. 이 표와 시간값을 다른 MCU에 복사하지 말고 해당 부품의 핀·전원 문서로 확인합니다.

Espressif: Strapping Pins·GPIO·리셋 기본 표

입력·오픈드레인·푸시풀을 섞지 않습니다

스위치가 닫힐 때 접지에 연결된다면 열린 상태의 HIGH 경로를 검토합니다. 오픈드레인은 LOW 구동과 해제를 하므로 HIGH를 만드는 경로가 필요합니다. 두 푸시풀 출력이 반대로 구동하는 충돌은 풀업값을 바꿔 해결하지 않습니다.

I²C: 이미 달린 풀업·버스 용량·LOW 전류를 함께 계산

TI SLVA689: 오픈드레인과 상승시간·싱크 전류의 한계

스트랩은 리셋 때의 전압으로 판단합니다

내부 풀이 있다는 사실과 필요한 시각에 활성이라는 사실은 다릅니다. 외부 모듈의 저항·출력과 커패시터도 입력 전압에 영향을 줍니다. 정상 동작에서 읽은 HIGH만으로 리셋 샘플링이 올바르다고 결론 내리지 않습니다.

부트 스트랩: 샘플링 구간·외부 부하·전원 재인가

저항값보다 전압·전류·시간의 한계를 먼저 봅니다

큰 저항은 누설 전류에 의한 전압 강하와 느린 상승을, 작은 저항은 LOW 유지 전류와 소비전력을 키울 수 있습니다. VIH·VIL, 입력 누설, VOL·싱크 전류, 전원 범위, 공차와 용량을 함께 봅니다. 10 kΩ을 모든 GPIO의 정답으로 쓰지 않습니다.

RC 시정수를 계산한 것과 접점 바운스·잡음 시험을 통과한 것은 다릅니다. 스위치의 실제 바운스와 수신 임계값을 확인하고, I²C 상승시간 정의를 버튼의 지연 시간으로 바꾸어 쓰지 않습니다.

버튼: RC·슈미트 입력·실제 디바운스 조건

TI SCEA094: 누설·전력·접점 바운스의 설계 조건

전원 꺼짐과 고임피던스를 같은 말로 쓰지 않습니다

다른 전원 영역에서 먼저 HIGH가 들어올 때 핀을 통해 꺼진 전원으로 전류가 흐를 수 있습니다. 이 경로는 부품별로 다르므로 모든 입력에 같은 다이오드가 있다고 가정하지 않습니다. 허용 입력 전압과 전원 꺼짐 누설 조건을 데이터시트에서 확인하며, 풀업 저항만으로 절연이 보장된다고 보지 않습니다.

서로 다른 전원과 데이터선의 역급전

TI SCDA015: 전원 차단 보호와 격리의 구분

최종 배선에서 전환과 복귀를 확인합니다

전원 재인가, MCU만 리셋, 절전·복귀와 스위치 누름·유지·해제를 각각 관찰합니다. 수신 핀 전압과 전체 보드 전류를 같은 조건에서 비교하고, 긴 배선과 주변장치 전원 상태를 기록합니다. 저항 변경 뒤 전류가 줄었더라도 부팅·통신·깨움이 유지되는지 별도로 확인합니다.

절전 보드: 가지별 전류와 측정 조건

이 글은 기존 회로별 설명을 단계별 판단 순서로 연결한 것입니다. 원자료의 회로 그림이나 저항값 표를 재게시하지 않았고, 특정 보드의 전기적 안전성·동작을 시험한 결과도 아닙니다.