Dlaczego musimy budować OR
bramę przy użyciu tranzystorów ? Czy nie bylibyśmy w stanie osiągnąć tego samego wyniku bez tranzystorów, po prostu łącząc dwa wejścia i czytając wyjście?
Dlaczego musimy budować OR
bramę przy użyciu tranzystorów ? Czy nie bylibyśmy w stanie osiągnąć tego samego wyniku bez tranzystorów, po prostu łącząc dwa wejścia i czytając wyjście?
Odpowiedzi:
To, co opisujesz, nazywa się przewodowym połączeniem LUB . Jest to możliwe w niektórych rodzinach logicznych, szczególnie w ECL (logika sprzężona z emiterem), ale nie w najbardziej popularnych (TTL i CMOS).
W CMOS nie jest to możliwe, ponieważ gdy wyjście CMOS jest niskie, tworzy bardzo bliskie zwarcie między pinem wyjściowym przez układ a masą. A kiedy jest wysoki, tworzy bardzo bliskie zwarcie z VDD przez układ do styku wyjściowego.
Więc jeśli połączysz dwa wyjścia CMOS razem i jedno wyjście wysokie, a drugie wyjście niskie, będziesz miał bardzo bliskie zwarcie z VDD do ziemi, co spowodowałoby duży prąd i prawdopodobnie przegrzałby jeden lub drugi z dwóch zaangażowanych układów.
W przypadku TTL występuje podobny problem, ale „zwarcia” między pinem wyjściowym a VDD lub masą nie są tak krótkie, jak w CMOS.
Istnieje wariant stylu wyjściowego, zwany otwartym odpływem dla CMOS lub otwartym kolektorem dla TTL, który pozwala na połączenia przewodowe AND zamiast przewodowego OR. Wyjścia te są zaprojektowane tak, aby były zdolne do pochłaniania prądu do ziemi, aby nie były w stanie wytworzyć żadnego prądu wyjściowego, gdy są nominalnie w stanie wysokim. Są one zwykle używane z zewnętrznym rezystorem podciągającym, aby napięcie wyjściowe faktycznie osiągnęło poziom „wysokiego” napięcia, gdy jest to wymagane.
Uwaga: Otwartego kolektora lub otwartego odpływu można użyć do podłączenia przewodowego LUB, jeśli używana jest logika aktywna-niska (niskie napięcie reprezentuje logikę 1, wysokie napięcie reprezentuje logikę 0).
pozwala to „dołączyć do wyników”
symulacja tego obwodu - Schemat utworzony przy użyciu CircuitLab
this lets you "join the outputs" schematic
z linkiem do obwodu
Jeśli po prostu podłączysz przewody, będziesz mieć (dość prawdopodobne) możliwość zera i 1 razem. Ponieważ 0 to gnd, a 1 to 5 V (w zależności od układów, ale jest to standard), masz 5 V i gnd połączone ze sobą przewodami. Terminem na to jest zwarcie!
Możesz użyć diod jako prostej bramki OR. A nawet rezystory. Problemy występują po podłączeniu tej bramy do innych bram, innych obwodów. Możesz zbudować bramkę AND z 2 diod na odwrót. Ale jeśli spróbujesz połączyć wiele z nich razem, otrzymasz jeden gigantyczny obwód, który nie działa jako małe oddzielne części, ale jako jeden duży. Połączenia, które nie są w twoim prostym planie bramy, mogą pojawić się w prawdziwym życiu, psując to, co chcesz zrobić.
Tranzystor pozwala oddzielić wejście od wyjścia. Wyjście tranzystora nie może się cofać i wpływać na jego wejście. Przekaźnik byłby inną alternatywą, choć wolniejszą. Ponieważ przełącznik nie może wpływać na elektromagnes.
Wczesną logiką była RTL lub DTL, logika rezystor-tranzystor lub dioda-tranzystor. Najpierw rezystory, a potem diody, posłużyły do utworzenia bramki, a następnie tranzystor zadziałał, aby buforować wynik, więc następna brama, z której korzystałeś, nie przekazywała jej z powrotem do swoich wejść.
Teraz, ponieważ tranzystory na układach scalonych są praktycznie bezpłatne, to znaczy finansowo, mamy luksus polegający na tym, że wszystko jest odpowiednio buforowane i oddzielone. Zwykle tego chcemy. Logika TTL!
Zastanów się, co się stanie, jeśli jedno wejście będzie wysokie, a jedno niskie, a połączysz dwa wejścia. To zależy od tego, jak zbudujesz swoje bramki logiczne.
Jeśli twoje bramki logiczne są zaprojektowane w taki sposób, że wysokie jest naprawdę wyciągane wysoko, a niskie jest naprawdę wyciągane nisko (CMOS), to jest to zwarcie i coś wybuchnie.
Jeśli twoje bramki logiczne są zaprojektowane w taki sposób, że wysoka to „słaba” lub wysoka rezystancja (np. NMOS), wówczas sygnał wyjściowy będzie niski, ale również inne wejście (które powinno być wysokie) będzie zmuszone być niskie, mimo że powinien być wysoki, a to będzie miało efekt domina na innych bramkach logicznych, które używają tego samego wejścia.
Istnieje analogiczne podejście:
Połącz dowolną liczbę wejść (załóż 0 lub 5 woltów) z rezystorami.
Jeśli napięcie wynikowe wynosi 0, wszystkie są wyłączone.
Jeśli napięcie wynikowe wynosi 5, wszystkie są włączone.
Napięcia pośrednie wskazują, że niektóre są włączone, a niektóre wyłączone.
Przykład: Jeśli są 4 wejścia, 2,5 wolta oznacza, że 2 są włączone, a 2 wyłączone.
wynik == 0: ani
wynik bramki == 5: i
wynik bramki ! = 0: lub
wynik bramki ! = 5: nand bramka
Tranzystory nie są potrzebne do wejść, wystarczy wyjście, aby sprawdzić napięcie i przywrócić logiczny wynik 0 lub 5 V.
Może to być wykorzystane w przypadku analogowego węzła sieci neuronowej z nieliniową funkcją wyjściową, która ma „miękki” wynik, który może nie być całkowicie prawdziwy lub fałszywy.
Po namyśle:
Rezystory zastosowane w ten sposób mogą spowolnić prędkość logiczną, ponieważ pojemność podążająca za rezystorami musi być ładowana lub rozładowywana przy zmianie wejść. Ponadto użycie tranzystorów może znacznie zmniejszyć zużycie energii. Rezystory używane w ten sposób zawsze mogą zużywać energię przy kombinacji stanów wejściowych. W przypadku tranzystorów zużycie energii można z grubsza podzielić przez wzmocnienie tranzystorów.
Jest to możliwe z niektórymi elementami logicznymi (wszystkie przełączniki drzwi samochodu podnoszące tę samą lampę), ale nie na przykład z bramkami CMOS, ponieważ są one zbudowane z tranzystorami FET z kanałami P i N, więc potrzebują określonego wejścia wysokiego i niskiego napięcia, aby zapewnić wyjście , wejście nie może być zmienne. Łączenie wyjść CMOS razem nie działałoby.