Czy każdy z pinów IO musi mieć własny rezystor podwyższający / obniżający?


13

Bardzo podstawowe pytanie:

Czy każdy styk IO mikrokontrolera, który służy jako wejście z przełącznika lub zworki, musi mieć własny rezystor podwyższający / zmniejszający?

Prosty schemat 3-pinowy IO

W tym przykładzie każdy pin jest wyciągany przez rezystor, a następnie przez przełącznik 1P3T do VCC.

Wydaje się to proste, ale ponieważ więcej pinów IO jest używanych, czy absolutnie wymaganych jest więcej rezystorów? Czy jest jakiś sprytny sposób, aby utrzymać rezystor odliczający?

Powiązane pytanie: Udostępnianie rezystora podciągającego

Odpowiedzi:


16

Zgodnie z przedstawionym schematem, gdyby wszystkie 3 wejścia dzieliły rezystor, wówczas każda z linii wyciąganych wysoko przez przełącznik podniosłaby wszystkie 3 linie do wysokości, przeciwstawiając się celowi projektu - MCU nie wiedziałby, która pozycja przełącznika jest wybrany.

Częstym sposobem zmniejszania liczby części , a nie liczby rezystorów, w takich projektach jest użycie wspólnej sieci lub matrycy rezystorów magistrali:
Wspólny układ rezystorów magistrali ( stąd )


Są one dostępne jako przelotowe SIP / DIP oraz SMD, w różnych ilościach rezystorów, w zależności od potrzeb. Pin szyny jest podłączony do uziemienia, a pozostałe piny są podłączone do odpowiednich wejść MCU, jak na schemacie. Macierze rezystorów SIP ( stąd )

Tablice rezystorów SMD ( stąd )


8

Większość MCU ma opcjonalne rezystory podciągające (nie opuszczane) dla każdego styku, więc normalne jest wyciąganie styków W DÓŁ za pomocą przełącznika (i radzenie sobie z inwersją polaryzacji w oprogramowaniu).

Tak więc - nie są potrzebne rezystory.

Jeśli chodzi o to, dlaczego podciąganie, a nie obniżanie, to nawyk pozostały z obwodów logicznych TTL z lat 70. XX wieku, w których potrzeba było znacznie mniej prądu, aby podnieść wejście niż w dół - rezystor rozwijany marnowałby więcej energii. Nie dotyczy to już dzisiejszej logiki CMOS, ale tradycja podciągania przetrwała, więc wczesne układy CMOS 5 V były kompatybilne ze starszą logiką TTL.


Myślałem, że powodem podciągania było to, że ich powszechnym zastosowaniem były wyjścia z otwartym kolektorem, a kiedy już będziesz miał zwyczaj wybierać jedną drogę, będziesz kontynuował tę drogę bez dobrego powodu.
dunkers

Co więcej, wyjścia TTL mogą pochłonąć 16mA, ale źródło tylko 800uA, więc można użyć podciągania, aby dodać mięśni do wyjścia. Wejście TTL podciągnęłoby się, gdybyś go nie podłączył, więc podciąganie z powodów wejściowych wydaje mi się trochę dziwne. (Przepraszamy, zbyt długo czekałem na edycję poprzedniego komentarza ...)
dunkers

„wejście TTL podciągnęłoby się” ... do pewnego stopnia tak, ale niezawodnie - duża pomarańczowa książka określa 40 mikroamperów Ih, aby zagwarantować Vin> 2,4 V (dla 7400; 20ua dla 74LS) Pozostawienie otwartych wejść TTL było zdecydowanie nie polecam nigdzie pracowałam ...
Brian Drummond,

1
Pulldowns kontra pullups to nie tylko historyczny. Za pomocą rezystora podciągającego drugą stronę przełącznika można uziemić, co często jest wygodne.
Olin Lathrop

1
Rodzina mikrokontrolerów TI MSP430 ma zarówno wewnętrzne podciągania, jak i opuszczania.
Passerby

0

Nigdy nie chcesz pozostawiać danych wejściowych do logiki otwartych przy założeniu, że pociągną się one w górę lub w dół. jeśli wejście pozostanie otwarte, będzie to mała antena, która również podlega prądom w urządzeniu logicznym. Więc pociągasz w górę lub w dół, aby mieć czyste i przewidywalne dane wejściowe. Nauczyłem się tej zasady, pracując w Fairchild Semiconductor w latach 80.


1
To nie odpowiada na zadane pytanie.
Photon

Myślę, że kontekst pierwotnego pytania jest taki, że istnieją przyciski i przełączniki, które są wejściami dla MCU. Jeśli pin we / wy nie jest używany, można go wyprowadzić na wyjście, a następnie wysterować z poziomu oprogramowania układowego. To powinno rozwiązać problem czających się zakłóceń elektromagnetycznych i nie wymaga zewnętrznego rezystora.
Nick Alexeev
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.