Otwarte porty mikrokontrolera

9

Chcę zrozumieć koncepcję portów typu open-drain, takich jak port P0 mikrokontrolera 8051. Dlaczego musimy podłączyć rezystory podciągające do portu P0?

Mam podstawową wiedzę na temat tranzystorów MOSFET i innych urządzeń elektronicznych.

abkds
źródło
ok, więc rozumiem, że to w zasadzie działa jak każdy inny port, ale musimy dać zasilacz przez jakieś zewnętrzne źródło. Czy mam rację ?
abkds

Odpowiedzi:

13

Ignorowanie tajników działania mosfetów. Wyjście działa jak przełącznik do masy. Nie może sam wytwarzać wysokiego (+ 5 V) sygnału. Rezystor podciągający służy do tego, że gdy przełącznik jest otwarty, moc wyjściowa będzie wysoka. Gdy przełącznik jest zamknięty, poziom wyjściowy będzie niski (0 V)

wprowadź opis zdjęcia tutaj

JIm Dearden
źródło
9

Istnieją dwa popularne zastosowania otwartego spustu (lub otwartego kolektora, w przypadku BJT):

1) Podłączanie więcej niż jednego wyjścia do tej samej linii. Nazywa się to przewodowym OR. Na przykład, możesz mieć normalnie wysoki pin resetujący na urządzeniu, który jest resetowany zarówno z pinu mikrokontrolera, jak i innego źródła, powiedzmy przycisk. Kołek resetujący jest wiązany wysoko z rezystorem podciągającym. Mikrokontroler jest skonfigurowany jako wyjście z otwartym drenem. Po wciśnięciu przycisk jest przywiązany do ziemi. Jeśli albo mikrokontroler wycofa wyjście na 0, albo przycisk zostanie wciśnięty, urządzenie zostanie zresetowane.

Zauważ, że kiedy mikrokontroler ustawia pin wyjściowy na 1, pin jest w rzeczywistości odłączony od linii. Nie napędza linii („pozyskiwania”) żadnym napięciem, więc kiedy przycisk pociąga linię do ziemi, nie ma zwarcia.

Ponieważ konfiguracja przewodowa-LUB jest tak przydatna, dlatego piny, takie jak resety mikrokontrolera, przerywają linie, usuwają i włączają linie na urządzeniach takich jak flip-flops, wszystkie są „aktywne nisko” - co oznacza, że ​​są zwykle przywiązane wysoko (ponownie , poprzez rezystor podciągający) i dowolne z kilku urządzeń skonfigurowanych jako otwarty odpływ może pociągnąć je nisko. Takie wejścia są zwykle oznaczone jako aktywne-niskie z paskiem u góry nazwy sygnału lub z wiodącym! (! CLR) lub znak końca # (CLR #).

2) Urządzenia sterujące podłączone do różnych napięć zasilania. Powiedzmy, że masz przekaźnik, który wymaga 20 mA, ale napięcie 5 woltów. Ale wyjście mikrokontrolera może napędzać piny tylko do napięcia zasilania (VCC) 3,3 V. Dzięki wyjściu z otwartym drenem możesz podłączyć jedną stronę przekaźnika do 5 V, a drugą do styku wyjściowego mikrokontrolera. Kiedy wyjście mikrokontrolera w jest 1, nic się nie dzieje (znowu działa tak, jakby pin został odłączony). Ustawienie wartości 0 powoduje uziemienie dolnej części przekaźnika, uzupełniając obwód i uruchamiając przekaźnik. W takim zastosowaniu ważne jest umieszczenie diody „fly-back” na cewce przekaźnika, aby zapobiec uszkodzeniu mikrokontrolera, gdy urządzenie jest pozbawione napięcia.

W przypadku sterowników wyjściowych, takich jak ULN2803 (układ tranzystorowy Darlington), można sterować obciążeniami podłączonymi do napięć do 50 V i sterować nimi za pomocą wejścia zgodnego z logiką.

