open drain

이채윤·2022년 5월 13일
0

임베디드

목록 보기
32/70
post-thumbnail

[open drain에 대해서]

  • 이름 그대로 collector 혹은 drain 핀이 외부로 노출(open)되어 있다.
  • Push-pull 출력단과 달리 밀어올려주는(PUSH) 위쪽 절반이 없다.
    더군다나 VCC나 VDD와도 전혀 연결되어 있지 않다. 
    반쪽짜리 미완성 회로인 것이다.
  • 다시 스위치 모델을 생각하면서 생각해 보자. NPN TR이나 N-MOS가 ON 되었을 경우에는 Output port가 GND로 당겨지므로 0V 출력이 나가게 된다.
  • 반면 NPN TR이나 N-MOS가 OFF되었을 경우 Output port는 그냥 무주공산으로 떠버리게 된다. 소위 Unknown state가 된다. 0V도 아니고 VCC나 VDD도 아닌 상태.

  • Open drain 출력단은 말 그대로 미완성 회로다. 이 상태 만으로는 제대로 동작하지 않는다. 외부에 부가 회로가 필요하다.
  • 그러면 왜 이렇게 사용하는 것일까?
    그것은 바로 입맛에 맞게 알아서 꾸며 쓰기 위해서이다.
    Open drain 출력단이 필요한 경우는 여러가지가 있다.
    대표적인 예로 level converter(level shifer), bus 구성 등이 있다.

[Level converter로 사용하는 예]

  • 위 그림에서 open drain 출력의 Output Port를 오른쪽에 있는 다른 장치의 입력 포트에 연결하려고 한다.
  • 간단하게 왼쪽의 큰 상자를 MCU라 생각하고 오른쪽의 작은 상자를 센서 칩이라 생각해 보자. MCU가 사용하는 VDD는 3.3V이다.
  • 센서 칩이 사용하는 전원(V_EXT)는 5V다. 이처럼 칩들이 사용하는 전원 전압이 다른 경우 바로 연결하면 문제가 발생할 수 있다.
  • 이를 해결하는 한가지 수단으로 open drain 혹은 open collector가 사용될 수 있다. 위 회로처럼 외부에 풀업 저항(pull-up resisitor)을 하나 달아주게 되면 level shifter가 구성된다.
  • MCU 내부의 N-MOS 스위치가 ON되었을 경우 Output Port는 0V로 당겨지므로(PULL) low 출력이 나가게 된다. 이 경우는 push-pull 출력단과 동일하다.
  • 반면 N-MOS 스위치가 OFF 되었을 경우 Output port가 unknown 상태가 되는 대신 외부 풀업저항에 의해 V_EXT로 묶여 올라가게 되는 것이다. 
  • 이것을 소극적인 push라고 생각하면 여러가지로 도움이 된다.
    반면 push-pull 출력단의 위쪽 스위치는 적극적인 push인 샘이다.

<풀업 저항이란?>

  • 저항을 전원쪽에 붙여줘서, 플로팅 현상을 해결하는 방법

<풀다운 저항이란?>

  • 저항을 그라운드쪽에 붙여줘서, 플로팅 현상을 해결하는 방법

<플로팅 현상이란?>

  • 아두이노에서 택(Tact) 스위치를 연결 할 때 초보자 분들은 종종 저항을 안달고 다이렉트로 아두이노에 연결하게 되는데, 이 때는 스위치를 눌렀을 때와 안 눌렀을때 차이가 별로 없다.
  • 그 이유는 플로팅 현상 때문인데, 플로팅(floating) 현상이란 영어 그대로 떠 있는 상태로 신호가 0(LOW)과 1(HIGH)사이에 애매한 위치에 떠 있기 때문에 발생하는 경우 이다.




https://irmus.tistory.com/76
https://k96-ozon.tistory.com/59

0개의 댓글