디지털 논리회로를 하면서 가장 처음 나를 괴롭힌것이 풀업저항과 풀다운저항이었습니다.
지금도 해깔리긴하지만 일단 정리하고자 글을 남깁니다.

디지털에서는 모두 알다시피 0(거짓,LOW)과 1(참,HIGH)만 존재하고 그 중간은 없습니다.
TTL 레벨에서는 0~5v의 전압이 공급되는데 0v 는 거짓이고 5v는 참으로 인식합니다.

여기서 문제가 생기는데
2.5v는 참일까 거짓일까?
또는 
회로와 아무 연결이 없는 (avr의)입력핀은 참일까 거짓일까?

이문제를 해결하기 위해 풀업과 풀다운 저항이 필요하게됩니다.
즉 회로가 연결이 안되어 있으면 잡음신호등으로 
불안정한 값이 읽혀질수 있으므로 명시적으로 LOW 또는 HIGH 값을 주는 것입니다.




실제 사용예를 보겠습니다.


스위치를 눌렀을 경우 HIGH를 입력받고 싶은경우(좌측그림)
스위치를 누르지 않으면 LOW여야만 합니다. 따라서 스위치와 입력핀 사이에 충분히 큰저항(TTL에서는 대략10K옴)을 사용하여 GND에 연결합니다. 이때 사용한 저항을 풀다운저항이라고 합니다.

반대로 스위치를 눌렀을 경우 LOW를 입력받고 싶은경우(우측그림)
스위치를 누르지 않으면 HIGH여야만 합니다. 따라서 스위치와 입력핀 사이에 충분히 큰저항(TTL에서는 대략10K옴)을 사용하여 5v에 연결합니다. 이때 사용한 저항을 풀업저항이라고 합니다.

이걸 응용하여 스위치 없이 항시 HIGH 또는 LOW 값을 주고자할 때도 쓰입니다.

[참고] 
AVR에서 인식하는 정확한 값은
0~5v를 사용할경우 2v이상이면 HIGH로 인식하고, 0~3.3v를 사용할 경우 1.5v이상이면 HIGH로 인식한다고 합니다.

  1. BlogIcon 나우테스 2009.06.10 07:15 신고

    참고로 저 경우 디지털 회로의 sink current를 확인하고 그에 맞는 저항값을 결정해 줘야 합니다. 대략 5V회로의 경우 일반적으로 4.7K를 많이 쓰죠.

    • BlogIcon pepsiman 2009.06.10 09:30 신고

      풀업 풀다운 저항에 4.7K를 사용하라는 말씀이신가요?
      제가 아직 지식이 딸려서 100% 이해는 않되지만 좀더 공부해봐야 겠네요.
      나우테스님 조언 감사합니다. ^^

  2. BlogIcon 구차니 2009.08.13 11:41 신고

    사진과 내용을 조금 가져가도 될까요? ^^

    • BlogIcon pepsiman 2009.08.13 11:44 신고

      죄송합니다. 트랙백이나 링크를 이용해 주셨으면 합니다.

+ Recent posts

티스토리 툴바