WSTĘP DO ELEKTRONIKI Część VII Układy cyfrowe Janusz Brzychczyk IF UJ.

1 WSTĘP DO ELEKTRONIKI Część VII Układy cyfrowe Janusz Br...
Author: Konrad Andrzejewski
0 downloads 0 Views

1 WSTĘP DO ELEKTRONIKI Część VII Układy cyfrowe Janusz Brzychczyk IF UJ

2 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ściowej algebry 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ładu jest nieokreślony.

3 Układy cyfrowe układ cyfrowy 1⋅ 2 3 +1⋅ 2 2 +0⋅ 2 1 +1⋅ 2 0 =13 x1 y1. . yn xm wyjścia wejścia zasilanie 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 1 bę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 zapisana w kodzie binarnym (dwójkowym). Na przykład czterobitowe słowo (1101) w kodzie dziesiętnym jest liczbą: 1⋅ ⋅ ⋅ ⋅ 2 0 =13

4 Klasyfikacja układów cyfrowychUkłady cyfrowe Układy kombinacyjne Stan wyjść jest jednoznacznie określony przez stan wejść układu: Układy sekwencyjne Stan wyjść zależy od stanu wejść oraz od poprzednich stanów układu: y=f x y t n =f x t 0 ,x t 1 ,…,x t n

5 Układy kombinacyjne Bramki logiczne Bloki funkcjonalne– komutatory (multipleksery, demultipleksery) – konwertery kodów (kodery, dekodery, transkodery) – bloki arytmetyczne (sumatory, komparatory, ... )

