본문 바로가기

전자공학/전자회로

[전자회로 입문 3] Pull-up과 Pull-down 완벽 이해

안녕하세요.

Edward입니다.

 

이번에는 Pull-up과 Pull-down에 대해서 완벽하게 관찰해보겠습니다.

아래 내용 필독해주세요. Pull-up과 Pull-down을 깊이 파헤쳐보겠습니다.


시작하기에 앞서, 다른 전자 개념에 대해서 궁금하다면 아래 내용도 함께 공부해보세요 ^^

전기의 이해

[전자회로 입문#] 옴의 법칙이란?!

[전자회로 입문 1] 저항 완벽 이해

[전자회로 심화 1-1] 금속 저항 완벽 이해

[전자회로 입문 2] 아날로그와 디지털 개념


지금부터 저는 Pull-up과 Pull-down에 사용될 '0'과 '1'을 아두이노 우노에 빗대어 설명할 것입니다.

아래 설명을 이해하기 위해서 다음과 같이 선언할 테니 헷갈리지 않으셨으면 합니다 ^^

'0' = LOW = 0V

'1' = HIGH = 5V


다른 수많은 자료들을 참고하시면 알겠지만, Pull-up과 Pull-down을 설명하기 전에 플로팅의 개념부터 설명합니다.

플로팅부터 설명하는 이유는 Pull-up과 Pull-down이라는 개념이 나온 이유가 플로팅 때문입니다.


플로팅(Floating)이라는 놈은 떠있다, 부유하는, 미끄러지는, 유동적인 이라는 사전적 의미를 가지고 있습니다.

또한 플로팅이라는 개념 자체는 디지털 회로에서 파생된 것으로, 디지털 회로에서만 사용됩니다.

이 의미를 좀 더 깊게 전자회로적으로 설명드리면, 플로팅이 되었다는 것은 '0'인지 '1'인지 알 수 없는 상태입니다.

전자회로 풀업 설명

왜 '0'인지 '1'인지 알 수 없는 상태인지는 위 회로에서 볼 수 있습니다.

왼쪽 회로(a)를 보시면 디지털 회로에 스위치 1개가 GND로 연결이 되어 있습니다.

저 스위치의 심벌을 보니 눌러야지만 연결이 되는 형태네요.

그런데, 눌리지 않으면 어떤 상태일까요??

정답은 "알 수 없 음"입니다.

혹시나 사람이 손으로 저 회로에 갖다 대었을 때, 정전기가 튀었다면 '1'이 될 수 있겠네요.

 

 

그래서 우리는 Pull-up(풀업)이라는 것을 사용합니다.

'0'인지 '1'인지 확실하게 알기 위해서.

오른쪽 회로(b)처럼 풀업을 부착하면 스위치가 눌리지 않으면 '1'이 되고, 스위치가 눌리면 '0'이 됩니다.


그렇다면 Pull-down은?!

Pull-up과 동일한 개념입니다. 다만 저항의 위치가 아래 회로처럼 반대로 되어 있습니다^^

전자회로 풀다운 설명

회로를 잠시 분석하면 다음과 같이 알 수 있겠네요!

저 스위치는 눌러야지만 연결이 되는 소자이고, 스위치가 눌리지 않을 때는 '0'이 디지털 회로로 연결되네요!

그리고 스위치가 눌리면 '1'이 되네요!!


여기서 한 가지 의문이 듭니다.

보통 우리가 알고 있는 전자의 개념은 전압이 높은 곳에서 낮은 곳으로 떨어진다고 알고 있습니다.

그런데, Pull-down 회로를 보면, 뭔가 이상하지 않나요??

스위치를 눌러도 '0'이 되어야 할 것만 같은데, 하지만 동작은 '1'이 됩니다.

그 이유는 저항과 전류에 있습니다.

 

다시 기초로 돌아가 보겠습니다.

저항이란 전류를 제한하는 역할을 합니다.

전류란 실제 구동하는 값이며, 저항이 적은 곳으로 흐르는 성질이 있습니다.

그렇다면, 아래 회로를 보실까요??

아래 (a) 회로를 보면, 굉장히 위험한 회로입니다.

저항을 연결하지 않고 바로 5V 전압을 바로 GND에 연결하면 옴의 법칙의 이론상 저항이 굉장히 적기 때문에 매우 큰 전류가 생성이 됩니다.

이 부분은 이론적인 설명을 위해서 사용하는 것입니다. 절대 테스트하지 마세요.

다시 이론 설명으로 돌아가면, 이 경우 저항이 가장 적은 곳은 GND이므로 모든 에너지가 GND로 흐릅니다.

하지만 아시다시피 (a) 회로는 사용할 수 없는 회로입니다.

그래서 플로팅을 없애면서 효과적으로 '1'과 '0'을 만들고, 과전류를 방지하기 위해서 풀 다운 저항을 부착합니다.

 

그래서 풀다운을 부착하면 (b) 회로에서 방금 말씀드린 낮은 저항으로 흐르는 전류의 법칙에 의해,

풀다운의 저항 값보다 디지털 회로에 연결되는 저항 값이 더 낮기 때문에 5V가 디지털 회로 측으로 흘러갑니다.

반대로 스위치를 OFF 시키면 디지털 회로 입장에서는 저항을 통해 GND가 연결되어 있으니 당연히 GND로 인식합니다.

 

 

저 한 가지를 설명하기 위해 정말 많은 자료들이 사용되었네요.

궁금한 점이 있다면 언제든 댓글 달아주세요 ^^

 

감사합니다.

  • 김대환 2020.11.24 14:26

    pull up 회로에서는 스위치 off 시 전자회로쪽 입력저항이 매우 커서 전압분배 법칙에 의해 5V가 다 걸린다고 설명되어 있는걸 봣는데
    PULL DOWN일때 스위치 ON시 전자회로쪽 입력저항은 매우 작아서 전류가 전자회로쪽으로 다흐른다고 설명되어있습니다.

    두 경우의 전자회로 저항이 다른건가요? 입력저항이 높고 낮고로

    • Favicon of https://openstory.tistory.com BlogIcon Edward AHN 2020.11.26 10:36 신고

      어떤 시스템을 보고 말씀하시는 건진 모르겠으나, 보통 pull-up, pull-down을 사용하는 이유는 가장 크게 floating방지를 하기 위함입니다.
      실제 pull-up/down은 저항기 하나가 직접 Vcc/Vdd로 연결되기 때문에 대부분의 전압이 저항의 전압으로 걸립니다.
      이는 저항이 다르다. 라고 표현하긴 어렵습니다. 이 방식은 디지털 방식의 설명이며, 말씀하신 부분은 아날로그 회로에서 사용되는 다른 기법인듯 합니다. 정보가 부족하여 여기까지 설명드리겠습니다.

  • james Lee 2020.12.16 00:29

    좋은 사이트 개설되서 열독 하고 있습니다.

    플로팅 방지용으로 풀업저항을 많이 사용하는데요.
    풀업 저항 값을 어떻게 결정하는지가 궁금 합니다.
    보통 보면 수십K옴에서 수백 수 M옴 까지 사용하는걸 봤습니다.
    정말 다양하게 개발자 맘(?)대로 사용하는거 같은데요.

    경험상 i2c와 같은 통신용 에는 응답 속도가 빨라야 하기 때문에 상대적으로 낮은 저항을 사용하고
    일방 기계식 스위칭용으론 높은 저항값을 사용해도 되는것 같습니다.

    그런데 정말 궁금 한것은
    엄밀히 따지면 풀업 저항도 기본적으로 전류를 소비 하는것이 잖아요?

    그렇담 소비 전류를 최소로 해야하는 회로 에서 풀업 저항값을 무한정 높게 사용해도 되는것인지가
    궁금 하네요.
    어느정도의 저항값이 어느회로에서 적정한 효과를 발휘 할 수있는지가 궁금합니다. 특히 전류 소비를 최소로 하면서요.
    설명은 잔뜩 해 놓고 질문이 이상한가요?

    제가 이해한 정도가 맞는지도 가늠할겸 설명을 붙였습니다.

    • BlogIcon 설계가 2021.03.08 09:16

      안녕하세요. 설계팀에서 근무시작한 새싹입니다.

      우선 그 값들은 칩의 데이터 시트에 따라 정해지는 것이라고 생각되네요. 칩 설계쪽에서 특정 저항값, 캐패시터와 함께 사용 데이터를 줍니다.

      말씀하신대로 풀업 저항값을 무한정 높게 사용할 수 있지만 그렇게 된다면 문제가 생기기에 적정 값이 있을 것이라 생각됩니다. 다 이유가 있더라고요 ㅎㅎ

    • Favicon of https://openstory.tistory.com BlogIcon Edward AHN 2021.04.06 14:52 신고

      정신없이 바쁘다보니 이제야 확인하고 답변을 달아드리네요..
      말씀하신대로 풀업 저항도 기본적으로 전류를 소비합니다. 극히 적지만요.

      말씀하신대로 이상적이라면 전류를 최소로 하기 위해서 풀업 저항 값을 무한정 높게 만들 순 있지만, 대부분 풀업 값은 구동 전압에 따라 다릅니다.

      대부분 5V의 경우엔 10k, 3.3V엔 4.7k를 사용합니다.
      사실 M옴 단위까지 사용은 가능하겠지만 사용해본 적이 없어서 명확하게 설명을 못드리겠네요.

  • 전기초보 2021.04.22 09:54

    게시글 잘 읽었습니다^^ 궁금한 점이 있어 댓글 남겨봅니다.

    제가 이해한것이 맞다면 위에서 첫번째 그림의 풀업 저항의 사용 그림(b) 는 디지털 회로의 전원 전압과 저항으로 인가되는 전압이 모두 흐르고 있는 상태(즉 2가지 길을 통해 전압이 인가되는것)에서 스위치를 이용하여 왼쪽 회로가 오픈된 상태에서 모두 디지털 회로쪽으로 전류가 흘러 디지털 회로가 "1"인 상태이고, 스위치를 눌렀을 경우 전류가 저항이 거의 없는 왼쪽의 그라운드로 전부 흐르게 되어 디지털 회로는 "0"인 상태가 되는것이 맞나요?

    그런데 2번째 그림의 풀다운 저항의 그림(b)가 잘 이해가 안되는것 같아요. 작성자 분께서 스위치를 누르지 않았을 때는 "0" , 눌렀을 때는 "1"이 되는 동작상태를 설명해 주셨는데, 디지털 회로쪽으로는 전원 전압+5V가 계속 들어가고 있는 상태라면 풀다운 저항값보다 디지털 회로의 저항값이 낮다면 스위치를 누르지 않아도 "1"인 상태가 되야 하는거 아닌가요? 정말 궁금해서 질문 남겨봅니다... 아직 전기를 공부한지 얼마 안되어 지식이 많이 부족합니다. 답변 달아주신다면 감사하겠습니다(_ _)

    • Favicon of https://openstory.tistory.com BlogIcon Edward AHN 2021.04.23 09:58 신고

      안녕하세요.
      (a)의 경우 말씀하신게 맞습니다.
      (b)의 경우는 (a)의 반대 개념이라고 생각하시면되는데, (a)와 다른 점은 저항이 GND에 있다는 거에요.

      pull-up과 down의 차이는 저항이 5V에 있냐, GND에 있냐의 차이입니다.
      5V와 GND를 바로 연결하면 이론상 무한대의 전류가 흐르면서 터지게 되는데, 이를 저항을 통해서 연결해놓으면 터지지 않는 것처럼, 저항을 이용하여 5V의 전압을 인가할 수 있도록 합니다.

  • 전자만학도 2021.09.07 14:51

    덕분에 풀다운 풀업에 대해서 쉽게 이해하고 갑니다.
    좋은글 감사합니다~~