Układy Cyfrowe
Wstęp
Układy cyfrowe to układy operujące na wartościach dyskretnych. Budowane są w oparciu o bramki logiczne realizujące podstawowe operacje logiczne: iloczyn logiczny (AND, NAND), sumę logiczną (OR, NOR), negację NOT i różnicę symetryczną (XOR). Tworzone są układy o logice sekwencyjnej i kombinacyjnej. Początkowo układy cyfrowe były realizowane jako układy mechaniczne, następnie elektromechaniczne, współcześnie tworzone są układy elektroniczne. Złożone układy cyfrowe wykonuje się je w postaci układów scalonych.
Zalety i wady
Zalety układów cyfrowych:
- Możliwość bezstratnego kodowania i przesyłania informacji.
- Uproszczony zapis i przechowywanie informacji cyfrowej.
- Mniejsza wrażliwość na zakłócenia elektryczne.
- Możliwość tworzenia układów programowalnych, których działanie określa program komputerowy (mikroprocesor, koprocesor).
Wady układów cyfrowych:
- Skomplikowanie zarówno na poziomie elektrycznym, jak i logicznym; obecnie ich projektowanie wspomagają komputery.
- Mimo większej odporności na zakłócenia, wykrywanie przekłamań stanów logicznych, np. pojawienie się wartości 0 zamiast spodziewanej 1, wymaga dodatkowych zabezpieczeń choć nie zawsze jest możliwe wykrycie błędu; jeszcze większy problem stanowi ewentualne odtworzenie oryginalnej informacji.
Rodzaje układów cyfrowych
Podział ze względu na sposób przetwarzania informacji:
- Układy kombinacyjne – układy „bez pamięci”, w których sygnały wyjściowe są zawsze takie same dla określonych sygnałów wejściowych.
- Układy sekwencyjne – układy „z pamięcią”, w których stan wyjść zależy nie tylko od aktualnego stanu wejść, ale również od stanów poprzednich.
Ze względu na technologię w jakiej wykonano bramki logiczne:
-
bipolarne:
- TTL (Transistor-Transistor Logic)
- ECL (Emitter Coupled Logic)
- I²L (integrated Injection Logic)
- unipolarne:
- NMOS i PMOS
- CMOS (Complementary MOS)
Istnieją także programowalne układy cyfrowe. W odróżnieniu od programowalnych mikroprocesorów, w ich przypadku programowana jest fizyczna struktura oparta na:
-
matrycach:
- PLA
- PAL
-
komórkach:
- SPLD
- CPLD
- FPGA
Działanie układów cyfrowych
Układy cyfrowe operują na dwóch przedziałach napięć: stan wysoki (oznaczany literą H) i stan niski (oznaczany literą L). Pomiędzy tymi przedziałami jest przerwa, dla której nie ma określonej wartości liczbowej - jeśli napięcie przyjmie wartość z tego przedziału, to stan logiczny jest nieokreślony. Jeśli do napięć wysokich zostanie przyporządkowana logiczna jedynka, a do niskich logiczne zero, to układ pracuje w logice dodatniej (pozytywnej), w przeciwnym razie jest to logika ujemna (negatywna).
Układy cyfrowe zazwyczaj posiadają kilka wejść i wyjść. W zależności od tego jakie stany są na wejściach, otrzymamy różne wartości na wyjściach.
Zastosowanie układów cyfrowych
Układy cyfrowe są wykorzystywane w wielu urządzeniach elektronicznych. Do takich urządzeń należą między innymi:
Kodery
Koder także należy do klasy układów kombinacyjnych. Jest to układ posiadający n wejść oraz k=log2n wyjść (czyli n = 2k). Zamienia on kod "1 z n" na naturalny kod binarny o długości k, czyli służy on do przedstawiania informacji tylko jednego aktywnego wejścia na postać binarną. Ponieważ istnieje fizyczna możliwość aktywacji więcej niż jednego wejścia, musi istnieć możliwość uznania tylko jednego z nich np. poprzez ustalenie priorytetów wejść.
Jeśli na wejście strobujące (blokujące) S (ang. strobe) kodera podane zostanie logiczne zero, to wyjścia ki przyjmują określony stan logiczny (zwykle również zero), niezależny od stanu wejść n. Stosuje się to np. do przekształcania danych z zapisu analogowego na cyfrowy.
Koder priorytetowy to układ kombinacyjny, w którym kodem wejściowym jest kod „x z n” oraz posiada ustalone priorytety poszczególnych wejść.
Dekodery
Dekoder to układ kombinacyjny. Posiada on n wejść oraz k=2n wyjść. Jego działanie polega na zamianie naturalnego kodu binarnego (o długości n), lub każdego innego kodu, na kod „1 z k” (o długości k). Działa odwrotnie do kodera, tzn. zamienia kod binarny na jego reprezentację w postaci tylko jednego wybranego wyjścia. W zależności od ilości wyjść nazywa się go dekoderem 1 z N.
Wejścia | Wyjścia | ||||
---|---|---|---|---|---|
A1 | A2 | D0 | D1 | D2 | D3 |
0 | 0 | 1 | 0 | 0 | 0 |
0 | 1 | 0 | 1 | 0 | 0 |
1 | 0 | 0 | 0 | 1 | 0 |
1 | 1 | 0 | 0 | 0 | 1 |
Multipleksery
Multiplekser (MUX) to układ kombinacyjny, służący do wyboru jednego z kilku dostępnych sygnałów wejściowych i przekazania go na wyjście.
Multiplekser jest układem komutacyjnym (przełączającym), posiadającym k wejść informacyjnych (zwanych też wejściami danych x0, x1, …, xk-1, zazwyczaj jest ich 2n), n wejść adresowych (sterujących a0, a1, …, an-1) i jedno wyjście y. Posiada też wejście sterujące działaniem układu oznaczane jako S (wejście strobujące/zegarowe, ang. strobe) lub e (ang. enable).
Działanie multipleksera polega na przekazaniu wartości jednego z wejść xi na wyjście y. Numer i tego wejścia jest podawany na linie adresowe a0, a1, …, an-1. Jeśli na wejście strobujące (blokujące) S podane zostanie logiczne „0”, to wyjście y przyjmuje określony stan logiczny (zazwyczaj również zero), niezależny od stanu wejść danych X i adresowych A.
S | x0 | x1 | y |
---|---|---|---|
0 | 1 | 1 | 1 |
0 | 1 | ||
0 | 1 | 0 | |
0 | 0 | ||
1 | 1 | 1 | 1 |
0 | 0 | ||
0 | 1 | 1 | |
0 | 0 |
Multiplekser można zbudować także z dekodera o takiej liczbie wejść, ile wejść adresowych posiada dany multiplekser oraz bramek AND. Do jednego wejścia każdej bramki AND należy podłączyć odpowiednie wyjście dekodera, do drugiego – odpowiednią linię wejściową xi. Wyjścia wszystkich bramek AND należy podłączyć do wejść bramki OR.
Demultipleksery
Demultiplekser (w skrócie DEMUX) – układ kombinacyjny, posiadający jedno wejście x, n wejść adresowych (sterujących a0, a1, ..., an-1) oraz k wyjść danych (y0, y1, ..., yk-1, zazwyczaj k=2n), którego działanie polega na przekazaniu sygnału z wejścia x na jedno z wyjść y.
Wyjście, dla danych wejściowych x, jest określane przez podanie jego numeru na linie adresowe a0, a1, ..., an-1 Na pozostałych wyjściach jest ustalany stan zera logicznego. Zazwyczaj spotykane są demultipleksery o wyjściach zanegowanych, czyli na wybranym wyjściu pojawi się stan -x, a na wszystkich pozostałych logiczna „1”. Demultipleksery o wyjściach prostych są znacznie rzadziej stosowane.
Jeśli na wejście strobujące/zegarowe (zegar (generator)) (blokujące, ang. strobe) S podane zostanie logiczne „0”, to wyjścia y przyjmują określony stan logiczny (zwykle zero dla demultiplekserów o wyjściach prostych), niezależny od stanu wejścia x oraz od wejść adresowych A.
Sumatory
Sumator to układ kombinacyjny, który wykonuje operacje dodawania liczb dwójkowych. Sumatory dzielą się na:
- szeregowe (serial adder): podczas każdej operacji dodają one dwa bity składników oraz bit przeniesienia.
- równoległe (parallel adder): wielopozycyjne, dodają do siebie jednocześnie bity ze wszystkich pozycji, a przeniesienie realizowane jest w zależności od sposobu połączenia symulatorów jednobitowych.
Sumatory równoległe podzielone są na dwie grupy:
- z przeniesieniami szeregowymi (ripple-carry adder),
- z przeniesieniami równoległymi (carry-look-ahead adder).
Każdy sumator charakteryzuje się typem ukończenia:
- sumator pełny (full adder)
- sumator półpełny (half adder)
Każdy sumator pełny składa się z dwóch sumatorów półpełnych.
ai | bi | si | ci |
---|---|---|---|
0 | 0 | 0 | 0 |
0 | 1 | 1 | 0 |
1 | 0 | 1 | 0 |
1 | 1 | 0 | 1 |
Symulator układu
Poniższy symulator przedstawia działanie kilku wybranych układów cyfrowych.
Model zapisany w formacie JSON:
Twórcą symulatora układu cyfrowego jest producent oprogramowania Northwoods Software. Wykonany został przy użyciu biblioteki GoJS ich autorstwa. Umożliwia użytkownikowi tworzenie obwodów za pomocą bramek i przewodów, które są aktualizowane za każdym razem, gdy łącze jest modyfikowane.
Link do oficjalnej strony: https://gojs.net/latest/samples/logicCircuit.html
Źródła
- Bity w elektronice , mgr Jerzy Wałaszek, Serwis Edukacyjny w I-LO w Tarnowie, 2021 [dostęp 27.02.2021]
- Układ cyfrowy , Wikipedia, wolna encyklopedia [dostęp 22.02.2021]
- Koder , Wikipedia, wolna encyklopedia [dostęp 23.02.2021]
- Dekoder , Wikipedia, wolna encyklopedia [dostęp 23.02.2021]
- Multiplekser , Wikipedia, wolna encyklopedia [dostęp 24.02.2021]
- Demultiplekser , Wikipedia, wolna encyklopedia [dostęp 25.02.2021]
- Sumator , Wikipedia, wolna encyklopedia [dostęp 25.02.2021]
- Przerzutnik typu RS , Wikipedia, wolna encyklopedia [dostęp 26.02.2021]