6 Bramki logiczne NOT (negacja): EXOR (Exclusive OR, a a f f b(rodzaj, funkcja logiczna, symbol, tablica prawdy) NOT (negacja): f= a ˉ EXOR (Exclusive OR, wyłączna suma logiczna): f=ab 1 a b f 1 a f a a f f b AND (iloczyn): AND (iloczyn): f=a⋅b NAND (NOT-AND, negacja iloczynu): f= a⋅b 1 a b f 1 a b f a a f b f b OR (suma): f=a+b NOR (NOT-OR, negacja sumy): f= a+b 1 a b f 1 a b f a a f b f b

7 Bramki logiczne Wielowejściowa bramka ANDOprócz bramek dwuwejściowych stosowane są również bramki wielowejściowe. Przykład: Wielowejściowa bramka AND a1 a2 a3 f= a 1 ⋅ a 2 ⋅ a 3 ⋅…⋅ a n . an Wartość logiczna 1 pojawia się na wyjściu jedynie wówczas, gdy stan logiczny wszystkich wejść wynosi 1 . W innych przypadkach f = 0 . Bramka taka bywa nazywana układem koincydencyjnym.

8 Bramki logiczne Najbardziej 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 : NOT AND a a f= a⋅b =a⋅b f= a⋅a = a b OR a a f= a⋅b =a+b b Korzystamy z prawa de Morgana: b a+b = a⋅b

9 Bramki logiczne 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. Schemat układu scalonego UCY7400 (TTL) zawierającego cztery bramki NAND

10 Bramki logiczne 𝑈 𝑊𝐸 𝑈 𝑊𝑌 𝑈 𝑊𝐸 𝑡 𝑝 = 𝑡 𝑝𝐻𝐿 + 𝑡 𝑝𝐿𝐻 2 𝑡 𝑈 𝑊𝑌Odpowiedź na wyjściu bramki nastepuje po pewnym, charakterystycznym dla danego układu czasie od momentu zmiany sygnałów wejściowych (czas propagacji sygnału przez bramkę). 𝑈 𝑊𝐸 𝑈 𝑊𝑌 𝑈 𝑊𝐸 Średni czas propagacji: 𝑡 𝑝 = 𝑡 𝑝𝐻𝐿 + 𝑡 𝑝𝐿𝐻 2 𝑡 𝑈 𝑊𝑌 Czasy przełączania bramki UCY7400 : 𝑡 𝑝𝐻𝐿 ≃15ns 𝑡 𝑡 𝑝𝐿𝐻 ≃22ns 𝑡 𝑝𝐻𝐿 𝑡 𝑝𝐿𝐻

11 (zezwolenie/blokowanie)Multiplekser Często w praktyce pomiarowej lub obliczeniowej informacja napływa równocześnie z wielu źródeł, a nas interesuje tylko przekaz informacji z jednego z nich. Stosujemy wówczas multiplekser. Multiplekser jest układem logicznym realizującym przepływ informacji tylko z jednego wejścia. Wybór wejścia jest określony przez podanie jego adresu (numeru) na wejścia adresowe. wejście strobujące (zezwolenie/blokowanie) wyjście wejścia informa- cyjne Przepływ informacji z wejścia na wyjście jest możliwy dopiero wówczas, gdy wejście strobujące znajduje się w stanie logicznym 1. wejścia adresowe (sterujące) Symbol graficzny multipleksera.

12 Przykład multipleksera z czterokanałowym wejściemwejście strobujące wejścia informacyjne s x0 x1 wyjście y x2 x3 a1 a0 y x0 a1 a0 1 x1 wejścia adresowe 1 x2 1 1 x3 gdy s = 1

13 Demultiplekser s x y0 y1 y2 y3 a1 a0 a1 a0 y3 y2 y1 y0(wejście strobujące) Demultiplekser wyjścia x y0 wejście Demultiplekser przekazuje dane z jednego wejścia na selektywnie wybrane adresem wyjście. y1 y2 y3 a1 a0 wejścia adresowe a1 a0 y3 y2 y1 y0 x 1 x gdy s = 1 Symbol graficzny demultipleksera 1 x 1 1 x Przykład demultipleksera z czterema wyjściami

14 Kody, konwertery kodów a b c d e f gKaż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, liter lub 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świetlacza cyfr. Cyfry kodujemy tak, aby w siedmiobitowym słowie binarnym każdy bit odpowiadał jednemu z segmentów. CYFRA a b c d e f g 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 3 1 1 1 1 1 4 1 1 1 1 5 1 1 1 1 1 6 1 1 1 1 1 1 7 1 1 1 8 1 1 1 1 1 1 1 9 1 1 1 1 1 1

15 Kody, konwertery kodów Kod Graya (kod refleksyjny)Wśród kodów stosowanych w pomiarach można wyróżnić kod Graya. Główną zaletą tego kodu jest to, że przy przejściu do następnej kombinacji zmienia się tylko jeden bit. Kodem Graya długości n (n – bitowym) jest ciąg wszystkich 2n różnych ciągów n cyfr {0,1}, ustawionych tak, że dwa kolejne ciągi różnią sie tylko na jednej pozycji. Ostatni i pierwszy wyraz tego kodu także spełnia tę zasadę (kod cykliczny). 2 – bitowy – bitowy 00 000 01 001 11 011 10 010 110 111 101 100

16 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). „1 z 4” „1 z 8” 0001 0010 0100 1000 1 – sygnał aktywny

17 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)

18 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 kod wyjściowy „1 z N”. Dekoder ma więc N wyjść, przy czym każdemu za słów wejściowych jest przyporządkowany sygnał aktywny pojawiający się tylko na jednym z N wyjść. Transkoderem (translatorem) nazywamy układ realizujący konwersję dwóch dowolnych kodów z których żaden nie jest kodem „1 z N”.

19 Przykład dekodera x1 x0 y3 y2 y1 y0 x1 y0 x0 y1 y2 y31 y1 1 1 1 1 y2 1 1 1 y3 Dekoder realizujący konwersję dwubitowego naturalnego kodu binarnego na kod „1 z 4”.

20 Przykład transkodera x2 x1 x0 y2 y1 y0 x2 y2 y1 x1 y0 x01 1 1 1 1 y1 x1 1 1 1 1 1 1 1 1 1 1 1 y0 1 1 1 1 x0 1 1 1 1 Transkoder realizujący konwersję naturalnego kodu binarnego na kod Graya (kody 3 - bitowe).

