wstĘp do elektroniki - zakład fizyki gorącej materiizefir.if.uj.edu.pl/pracownia_el/jb_w7.pdf ·...
TRANSCRIPT
WSTĘP DO ELEKTRONIKI
Część VII
Układy cyfrowe
Janusz Brzychczyk IF UJ
Układy cyfrowe
W układach cyfrowych sygnały napięciowe (lub prądowe) przyjmują tylko określoną liczbępoziomów, którym przyporządkowywane są wartości liczbowe.
Najczęściej układy cyfrowe służą do przetwarzania sygnałów o dwóch poziomach napięć: wysokiego (H – high) niskiego (L – low).Pracę takich układów cyfrowych (układów logicznych) opisuje się za pomocą dwuwartościowejalgebry Boole`a, nazywanej logiką matematyczną.Poziomom napięć H i L przyporządkowuje się wartości logiczne 1 (prawda) oraz 0 (fałsz).Przyporządkowanie H 1 oraz L 0 nazywa się logiką dodatnią.Przyporządkowanie H 0 oraz L 1 nazywa się logiką ujemną.
Ze względu na obecność zakłóceń, wahania napięcia zasilającego itp.sygnały w układach cyfrowych nie mają ściśle określonych wartości.Z tego powodu liczby przyporządkowuje się nie wartościom napięć,ale przedziałom napięć oddzielonych przerwami.Jeżeli napięcie przyjmie wartość z zakresu przerwy to stan układujest nieokreślony.
Układy cyfrowe
układ cyfrowy
zasilanie
x1x2
xm
.
.
.
y1
yn
.
.
.
wejścia wyjścia
Układ cyfrowy o m – wejściach i n – wyjściach.
W układach logicznych na każdym z wejść /wyjść może występować stan 0 lub 1będący jednostką informacji zwaną bitem.Wektory x = (x1 , x2 , ... , xm ) , y = (y1 , y2 , ... , yn ) nazywamy słowami logicznymi.Słowo ośmiobitowe nazywamy bajtem.Każde słowo logiczne może być interpretowane jako pewna liczba zapisanaw kodzie binarnym (dwójkowym). Na przykład czterobitowe słowo (1101)w kodzie dziesiętnym jest liczbą:
1⋅231⋅22
0⋅211⋅20
=13
Klasyfikacja układów cyfrowych
Układy kombinacyjne
Stan wyjść jest jednoznacznie określonyprzez stan wejść układu:
Układy sekwencyjne
Stan wyjść zależy od stanu wejść orazod poprzednich stanów układu:
Układy cyfrowe
y= f x y tn = f [x t0 , x t1 , , x tn ]
Układy kombinacyjne
Bramki logiczne
Bloki funkcjonalne – komutatory (multipleksery, demultipleksery)
– konwertery kodów (kodery, dekodery, transkodery)
– bloki arytmetyczne (sumatory, komparatory, ... )
ab
0011
0101
0001
a b f
Bramki logiczne
0011
0101
0111
a b f
01
10
a f
a f
f
fab
(rodzaj, funkcja logiczna, symbol, tablica prawdy)
fab
ab
f
fab
0011
0101
0110
a b f
0011
0101
1110
a b f
0011
0101
1000
a b f
NOT (negacja): f =a
f =a⋅bAND (iloczyn):
OR (suma): f =ab
f =ab
f =a⋅b
f =ab
EXOR (Exclusive OR,wyłączna suma logiczna):
AND (iloczyn): NAND (NOTAND, negacja iloczynu):
NOR (NOTOR, negacja sumy):
Bramki logiczne
Oprócz bramek dwuwejściowych stosowane są również bramki wielowejściowe.
Przykład:
a1a2a3
an
.
.
.
Wielowejściowa bramka AND
Wartość logiczna 1 pojawia się na wyjściu jedynie wówczas, gdy stan logiczny wszystkichwejść wynosi 1 . W innych przypadkach f = 0 .Bramka taka bywa nazywana układem koincydencyjnym.
f =a1⋅a2⋅a3⋅⋅an
Bramki logiczneNajbardziej uniwersalnymi bramkami są bramki NAND i NOR.
Używając tyko bramek NAND lub tylko bramek NOR można zbudowaćukład realizujący dowolną funkcję logiczną.
Przykłady realizacji podstawowych funkcji logicznych ( NOT, AND, OR )przy użyciu bramek NAND :
a f =a⋅a=a ba
NOT
f =a⋅b=a⋅b
AND
aa
bb
f =a⋅b=ab
OR
Korzystamy z prawa de Morgana:
ab=a⋅b
Bramki logiczne
Schemat układu scalonego UCY7400 (TTL)zawierającego cztery bramki NAND
Ze względu na stosowane technologie, bramki logiczne tworzą tzw. rodziny (np. TTL, ECL, CMOS).Najbardziej rozpowszechniona jest rodzina bramek TTL (Transistor – Transistor Logic).
Charakterystyki układów TTL :
układy pracują w logice dodatniej
logicznemu zeru odpowiada napięcie z przedziału 0 – 0.8 V (L – stan niski)
logicznej jedynce odpowiada napięcie z zakresu 2 – 5 V (H – stan wysoki)
wejście bramki niepodłączone do niczego znajduje się w stanie logicznym 1
układy zasila się napięciem 5 V.
Bramki logiczneOdpowiedź na wyjściu bramki nastepuje po pewnym, charakterystycznym dla danegoukładu czasie od momentu zmiany sygnałów wejściowych (czas propagacji sygnałuprzez bramkę).
UWE UWY
UWE
tUWY
t
t pHL t pLH
t p=t pHL t pLH
2
Średni czas propagacji:
Czasy przełączania bramki UCY7400 :
t pHL≃15 ns
t pLH≃ 22 ns
Multiplekser
wejście strobujące(zezwolenie/blokowanie)
Przepływ informacji z wejścia na wyjście jest możliwydopiero wówczas, gdy wejście strobujące znajduje sięw stanie logicznym 1.
wyjściewejściainforma
cyjne
wejścia adresowe(sterujące)
Często w praktyce pomiarowej lub obliczeniowejinformacja napływa równocześnie z wielu źródeł,a nas interesuje tylko przekaz informacji z jednegoz nich. Stosujemy wówczas multiplekser.
Multiplekser jest układem logicznym realizującymprzepływ informacji tylko z jednego wejścia.Wybór wejścia jest określony przez podanie jegoadresu (numeru) na wejścia adresowe.
Symbol graficzny multipleksera.
Przykład multipleksera z czterokanałowym wejściem
wejściainformacyjne
wyjście
wejście strobujące
wejścia adresowe
x0
x3
x2
x1
a1 a0
y
0011
0101
x0
x1
x2
x3
a1 a0 y
s
gdy s = 1
Demultipleksery0
y3
y2
y1
wejścia adresowea1 a0
wyjścia
(wejście strobujące)s
xwejście
Przykład demultipleksera z czterema wyjściami
Demultiplekser przekazuje dane z jednegowejścia na selektywnie wybrane adresemwyjście.
0011
0101
000x
a1 a0 y3
gdy s = 100x0
y20x00
y1x000
y0
Symbol graficzny demultipleksera
Kody, konwertery kodów
Każda informacja może być przedstawiona jako określona kombinacja bitów.Kombinacja bitów przypisana danej informacji jest nazywana kodem.Kodowanie umożliwia na przykład przedstawienie symboli cyfrowych, literlub znaków w postaci binarnych słów logicznych.
Komunikacja z człowiekiem wymaga stosowania kodu wyświetlającego.W najprostszym przypadku jest to kod siedmiosegmentowego wyświetlaczacyfr. Cyfry kodujemy tak, aby w siedmiobitowym słowie binarnym każdy bitodpowiadał jednemu z segmentów.
0123
1011
CYFRA a1111
b1101
c1011
d1010
e1000
f0011
g
4567
0111
1001
1111
0110
0010
1110
1110
89
11
11
11
11
10
11
11
Kody, konwertery kodów
Kod Graya (kod refleksyjny)
Wśród kodów stosowanych w pomiarach możnawyróżnić kod Graya. Główną zaletą tego kodu jestto, że przy przejściu do następnej kombinacjizmienia się tylko jeden bit.
Kodem Graya długości n (n – bitowym) jest ciągwszystkich 2n różnych ciągów n cyfr {0,1}, ustawionychtak, że dwa kolejne ciągi różnią sie tylko na jednejpozycji. Ostatni i pierwszy wyraz tego kodu takżespełnia tę zasadę (kod cykliczny).
00011110
000001011010110111101100
2 – bitowy 3 – bitowy
Kody, konwertery kodów
Kod „ 1 z N ” (kod pierścieniowy)
W kodzie tym tylko jeden z bitów przyjmuje wartość 1 (pozostałe bity 0 ).Umożliwia on na przykład wprowadzanie z klawiatury cyfr(naciskamy tylko jeden klawisz).
0001001001001000
0000000100000010000001000000100000010000001000000100000010000000
„1 z 4” „1 z 8”
1 – sygnał aktywny
Kody, konwertery kodów
Konwersja pomiędzy kodami :
liczbowym binarnym (kod naturalny binarny)
liczbowym dziesiętnym
binarnym Graya
binarnym „1 z N”.
(16 elementów)
Konwertery kodów
Koderem (enkoderem) nazywamy układ cyfrowy, który przekształca kod „1 z N”na określony kod wyjściowy. Sygnał aktywny (1) pojawiający się na jednym z N wejśćzostaje zakodowany w odpowiednie słowo M – bitowe (M wyjść kodera).
Dekoderem nazywamy układ, który przekształca określony kod wejściowy na kodwyjściowy „1 z N”. Dekoder ma więc N wyjść, przy czym każdemu za słów wejściowychjest przyporządkowany sygnał aktywny pojawiający się tylko na jednym z N wyjść.
Transkoderem (translatorem) nazywamy układ realizujący konwersję dwóchdowolnych kodów z których żaden nie jest kodem „1 z N”.
Przykład dekodera
y0
y3
y2
y1
x0
x1
Dekoder realizujący konwersję dwubitowego naturalnego kodu binarnego na kod „1 z 4”.
0011
0101
0001
x1 x0 y30010
y20100
y11000
y0
Przykład transkodera
Transkoder realizujący konwersję naturalnego kodu binarnego na kod Graya (kody 3 bitowe).
x0
x1
x2
y0
y2
y1
0011
0101
x1 x00000
y20011
y10110
y00000
x2
0011
0101
1111
1100
0110
1111
Układy arytmetyczne
Cyfrowe układy arytmetyczne realizują operacje arytmetyczne na liczbach przedstawionychw zapisie binarnym.
Podstawowym układem arytmetycznym jest układ realizujący dodawanie, nazywany sumatorem.Wszystkie inne operacje arytmetyczne (odejmowanie, mnożenie, dzielenie ...) wykonać możnaza pomocą tylko operacji dodawania stosując odpowiednie algorytmy.
Do układów arytmetycznych zalicza się także układy służące do porównywania dwóch liczb,nazywane komparatorami oraz układy wielofunkcyjne, wykonujące różne operacje arytmetycznei logiczne tzw. jednostki arytmetycznologiczne (ALU).
A
BS
C
S = A
C = A •
0011
0101
0001
B A C0110
S
Sumatory
Półsumator
Sposób realizacji półsumatora
Układ wykonujący dodawanie dwóchjednobitowych liczb binarnych A i B:
0 + 0 = 0 = 000 + 1 = 1 = 011 + 0 = 1 = 011 + 1 = 10 = 10
A B CS
Przedstawienie wyniku wymaga użycia dwóch bitów. Młodszy bit wyniku (bit na mniej znaczącejpozycji) wyprowadza się na wyjście S, starszy bit wyniku na wyjście C.
Tabela stanów
+A
B
S (suma)
C (przeniesienie)
Sumatory
Sumator (pełny sumator)
W przypadku dodawania liczb o większej liczbie bitów półsumator można zastosować tylkona najmłodszej pozycji. Na wszystkich pozostałych trzeba dodawać nie dwa, ale trzy bityuwzględniając przeniesienie z poprzedniej pozycji. Potrzebny jest więc układ o trzech wejściachAi , Bi , Ci oraz dwóch wyjściach Si , Ci +1 . Układ taki nazywamy pełnym sumatorem.
S i
C iC i +1
A iB i
A2
B2
C2
S2
A1
B1
C1
S1
A0
B0
C0
S0
A3
B3
C3
S3
A4
B4
C4
S4
A = B =
przeniesienia
suma S =
1010
1100
1001
1111
0011
(15)10
(10)10
(25)10
Przykład sumowania dwóch liczb binarnych:
Pełny sumator (jednobitowy)
0000
0011
0001
Bi Ai Ci+1
0110
Si
0101
Ci
1111
0011
0111
1001
0101
++
S
CS
C
S i
C iC i +1
A i
B i A i
B i
S i
C i +1
C i
Schemat sumatora zbudowanego z półsumatorów
Tablica stanów sumatora
Si = Ai i Ci
Ci+1 = Ai •i + Ai •Ci + Bi •Ci
Funkcje logiczne sumatora
Sumator wielobitowy
Cn
A n1 Bn1 A 0 B0A 1 B1
Cn1 C2 C1C0
S0S1Sn1
⋯
Sumator n – bitowy z przeniesieniami szeregowymi
W celu dodawania liczb wielobitowych sumatory jednobitowe łączy się w zespoły.W najprostszym przypadku sumatory łączy sie szeregowo (wyjście przeniesieniałączy się z wejściem przeniesienia bloku następnego).
Komparatory
Komparatorem cyfrowym nazywamy układ służący do porównywania dwu lub więcej liczbbinarnych. Najważniejsze kryteria porównawcze to A = B, A > B, A < B. Układ sprawdzającywszystkie trzy relacje nazywa się komparatorem uniwersalnym. Najprostsze komparatoryumożliwiają jedynie określenie czy dwie porównywane liczby są sobie równe lub która z liczbjest większa.
Kryterium równości dwóch liczb binarnych jest identyczność wszystkich bitów.W przypadku dwóch liczb jednobitowych A i B, informację o tym uzyskać można za pomocąfunkcji negacja EXOR:
0011
0101
1001
A B Y
A
BY = A
Wartość 1 na wyjściu sygnalizuje równość A = B.
Komparatory
Przykład komparatora równoległego 3 – bitowego
Komparator równoległy to taki układ, na którego wejścia podawane są jednocześniewszystkie bity porównywanych liczb.
A0
B0
A1
B1
A2
B2
Y Y = 1 tylko wówczas gdy:A0 = B0 i A1 = B1 i A2 = B2
czyli A = B.
Jednostki arytmetyczno – logiczne (ALU)
ALU jest uniwersalnym układem cyfrowym przeznaczonym do wykonywania operacjiarytmetycznych i logicznych pomiędzy dwoma liczbami binarnymi.
Przykład:
Układy sekwencyjne
W układzie sekwencyjnym stan wyjść nie tylko zależy od stanu wejść ale także odpoprzedniego stanu.Układy sekwencyjne dzielimy na: układy asynchroniczne układy synchroniczne.W układach asynchronicznych sygnały wejściowe bezpośrednio oddziaływują nastan wyjść. W układach synchronicznych zmiana sygnału wyjściowego może nastąpićwyłącznie w określonych chwilach czasu, które wyznacza sygnał zegarowy (clock),nazywany też sygnałem taktującym lub wyzwalającym.
Podstawowymi elementami układów sekwencyjnych są przerzutniki.
Przerzutniki
Zasadniczym zadaniem przerzutnika jest pamiętanie jednego bitu informacji.Przerzutnik posiada co najmniej dwa wejścia i zazwyczaj dwa wyjścia.
Rozróżnia się następujące rodzaje wejść przerzutnika: informacyjne zegarowe programujące.
Podstawowe typy przerzutników:
RS
JK
D
T
wyjściawejściainformacyjne
wejściaprogramujące
C
C – wejście zegarowe
Asynchroniczny przerzutnik RS
Jest najprostszym przerzutnikiem. Posiada: dwa wejścia S (Set) – wejście ustawiające R (Reset) – wejście zerujące dwa wyjścia Q – wyjście zwykłe (główne) Q – wyjście zanegowane (komplementarne).Stan wyjść jest zawsze przeciwny.
R
S
Q
Q
0101
0011
stan pamiętania01
stan niedozwolony
R S Q
Tabelastanów
Przerzutnik RS można zbudować z dwóch bramek NORlub dwóch bramek NAND stosując dodatnie sprzężeniezwrotne:
R
S
Q
QPrzerzutnik można ustawić w stan zero (Q =0)przez podanie sygnału 1 na wejście R przy S =0.Ustawienie przerzutnika w stan jeden (Q =1)realizuje się przez podanie sygnału 1 na wejście S przy R utrzymywanym w stanie 0.Po przywróceniu stanu R = 0 i S = 0 przerzutnik wprowadzony zostaje w stan pamiętania,przechowując ustawiony stan. W ten sposób w przerzutniku zapamiętuje się elementarnąporcję (1 – bit) informacji.
Synchroniczny przerzutnik RS
R
S
Q
QC
Przerzutnik synchroniczny RS ma dodatkowe wejście Cdo którego doprowadza się sygnał taktujący (zegarowy,synchronizujący). Zmiana stanu przerzutnika następujew chwilach wyznaczonych przez sygnał taktujący.Umożliwia to wstępne przygotowanie sygnałów wejściowychi inicjację zmiany stanu przerzutnika po ustaleniu siętych stanów. Wyzwalanie zmiany stanu przerzutnika możenastępować w chwili gdy np. sygnał taktujący zmieniasię ze stanu 0 na 1.
Przerzutnik JK (synchroniczny)
0
1
0
1
0
0
1
1
stan się nie zmienia
1
0
zmiana stanu na przeciwny
J K Q
C
J Q
QK
Wejścia informacyjne J i K odpowiadająwejściom S i R przerzutnika RS.Przerzutnik JK nie ma stanów wejściowychniedozwolonych. W przypadku jednoczesnegopodania sygnałów 1 na wejścia J i K,stan przerzutnika zmieni się na przeciwny(w chwili wyzwolenia sygnałem taktującym).
Przerzutnik D
C
D Q
Q
Przerzutnik D zapamiętuje stanwejścia D w chwili impulsu zegara.
C
J Q
QK
D
0
1
0
1
0
0
1
1
stan się nie zmienia
1
0
zmiana stanu na przeciwny
J K Q
1
0
D
Przerzutnik T
C
T Q
Q
Przerzutnik T zmienia swój stan na przeciwny w czasie impulsu zegarowego gdy T = 1.Stan przerzutnika pozostaje bez zmiany gdy T = 0.
W przypadku utrzymywania stanu T = 1, każdy kolejny impuls zegarowy zmienia stanprzerzutnika na przeciwny. Działanie układu jest więc podobne do pracy włącznika,który przy każdym naciśnięciu na przemian włącza i wyłącza świecącą się lampkę.Układ ten stanowi podstawowy element liczników.
C
J Q
QK
T
0
1
0
1
0
0
1
1
stan się nie zmienia
1
0
zmiana stanu na przeciwny
J K Q
1
0
T
Liczniki
Licznikem nazywamy układ cyfrowy służący do zliczania impulsów.Na wyjściu licznika pojawia się zakodowana binarnie liczba impulsów podanychna wejście zliczające. Oprócz wejścia impulsów zliczanych, licznik posiada zazwyczajwejście ustawiające stan początkowy (zerowanie licznika).
Rodzaje liczników:
liczące w przód (następnikowe) liczące w tył (poprzednikowe) rewersyjne (możliwość zmiany kierunku zliczania)
szeregowe (asynchroniczne) równoległe (synchroniczne).
Podstawowymi elementami liczników są przerzutniki T. Pojedynczy przerzutnik Tpozwala na zliczanie 2 impulsów. Najprostszy licznik można zbudowaćz szeregowo połączonych przerzutników T, z których każdy pod wpływem impulsuzegarowego zmienia swój stan na przeciwny do stanu poprzedniego.
C
T Q T T T
C C C
Q Q Q
Q0 Q1 Q2 Q3
wejście
„1”
wejście
Q0
Q1
Q2
Q3
0123
0 0 0 00 0 0 10 0 1 00 0 1 1
n Q3 Q2 Q1 Q0
4567
0 1 0 00 1 0 10 1 1 00 1 1 1
891011
1 0 0 01 0 0 11 0 1 01 0 1 1
12131415
1 1 0 01 1 0 11 1 1 01 1 1 1
16 0 0 0 0
Szeregowy licznik czterobitowy
f – częstotliwość
f/2
f/4
f/8
f/16
Numerimpulsu Stan wyjść
Przerzutniki wyzwalane zboczem opadającym sygnału zegarowego C
Liczba impulsówzapisana w kodziebinarnym (modulo 16)
Rejestry
Rejestry służą do przechowywania informacji cyfrowej zapisanej w kodzie binarnym.Wpisana do rejestru informacja przechowywana jest do chwili wprowadzenia kolejnej,nowej informacji. Informacja ta może być również dostępna do odczytu.Niekiedy odczyt zeruje wpisaną informację.
Ze względu na sposób wprowadzania i wyprowadzania informacji rejestry dzielimy na: szeregowe – wejście i wyjście szeregowe (rejestry przesuwające) równoległe – wejście i wyjście równoległe (rejestry buforowe) szeregoworównoległe – wejście szeregowe, wyjście równoległe równoległoszeregowe – wejście równoległe, wyjście szeregowe.
Podstawowym elementem rejestru są przerzutniki.Liczba bitów informacji jaka może być przechowywana w rejestrze jest nazywanadługością rejestru i odpowiada liczbie przerzutników z których jest zbudowany rejestr.
A3 A2 A1 A0
t
C
rejestr
A3 A2 A1 A0
rejestr
C
A3 A2 A1 A0
rejestr
C
A3 A2 A1
A0
rejestr
C
Wprowadzanie równoległe – wszystkie bity słowa informacji wprowadzamy jednocześnie,w jednym takcie zegara:
Wprowadzanie szeregowe – słowo wprowadzamy bit po bicie w kolejnych taktach zegara:
⋯
t1 t2 t3
Rejestry
Najprostszym rejestrem jest przerzutnik D.
Zestawienie kilku takich przerzutników, np. 8, bez żadnych połączeń pomiędzy nimiutworzy 8 – bitowy rejestr równoległy (sygnał zegarowy wspólny dla wszystkichprzerzutników).
C
D Q
Q