Pullup & Pulldown
아래 그림에서 들어오는 신호는 어떤신호일까요?
들어오는 신호는 0이 될 수도 있고 1이 될수도 있습니다.
pin에 손을 갖다 대면 1이 될 수도 있습니다.
이런 애매모한 상황을 방지 하기 위해서 Pull up 저항을 사용합니다.
Pull up 저항이란 위로 끌어 당긴다는 말이 됩니다.
Pull down이란 아래로 끌어 당긴다는 말이 되겠지요
따라서 Vcc 전원쪽으로 저항을 연결하는것을 Pull up 저항이라고 하고
반대로 Gnd 쪽으로 저항을 연결하는것을 Pull down 저항이라고 합니다.
Pull up이라는 것은 초기값을 1로 설정하겠다는 의미이기도 합니다.
Pull down은 초기값을 0으로 설정하겠다는 의미죠
위의 왼쪽 그림과 같이 초기값은 1인데 스위치를 누르게 되면 Input으로 0이 들어가겠지요
그 짧은 시간이지만 Noise가 발생할 수 있습니다. 이럴경우 2번 눌러지는 경우가 발생 할 수있습니다.
이걸 보완하기 위해 아래쪽에 Capacitor를 달게 됩니다.
Capacitor는 저항값이 클수록 Capacitor값이 클수록 충전시간이 길어진다는것을 배웠을것입니다.(Capacitor편 참조)
저항과 Capacitor값이 너무크면 스위치 반응 속도가 늦어지겠죠
Troubleshoot
Pull up & Pull down 저항을 알맞게 달아야 합니다. 위의 회로에서 Pull down을 달게 되면
Switch가 동작하지 않겠지요
Output Driver
일반적으로는 입력쪽에 Pull up & Pull down 저항을 사용하여 초기값을 설정하는데 사용되지만
아래와 같이 사용되는 경우도 있습니다.
Output pin은 일반적으로 0과 1을 출력하는 pin으로 적은 전류만 흘릴 수 있습니다.
이 전류로 많은 전류를 필요로 하는 부하(회로 및 부품)가 있을 경우 정상적으로 동작을 시킬 수가 없게 됩니다.
따라서 이런 경우를 보완하기 위해 Pull up 저항을 사용하게 됩니다.
또는 아래 그림과 같이 Buffer라는것을 사용하기도 합니다.
'SW개발자를 위한 HW' 카테고리의 다른 글
ADC & DAC (0) | 2023.05.24 |
---|---|
인터럽트 & 폴링 (0) | 2023.05.24 |
GPIO , TRISTATE , OE(Output Enable) (0) | 2023.05.24 |
서보모터(Servo Motor) (0) | 2023.05.24 |
MKS system (0) | 2023.05.24 |