답변:
오픈 드레인 (또는 BJT의 경우 오픈 컬렉터)의 두 가지 일반적인 애플리케이션이 있습니다.
1) 하나 이상의 출력을 동일한 라인에 연결합니다. 이것을 유선 OR이라고합니다. 예를 들어, 장치에 일반적으로 높은 재설정 핀이있을 수 있는데,이 핀은 마이크로 컨트롤러 핀과 다른 소스 (예 : 푸시 버튼) 모두에서 재설정됩니다. 리셋 핀은 풀업 저항과 연결되어 있습니다. 마이크로 컨트롤러는 오픈 드레인 출력으로 구성됩니다. 푸시 버튼은 누를 때 접지에 연결됩니다. 마이크로 컨트롤러가 출력을 0으로 가져 오거나 푸시 버튼을 누르면 장치가 재설정됩니다.
마이크로 컨트롤러가 출력 핀을 1로 설정하면 실제로 핀이 라인에서 분리됩니다. 전압으로 라인을 구동하지 않으므로 ( "소싱") 푸시 버튼이 라인을 접지로 당길 때 단락이 없습니다.
유선 OR 구성이 매우 유용하기 때문에, 마이크로 컨트롤러의 리셋, 인터럽트 라인, 플립 플롭과 같은 디바이스의 클리어 및 인 에이블 라인과 같은 핀이 모두 "액티브 로우"인 이유는 일반적으로 하이에 묶여 있음을 의미합니다. , 풀업 저항을 통해) 및 오픈 드레인으로 구성된 여러 장치 중 하나가 저전압을 당길 수 있습니다. 이러한 입력은 일반적으로 신호 이름 상단에 막대가 나타나거나 맨 앞에! (! CLR) 또는 후행 # 기호 (CLR #)입니다.
2) 다른 공급 전압에 연결된 장치 제어. 20mA가 필요하지만 전압이 5V 인 릴레이가 있다고 가정하십시오. 그러나 마이크로 컨트롤러 출력은 3.3V의 전원 (VCC) 전압까지만 핀을 구동 할 수 있습니다. 오픈 드레인 출력을 사용하면 릴레이의 한쪽을 5V에 연결하고 다른 쪽을 마이크로 컨트롤러의 출력 핀에 연결할 수 있습니다. 마이크로 컨트롤러의 출력이 1이면 아무 일도 일어나지 않습니다 (다시 핀이 분리 된 것처럼 작동합니다). 0으로 설정하면 릴레이의 하단이 접지되어 회로가 완료되고 릴레이가 작동합니다. 이러한 응용에서는 장치의 전원이 차단 될 때 마이크로 컨트롤러의 손상을 방지하기 위해 릴레이 코일에 "플라이 백"다이오드를 배치하는 것이 중요합니다.
ULN2803 (Darlington 트랜지스터 어레이)과 같은 출력 드라이버의 경우 50V의 높은 전압에 연결된 부하를 구동하고 로직 호환 입력으로 제어 할 수 있습니다.
a microcontroller can often sink more current (drive to ground) than it can source (drive to the VCC of the microcontroller)
즉 현대 CMOS 마이크로 컨트롤러와 함께 더 이상 사실이 아니다
오픈 드레인 출력은 0V에 연결된 오픈 스위치입니다. 전류를 통과 시키려면 전류를 공급해야하며 풀업 저항으로이를 수행 할 수 있습니다. 핀에 전류를 전달하지 않으면 전압을 볼 수 없습니다.-
동일한 오픈 드레인 출력을 공유하는 두 개의 장치가 있습니다. + 5V의 풀업 저항을 확인하십시오. 실제로이 회로는 로직을 수행하기 위해 "오픈 드레인"을 사용합니다. NAND 게이트가 1,1로 "활성화"되면 버스가 0V로 풀다운됩니다. 따라서 BUS로 전달되는 논리는
버스 반전 = AB + CD
일반 BJT도이 기능을 수행 할 수 있지만 MOSFET은 일반적으로 오픈 드레인 장치로 사용됩니다. 오픈 드레인 출력은 일반 CMOS 출력을 단순화 한 것으로 접지로 빠르게 켤 수 있지만 풀업 저항을 통한 기생 커패시터의 충전 시간으로 인해 + Logic으로의 복귀 과정에서 속도가 느려집니다.
Wiki의 Open Collector 는 잘 읽습니다. Open Drain과 동일하며 위에 표시된 작은 다이어그램과 같이 기사에서 언급됩니다.
1) tcrosley의 대답에서 첫 번째 포인트를 단순화하기 위해 출력 내에 풀업 저항을 제공하지 않는 이점은 많은 출력에서 풀업 저항을 공유 할 수 있다는 것입니다. 그런 다음 출력이 병렬로 연결되고 모두 공유 저항과 접지에 연결됩니다.
2) 저항 (회로도) 아래의 지점은 결합 된 출력이 회로의 다른 부분에 의해 수집되는 위치입니다. (물론, 그것은 지상과 공급과 관련하여 다른 길을 갈 수 있었을 것입니다.)
3) 많은 출력에서 결합 된 출력을 수집하지 않으려면 (그리고 회로는 모든 곳에서 동일한 전압 공급을 사용함) 풀업 부품없이 출력을 사용하고 싶지 않습니다. 그렇지 않으면 "불완전한"출력이 제공되므로 원하는대로 사용자 정의 할 수 있습니다.