Bramki TTL i CMOS mają na wyjściu wzmacniacz przeciwsobny (ang. pusch-pull). Wyjście jest utrzymywane w stanie wysokim lub niskim przez włączony albo tranzystor bipolarny albo polowy tranzystor MOS. Niemal wszystkie układy cyfrowe mają tego typu wyjście (tzn. z obciążeniem aktywnym, w przypadku układów TTL używa się również terminu angielskiego totem-pole), ponieważ daje ono małą wartość impedancji wyjściowej w obu stanach i większą odporność na zakłócenia niż np. pojedynczy tranzystor z pasywnym obciążeniem rezystancyjnym. W przypadku układów CMOS rozwiązanie to zapewnia również mniejszą moc zasilania.
Istnieją jednak sytuacje, w których aktywne obciążenie jest niewygodne. Wyobraźmy sobie, na przykład, system komputerowy, w którym wiele bloków funkcjonalnych musi wymieniać dane. Jednostka centralna, pamięć i różne urządzenia peryferyjne mają wysyłać i odbierać słowa 16-bitowe. Byłoby co najmniej niezręcznie łączyć wszystkie urządzenia między sobą osobnymi,16-przewodowymi kablami. Rozwiązaniem jest tak zwana szyna danych, czyli zespół 16 przewodów dostępnych wszystkim podłączonym urządzeniom. Rozwiązanie z szyną danych jest podobne do telefonu towarzyskiego:
w każdym momencie tylko jedno urządzenie może "mówić" (dostarczać dane), ale wszystkie mogą "słuchać" (odbierać dane). W przypadku stosowania szyny lub kilku szyn tworzących magistralę musi istnieć pewna umowa określająca, kto może mówić, z czego wynika pojawienie się takich określeń jak "arbiter magistrali", "sterownik magistrali" i "szyna sterująca". Szyn nie można sterować sygnałami wyjściowymi bramek (lub z innych urządzeń) o wyjściach dwustanowych typu push-pull, ponieważ w żaden sposób nie można odłączyć tych wyjść od wspólnych linii danych (zawsze zachodzi wymuszenie jakiegoś stanu: niskiego lub wysokiego każdej linii). Powstaje zapotrzebowanie na bramki, których obwody wyjściowe mogą być "otwierane" (czyli "rozwierane"). Takie układy istnieją i to w dwóch odmianach: jako "układy trójstanowe" oraz "układy z otwartym kolektorem".
Układy trójstanowe jest to Eleganckie rozwiązanie zastosowanie układów trójstanowych (ang. three-state logic lub TRI-STATE logic - ta nazwa zastrzeżona jest przez National Semiconductor Corporation, która wymyśliła ten układ). Nazwa jest nieco myląca. Nie są to układy logiczne z trzema poziomami napięciowymi. Są to zwyczajne układy logiczne z trzecim stanem układu wyjściowego: jako rozwartym obwodem wyjściowym (rys. 8.19). Stan osobnego wejścia uaktywniającego stopień wyjściowy określa; czy wyjście układu zachowuje się jak wyjście zwyczajnego układu z aktywnym obciążeniem, czy zostaje wprowadzone w trzeci stan (rozwarcia), niezależnie od stanu sygnałów na innych wejściach bramki.
Rys. 8.19.
Trójstanowa bramka NAND CMOS:
zasada działania,
realizacja za pomocą wewnętrznych bramek CMOS
W wyjścia trójstanowe wyposażone są zarówno bramki i inwertery, jak i wiele innych układów cyfrowych, m.in. liczniki, zatrzaski, rejestry itp. Po uaktywnieniu układ z wyjściem trójstanowym zachowuje się dokładnie tak samo, jak zwykły układ z obciążeniem aktywnym, tzn. jego wyjście jest albo w stanie niskim albo w stanie wysokim. Gdy układ trójstanowy jest nieaktywny, jego wyjście jest odłączone od obwodu obciążającego i wtedy inny układ może przejąć sterowanie tym obwodem. Popatrzmy na układ będący przykładem zastosowania elementu trzystanowego.
Spojrzenie w przód: szyny danych
Trójstanowe wzmacniacze logiczne (ang. driver) są układami szeroko stosowanymi do sterowania komputerowymi szynami danych. Każde urządzenie (pamięć, urządzenie zewnętrzne itp.), które chce przekazywać dane na wspólną szynę jest dołączone do tej szyny poprzez bramki trójstanowe (lub poprzez bardziej skomplikowane układy trójstanowe, takie jak rejestry). Obsługa urządzeń dołączonych do wspólnej szyny jest rozwiązana tak sprytnie, że w danej chwili wzmacniacze logiczne tylko jednego urządzenia są aktywne, natomiast wzmacniacze pozostałych urządzeń znajdują się w trzecim stanie (mają otwarte wyjścia). W typowej sytuacji wybrane urządzenie "dowiaduje się", że musi dostarczyć dane na szynę, rozpoznając swój własny adres na liniach adresowych i sterujących (patrz rys. 8.20).
Rys. 8.20. Szyna danych
W tym uproszczonym przypadku urządzeniu nadano adres 6. Dekoduje ono adres pojawiający się na liniach A0-A2 i kiedy widzi na liniach adresowych swój adres (tzn. 6) (011 - w systemie binarnym) i widzi impuls na linii żądania odczytu (ang. read), umieszcza dane na szynie danych D0-D3. Taki protokół szyny wystarcza w większości prostych systemów. Podobny układ jest wykorzystywany w większości mikrokomputerów. Zwracamy uwagę, że musi istnieć jakiś układ zewnętrzny, który zapewni takie sterowanie urządzeniami z wyjściami trójstanowymi, dołączonymi do wspólnej szyny, aby nie zdarzyło się równoczesne uaktywnienie kilku urządzeń (taki niepożądany przypadek nazywa się formalnie "konfliktem na magistrali"). Wszystko jest w porządku tak długo, jak długo każde urządzenie reaguje tylko na swój własny, różny od innych, adres.
Uklady z otwartym kolektorem
Poprzednikiem układu trójstanowego był układ z otwartym kolektorem. Wyposażenie wyjść wzmacniaczy logicznych w takie układy umożliwiało dołączenie kilku wzmacniaczy do wspólnej linii. Bramka z otwartym kolektorem (lub otwartym drenem) różni się od zwykłej bramki tylko brakiem aktywnego obciążenia dolnego tranzystora stopnia wyjściowego (patrz rys. 8.21). Nazwa "otwarty kolektor" jest więc dobrze dobrana. Jeżeli używa się takich bramek, to trzeba gdzieś w układzie przewidzieć zewnętrzne rezystory obciążające.
Rys. 8.21. Bramka NAND LS-TTL z otwartym kolektorem
Wartość ich rezystancji nie jest krytyczna. Rezystory o małej wartości rezystancji dają zwiększenie szybkości i polepszenie odporności na zakłócenia kosztem zwiększenia mocy zasilania i większego obciążenia układu sterującego. Stosowane są zazwyczaj rezystory o wartościach rezystancji od kilkuset do kilku tysięcy omów. Jeśli w układzie z rys. 8.20 zamiast wzmacniaczy 3-stanowych chcielibyśmy użyć bramek z otwartym kolektorem, należy zastosować dwuwejściowe bramki NAND z otwartymi kolektorami. Uaktywnienie takiego zespołu bramek polega na ustaleniu stanu wysokiego na jednym z wejść każdej bramki. Należy zwrócić uwagę, że dane wprowadzane na szynę poprzez bramki będą odwrócone. Każda linia szyny musi być dołączona do napięcia zasilającego +5 V przez tzw. rezystor podciągający. Wadą układów z otwartym kolektorem jest mniejsza szybkość i mniejsza odporność na szumy, w porównaniu z układami, które w stopniu wyjściowym mają układ z aktywnym obciążeniem (push-pull). Przyczyną pogorszenia parametrów układu z otwartym kolektorem jest rezystorowe obciążenie tranzystora realizującego jego stopień wyjściowy. Wymienione wady układu z otwartym kolektorem spowodowały, że magistrale (szyny) komputerowe są prawie wyłącznie sterowane poprzez wzmacniacze z wyjściami 3-stanowymi. Niemniej jednak istnieją trzy przypadki, w których preferuje się układ z otwartym kolektorem (lub otwartym drenem):
sterowanie zewnętrznymi obciążeniami,
tworzenie "sumy montażowej",
wyjścia na magistrale (szyny) zewnętrzne.
Sterowanie zewnętrznymi obciążeniami
Układy z otwartym kolektorem sprawują się dobrze, gdy trzeba sterować obciążeniami dołączonymi do podwyższonego napięcia dodatniego. W ten sposób można np. wysterować żarówkę małej mocy zasilaną napięciem 12 V albo wytworzyć na rezystorze obciążającym bramkę (patrz rys. 8.22) falę prostokątną o
amplitudzie 15 V.
Rys. 8.22.
Do takich zastosowań można wykorzystać, na przykład, układ ´06, zawierający 6 inwerterów z otwartym kolektorem, którego tranzystory wyjściowe wytrzymują napięcie o wartości 30 V, lub układ CMOS typu 40107, który jest podwójną bramką NAND o dopuszczalnej wartości pochłanianego prądu wyjściowego równej 120 mA. Więcej prądu, do 300 mA, mogą pochłaniać wyjścia podwójnych wzmacniaczy linii typu 75450. Ich tranzystory wyjściowe wytrzymują napięcia o wartościach do 30 V. Jeszcze lepsze parametry mają układy serii UHP/UDN firmy Sprague: dopuszczalna wartość prądu jest równa 1A, a napięcia 80 V. Powrócimy jeszcze do tych zagadnień w następnym rozdziale.
Suma montażowa
Jeśli wyjścia kilku bramek z otwartym kolektorem połączono według schematu przedstawionego na rys. 8.23, otrzyma się układ realizujący tzw. sumę montażową
(ang. wired-OR): układ jako całość zachowuje się tak, jak bramka NOR, tzn. stan jego wyjścia zmienia się na niski, jeśli na którymkolwiek wejściu ustali się stan wysoki.
Rys. 8.23. Suma montażowa
Nie można w ten sposób połączyć wyjść bramek które mają aktywne obciążenia (push-pull).w stopniach wyjściowych, ponieważ powstanie sytuacja konfliktowa, jeśli nie wszystkie bramki będą zgodne co do stanu wspólnego wyjścia. Sumę montażową można tworzyć z bramek NOR, NAND i innych. Jeśli na wyjściu choć jednej bramki pojawi się stan niski, w stanie niskim będzie wyjście całego układu. Omawiany układ jest czasami nazywany iloczynem montażowym (ang. wired-AND), ponieważ na wyjściu uzyskuje się stan wysoki tylko wtedy, gdy wyjścia wszystkich bramek są w stanie wysokim. Obie nazwy opisują to samo: jest to iloczyn montażowy w logice dodatniej i suma montażowa w logice ujemnej. Stanie się to bardziej zrozumiałe, gdy w dalszej części rozdziału zapoznamy się z twierdzeniem de Morgana. Suma montażowa cieszyła się dość krótko popularnością w czasie powstawania elektroniki cyfrowej, lecz teraz stosuje się ją rzadko, z dwoma wyjątkami:
wyjścia układów ECL (ang. emitter-coupled logic) są z natury wyjściami z otwartym emiterem i dlatego mogą być bezboleśnie łączone razem w celu utworzenia sumy montażowej,
magistrale komputerowe zawierają wspólne linie nie wykorzystywane do transmisji danych (chodzi tu przede wszystkim o linie przerwań), których jedynym zadaniem jest sygnalizowanie, że co najmniej jedno urządzenie chce zwrócić na siebie uwagę. W tym przypadku suma montażowa jest najlepszym rozwiązaniem, gdyż realizuje ona wymaganą funkcję bez potrzeby stosowania jakichkolwiek układów arbitrażu (pierszeństwa).
Magistrale zewnętrzne
Jeśli szybkość transmisji danych nie jest sprawą krytyczną, czasami stosuje się wzmacniacze z otwartym kolektorem do sterowania liniami magistrali. Najczęściej w ten sposób są sterowane magistrale wyprowadzające dane na zewnątrz komputera. Dotyczy to, na przykład, magistrali służącej do połączenia komputera ze stacjami dyskowymi oraz magistrali IEEE-488 (oznaczanej również symbolami HPIB lub GPIB), wykorzystywanej do łączenia przyrządów pomiarowych z komputerem i między sobą.
Układy kombinacyjne Jak już wspominaliśmy, układy cyfrowe można podzielić na kombinacyjne i sekwencyjne. Układy kombinacyjne to te, w których stan wyjść zależy tylko od aktualnego stanu wejść w pewien określony sposób, podczas gdy w układach sekwencyjnych stan wyjść zależy zarówno od stanu wejść, jak i od wcześniejszych wydarzeń. Układy kombinacyjne mogą być skonstruowane z samych bramek, natomiast układy sekwencyjne wymagają zastosowania pewnego rodzaju pamięci (przerzutników). Zanim wkroczymy w burzliwy świat układów sekwencyjnych, omówimy możliwości układów kombinacyjnych.
Podstawy TC: Układy z wyjściem trójstanowym i z otwartym kolektorem