21 Układy arytmetyczne Cyfrowe układy arytmetyczne realizują operacje arytmetyczne na liczbach przedstawionych w zapisie binarnym. Podstawowym układem arytmetycznym jest układ realizujący dodawanie, nazywany sumatorem. Wszystkie inne operacje arytmetyczne (odejmowanie, mnożenie, dzielenie ...) wykonać można za 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 arytmetyczne i logiczne tzw. jednostki arytmetyczno-logiczne (ALU).

22 Sumatory + Półsumator A S (suma) B C (przeniesienie) A S B CUkład wykonujący dodawanie dwóch jednobitowych liczb binarnych A i B: 0 + 0 = 0 = 00 0 + 1 = 1 = 01 1 + 0 = 1 = 01 1 + 1 = 10 = 10 A B CS Przedstawienie wyniku wymaga użycia dwóch bitów. Młodszy bit wyniku (bit na mniej znaczącej pozycji) wyprowadza się na wyjście S, starszy bit wyniku na wyjście C. A + S (suma) B C (przeniesienie) A B A C S S B S = A  B 1 1 1 1 C = A • B C 1 1 1 Tabela stanów Sposób realizacji półsumatora

23 Sumatory  Sumator (pełny sumator) A i S i B i C i +1 C iW przypadku dodawania liczb o większej liczbie bitów półsumator można zastosować tylko na najmłodszej pozycji. Na wszystkich pozostałych trzeba dodawać nie dwa, ale trzy bity uwzględniając przeniesienie z poprzedniej pozycji. Potrzebny jest więc układ o trzech wejściach Ai , Bi , Ci oraz dwóch wyjściach Si , Ci Układ taki nazywamy pełnym sumatorem. A i S i B i C i +1 C i Przykład sumowania dwóch liczb binarnych: A = A4 A3 A2 A1 A0 1 1 1 1 (15)10 B = B4 B3 B2 B1 B0 1 1 (10)10 przeniesienia C4 C3 C2 C1 C0 1 1 1 suma S = S4 S3 S2 S1 S0 1 1 1 (25)10

24  + + Pełny sumator (jednobitowy) A i C i S i S i B i A i C i +1Schemat sumatora zbudowanego z półsumatorów Bi Ai Ci Ci+1 Si 1 1 1 1 Si = Ai  Bi  Ci 1 1 1 1 1 Ci+1 = Ai • Bi + Ai • Ci + Bi • Ci 1 1 1 1 1 1 1 1 1 1 1 Funkcje logiczne sumatora Tablica stanów sumatora

25    Sumator wielobitowy ⋯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). A n-1 Bn-1 A 1 B1 A 0 B0 C0 Cn-1 C2 C1 Cn Sn-1 S1 S0 Sumator n – bitowy z przeniesieniami szeregowymi

26 Komparatory Komparatorem cyfrowym nazywamy układ służący do porównywania dwu lub więcej liczb binarnych. Najważniejsze kryteria porównawcze to A = B, A > B, A < B. Układ sprawdzający wszystkie trzy relacje nazywa się komparatorem uniwersalnym. Najprostsze komparatory umożliwiają jedynie określenie czy dwie porównywane liczby są sobie równe lub która z liczb jest 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: 1 A B Y A Y = A  B B Wartość 1 na wyjściu sygnalizuje równość A = B.

27 Komparatory Przykład komparatora równoległego 3 – bitowegoKomparator równoległy to taki układ, na którego wejścia podawane są jednocześnie wszystkie bity porównywanych liczb. A0 B0 A1 Y Y = 1 tylko wówczas gdy: A0 = B0 i A1 = B1 i A2 = B2 czyli A = B. B1 A2 B2

28 Jednostki arytmetyczno – logiczne (ALU)ALU jest uniwersalnym układem cyfrowym przeznaczonym do wykonywania operacji arytmetycznych i logicznych pomiędzy dwoma liczbami binarnymi. Przykład:

29 Układy sekwencyjne W układzie sekwencyjnym stan wyjść nie tylko zależy od stanu wejść ale także od poprzedniego stanu. Układy sekwencyjne dzielimy na: układy asynchroniczne układy synchroniczne. W układach asynchronicznych sygnały wejściowe bezpośrednio oddziaływują na stan 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.

