Podstawy elektroniki cyfrowej
Wstęp
1. Tranzystor MOS
2. Matematyczne podstawy elektroniki cyfrowej
2.1. Podstawy logiki matematycznej
2.2. Podstawowe prawa logiki matematycznej
2.3. Tworzenie formuł zdaniowych oraz ich minimalizacja
2.4. System binarny
3. Podstawy elektroniki cyfrowej
3.1. Idea układów cyfrowych
3.2. Przykłady układów cyfrowych
3.3. Projektowanie układów cyfrowych
4. Bramki logiczne CMOS
4.1. Inwerter
4.2. Bramki logiczne CMOS
4.3. Projekt sumatora jednobitowego dokończenie
Podsumowanie
Bibliografia
Komputery w przyszłości nie będą ważyć dużo więcej
niż półtorej tony.
Popular Mechanics , 1949
Wstęp
W module tym poznasz najważniejszy z punktu widzenia informatyki dział elek-
troniki, a mianowicie elektronikę cyfrową. To bardzo ciekawy dział i przynajm-
niej dla mnie najprostszy. Myślę, że i tobie jako informatykowi elektronika
cyfrowa przypadnie do gustu. Jest to niewątpliwie najważniejszy moduł tego kur-
su i stanowi jego serce . Informacje zawarte w tym module będą niezbędne do
wykonania projektu układu scalonego. Zanim jednak przejdziemy do szczegółów,
poznamy najważniejszy z punktu widzenia mikroelektroniki przyrząd, a mianowi-
cie tranzystor MOS. Następnie krótko przypomnimy elementy logiki matematycz-
nej oraz matematyki dyskretnej, ponieważ elektronika cyfrowa ma swoje korzenie
właśnie w matematyce. Po poznaniu tych dwóch elementów przystąpimy do sedna
budowy układów elektroniki cyfrowej. Bardzo dużo pracy przed nami, ale mam
nadzieje, że będzie ona dla ciebie równie ciekawa i pasjonująca jak i dla mnie!
2
1. Tranzystor MOS
Tranzystor MOS jest najważniejszym elementem z punktu widzenia mikroelektroni-
ki. Należy on do grupy tranzystorów unipolarnych. Posiada cztery elektrody: zródło,
dren, bramkę i podłoże. Rezystancja wyjściowa jest, tak jak w każdy tranzystorze uni-
polarnym, między elektrodami zródła i drenu. Sterowny jest napięciem bramka pod-
łoże. Działa on w bardzo prosty sposób po przyłożeniu napięcia bramka podłoże
między elektrodami zródła i drenu wytwarza się odpowiednia rezystancja.
We współczesnej mikroelektronice najczęściej stosowany jest tranzystor MOS z tzw. ka-
nałem wzbogaconym to właśnie jego działanie zostanie omówione w tym module.
Wyróżniamy dwa typy tranzystorów MOS:
z kanałem typu N,
z kanałem typu P.
Przyjrzyjmy się tranzystorowi MOS z kanałem typu N. Otóż, jeśli napięcie bram-
ka podłoże jest równe zero, tranzystor jest w stanie wyłączonym, posiada bardzo
dużą rezystancję między zródłem a drenem. Kiedy zwiększamy napięcie, rezystan-
cja zaczyna maleć. Od pewnej wartości napięcia spadek ten jest bardzo gwałtowny
napięcie, przy którym się to dzieje nazywamy napięciem progowym. Dla napię-
cia wyższego niż progowe wyjściowa rezystancja jest już bardzo mała, tranzystor
jest otwarty i bez przeszkód przewodzi prąd. Oczywiście wzrost napięcia powyżej
napięcia progowego powoduje dalsze zmniejszanie rezystancji wyjściowej i jeszcze
lepsze przewodzenie tranzystora.
Dla tranzystora MOS z kanałem typu N można wykreślić charakterystyki. No wła-
śnie, charakterystyki, a nie charakterystykę jak w przypadku diody. Czemu? Po-
nieważ w diodzie możesz jedynie zmieniać napięcie między anodą i katodą i mie-
rzyć prąd. W tranzystorze MOS możesz zmieniać już dwa napięcia: zródło dren
oraz bramka podłoże i mierzyć dwa prądy. My jednak skupimy się na jednej, naj-
ważniejszej dla nas charakterystyce, nazwanej charakterystyką przejściową (rys.
1). Przedstawia ona zależność prądu drenu od napięcia bramka podłoże. Jak się ją
wykonuje? Otóż przykłada się jakieś stałe napięcie dren zródło, a zmienia się na-
pięcie bramka podłoże, mierząc równocześnie prąd płynący na wyjściu, czyli prąd
płynący przez elektrody drenu i zródła (rys. 2).
Rysunek 1
Charakterystyki przejściowe
tranzystorów MOS
z kanałem wzbogaconym
3
Zastanów się i spróbuj wytłumaczyć, czemu ta charakterystyka tak
właśnie wygląda. Pamiętaj, że dla napięć bramka podłoże od zera
do napięcia progowego rezystancja jest duża, a potem drastycznie
spada. Ponadto z prawa Ohma wynika, że jeśli napięcie jest stałe,
a zmienia się rezystancja, to musi zmieniać się również prąd.
Tranzystor z kanałem typu P działa identycznie jak z kanałem N. Je-
dyna różnica polega na tym, że tranzystor ten włącza się napięciem
ujemnym, czyli gdy napięcie bramka podłoże jest równe zero, re-
zystancja wyjściowa jest bardzo duża, a więc prąd drenu jest bliski
zeru. Natomiast gdy napięcie bramka podłoże zaczyna spadać po-
niżej 0 V, rezystancja również zaczyna spadać, a po przekroczeniu
pewnego napięcia progowego spada drastycznie (rys. 1).
Reasumując, tranzystor MOS z kanałem wzbogaconym działa na-
Rysunek 2
stępująco: kiedy napięcie bramka podłoże jest równe 0 V, tranzystor na wyjściu
Sposób otrzymania
ma bardzo dużą rezystancję. Zatem gdy przyłożysz napięcie zródło dren prąd bę-
charakterystyki przejściowej
dzie bliski zeru. W tranzystorze z kanałem typu N włączenie następuje po poda-
tranzystora MOS
niu dodatniego napięcia bramka podłoże, większego od napięcia progowego. Na-
tomiast w tranzystorze z kanałem typu P włączenie następuje po podaniu ujem-
nego napięcia, mniejszego od napięcia progowego. Włącznie tranzystora oznacza,
że rezystancja wyjściowa jest bardzo mała i po przyłożeniu napięcia dren zródło
prąd może swobodnie płynąć. Symbole tranzystorów MOS zostały przedstawione
na rysunku 3.
Rysunek 3
Symbole tranzystorów MOS
PrzyglÄ…dajÄ…c siÄ™ przedstawionym symbolom na pewno od razu zapytasz, co siÄ™ sta-
ło z elektrodą podłoża, czemu jej nie ma? W praktyce w tranzystorach z kanałem
typu N jest ona podłączona do masy układu, a więc potencjału zerowego, nato-
miast w tranzystorach z kanałem typu P jest podłączona do zasilania, a więc po-
tencjału dodatniego. W tranzystorze z kanałem typu N sprawa jest oczywista, po-
nieważ gdy na bramkę podamy zerowy potencjał, to napięcie bramka podłoże jest
również równe 0 V, a więc tranzystor nie przewodzi. Gdy podamy potencjał dodat-
ni, to napięcie bramka podłoże będzie dodatnie i tranzystor będzie przewodził.
Natomiast w tranzystorze z kanałem typu P musimy jakoś wytworzyć napięcie
ujemne z dodatniego. Układ cyfrowy jest najczęściej zasilany stałym napięciem do-
datnim i napięcie ujemne trzeba wytworzyć sztucznie. Jeśli elektroda podłoża jest
podłączona do napięcia zasilania i na bramkę podamy potencjał zerowy, to oka-
zuje się, że napięcie bramka podłoże jest ujemne (zero minus dodatni potencjał
daje ujemne napięcie), a więc tranzystor jest włączony. Gdy natomiast potencjał na
4
bramce będzie równy zasilaniu, to napięcie bramka podłoże będzie równe zero,
a więc tranzystor będzie wyłączony czyli odwrotnie jak przy kanale N. Tutaj
przy zerze na bramce tranzystor przewodzi, a przy dodatnim potencjale nie. I, jak
zobaczysz, stanowi to sedno działania wszystkich układów cyfrowych.
W związku z tranzystorami MOS chciałbym poruszyć jeszcze dwie istotne kwestie.
Po pierwsze, rezystancja wejściowa, czyli rezystancja między bramką a podłożem,
jest ogromna, tak więc prąd przez elektrodę bramki nie płynie. Drugim bardzo
ważnym faktem jest to, że wartość napięcia sterującego (bramka podłoże) jest z ta-
kiego samego zakresu jak napięcia na wyjściu (dren zródło). Jak przekonasz się już
niedługo, fakty te będą miały ogromne znaczenie w układach cyfrowych.
Na koniec chciałbym krótko powiedzieć o tranzystorach MOS z kanałem zubożo-
nym. Nie będziemy z nich korzystać, ale dobrze, żebyś wiedział czym różnią się one
od pozostałych typów tranzystorów. Podstawowa różnica jest taka, że tranzystory
te przewodzą przy zerowym napięciu sterującym (bramka podłoże). Jakie są tego
konsekwencje? Wezmy tranzystor z kanałem typu N żeby go wyłączyć, trzeba
podać napięcie ujemne, natomiast aby go bardziej otworzyć dodatnie, analogicz-
nie dla tranzystora z kanałem typu P. Sterowanie tymi tranzystorami nie jest łatwe,
ponieważ trzeba zmieniać napięcia sterujące od ujemnych do dodatnich, a to jest
skomplikowane z praktycznego punktu widzenia. Na rysunku 4 przedstawiona zo-
stała charakterystyka przejściowa tranzystora MOS z kanałem zubożonym, którą
porównaj z charakterystyką tranzystora z kanałem wzbogaconym (rys. 1).
Rysunek 4
Charakterystyka przejściowa
tranzystora z kanałem
zubożonym
5
2. Matematyczne podstawy
elektroniki cyfrowej
Do tej pory poznałeś najważniejsze pojęcia związane z elektrycznością i podstawo-
we elementy stosowane w elektronice. Za ich pomocą tworzyłeś nawet proste ukła-
dy elektroniczne. I to jest już wystarczająca wiedza z dziedziny elektroniki, aby
zacząć mówić o tym, co nas najbardziej interesuje, a więc o układach elektroniki
cyfrowej. Jednak do pełni szczęścia brakuje nam jeszcze wiedzy z... matematyki.
Elektronika cyfrowa jak już sama nazwa wskazuje opiera się bardzo mocno
na matematyce (oczywiście nie na całej matematyce, tylko na jednym z jej działów,
a mianowicie logice matematycznej). Zanim zaczniemy budować układy cyfrowe,
musimy przypomnieć sobie potrzebne elementy logiki matematycznej, a następnie
wykazać ich związek z elektroniką.
2.1. Podstawy logiki matematycznej
Logika matematyczna opiera się na przypisaniu dowolnemu zdaniu jednego z dwóch
stanów, a mianowicie prawdy lub fałszu. Dla naszej wygody oznaczmy prawdę jako
1, a fałsz jako 0. Logika zajmuje się wyłącznie zadaniami, którym można przypisać
taką wartość, np.:
1. Warszawa leży nad Wisłą.
2. Leonardo da Vinci odkrył Amerykę.
3. Britney Spears jest Å‚adnÄ… kobietÄ….
Zadanie 1 jest oczywiście prawdziwe, a jego wartość logiczna wynosi 1. Zdanie 2
jest fałszywe, a więc ma wartość 0. Natomiast wartości zdania 3 nie można stwier-
dzić, ponieważ niektórym Britney Spears podoba się, a innym nie. Logika nie zaj-
muje się zdaniami, których wartości nie można ocenić.
Na zdaniach można wykonywać operacje logiczne np. łączyć je ze sobą. Naj-
prostszą operacją jest negacja, która zmienia wartość logiczną zadania na przeciw-
ną, a więc z prawdziwego robi nieprawdziwe, natomiast z nieprawdziwego praw-
dziwe, np.:
1. Warszawa nie leży nad Wisłą.
2. Leonardo da Vinci nie odkrył Ameryki.
Często dla zdań tworzy się tzw. tabele prawdy, mówiąca o tym jaka jest wartość lo-
giczna przed operacjÄ… i po niej. Dla negacji tabela prawdy jest bardzo prosta:
p ~p
0 1
1 0
Jak taką tabelkę odczytywać? Jeśli np. wezmiesz zdanie o wartości logicznej rów-
niej 0 i zanegujesz je, to zanegowane zadanie będzie miało wartość logiczną 1, czy-
6
li, mówiąc inaczej, jeśli było nieprawdziwe, to po zanegowaniu będzie prawdzi-
we. Negację oznacza się najczęściej symbolem tyldy (~) i często nazywa operacją
NOT.
Jak już wspomniałem, zdania można ze sobą łączyć i to za pomocą różnych spój-
ników, np.:
1. Warszawa leży nad Wisła i Leonardo da Vinci odkrył Amerykę.
2. Warszawa nie leży nad Wisła lub Leonardo da Vinci nie odkrył Ameryki.
Oczywiście zdania takie nie zawsze są zrozumiałe, lecz my w tej chwili nie będzie-
my zajmować się ich sensem logicznym. Zastanówmy się nad prawdziwością po-
wyższych zdań. Pierwsze zadanie składa się z dwóch części pierwszej prawdzi-
wej, drugiej fałszywej połączonych spójnikiem i . Intuicyjnie czujesz, że spój-
nik i oznacza, że zadanie będzie poprawne, gdy pierwszy i drugi człon będzie
prawdziwy, a w pozostałych przypadkach zadanie będzie fałszywe. I słusznie, po-
nieważ tak właśnie będzie! Operacja połączenia zdań spójnikiem i nazywana jest
koniunkcjÄ… (iloczynem) zdaÅ„ i oznaczana jest najczęściej symbolem mnożenia (·).
Często będziemy również nazywali ją operacją AND. Tabela prawdy dla tej opera-
cji jest następująca:
p q p · q
0 0 0
0 1 0
1 0 0
1 1 1
Jak tę tabelkę rozumieć? Otóż, jeśli wezmiesz dwa zdania oznaczone jako p i q,
z których np. p prawdziwe, a q nieprawdziwe, to po połączeniu spójnikiem i
otrzymasz zdanie p · q, które bÄ™dzie nieprawdziwe.
W przypadku spójnika lub wystarczy, aby choć jeden z członów był prawdziwy
i całe zdanie będzie prawdziwe. Tak więc podane powyżej zdanie 2 jest oczywi-
ście prawdziwe. Operacja połączenia zdań spójnikiem lub nazywa się alternatywą
(sumą) zdań i oznacza się ją najczęściej symbolem dodawania (+). Operację tę często
będziemy również nazywali OR. Tabela prawdy dla tej operacji jest następująca:
p q p + q
0 0 0
0 1 1
1 0 1
1 1 1
Operacji logicznego łączenia można oczywiście wymyślać wiele, np.:
p q p " q
p q p 8ð q
0 0 0
0 0 1
0 1 1
0 1 1
1 0 1
1 0 1
1 1 0
1 1 0
Pierwsza z tych operacji to tzw. NAND jest to dokładnie odwrócony AND. Na-
tomiast druga tabela to tzw. XOR, czyli kontrola parzystości. Operacje te podałem
nieprzypadkowo proponuje je zapamiętać, ponieważ wrócimy do nich.
7
Póki co wykonywaliśmy operację łączenia dwóch zdań jednym spójnikiem, lecz nic
nie stoi na przeszkodzie, aby połączyć większą liczbę zadań i to różnymi spójnika-
mi, np.: Warszawa leży nad Wisłą lub Leonardo da Vinci odkrył Amerykę i PUW
to nie jest skrót od Polski Uniwersytet Wirtualny.
Czy to zdanie jest poprawne? Gdyby zapisać je w postaci symbolicznej, wygląda-
łoby ono następująco:
p + q · ~r
Najpierw należy ustalić kolejność wykonywania operacji. Naturalnie, tak jak przy
działaniach arytmetycznych, najpierw wykonuje się funkcję negacji, następnie ilo-
czyn, a na koniec sumę logiczną. Zatem zdanie r PUW to jest skrót od Polski
Uniwersytet Wirtualny jest prawdziwe, a jego zaprzeczenie ~r nieprawdziwe.
Następnie zadanie q Leonardo da Vinci odkrył Amerykę jest nieprawdziwe,
czyli iloczyn dwóch zadań nieprawdziwych jest nieprawdziwy. Na koniec wyko-
nujemy sumę. Zdanie p Warszawa leży nad Wisła jest prawdziwe, suma zda-
nia prawdziwego i nieprawdziwego jest prawdziwa. Ostatecznie powyższe zdanie,
choć nie ma większego sensu językowego, to w świetle praw logiki matematycznej
jest prawdziwe.
W ten sposób doszliśmy do najważniejszego dla nas pojęcia, a mianowicie formuły
logicznej, czyli zadania zbudowanego z wielu zdań, których wartość logiczną po-
trafimy określić, połączonych różnymi spójnikami. Z takich formuł będziesz ko-
rzystał już do końca kursu, będziesz je tworzył, a następnie implementował w ukła-
dzie scalonym. Ale zanim do tego dojdziemy, musimy dowiedzieć się, jakie najważ-
niejsze prawa rządzą tymi formułami i jak się je tworzy.
2.2. Podstawowe prawa logiki matematycznej
Istnieje ogromna liczba praw logiki matematycznej. Chciałbym jednak przedstawić
tylko te najważniejsze, z których będziemy korzystać, resztę można znalezć w lite-
raturze. W poniższych prawach symbol Ô! oznacza równoważność, tzn. to, co stoi
po lewej stronie symbolu jest równoważnego temu, co po prawej.
Prawo podwójnego przeczenia:
~(~p) Ô! p
Własności wartości stałych:
p · 1 Ô! p p · 0 Ô! 0
p + 1 Ô! 1 p + 0 Ô! p
~0 Ô! 1 ~1 Ô! 0
Prawa idempotentności:
p + p Ô! p p · p Ô! p
Prawo wyłączonego środka:
p + ~p Ô! 1
8
Prawo sprzeczności:
p · ~p Ô! 0
Prawa rozdzielności:
p + (q · r) Ô! (p + q) · (p + r)
p · (q + r) Ô! (p · q) + (p · r)
Prawa de Morgana:
~(p + q) Ô! ~p · ~q
~(p · q) Ô! ~p + ~q
Zapewne zastanawiasz się, skąd biorą się te prawa. Otóż większość z nich jest dość
intuicyjna, np. jeśli dwa razy zaprzeczysz jakiemuś zadaniu, to otrzymasz to zda-
nie, a przy prawach z wartościami stałymi wystarczy spojrzeć na tabelkę prawdy i już
wszystko wiadomo. Natomiast nie zawsze od razu widać, skąd się to prawo wzięło
i czy jest poprawne. Wówczas niezawodną, choć żmudną metodą jest sprawdzenie
wszystkich możliwości czy wartości po lewej i po prawej stronie się zgadzają.
Pokaże tę metodę na przekładzie prawa wyłączonego środka:
p ~p p + ~p
0 1 1
1 0 1
Jak widać, nieważne, czy wezmiemy zdanie p prawdziwe czy nie p + ~p jest za-
wsze prawdziwe.
Znamy już najważniejsze prawa logiki matematycznej, przejdzmy więc do tworze-
nia formuł zdaniowych oraz ich minimalizacji.
2.3. Tworzenie formuł zdaniowych oraz ich minimalizacja
Wspomniałem wcześniej tylko o trzech operacjach logicznych: NOT, AND i OR.
Okazuje się, że jest to tzw. układ zupełny, tzn. każdą funkcję logiczną czy formułę
zdaniową można zapisać za pomocą właśnie tych trzech operacji. Przykładem może
być np. podana funkcja XOR można ją zapisać za pomocą NOT, AND, OR na-
stępująco:
p " q Ô! p · (~q) + (~p) · q.
W ramach ćwiczeń sprawdz, że tak właśnie jest. Na pewno powiesz, że to prosty
przykład, nietrudno było to wydedukować na podstawie powyższych praw i tabel
prawdy. ale jeśli wymyślę sobie jakąś operację p ? q o tabeli prawdy:
9
p q p ? q
0 0 1
0 1 0
1 0 1
1 1 0
to jak ją zapisać za pomocy tych trzech operacji?
Nic prostszego! Oto sposób:
1. Patrzysz, gdzie wynikiem operacji jest prawda, czyli 1. W naszym przypadku jest
to pierwsza i trzecia lin3ka.
2. Następnie patrzysz kolejno na te lin3ki i sprawdzasz, czy p i q było w nich praw-
dą, czy nie. Jeśli było prawdą, to zapisujesz to zdanie bez zmian, jeśli niepraw-
dą negujesz je. Następnie zapisujesz wszystko w postaci iloczynu. W naszym
przypadku mamy: dla pierwszej lin3ki: p jest 0, q jest 0, a wiÄ™c: (~p) · (~q); dla
trzeciej lin3ki: p jest 1, q jest 0, a wiÄ™c: p · (~q).
3. Uzyskane w ten sposób iloczyny sumujesz i otrzymujesz poszukiwaną formułę.
W naszym przypadku ostatecznie otrzymujemy: p ? q Ô! (~p) · (~q) + p · (~q).
Musisz obiektywnie przyznać, że to prosty sposób. Koniecznie sprawdz, czy uzy-
skana formuła jest prawidłowa i czy zgadza się z powyższą tabelą prawdy!
Oczywiście mieliśmy tutaj tylko dwa zdania składowe: p i q, a co zrobić, gdy zdań
jest więcej, np. cztery? To samo! Oto przykład wymyślonej, całkowicie przypadko-
wej tabeli prawdy dla czterech zdań: p, q, r, s:
p q r s Wynik
0 0 0 0 0
0 0 0 1 1
0 0 1 0 0
0 0 1 1 0
0 1 0 0 1
0 1 0 1 1
0 1 1 0 0
0 1 1 1 0
1 0 0 0 0
1 0 0 1 0
1 0 1 0 1
1 0 1 1 0
1 1 0 0 1
1 1 0 1 1
1 1 1 0 1
1 1 1 1 1
Wygląda groznie, ale to tylko pozory. Stosując opisany już algorytm, uzyskujemy
następującą formułę:
(~p) · (~q) · (~r) · s + (~p) · q · (~r) · (~s) + (~p) · q · (~r) · s + p · (~q) · r · (~s)
+ p · q · (~r) · (~s) + p · q · (~r) · s + p · q · r · (~s) +p · q · r · s.
Sprawdz, czy jest ona poprawna! Jeśli się nie pomyliłem, to jest. Zapewne zastana-
wiasz się, czy nie dałoby się jej uprościć. I w ten sposób dochodzimy do drugiego
ważnego zagadnienia tego podtematu. Potrafimy już stworzyć dowolną, nawet naj-
10
bardziej wymyślną formułę zdaniową, ale nadal nie wiemy, czy jest ona najprost-
sza. To bardzo ważne zagadnienie! Redukcja choć jednego składnika (a co dopiero
połowy) w tej formule, to nie tylko prostsze wyrażenie, ale i w momencie im-
plementacji formuły do układu scalonego ogromna oszczędność elementów, co
się dalej przekłada na szybkość działania układu oraz jego koszt. A każdy przecież
chce mieć jak najtańszy i jak najszybszy procesor.
Wezmy drugi i trzeci składnik sumy:
(~p) · q · (~r) · (~s) + (~p) · q · (~r) · s.
Korzystając z prawa rozdzielności, otrzymujemy:
(~p) · q · (~r) · (s + ~s).
A teraz korzystając z prawa wyłączonego środka, otrzymujemy:
(~p) · q · (~r) · 1.
I na mocy własności stałych:
(~p) · q · (~r),
czyli ostatecznie:
(~p) · q · (~r) · (~s) + (~p) · q · (~r) · s Ô! (~p) · q · (~r).
A więc nie dość, że udało się zredukować jeden składnik sumy, to jeszcze czynnik
w iloczynie. Ale to nie wszystko! Przyjrzyjmy się teraz ostatnim czterem składni-
kom sumy. Stosując kolejno prawa rozdzielności, wyłączonego środka i własności
stałych, otrzymujemy:
p · q · (~r) · (~s) + p · q · (~r) · s + p · q · r · (~s) +p · q · r · s Ô! p · q · (~r) · (~s + s)
+ p · q · r · (~s + s) Ô! p · q · (~r) + p · q · r Ô! p · q · (~r + r) Ô! p · q.
Musisz przyznać, że zredukowanie czterech składników do jednego iloczynu to
już ogromna oszczędność! Nasza formuła zadaniowa mieści się już w jednej lin3ce
i nadal realizuje to, co chcemy:
(~p) · (~q) · (~r) · s + (~p) · q · (~r) + p · (~q) · r · (~s) + p · q.
Ogromne uproszczenie! A może da się ją jeszcze bardziej uprościć? Ja nie widzę
już więcej możliwości, ale mogę się mylić. Trzeba się teraz zastanowić, czy istnie-
je jakaś algorytmiczna metoda upraszczania taka, żeby nawet osoba mało
spostrzegawcza mogła uzyskać jak najprostszą formułę zdaniową. Oczywiście, że
istnieje i to nie jedna. Nikt raczej nie bawi się w ręczną minimalizację formuł
są do tego specjalne programy. Trudno byłoby ręcznie minimalizować formu-
łę składającą się nawet z 8 zdań (a to oznacza kilkadziesiąt składników w sumie!),
a w normalnych projektach mikroelektronicznych tych zdań może być nawet kilka-
dziesiąt (co daje nawet kilkaset tysięcy składników w sumie).
Warto jednak znać również ręczne metody minimalizacji prostych formuł. Jedną
z takich metod jest tzw. siatka Karnaugh. Polega ona w wypełnieniu pewnej tabelki
(siatki) i graficznym sklejaniu sąsiadujących ze sobą pól z jedynkami. Dzięki naszej
spostrzegawczości zminimalizowaliśmy powyżej formułę zdaniową. Wykonajmy
11
teraz jej minimalizację, posługując się algorytmem. W szczegółach dla czterozda-
niowej formuły wygląda to następująco:
1. Tworzysz tabelkę o wymiarach 4 na 4 (gdyby zdań tworzących formułę było 5,
to tabelka miałaby wymiar 8 na 4, dla 6 8 na 8 itd.):
2. Wybierasz dwa zdania i umieszczasz je w poziomie, dwa pozostałe w pionie.
Etykiety poszczególnych kolumn wypełniasz w pionie i poziomie tzw. kodem
Graya (00, 01, 11, 10):
3. Wybierasz pole, które chcesz wypełnić. Patrzysz, jakie są wartości zdań p, q, r
oraz s, odszukujesz takÄ… kombinacjÄ™ w tabeli prawdy i wpisujesz jÄ… w to pole.
W naszym przypadku wypełnimy np. pole leżące na przecięciu trzeciego wiersza
i drugiej kolumny. Dla tego pola p = 0, q = 1, r = 1, s = 1. formuła zdaniowa
dla tych wartości jest nieprawdziwa, a więc w to pole wpisujemy 0. I tak wypeł-
niamy całą tabelkę.
4. Minimalizujemy, a więc sklejamy sąsiadujące jedynki. Sklejamy wyłącznie pola,
w których jedynki są sklejone całymi ścianami lub znajdują się po przeciwległych
stronach tabeli. Sklejamy wszystko co siÄ™ da!
12
5. Na koniec pozostaje zapisanie wyniku. Wynik jest zapisywany w postaci sumy
pewnych iloczynów. Kolejne iloczyny tworzymy według zasady: jeśli jedynka
nie jest sklejona z żadną inną jedynką, to wpisujemy do sumy podobnie jak
poprzednio iloczyn, tzn. patrzymy, czy przy zdaniach jest zero, czy jedynka
i wpisujemy z negacją lub nie. Jeśli jedynki są sklejone, patrzymy, które zdanie
(zdania) powtarza się w sklejeniu z różnymi wartościami (!) i eliminujemy je, za-
pisując wyłącznie te, których wartość w takim sklejeniu jest stała.
A więc nasza spostrzegawczość zawiodła! Jak widzisz, formułę można było jeszcze
bardziej zminimalizować.
Na koniec chciałbym powiedzieć o jeszcze jednej bardzo praktycznej rzeczy. Na po-
czątku wspomniałem o tym, iż spójniki zdaniowe NOT, AND i OR tworzą układ
zupełny, czyli, że za ich pomocą można wygenerować dowolną formułę zdaniową.
Okazuje się, że podobny układ tworzy sam NAND. A więc za pomocą tego jednego
spójnika można wygenerować każdą formułę zdaniową. Brzmi nieprawdopodob-
nie, ale tak jest. Spróbuj samodzielnie to uzasadnić. Czemu o tym mówię? Otóż
w praktyce właśnie najczęściej za pomocą spójnika NAND realizuje się formuły
zdaniowe. Jednak z punktu widzenia dydaktycznego łatwiej i przejrzyściej tworzyć
ją w oparciu o NOT, AND i OR i my tak będziemy postępować (choć tam, gdzie
będzie to możliwe, pokażę jak realizować to za pomocą spójnika NAND).
2.4. System binarny
Ostatnią rzeczą, o której należy wspomnieć, aby mówić o elektronice cyfrowej, jest
dwójkowy system liczenia.
Każdą liczbę w systemie dziesiątkowym można zapisać następująco:
an ×Ä…10n +Ä… an-Ä…1 ×Ä…10n-Ä…1 +Ä… KÄ… +Ä… a2 ×Ä…102 +Ä… a1 ×Ä…101 +Ä… a0 ×Ä…100,
gdzie a1, ..., a to kolejne cyfry (z zakresu od 0 do 9) liczby, a 10 to podstawa sys-
n
temu, na przykład:
357 =Ä… 3×Ä…102 +Ä… 5×Ä…101 +Ä… 7 ×Ä…100.
13
Uogólniając, podstawą może być dowolna liczba naturalna większa bądz równa 1,
natomiast cyfry są z zakresu od 0 do (podstawa 1). Czemu więc nie wziąć naj-
mniejszej możliwej podstawy, a więc 2? Wówczas cyframi w liczbie mogą być 0
lub 1. Zatem liczbę zapisuje się w postaci ciągu 0 i 1, np.: 10011(2) (ta mała dwójka
w nawiasie oznacza, że liczba jest zapisana w systemie dwójkowym) i przedstawia
w systemie dziesiątkowym następująco:
10011(Ä…2)Ä… =Ä… 1×Ä… 24 +Ä… 0 ×Ä… 23 +Ä… 0 ×Ä… 22 +Ä… 1×Ä… 21 +Ä… 1×Ä… 20 =Ä… 16 +Ä… 2 +Ä… 1 =Ä… 19.
Zamiana w drugą stronę jest też bardzo prosta, ponieważ każdą liczbę zapisaną
w systemie dziesiątkowym można zapisać dwójkowo, np.:
27 =Ä… 11011(Ä…2)Ä…..
I oto cała wiedza matematyczna, potrzebna do zrozumienia podstaw elektroniki
cyfrowej. Zalecam, abyś wykonał wszystkie zaproponowane powyżej ćwiczenia
oraz dołączone zadania, gdyż przedstawioną tu wiedzę będziemy w dalszej części
kursu dość mocno eksploatować i musisz się nią biegle posługiwać.
14
3. Podstawy elektroniki cyfrowej
Posiadasz już wystarczającą wiedzę, aby zająć się elementami elektroniki cyfrowej.
I temu właśnie poświęcimy niniejszy temat. Dowiesz się z niego, co to są układy
cyfrowe i do czego służą. Następnie poznasz zasady ich budowy, a na koniec zoba-
czysz, jak budować je za pomocą poznanych elementów elektronicznych. Myślę, że
to najważniejszy temat całego kursu, ale jednocześnie najciekawszy.
3.1. Idea układów cyfrowych
Najpierw odpowiedzmy sobie na pytanie, co to są właściwie układy cyfrowe i cze-
mu są takie ważne. Najprościej mówiąc, są to układy przetwarzające sygnały cyfro-
we (na wejściu i na wyjściu układu mamy sygnały cyfrowe rys. 5).
Pozostaje wyjaśnić tylko kwestię, co to jest sygnały cyfrowy. Otóż jest to najczę-
ściej napięcie, które przyjmuje tylko dwie wybrane wartości zero albo napięcie
zasilania (rys. 6). Na każde z wejść układu podawane jest zero albo napięcie zasila-
Rysunek 5
nia, układ ten przetwarza sygnał i na wyjściu również otrzymujemy sygnał cyfro-
Idea układy cyfrowego
wy, czyli każde z wyjść jest ustawione na zero bądz na napięcie zasilania. W ukła-
dach analogowych, np. w dzielniku napięciowym, podawane napięcie było z jakie-
goś zakresu i każda wartość z tego zakresu była przetworzona, natomiast w ukła-
dach cyfrowych wyróżnione są tylko i wyłącznie dwa stany i żadne inne nie są
przyjmowane.
Chyba dość dobrze widoczna jest w tym momencie analogia do logiki matema-
tycznej. Tam również były dwa stany: prawa i fałsz (oznaczane jako 0 i 1) i każde
ze zdań mogło przyjmować jeden z nich. W układach cyfrowych również mamy
dwa stany: wysokiego i niskiego napięcia (również oznaczane 0 i 1) i każde z wejść
i wyjść układu może jeden z tych dwóch stanów przyjąć.
Ostatnią kwestią wymagającą wyjaśnienia jest interpretacja tych zerojedynkowych
Rysunek 6
sygnałów. Pod koniec poprzedniego tematu pokazałem, że każdą liczbę można za-
Sygnał cyfrowy
pisać w postaci dwójkowej. Skoro tak, to wejścia i wyjścia układu można potrakto-
wać po prostu jako liczby. Tak więc można powiedzieć, że na wejście podaje się ja-
kąś liczbę i na wyjściu jakąś liczbę otrzymuje się. Oczywiście interpretacja jest do-
wolna, co zresztą za chwilę pokażę na kilku przykładach układów cyfrowych.
3.2. Przykłady układów cyfrowych
Chciałbym teraz przedstawić przykłady układów cyfrowych, które pozwolą ci le-
piej zrozumieć przedstawioną powyżej ideę oraz samemu odpowiedzieć na pytanie,
czemu te układy są tak ważne.
Pierwszym przykładem będzie tzw. dekoder temperaturowy. Działa on następują-
co: na wejście układu podaj się pewną liczbę zapisaną w postaci dwójkowej i w za-
15
leżności od tej liczby ustawiane jest wyjście o odpowiednim numerze, czyli mó-
wiąc precyzyjniej na wyjściu o odpowiednim numerze pojawi się stan 1, a na
pozostałych 0. Jeśli zmienisz liczbę na wejściu, to zmieni się również wyjście, na
którym jest stan 1.
Rozważmy konkretny przypadek. Mamy dekoder o trzech wejściach. Za pomo-
cą trzech bitów możemy zapisać każdą liczbę z przedziału 0 7, ponieważ 0 to stan
000, natomiast 7 to stan 111, a np. 6 to 110. Zatem musi być osiem wyjść, ozna-
czonych O0, O1, ..., O7 (od ang. Output). Oczywiście wejścia są oznaczone również
I0, I1, I2, gdyż podając np. liczbę 6, tzn. 110, musimy wiedzieć, gdzie podać jedyn-
ki, a gdzie zera. Najczęściej w takich przypadkach mówi się o bicie najmłodszym
i najstarszym bit najmłodszy jest po prawej stronie liczby (czyli u nas 0), a naj-
starszy po lewej (czyli u nas 1). Bit najstarszy podaje się na najwyższe wejście (czyli
u nas I2), najmłodszy na I0, a pozostałe w kolejności. Z czasem nabierzesz wprawy
w używaniu tej terminologii. Tak więc podajesz na wejście liczbę 6, czyli I0 = 0,
I1 = 1, I2 = 1 i na wyjściu otrzymujesz: O0 = 0, O1 = 0, O2 = 0, O3 = 0, O4 = 0,
O5 = 0, O6 = 1, O7 = 0.
Pewnie zastanawiasz się do czego może być potrzebny taki układ. Zastosowań jest
wiele, jednym z nich może być np. włącznik jednej wybranej żarówki. Wyobraz so-
bie, że masz osiem żarówek i chcesz włączać jedną wybraną. Podajesz więc jej nu-
mer i na wyjściu pojawi się 1, a więc stan wysokiego napięcia tylko przy wybranej
żarówce.
Rysunek 7
Dekoder temperaturowy
Drugim przykładem układu cyfrowego, może być układ kodujący (rys. 8). Na wej-
ście podajesz jakąś liczbę i na wyjściu otrzymujesz inną. Najprostszy 3-bitowy ko-
der na stałe przypisuje np. 0 6, 1 2, 2 7, 3 0, 4 1, 5 4, 6 3,
7 5. Podajesz pierwszą liczbę na wejście i otrzymujesz drugą. Zastosowania ta-
kiego kodera sÄ… chyba oczywiste.
Kolejnym przykładem może być sumator. Tym razem na wejście podajesz dwie
liczby, a na wyjściu uzyskujesz jedną. Przyjrzyjmy się sumatorowi trzybitowemu
na wejście podajesz 6 bitów: A2A1A0 i B2B1B0, gdzie A i B oznaczają dwie licz-
by, natomiast na wyjściu otrzymuje się wynik 4-bitowy: C3C2C1C0. Czemu 4-bito-
wy? Wezmy dwie liczby 3-bitowe, np. 2 (010) i 4 (100). Ich suma wynosi 6 (110),
Rysunek 8
więc liczba jest 3-bitowa. Jednak gdy wezmiemy np. 3 (011) i 6 (110), to w wyniku
Prosty koder
otrzyma się 9 (1001), a więc już liczbę 4-bitową. Ten dodatkowy bit C3 nazywany
jest często bitem przeniesienia.
Ostatnim przykładem układu cyfrowego będzie pamięć. Służy ona oczywiście do
przechowywania danych. Jako przykład wezmy 4-bitową pamięć o 32 komórkach,
a więc w tej pamięci można przechowywać liczby 4-bitowe (od 0 do 15) i może ich
być 32. Aby zapisać taką liczbę w pamięci należy podać ją na wejście oraz podać
miejsce (adres), gdzie ma się znalezć. Odczyt z pamięci polega na podaniu miej-
sca (adresu), z którego ma zostać odczytana liczba. Ponieważ nigdy równocześnie
nie odczytujemy i nie zapisujemy danych do pamięci, więc do podawania adresu
16
mogą służyć w przypadku odczytu i zapisu te same bity. Podobnie jest z dany-
mi w trakcie zapisu na te same bity możemy podawać daną liczbę, natomiast
w czasie odczytu pojawi się na nich poszukiwana wartość. Mamy zatem 4 bity
L3L2L1L0 (są to bity, na które podajemy, lub z których odczytujemy liczbę), 5
bitów adresu (liczba z zakresu od 0 do 31) A4A3A2A1A0 oraz jeden bit sterujący
S, mówiący o tym, czy jest to zapis, czy odczyt. Ustalmy, że gdy na S jest 1, to
jest zapis, gdy 0, to odczyt. Jeśli chcesz zapisać liczbę do pamięci, to podajesz ją
na bity L3L2L1L0, a na bity A4A3A2A1A0 jej adres, czyli miejsce, w którym ma się
znalezć oraz ustawiasz bit S na 1. Kiedy chcesz odczytać liczbę z pamięci, poda-
Rysunek 9
jesz na A4A3A2A1A0 jej adres, ustawiasz bit S na 0 i wynik pojawia siÄ™ na L3L2L1L0.
Sumator 3-bitowy
Rysunek 10
Pamięć
Przykłady układów cyfrowych można mnożyć niemal w nieskończoność jako
informatyk jesteś w stanie podać ich bardzo wiele, szczególnie układów znajdują-
cych siÄ™ w komputerze.
3.3. Projektowanie układów cyfrowych
Chciałbym jeszcze na chwilę wrócić do podanych przykładów i zwrócić uwagę na
jedną bardzo ważną kwestię. Otóż w trzech pierwszych przykładach układów cy-
frowych to, co działo się na wyjściu było jednoznacznie zdeterminowane przez
wejście. W pierwszym przykładzie podawałeś na wejście liczbę i wiadomo było, co
otrzymasz na wyjściu, który bit będzie 1, a które 0. W drugim przykładzie liczba
na wejściu jednoznacznie określała liczbę na wyjściu, w trzecim natomiast suma
dwóch liczb również była jednoznacznie określona. W przypadku pamięci już tak
nie jest. Podajesz na wejście adres, ustawiasz bit sterujący na odczyt i otrzymasz
dane zapisane w komórce. Tak więc na podstawie samego adresu i bitu sterujące-
go nie możesz powiedzieć, jaki będzie wynik. Żeby podać wynik, musisz znać jesz-
cze historię, a więc to, co działo się z pamięcią wcześniej i to, co zostało zapisane
w komórce. Inaczej mówiąc, wynik zależy nie tylko od wejść, ale i od stanu układu
w danej chwili. Różnica ta stanowi główny podział układów cyfrowych na:
układy kombinacyjne,
układy sekwencyjne.
Układy kombinacyjne to układy, w których wyjście jest po prostu kombinacją wej-
ścia. Przykładami są właśnie trzy pierwsze układy poprzedniego podtematu. Nato-
miast układy sekwencyjne to takie, w których wyjście jest zależne od stanu (histo-
rii) układu oraz od wejścia. Przykładami układów sekwencyjnych są pamięci, reje-
stry itp. (czyli mówiąc nieprecyzyjnie wszystko to, co ma jakąś pamięć).
17
Skupimy się teraz wyłącznie na układach kombinacyjnych, ponieważ układy se-
kwencyjne są najczęściej bardziej rozbudowane i skomplikowane. Oba typy ukła-
dów projektuje się bardzo podobnie. Jeśli jesteś zainteresowany układami sekwen-
cyjnymi, to bardzo wiele informacji znajdziesz w literaturze zalecanej do tego mo-
dułu.
Bramki logiczne
Zanim przystąpimy do samego procesu projektowania, chciałbym jeszcze powie-
dzieć o potrzebnych nam elementach, a mianowicie o bramkach logicznych. Tak
jak wspomniałem na początku tego tematu, stany logiczne prawda (1) i fałsz (0) ist-
nieją w układzie elektronicznym jako stany wy-
sokiego lub niskiego napięcia. Jeśli chcesz spraw-
dzić, czy na wyjściu jest 0, czy 1, mierzysz po pro-
stu napięcie i już wiesz. Skoro tak, to zapewne
przypuszczasz, że istnieją również elektroniczne
spójniki . Nie mylisz się. Istnieją układy elektro-
niczne nazywane bramkami logicznymi, które re-
alizujÄ… znane ci funkcje logiczne i nawet nazywa-
ją się tak samo, a więc NOT, AND i OR. Ich sym-
bole zostały pokazane na rysunku 11. Oczywiście
istnieją również bramki NOR, XOR i najczęściej
Rysunek 11
stosowana w praktyce bramka NAND. Wejścia zostały oznaczone literami P i Q
Bramki logiczne
przez analogię do oznaczeń zdań prawdziwych i fałszywych (p i q).
Bramki logiczne realizują dokładnie takie same funkcje jak odpowiednie operatory
logiczne, tyle że operacje wykonywane są nie na prawdzie i fałszu, lecz po prostu
na napięciach. I tak NOT odwraca napięcie, tzn. jeśli na wejście jest podane 0, to
na wyjściu będzie napięcie zasilania, natomiast, gdy na wejściu jest napięcie zasi-
lania, to na wyjściu będzie 0. AND na wyjściu daje napięcie zasilania tylko wtedy,
gdy na obu wejściach jest napięcie zasilania, w pozostałych przypadkach jest 0. OR
daje zero na wyjściu tylko wtedy, gdy na obu wejściach jest 0, w pozostałych przy-
padkach daje napięcie zasilania.
Bramki są oczywiście zbudowane z podstawowych elementów elektronicznych.
Można je budować na różne sposoby, z wykorzystaniem różnych tranzystorów. Jed-
nak obecnie zdecydowana większość bramek budowana jest z tranzystorów MOS
(pod koniec tego modułu pokażę jak z tych tranzystorów można zbudować różne-
go rodzaju bramki).
Sposób projektowanie układów cyfrowych
Układy cyfrowe projektuje się najczęściej według zasady od ogółu do szczegółu.
I tak po kolei:
1. Definiujemy, co dany układ ma robić, jaką ma pełnić funkcję.
2. Ustalamy, co ma być na wejściach, a co na wyjściach.
3. Zapisujemy jak wyjście zależy od wejścia w postaci tabeli prawdy, z której otrzy-
mujemy minimalne (!) formy zdaniowe. Ewentualnie można od razu uzyskać
formuły, jeśli wiadomo, jakie powinny być.
4. Otrzymane formuły przedstawiamy w postaci schematu elektronicznego złożo-
nego z bramek logicznych.
5. Na koniec zamiast bramek wstawiamy układy zbudowane z elementów elektro-
nicznych (w naszym przypadku będą to tranzystory MOS) i w ten sposób mamy
zaprojektowany układ cyfrowy realizujący zadaną funkcję.
Jako że proces projektowania układu cyfrowego jest zajęciem praktycznym, najle-
piej pokazać go na przykładzie.
18
Projekt sumatora jednobitowego
Naszym zadaniem jest zaprojektowanie sumatora jednobitowego. Jest to układ,
który znajdziesz w każdym procesorze, oczywiście w wersji rozszerzonej (np. su-
matora 32-bitowego). Najważniejsze jest jednak, abyś zobaczył jak przebiega cały
proces projektowania, jak wyglądają poszczególne etapy opisane powyżej.
A więc zaczynamy od określenia zadania układu:
Zadaniem układu ma być arytmetyczne dodatnie dwóch liczb jednobitowych i po-
danie na wyjściu wyniku tego dodawania.
Liczbą jednobitową jest liczba 0 lub 1. Jako że zapis liczby 0 i 1 jest dokładnie taki
sam w systemie dziesiątkowym i dwójkowym, wejściem mogą być więc te liczby.
Natomiast na wyjściu możemy uzyskać liczby: 0, 1, 2. Liczba 2 w systemie dwój-
kowym zapisana jest jako: 10, czyli na wyjściu musimy mieć dwa bity. Ostatecz-
nie wejściem będą dwa bity: I0 pierwsza liczba (składnik sumy), I1 druga licz-
ba (składnik sumy). Wyjściem natomiast będą dwa bity tworzące wynik zapisany
w systemie dwójkowym: O0 młodszy bit wyniku, O1 starszy bit wyniku.
Następnym etapem jest stworzenie tablicy prawdy:
0 + 0 = 0, czyli 00
0 + 1 = 1, czyli 01
1 + 0 = 1, czyli 01
1 + 1 = 2, czyli 10
Tak więc tabele prawdy będą wyglądała następująco:
Dla wyjścia O1:
I0 I1 O1
0 0 0
0 1 0
1 0 0
1 1 1
Dla wyjścia O0:
I0 I1 O0
0 0 0
0 1 1
1 0 1
1 1 0
Jeśli chodzi o pierwszą tabelę, od razu widać, że jest to po prostu AND, natomiast
druga to XOR. Zastanów się zatem, czemu ta funkcja jest nazywana kontrolą pa-
rzystości? Tak więc korzystając z wyników z poprzedniego podtematu, otrzymuje-
my równania:
O0 = I0 · (~I1) + (~I0) · I1
O1 = I0 · I1
Teraz przedstawimy powyższe równania za pomocą bramek logicznych (rys. 12):
19
Rysunek 12
Schemat sumatora
jednobitowego
Pozostał ostatni punkt, którego póki co nie potrafimy wykonać i którym zaj-
miemy się w następnym temacie. Poza tym praca skończona tak właśnie wyko-
nuje się projekt układu cyfrowego. Spróbuj teraz samodzielnie wykonać projekt
jednego z podanych przykładów, np. dekodera temperaturowego. W przypadku
dekodera będzie już więcej pracy, ponieważ ma on 8 wyjść, opisujące je równania
są jednak niezwykle proste, więc bez problemu powinieneś sobie poradzić.
20
4. Bramki logiczne CMOS
Pozostał ostatni element naszej układanki, a więc problem powiązania bramek lo-
gicznych z tranzystorami MOS, czyli mówiąc precyzyjniej problem wyglądu
schematu elektrycznego poszczególnych bramek. Teraz właśnie tę lukę wypełnimy.
Jak już wspomniałem, bramki można budować na różne sposoby. Można wręcz
powiedzieć, że historia konstrukcji bramek logicznych to historia elektroniki. Od
lat 70. zeszłego wieku króluje jeden sposób wykonywania bramek, a mianowicie
przy wykorzystaniu pary tranzystorów: MOS z kanałem typu N i MOS z kanałem
typu P, stÄ…d nazwa CMOS (od ang. Complementary MOS, czyli komplementarna
para tranzystorów MOS). I póki co, nie widać, aby jakakolwiek inna technologia
mogła w najbliższym czasie konkurować z CMOS. Dlatego przedstawię budowę
bramek logicznych właśnie w tej technologii.
4.1. Inwerter
Pierwszą bramką, jaką chciałbym się zająć i której poświęcę najwięcej uwagi, jest
inwerter, czyli bramka realizująca funkcję NOT. Zadaniem inwertera jest odwró-
cenie napięcia podawanego na wejście bramki, czyli gdy podajemy napięcie zasi-
lania, to na wyjściu chcemy mieć 0 V, a gdy podajemy 0 V,
to chcemy mieć napięcie zasilania. W tym momencie proszę,
abyś przerwał czytanie i spróbował samodzielnie stworzyć
taki układ. Podpowiem, że do jego wykonania będziesz po-
trzebował tylko dwóch tranzystorów MOS, jednego z kana-
łem typu N, drugiego z kanałem typu P.
Mam nadzieje, że udało ci się wymyślić ten schemat. Popraw-
ny schemat pokazany jest na rysunku 13. Tak jak mówiłem,
składa się on z dwóch tranzystorów MOS: z kanałem typu
N i P, połączonych szeregowo i podłączonych do zasilania.
Na bramki tych tranzystorów podane jest wejście, a wyjściem
jest napięcie z dolnego tranzystora.
Przyjrzyjmy się bliżej jak działa taki układ. Jak wiesz, tran-
zystor to inaczej sterowana rezystancja. W tranzystorze MOS
ta rezystancja jest między elektrodą zródła i drenu, a stero-
waniem jest napięcie na bramce. Schemat inwertora przedsta-
wiony jest na rysunku 14. Czy ten układ podłączony do zasi-
Rysunek 13
lania nie przypomina ci czegoś? Oczywiście, jest to doskonale znany dzielnik na-
Schemat inwertera
pięciowy podłączony do napięcia zasilania. Jeśli teraz na wejście inwertera podane
jest napięcie 0 V, to na bramki obu tranzystorów zostanie podane właśnie napięcie
0 V. Jak pamiętasz z początku tego modułu, tranzystor NMOS1 przy 0 V na bramce
nie przewodzi, czyli ma bardzo wysokÄ… rezystancjÄ™, natomiast tranzystor P MOS
1
Jest to skrótowa nazwa
przewodzi, czyli ma bardzo małą rezystancję. W module 2 przy analizie dzielni-
tranzystora MOS z kana-
ka napięciowego rozpatrywaliśmy właśnie taki przypadek co się dzieje w dzielni-
Å‚em typu N, analogicznie
ku, gdy jeden z rezystorów jest znacznie większy od drugiego. Wówczas na wyjściu
PMOS to tranzystor
było napięcie zasilające dzielnik, bądz 0V. W naszym przypadku ponieważ górny
z kanałem typu P.
21
rezystor jest bardzo mały, a dolny bardzo duży, to na wyjściu
będzie po prostu napięcie zasilania. I o to właśnie chodziło!
Na wejściu inwertera mieliśmy 0 V, a na wyjściu mamy na-
pięcie zasilania. Mówiąc inaczej, na wejściu mieliśmy 0, a na
wyjściu mamy 1.
Jeśli teraz na wejście podamy napięcie zasilania, czyli 1, to
przewodzi tranzystor NMOS, czyli dolny, a górny PMOS jest
wyłączony, ma bardzo dużą rezystancję. A więc sytuacja jest
odwrotna na górze mamy bardzo dużą rezystancję, a na
dole bardzo małą. Wówczas, z własności dzielnika napięcio-
wego, na wyjściu jest 0 V i o to chodziło! Na wejście podali-
śmy napięcie zasilania, a na wyjściu mamy 0 V, mówiąc ina-
czej na wejściu jest 1, to na wyjściu 0.
Jeśli masz jakiekolwiek wątpliwości dotyczące działania in-
wertera, koniecznie raz jeszcze przeczytaj dokładnie ten frag-
ment, w razie potrzeby wróć jeszcze raz do początku modu-
łu, aby przypomnieć sobie działanie tranzystora MOS oraz
Rysunek 14
do modułu 2, aby przypomnieć sobie działanie dzielnika napięciowego. To bardzo
Zasada działania inwertera
ważne zagadnienie.
Chciałbym, abyś jeszcze inaczej spojrzał na inwertor jako na urządzenie złożo-
ne z dwóch części (rys. 15), pośrodku których jest wyjście układu. Jedna (górna)
z tych części ma za zadanie pociągnąć wyjście do zasilania, kiedy na wejściu jest
0 V, natomiast zadaniem drugiej (dolnej) części jest ściągnięcie wyjścia do masy,
gdy na wejściu inwertera jest 0 V. Do obu części podłączone jest oczywiście wej-
ście inwertera. Pozostaje jeszcze odpowiedzieć na pytanie, co to znaczy pociągnąć
do zasilania? Oznacza to po prostu połączyć z zasilaniem. Analogicznie ściągnąć
do masy to znaczy połączyć z masą. Połączenie następuje wtedy, gdy rezystancja
jest mała.
Rysunek 15
Schemat ideowy bramki CMOS
Jeśli spojrzysz w ten sposób na inwerter (rys. 16), to podciąganie do zasilania na-
stępuje wtedy, gdy przewodzi górny tranzystor, a więc PMOS, czyli gdy na jego
bramce jest 0 V, natomiast ściąganie do masy wtedy, gdy przewodzi dolny tranzy-
stor, czyli NMOS, a więc gdy na bramce jest 1 V. Oczywiście gdy wyjście podcią-
gnięte jest do zasilania, to na wyjściu jest napięcie zasilania, a gdy jest ściągnięte do
22
masy, to na wyjściu jest 0 V. Ten sposób patrzenia na inwerter
przyda się nam przy bramkach, których budowę poznamy za
chwilÄ™.
Ostatnią kwestią, którą chciałbym poruszyć jest moc, jaką po-
biera inwerter. Zauważ, że niezależnie od wejścia jeden z rezy-
storów ma bardzo dużą wartość (rys. 14), czyli szeregowe po-
łączenie tych rezystorów ma również bardzo dużą wartość. Za-
tem mimo przyłożonego napięcia płynie przez nie bardzo mały
prąd. A skoro płynie bardzo mały prąd, to i moc pobierana
przez taki inwerter jest bardzo mała. Tak więc największą zale-
tą układów CMOS i jednocześnie przyczyną ich popularności
jest to, że praktycznie nie pobierają mocy, gdy są w stanie sta-
cjonarnym, czyli gdy na wejściu jest ustalone napięcie.
Rysunek 16
4.2. Bramki logiczne CMOS
Inwerter CMOS
Skoro już wiesz jak działa inwerter, myślę, że bez większego problemu byłbyś w sta-
nie zbudować bramki AND i OR. Nie pokażę ci ich od razu zbudujemy je razem.
Zaczn3my od bramki AND.
Bramka AND
Bramka AND ma mieć na wyjściu 1, gdy na wejściu są jedynki, w pozostałych przy-
padkach 0. Czyli wyjście musi być podciągnięte do zasilania tylko i wyłącznie, gdy
na obu wejściach są napięcia zasilania. Musisz zatem zaprojektować układ, który
będzie miał bardzo małą rezystancję, gdy na obu wejściach będzie napięcie zasila-
nia, a dla pozostałych stanów będzie miał bardzo dużą rezystancję.
Myślę, że z tym zadaniem nie będziesz miał większego problemu, po prostu trzeba
szeregowo połączyć dwa tranzystory NMOS (rys. 17). Otrzymamy wówczas połą-
czenie szeregowe dwóch rezystancji. W przypadku, gdy obie są małe, ich połącze-
nie szeregowe też jest małe, czyli mogą podciągać do zasilania. Co więcej, taki stan
jest dla napięcia zasilania na bramkach obu tranzystorów, a więc dla dwóch jedy-
nek. Jeśli pojawi się choć jedno zero na obojętnie którym tranzystorze, to jego re-
zystancja będzie bardzo duża; połączona szeregowo z drugą daje oczywiście dużą
rezystancję całego połączenia i o to nam chodziło. No to mamy już pół bramki.
Pozostaje teraz zbudować sieć ściągającą do masy, która będzie miała bardzo małą
rezystancję, jeśli na wejściu będzie choć jedno zero. Myślę, że i z tym zadaniem
poradziłbyś sobie bez problemu wystarczy połączyć równolegle dwa tranzysto-
ry PMOS (rys. 18). W przypadku, gdy choć na jednym będzie zero, tranzystor ten
przewodzi, czyli ma bardzo małą rezystancję. Równoległe połączenie dwóch re-
zystancji, z których jedna jest mała, jest małe (bez względu na drugą). Zatem ta
sieć przewodzi, gdy na wejściu mamy choć jedno zero. Natomiast, gdy na wejściu
Rysunek 17
są dwie jedynki, to żaden z tranzystorów nie przewodzi, równoległe połączenie
Sieć podciągająca bramki AND
dwóch bardzo dużych rezystancji jest nadal duże, a więc sieć nie przewodzi.
23
Rysunek 18
Sieć ściągająca
Ostatecznie bramka AND wyglÄ…da tak jak na rysunku 19.
Rysunek 19
Bramka AND
Bramka OR
Po doświadczeniach z bramką AND myślę, że bramka OR nie będzie już stanowiła
dla ciebie żadnej zagadki. Jej budowa została przedstawiona na rysunku 20. Zapro-
ponuję ci jeszcze inny rodzaj analizy bramki (rys. 21). Bramka OR ma na wyjściu
jedynkę, gdy na wejściu jest choć jedna jedynka, a zero, gdy na wejściach są same
zera. Rozważmy najpierw przypadek, gdy na wejściu P jest jedynka, a na Q zero
(rys. 21a). Wówczas otwarte są tranzystory T1 i T4. Tak więc zasilanie ma otwarty
dostęp do wyjścia przez tranzystor T1, natomiast masa może przejść przez tranzy-
stor T4, ale na drodze do wyjścia staje tranzystor T3, który jest zamknięty. Jeśli na
24
A jest zero i na B jedynka, to sytuacja jest analogiczna (rys. 21b), tzn. zasilanie ma
otwarty dostęp przez tranzystor T2, natomiast masa jest odcięta przez tranzystor
T4. Jeśli są dwie jedynki (rys. 21c), to zasilanie podłączone jest do wyjścia przez
tranzystor T1 i T2 (może sobie nawet wybrać, którym iść), natomiast masa jest od-
cięta od wyjścia przez oba tranzystory T3 i T4, które są zamknięte. W przypadku,
gdy na obu wejściach są zera (rys. 21d), oba tranzystory T1 i T2 są zamknięte, czy-
li zasilanie nie ma jak dostać się do wyjścia, natomiast oba tranzystory T3 i T4 są
otwarte, czyli masa ma dojście do wyjścia. I to wszystko!
Rysunek 20
Bramka OR
25
Rysunek 21
Analiza bramki OR
26
Bramka NAND
Który sposób analizy i budowy bramki najbardziej ci od-
powiada, to już twoja decyzja. Każdy jest dobry. Spróbuj
teraz wybranym sposobem samodzielnie przeanalizować
działanie bramki NAND (rys. 22).
Bramki wielowejściowe
Do tej pory wszystkie bramki, które poznałeś miały dwa
wejścia, a więc na wejście mogłeś podać dwa sygnały.
Jednak w równaniach często masz więcej niż dwa skład-
niki w sumie. Podobnie możesz mieć ponad dwa czynni-
ki w iloczynie, np.:
(~I0) · (~I1) · (~I2) · I3 + (~I0) · I1 · (~I2) + I0 · (~I1) · I2
· (~I3) + I0 · I1.
Zapewne zapytasz w tym momencie, czy istniejÄ… bramki,
które mają więcej wejść niż dwa. Oczywiście, że tak. Ist-
nieją zarówno bramki AND, jak i OR o dowolnej liczbie
wejść. Buduje się je dokładnie na takiej samej zasadzie jak
bramki dwuwejściowe, dodając po prostu kolejny tranzy-
stor w szeregu i kolejny równolegle i podłączając do ich
bramek trzecie wejście. Na rysunku 23 pokazany został
schemat 3-wejściowej bramki AND. Działa ona w nastę-
pujący sposób: jeśli na wszystkie wejściach są jedynki, to
na wyjściu też jest jedynka, w każdym innym przypad-
ku jest zero. Patrząc na schemat bramki, widać, że sieć
podciągająca do zasilania, to trzy szeregowo połączone
Rysunek 22
tranzystory. Zatem wyjście zostanie podciągnięte do masy wyłącznie wtedy, gdy
Bramka NAND
wszystkie te tranzystory będą otwarte, czyli gdy na wejściu wszędzie będą jedyn-
ki. Natomiast w sieci ściągającej do masy zawsze przez któryś z tranzystorów bę-
dzie można połączyć masę z wyjściem, z wyjątkiem sytuacji, gdy wszystkie będą
zamknięte, czyli gdy na wejściu będą same jedynki. Podobnie tworzy się wielowej-
ściowe bramki OR (rys. 24), których analizę pozostawiam tobie.
27
Rysunek 23 Rysunek 24
3-wejściowa bramka AND 4-wejściowa bramka OR
Zauważ, że każda bramka składa się co najmniej z 4 rezystorów. Mam nadzieje, że
nie masz już wątpliwości, czemu należy minimalizować formuły zdaniowe, opisują-
ce układ cyfrowy. Każdy składnik w formule mniej to co najmniej dwa tranzystory
mniej! Takie podejście nie dość, że zmniejsza liczbę elementów, a więc i koszt, to
jeszcze poprawia niezawodność układu, ponieważ mniej elementów może się po-
psuć, oraz poprawia szybkość jego działania, ponieważ przez mniejszą liczbę ele-
mentów musi przejść sygnał. Pamiętaj o tym za każdym razem, gdy będziesz pro-
jektował układ!
4.3. Projekt sumatora jednobitowego dokończenie
Na koniec chciałbym wrócić do zaczętego projektu sumatora jednobitowego. Do-
szliśmy tam do schematu zbudowanego z bramek logicznych (rys. 12). Teraz jed-
nak już wiesz, jak wyglądają schematy poszczególnych bramek (rys. 13, 19, 20).
Zastępując na schemacie układu sumatora symbole bramek logicznych ich schema-
28
tami elektronicznymi, otrzymujemy ostatecznie projekt sumatora jednobitowego
(rys. 25).
Rysunek 25
Ostateczny schemat sumatora
jednobitowego
Gdybyś teraz poszedł do sklepu, kupił tranzystory, zlutował układ według powyż-
szego schematu i podłączył do zasilania, otrzymałbyś prawdziwy sumator jednobi-
towy. Jeśli masz na to czas, gorąco proponuję ci przeprowadzić takie doświadcze-
nie. Gwarantuję niesamowitą satysfakcję, jeśli zadziała.
Natomiast budowanie sumatora jednobitowego z elementów dyskretnych nie jest
takie łatwe, zajmuje sporo czasu, przy lutowaniu może pojawić się wiele błędów,
a przede wszystkim nie jest najtańsze. W następnym module pokażę, jak taki sche-
mat wykonać w układzie scalonym. Wierz mi, zapowiada się naprawdę ciekawie,
bo wreszcie układ scalony nie będzie dla ciebie czarną kostką z nóżkami, lecz bę-
dziesz dokładnie wiedział co jest w środku!
29
Podsumowanie
W module tym zapoznałeś się z najważniejszym z punktu widzenia mikroelektro-
niki działem elektroniki, a mianowicie elektroniką cyfrową. Właściwie można po-
wiedzieć, że od tego modułu zacząłeś się uczyć mikroelektroniki.
Poznałeś najpierw elementy służące do budowy układów elektroniki cyfrowej,
a więc tranzystory MOS, następnie zapoznałeś się z matematycznymi podstawa-
mi budowy układów cyfrowych, przede wszystkim z metodami minimalizacji for-
muł zadaniowych. Pózniej przeszedłeś już do praktyki i zobaczyłeś jak buduje się
taki układ, na czym polega praca projektanta. Przy okazji zaprojektowałeś sumator
jednobitowy. Na koniec zobaczyłeś, jak taki układ buduje się z podstawowych ele-
mentów elektronicznych, czyli tranzystorów. Poskładałeś te wszystkie wiadomości
w całość i uzyskałeś pełny schemat działającego układu cyfrowego.
30
Bibliografia
1. Beck R., 1991: Technologia krzemowa, PWN, Warszawa.
2. Europractice. Witryna internetowa. http://www.europractice.com/, stan z 26 wrze-
śnia 2006 r.
3. IBM. Witryna internetowa. http://www.ibm.com, stan z 26 września 2006 r.
4. Intel. Witryna internetowa. http://www.intel.com, stan z 26 września 2006 r.
5. International Technology Roadmap for Semiconductors. Witryna internetowa.
http://public.it, stan z 26 września 2006 r.
6. Kalisz J., 1998: Podstawy elektroniki cyfrowej, Wydawnictwa Komunikacji
i Aączności, Warszawa.
7. Marciniak W., 1984: Przyrządy półprzewodnikowe i układy scalone, Wydaw-
nictwa Naukowo-Techniczne, Warszawa.
8. Marciniak W., 1991: Przyrządy półprzewodnikowe MOS, Wydawnictwa Na-
ukowo-Techniczne, Warszawa.
9. Massucci J., 2001: Projekt Milenium, Wydawnictwo Amber sp. z o. o., Warszawa.
10. Napieralska M., Jabłoński G., 2002: Podstawy mikroelektroniki, Wydawnic-
twa PA, Aódz.
11. University of California, Berkeley. Witryna internetowa. http://www-device.
eecs.berkeley.edu/, stan z 26 września 2006 r.
31
Wyszukiwarka
Podobne podstrony:
Podstawy elektroniki SPISw9 podstawienie elektrofilowePodstawy elektronikiPodstawy Elektroniki I Teorii Obwodów 2Podstawy elektroenergetyki wyklad 3Podstawy Elektronikiwięcej podobnych podstron