tcrosley
źródło
a microcontroller can often sink more current (drive to ground) than it can source (drive to the VCC of the microcontroller)Nie jest to już prawdą w przypadku nowoczesnego mikrokontrolera CMOS
m.Alin
1
Drugi przypadek użycia rzadko dotyczy mikrokontrolerów: w większości przypadków ich styki IO nie tolerują napięcia poza przedziałem zasilania od ziemi (chociaż niektóre układy o niższym napięciu twierdzą, że są tolerancyjne 5V). Wyjątkiem był (jest ??) pin RA4 w niektórych Microchip uc. Ale układy sterownika w stylu 2003/2803 są doskonałym przykładem drugiego przypadku użycia.
Wouter van Ooijen
Między MSP430, Atmel AVR i Pic 16 / 18s, jeszcze nie widziałem nowoczesnego mikrokontrolera, który nie może zatonąć ani pobierać takiej samej ilości prądu.
Passerby
m.Alin, Wouter_van_Ooijen, Passerby - dziękuję za komentarze, zredagowałem swoją odpowiedź.
tcrosley
2

Wyjście z otwartym drenem to tylko otwarty przełącznik podłączony do 0 V. Aby przepuścić przez niego prąd, musisz wprowadzić do niego prąd, a można to zrobić za pomocą rezystora podciągającego. Jeśli nie przepuścisz prądu do kołka, nie zobaczysz napięcia: -

wprowadź opis zdjęcia tutaj

Oto dwa urządzenia dzielące to samo wyjście typu open-drain - zwróć uwagę na rezystor podciągający na napięcie + 5 V. W rzeczywistości obwód ten wykorzystuje logikę „otwartego drenu” do wykonania logiki - jeśli którakolwiek z bramek NAND zostanie „aktywowana” za pomocą 1,1, obniżą one BUS do 0 V. Zatem logika dostarczona do magistrali jest

ODWRÓĆ BUS = AB + CD

Tranzystory MOSFET są zwykle używane jako urządzenia z otwartym drenem, chociaż zwykłe BJT mogą również wykonywać tę funkcję. Wyjście z otwartym drenem jest uproszczeniem zwykłego wyjścia CMOS - szybko włącza się do ziemi, ale będzie wolniejsze w drodze powrotnej do + Logic z powodu czasów ładowania kondensatorów pasożytniczych przez rezystor podciągający.

Otwarty kolektor na wiki to dobra lektura - robi to samo co otwarty drenaż i jest wspomniany w artykule, podobnie jak mały schemat pokazany powyżej.

Andy aka
źródło
0

1) Aby uprościć pierwszy punkt odpowiedzi przez tcrosleya, zaletą braku dostarczenia rezystora podciągającego wewnątrz wyjścia jest możliwość dzielenia tego bardzo podciąganego rezystora między wiele wyjść. Wyjścia są następnie połączone równolegle i wszystkie są podłączone do wspólnego rezystora i uziemienia.

2) Punkt „poniżej” rezystora (na schemacie) to miejsce, w którym połączone wyjście jest gromadzone przez inne części obwodu. (Oczywiście wszystko mogło być na odwrót w odniesieniu do ziemi i zasobów).

3) Jeśli nie chcesz zbierać połączonej mocy wyjściowej z wielu wyjść (a obwód wszędzie używa tego samego napięcia), nie chcesz używać wyjść bez elementów podciągających. W przeciwnym razie otrzymasz „niekompletne” dane wyjściowe (w pewien sposób), które możesz dostosować do swoich potrzeb.

abrakadabra
źródło
Parsowałem twoją ścianę tekstu na ponumerowane akapity. Ułatwia to zrozumienie podczas czytania i komentowania określonych części lub oświadczeń. Zwróć uwagę, że akapity zaczynają się od zmiany kontekstu w odpowiedzi.
Sparky256,