30 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 wejścia informacyjne C wyjścia C – wejście zegarowe wejścia programujące

31 Asynchroniczny przerzutnik RSJest 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 Q S Q Przerzutnik RS można zbudować z dwóch bramek NOR lub dwóch bramek NAND stosując dodatnie sprzężenie zwrotne: R S Q Tabela stanów stan pamiętania 1 R Q 1 1 1 1 stan niedozwolony Przerzutnik 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. Q S

32 Synchroniczny przerzutnik RSPrzerzutnik synchroniczny RS ma dodatkowe wejście C do którego doprowadza się sygnał taktujący (zegarowy, synchronizujący). Zmiana stanu przerzutnika następuje w chwilach wyznaczonych przez sygnał taktujący. Umożliwia to wstępne przygotowanie sygnałów wejściowych i inicjację zmiany stanu przerzutnika po ustaleniu się tych stanów. Wyzwalanie zmiany stanu przerzutnika może następować w chwili gdy np. sygnał taktujący zmienia się ze stanu 0 na 1. R Q C Q S

33 zmiana stanu na przeciwnyPrzerzutnik JK (synchroniczny) Wejścia informacyjne J i K odpowiadają wejściom S i R przerzutnika RS. Przerzutnik JK nie ma stanów wejściowych niedozwolonych. W przypadku jednoczesnego podania sygnałów 1 na wejścia J i K, stan przerzutnika zmieni się na przeciwny (w chwili wyzwolenia sygnałem taktującym). J Q C Q K J K Q stan się nie zmienia 1 1 1 1 1 zmiana stanu na przeciwny

34 zmiana stanu na przeciwnyPrzerzutnik D D J D Q Q C C Q Q K J K Q D stan się nie zmienia 1 1 1 Przerzutnik D zapamiętuje stan wejścia D w chwili impulsu zegara. 1 1 1 zmiana stanu na przeciwny

35 zmiana stanu na przeciwnyPrzerzutnik T T J T Q Q C C Q Q K T J K Q stan się nie zmienia 1 1 1 1 1 1 zmiana stanu na przeciwny 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 stan przerzutnika 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.

36 Liczniki Licznikem nazywamy układ cyfrowy służący do zliczania impulsów. Na wyjściu licznika pojawia się zakodowana binarnie liczba impulsów podanych na wejście zliczające. Oprócz wejścia impulsów zliczanych, licznik posiada zazwyczaj wejś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 T pozwala 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 impulsu zegarowego zmienia swój stan na przeciwny do stanu poprzedniego.

37 Szeregowy licznik czterobitowyNumer impulsu Stan wyjść „1” n Q3 Q2 Q1 Q0 T Q T Q T Q T Q 1 wejście C C C C 2 3 4 5 Q0 Q1 Q2 Q3 6 7 wejście f – częstotliwość f/2 f/4 f/8 f/16 8 9 Q0 10 11 12 Q1 13 14 15 Q2 16 Q3 Liczba impulsów zapisana w kodzie binarnym (modulo 16) Przerzutniki wyzwalane zboczem opadającym sygnału zegarowego C

38 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) szeregowo-równoległe – wejście szeregowe, wyjście równoległe równoległo-szeregowe – 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 nazywana długością rejestru i odpowiada liczbie przerzutników z których jest zbudowany rejestr.

39 Wprowadzanie równoległe – wszystkie bity słowa informacji wprowadzamy jednocześnie,w jednym takcie zegara: rejestr C A3 A2 A1 A0 t Wprowadzanie szeregowe – słowo wprowadzamy bit po bicie w kolejnych taktach zegara: rejestr rejestr rejestr A0 A3 A2 A1 A0 A3 A2 A1 A0 A3 A2 A1 C C C t1 t2 t3

40 Rejestry Najprostszym rejestrem jest przerzutnik D. D QZestawienie kilku takich przerzutników, np. 8, bez żadnych połączeń pomiędzy nimi utworzy 8 – bitowy rejestr równoległy (sygnał zegarowy wspólny dla wszystkich przerzutników). D Q C Q