Serwis Edukacyjny w I-LO w Tarnowie Materiały dla uczniów liceum |
Wyjście Spis treści Wstecz Dalej Autor artykułu: mgr Jerzy Wałaszek |
©2024 mgr Jerzy Wałaszek |
SPIS TREŚCI |
Podrozdziały |
Współczesne komputery cyfrowe (istnieją również analogowe, ale tymi się tutaj nie zajmujemy) zbudowane są z milionów elementów logicznych zwanych bramkami cyfrowymi lub bramkami logicznymi (ang. digital gate). Są to elementy elektroniczne posiadające wejścia oraz wyjście danych:
Na wejścia bramki podajemy napięcia elektryczne, które mogą przyjmować dwa poziomy logiczne (dla układów TTL - Transistor-Transistor-Logic):
poziom 0, L, F | - napięcie w przedziale 0...0,8V |
poziom 1, H, T | - napięcie w przedziale 2...5V |
Poziomy te odpowiadają ściśle wartościom logicznym stosowanym w Algebrze Boole'a. Poziom logiczny 0 jest oznaczany często literką L od Low, czyli niski lub literką F od False, czyli fałsz. Podobnie poziom logiczny 1 jest oznaczany literką H od High, czyli wysoki lub literką T od True, czyli prawda. Wynika z tego, iż w technice cyfrowej bity są reprezentowane poziomami napięć elektrycznych (ta uwaga jest dla tych, którzy myślą, iż w komputerze jest dużo zer i jedynek - dosłownie...).
Na wyjściu bramki również dostajemy napięcie elektryczne mieszczące się w przedziale dla 0 lub 1. Napięcie to jest funkcją logiczną (np. negacją, alternatywą, koniunkcją itp.) realizowaną przez bramkę dla napięć wejściowych. W produkcji są bramki realizujące wszystkie podstawowe funkcje logiczne Algebry Boole'a. Nie będziemy się zajmować budową wewnętrzną bramki logicznej. Składa się ona z odpowiednio połączonych ze sobą elementów elektronicznych zwanych tranzystorami i opornikami. Zrozumienie ich funkcji wymaga dosyć zaawansowanych wiadomości z zakresu elektroniki elementów półprzewodnikowych, zatem darujemy sobie ten dział wiedzy, gdyż w sumie nie będzie nam on potrzebny. Potraktujemy bramkę logiczną jak czarną skrzynkę, na której wejścia podaje się odpowiednie napięcia elektryczne, a na wyjściu otrzymuje się napięcie wynikowe w funkcji napięć wejściowych - takie podejście jest zupełnie wystarczające do projektowania nawet bardzo złożonych sieci cyfrowych. Jednakże bez kilku parametrów się nie obejdzie.
Wyjścia bramek można łączyć z wejściami innych bramek logicznych (samych wyjść nie wolno ze sobą łączyć, ponieważ prowadzi to do zwarcia i w konsekwencji do uszkodzenia bramki) –w ten sposób powstaje sieć logiczna realizująca złożoną funkcję logiczną. Każde wejście bramki dołączone do wyjścia innej bramki pobiera z niej pewien prąd elektryczny. Wyjścia bramek mogą dostarczyć tylko określoną ilość prądu. Wynika z tego, iż do typowego wyjścia można podłączyć ograniczoną ilość wejść innych bramek. Parametr ten nosi nazwę obciążalności wyjścia bramki. Zwykle przyjmuje się go na poziomie 10 (należy sprawdzić w danych producenta) dla zwykłych bramek oraz 30 dla bramek o zwiększonej mocy wyjściowej. ( Nowoczesne układy cyfrowe oparte są na technologii CMOS i pobierają znikomy prąd na wejściu. Dzięki czemu zlikwidowano ograniczenie obciążalności do 10 wejść, teraz tych wejść może być dosłownie setki).
Obciążalności wyjściowej bramki nie należy przekraczać, gdyż może to spowodować niestabilność sieci logicznej (kłopoty z utrzymaniem odpowiedniego poziomu napięcia wyjściowego przez przeciążoną bramkę), a nawet spalenie niektórych jej elementów.
Zapamiętaj:Obciążalność wyjścia bramki logicznej określa ile wejść innych bramek można podłączyć do tego wyjścia. Dla typowych bramek obciążalność wyjścia wynosi 10 dla układów TTL. |
Poziom napięcia wyjściowego bramki jest funkcją logiczną Boole'a poziomu logicznego napięć wejściowych. Napięcie na wyjściu nie zmienia się natychmiast po zmianie poziomu napięć wejściowych, lecz po pewnym czasie - typowo po 10 ns (należy sprawdzić w danych producenta). Jest to spowodowane tym, iż tranzystory wewnątrz bramki muszą się odpowiednio poprzełączać, a to wymaga czasu.
Zapamiętaj:Czas propagacji bramki logicznej określa po jakim czasie od zmiany napięć wejściowych ustali się napięcie na wyjściu. Czas propagacji typowo wynosi 10 ns dla bramek standardowych i 3 ns dla bramek serii szybkiej. Im mniejszy czas propagacji, tym szybciej może pracować bramka. |
Czas propagacji dla sieci logicznej jest sumą czasów propagacji bramek, poprzez które przechodzi kolejno sygnał logiczny. Czasy te zawsze należy brać pod uwagę przy projektowaniu układów logicznych. W przeciwnym razie może wystąpić tzw. zjawisko hazardu.
Więcej na temat bramek logicznych znajdziesz w artykule "Układy cyfrowe".
Na schematach elektronicznych (rysunkach obrazujących sposób połączenia wejść i wyjść bramek logicznych tworzących sieć logiczną) bramki posiadają odpowiednie symbole graficzne. Istnieją odpowiednie normy, które określają jednoznacznie te symbole. My będziemy konsekwentnie stosować normę amerykańską, ponieważ jest bardzo rozpowszechniona w elektronice i bramki wyglądają zgrabnie.
Symbol bramki składa się z wejść, znaku graficznego oraz wyjść:
Wejścia będziemy oznaczać dużymi literami alfabetu A, B, C... Wyjścia będziemy oznaczać małymi literami: x, y, z. Kółeczko na wejściu lub wyjściu bramki oznacza, że dany sygnał jest zanegowany:
Symbole graficzne są następujące:
Symbol | Funkcja |
Tożsamość | |
Alternatywa | |
Koniunkcja |
Z tych trzech symboli podstawowych oraz z symbolu negacji wejścia/wyjścia (kółeczko) buduje się symbole wszystkich bramek logicznych używanych w technice cyfrowej.
W kolejnych podrozdziałach przedstawione są podstawowe bramki logiczne wraz z ich symulacją interaktywną. W symulatorze poziomy sygnałów wejściowych określasz przez klikanie w kwadratowe przyciski. Po kliknięciu przycisk zmienia kolor:
Tymi samymi kolorami oznaczane są również linie sygnałowe. Kolor czarny oznacza stan 0 na linii, kolor czerwony oznacza stan 1. Stan wyjściowy oznaczany jest kółkiem w tych samych kolorach.
Bramka buforowa (ang. buffer gate) stosowana jest zwykle do wzmocnienia sygnału cyfrowego lub do separacji linii sygnałowych. Na wyjściu bramki otrzymujemy ten sam stan logiczny, który panuje na jej wejściu:
A | y = A |
0 | 0 |
1 | 1 |
Symulator |
Bramka NOT (ang. NOT gate) zwana również inwerterem wykonuje negację sygnału wejściowego. Symbol jest podobny do symbolu bufora, jednakże na wejściu lub na wyjściu umieszczone jest kółeczko, które informuje o negacji sygnału:
A | y = NOT(A) |
0 | 1 |
1 | 0 |
Symulator |
Bramka OR (ang. OR gate) realizuje funkcję logiczną alternatywy (lub). Bramka posiada co najmniej dwa wejścia i jedno wyjście. Stan na wyjściu jest alternatywą stanów wejściowych. Na wyjściu panuje stan logiczny 1, jeśli jedno z wejść bramki jest w stanie wysokim 1. Na wyjściu panuje stan niski 0, jeśli wszystkie wejścia bramki są w stanie niskim 0.
A | B | y = OR(A,B) |
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
Symulator |
Bramka AND (ang. AND gate) realizuje funkcję logiczną koniunkcji (i). Bramka posiada co najmniej dwa wejścia i jedno wyjście. Stan na wyjściu jest koniunkcją stanów wejściowych. Na wyjściu panuje stan logiczny 1, jeśli wszystkie wejścia bramki są w stanie wysokim 1. Na wyjściu panuje stan niski 0, jeśli przynajmniej jedno z wejść bramki jest w stanie niskim 0.
A | B | y = AND(A,B) |
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
Symulator |
Bramki OR i AND są produkowane w wersjach 3, 4 i 8 wejściowych (w wydaniach specjalnych liczba wejść może być jeszcze większa). Poniżej umieściłem przykłady bramek trójwejściowych:
Bramka OR |
Bramka AND |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
Do realizacji dowolnej funkcji logicznej potrzebujemy bramki NOT oraz albo bramki AND, albo OR. Wynika to bezpośrednio z praw De Morgana oraz praw algebry Boole'a. Dla przykładu pokażemy, jak z bramek NOT i AND otrzymać funkcję OR. Najpierw zapiszmy to, co chcemy otrzymać:
y = A ∨ B |
Zastosujemy podwójne zaprzeczenie, które nie zmienia wartości logicznej wyrażenia (podobnie jak w arytmetyce podwójny minus):
a = ¬ ¬ a A ∨ B = ¬ ¬ ( A ∨ B ) |
Teraz wykorzystujemy prawo De Morgana: zaprzeczenie alternatywy jest koniunkcją zaprzeczeń:
A ∨ B = ¬ ( ¬ A ∧ ¬ B ) |
Zwróć uwagę, iż wyrażenie po prawej stronie zawiera jedynie negacje i koniunkcję, a zatem da się zrealizować z bramek NOT i AND. Wyrażenie w nawiasie jest koniunkcją zaprzeczeń A i B. Wynik tej koniunkcji jest ponownie zaprzeczony.
Teraz zbudujemy odpowiednią sieć logiczną. Najpierw musimy zaprzeczyć A i B, co zrealizujemy za pomocą bramek NOT:
Wyjścia bramek NOT dają nam zanegowane sygnały A i B, które poddajemy operacji koniunkcji za pomocą bramki AND:
Mamy koniunkcję zaprzeczeń A i B. Pozostaje nam zastosować jeszcze jedną bramkę NOT, aby zaprzeczyć tę koniunkcję i otrzymać w wyniku alternatywę A i B:
Zwróć uwagę na końcowe dwie bramki: AND i NOT. Tworzą one zaprzeczoną koniunkcję (NOT AND = NAND). Powstaje z nich tzw. bramka uniwersalna NAND. Okazuje się, iż z bramek NAND można zbudować każdą sieć logiczną. Bramka NAND wewnętrznie nie składa się z dwóch oddzielnych bramek NOT i AND. Bramki NAND projektuje się, tak aby od razu otrzymać funkcję NAND bez stopni pośrednich AND i NOT, które by zwiększały czas propagacji, czyli czas ustalenia się stanu wyjścia bramki po zmianie stanu jej wejść. Z uwagi na powszechność stosowania bramka NAND posiada swój własny symbol i tabelkę stanów. Na wyjściu bramki NAND otrzymujemy stan niski 0 tylko wtedy, jeśli wszystkie jej wejścia posiadają stan wysoki 1. W przeciwnym razie na wyjściu NAND panuje stan wysoki 1:
A | B | y = NAND(A,B) |
0 | 0 | 1 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
Symulator |
Nasza sieć logiczna bramki OR zbudowanej z bramki NAND wygląda następująco:
Negujemy sygnały wejściowe. Negację otrzymamy podając ten sam sygnał na oba wejścia bramki NAND lub podając sygnał na jedno wejście, a na drugim utrzymując stan wysoki 1:
¬ ( A ∧ A ) = ¬ A | ¬ (1 ∧ A ) = ¬ A |
Zanegowane sygnały łączymy bramką NAND:
Czasem stosuje się do bramki NAND symbol alternatywy z zanegowanymi wejściami:
Równoważność obu symboli wynika bezpośrednio z praw De Morgana.
Bramki NAND mogą posiadać więcej niż dwa wejścia. Przemysł elektroniczny produkuje bramki NAND o 2, 3, 4, 8 i 16 wejściach. Poniżej umieściłem przykładową tabelkę stanów dla bramki 4-wejściowej NAND.
Bramka NAND |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Bramka NOR (ang. NOR gate) realizuje funkcję zaprzeczonej alternatywy (NOT OR = NOR) i jest również bramką uniwersalną, za pomocą której możemy budować dowolne sieci logiczne. W praktyce jest ona jednak mniej popularna od bramki NAND. Symbol graficzny NOR składa się z symbolu alternatywy i kółka na wyjściu symbolizującego negację. Bramka NOR przyjmuje na wyjściu stan wysoki 1 tylko wtedy, gdy wszystkie jej wejścia są w stanie niskim 0.
A | B | y = NOR(A,B) |
0 | 0 | 1 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 0 |
Symulator |
Dla przykładu zbudujmy z bramek NOR sieć logiczną koniunkcji dwóch sygnałów A i B. Najpierw wynik:
y = A ∧ B |
Wykonujemy dwukrotne zaprzeczenie, które nie zmienia wartości logicznej:
y = ¬ ¬ ( A ∧ B ) |
Wykorzystujemy prawo De Morgana: zaprzeczenie koniunkcji jest alternatywą zaprzeczeń:
y = ¬ ( ¬ A ∨ ¬ B ) |
Otrzymaliśmy zaprzeczoną alternatywę, którą zrealizujemy za pomocą bramki NOR. Zaprzeczamy sygnały wejściowe. Można to zrobić bramkami NOR podając na oba wejścia ten sam sygnał lub podając sygnał na jedno wejście, a na drugie podając stan logiczny 0:
¬ ( A ∨ A ) = ¬ A | ¬ (A ∨ 0 ) = ¬ A |
Wyjścia łączymy bramką NOR i otrzymujemy koniunkcję sygnałów A i B:
Czasem stosuje się do bramki NOR symbol koniunkcji z zanegowanymi wejściami:
Równoważność obu symboli wynika bezpośrednio z praw De Morgana.
Bramki NOR produkowane są jako 2, 3, 4 i 8 wejściowe. Poniżej umieściłem przykładową tabelkę stanów dla bramki 4-wejściowej NOR:
Bramka NOR |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
W wielu zastosowaniach elektroniki cyfrowej wykorzystywana jest funkcja wyłącznie-lub (ang. EXclusive-OR). Funkcja EX-OR jest dwuargumentowa. Funkcja przyjmuje wartość logiczną 1 tylko wtedy, gdy dokładnie jeden z jej argumentów ma wartość 1. W przeciwnym razie funkcja ma wartość 0. Poniżej przedstawiamy symbol bramki EX-OR, tabelkę stanów oraz symulację:
A | B | y = EX-OR(A,B) |
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
Symulator |
Funkcję EX-OR nazywamy również różnicą symetryczną lub sumą modulo 2. Funkcję możemy zapisać za pomocą funkcji podstawowych. Wykorzystujemy tutaj fakt, iż wartość logiczną 1 funkcja przyjmuje dla argumentów różnych:
EX-OR(A,B) = ( A ∧ ¬ B ) ∨ ( ¬ A ∧ B ) |
Koniunkcja ( A ∧ ¬ B ) lub ( A ∧ ¬ B ) przyjmuje wartość 1, jeśli argumenty A i B posiadają przeciwne wartości logiczne. Wtedy alternatywa tych koniunkcji przyjmie wartość 1. Jeśli oba argumenty posiadają taką samą wartość logiczną, to obie koniunkcje mają wartość 0, a zatem ich alternatywa również ma wartość zero.
Spróbujmy (dla ćwiczenia) zrealizować funkcję EX-OR za pomocą bramek NAND. Wykonujemy podwójną negację:
EX-OR(A,B) = ¬ ¬ ( ( A ∧ ¬ B ) ∨ ( ¬ A ∧ B ) ) |
Teraz wykorzystujemy prawa De Morgana, aby pozbyć się środkowej alternatywy:
EX-OR(A,B) = ¬ ( ¬ ( A ∧ ¬ B) ∧ ¬ ( ¬ A ∧ B)) |
Zwróć uwagę, iż otrzymaliśmy tutaj same zaprzeczenia oraz funkcje zaprzeczonych koniunkcji. Wszystko da się zrealizować przy pomocy bramek NAND. Najpierw przygotowujemy sygnały A, A, B, B:
Teraz realizujemy funkcje ¬ ( A ∧ ¬ B ) oraz ¬ ( ¬ A ∧ B ):
Na koniec łączymy wyjścia tych bramek ostatnią bramką NAND i na jej wyjściu otrzymujemy funkcję EX-OR:
Produkowane przez przemysł elektroniczny bramki EX-OR nie są wewnętrznie zbudowane z żadnych bramek pośrednich. Układy te realizują wewnętrznie funkcję EX-OR, dzięki czemu są dużo szybsze w działaniu, od sieci zastępczych takich jak powyższa (to było tylko ćwiczenie). Jeśli jesteś zdolny, to spróbuj zbudować układ zastępczy bramki EX-OR z bramek NOR.
A | B | y = EX-NOR(A,B) |
0 | 0 | 1 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
Symulator |
Nazwa | Symbol | Funkcja | Opis |
BUFFER | y = A | Bramka buforowa. | |
NOT | y = ¬ A | Na wyjściu jest negacja stanu wejściowego. | |
OR | y = A ∨ B | Na wyjściu jest stan 1, jeśli jedno z wejść jest w stanie 1. | |
AND | y = A ∧ B | Na wyjściu jest stan 1, jeśli wszystkie wejścia są w stanie 1. | |
NAND |
|
y = ¬ ( A ∧ B ) | Na wyjściu jest stan 0, jeśli wszystkie wejścia są w stanie 1. |
NOR |
|
y = ¬ ( A ∨ B ) | Na wyjściu jest stan 1, jeśli wszystkie wejścia są w stanie 0. |
EX-OR | y = A ⊕ B | Na wyjściu jest stan 1, jeśli oba argumenty mają różne stany logiczne. | |
EX-NOR | y = ¬ ( A ⊕ B ) | Na wyjściu jest stan 1, jeśli oba argumenty mają ten sam stan logiczny. |
Zespół Przedmiotowy Chemii-Fizyki-Informatyki w I Liceum Ogólnokształcącym im. Kazimierza Brodzińskiego w Tarnowie ul. Piłsudskiego 4 ©2024 mgr Jerzy Wałaszek |
Materiały tylko do użytku dydaktycznego. Ich kopiowanie i powielanie jest dozwolone
pod warunkiem podania źródła oraz niepobierania za to pieniędzy.
Pytania proszę przesyłać na adres email:
Serwis wykorzystuje pliki cookies. Jeśli nie chcesz ich otrzymywać, zablokuj je w swojej przeglądarce.
Informacje dodatkowe.