Professional Documents
Culture Documents
8 1 Ukcyfwst
8 1 Ukcyfwst
Układy cyfrowe
2 ETR 8.1
8.1. Wiadomości wstępne
•Sygnał cyfrowy (logiczny) - dwuwartościowy
1111 1 przeniesienia
01011101 93d
+ 00111101 61d
——————
10011010 154d
8 ETR 8.1
Przykłady zapisu szesnastkowego (zwyczajowo wpisuje
się z przodu 0 jeżeli kod zaczyna się od znaków A..F):
1010b = 0Ah = 10d
11111111b = 0FFh = 255d
0111010110111101b = 75BDh = 30141d
11001111000011100111010110111101b = 0CF0E75BDh =
3473831357d
Algorytm dodawania liczb zapisanych szesnastkowo
(w „słupkach”) jest identyczny jak algorytm dodawania liczb
zapisanych dziesiętnie lub binarnie.
W kodzie binarnym i w kodzie heksadecymalnym można
też oczywiście zapisywać dowolne ciągi sygnałów
cyfrowych, które nie mają nic wspólnego z liczbami.
9 ETR 8.1
Dodanie liczby 1 do liczby binarnej o ograniczonej
długości, której wszystkie cyfry są równe 1 daje w wyniku
liczbę 0. Odjęcie od liczby binarnej 0 liczby 1 daje w
wyniku liczbę binarną , której wszystkie cyfry są równe 1.
Sugeruje to że taka liczba może być traktowana jak -1. Dla
słów o długości 8 daje to następujące przypisania:
00000000b = 0d
11111111b = -1d
11111110b = -2d itd.
Kod uzupełnieniowy do 2 (definicja):
Dla liczby binarnej L o długości n
U 2 (L) 2n L gdy L 0
U 2 (0) 0
10 ETR 8.1
Na przykład dla n = 7, 2 128 :
7
14 ETR 8.1
Liczba bitów M decyduje o rozdzielczości liczb, liczba bitów
wykładnika decyduje o zakresie liczb. Np. dla wykładnika o
długości 1 bajtu zakres liczb jest:
od 2128 2,9 1038 do 2127 1,7 1038
15 ETR 8.1
Kod BCD (Binary Coded Decimal).
Liczby przedstawiane są w pozycyjnym zapisie
dziesiętnym, a każda cyfra dziesiętna kodowana jest
dwójkowo. Do zapisu cyfr od 0 do 9 potrzeba 4 bitów, zatem
liczba bitów kodu jest wielokrotnością 4. W zakresie
każdych 4 bitów używane są kombinacje od 0000 do 1001.
Kombinacje 1010 do 1111 są zabronione.
Przykład:
1 5 6 8
1568d = 0001 0101 0110 1000BCD
Kod ten stosowany jest w urządzeniach komunikacji z
człowiekiem (np. układy współpracujące z wyświetlaczami).
Liczba bitów kodu BCD potrzebna do zapisania danej liczby
jest zwykle większa od liczby bitów kodu binarnego.
16 ETR 8.1
Kod Gray’a (kod refleksyjny).
Kod ten charakteryzuje się tym, że liczba bitów równych 1 (i
oczywiście równych 0) w kolejnej liczbie zmienia się o 1.
Algorytm zamiany liczby binarnej na kod Gray’a. Od prawej
strony zapisu binarnego (od LSB): jeżeli z lewej strony
danego bitu jest 0 – zapisać dany bit bez zmian, jeżeli z
lewej strony jest 1 – zanegować.
0000b 0000g 0110b 0101g 1100b 1010g
0001b 0001g 0111b 0100g 1101b 1011g
0010b 0011g 1000b 1100g 1110b 1001g
0011b 0010g 1001b 1101g 1111b 1000g
0100b 0110g 1010b 1111g 0000b 0000g
0101b 0111g 1011b 1110g
Stosowany w urządzeniach, w których zmiany na kilku
bitach mogą powodować duże błędy (np. linijka optyczna).
17 ETR 8.1
Kod ASCII (American Standard Code for Information
Interchange).
Kod pierwotnie (lata sześćdziesiąte XX wieku) służył do przesyłania
znaków tekstowych i poleceń kontrolno sterujących w urządzeniach
dalekopisowych. Obecnie jest powszechnie stosowany do kodowania
tekstu w komputerach i urządzeniach mikroprocesorowych.
HEX 0 1 2 3 4 5 6 7 8 9 A B C D E F
0 NUL SOH STX ETX EOT ENQ ACK BEL BS TAB LF VT FF CR SO SI
1 DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US
2 spacja ! ” # $ % & ‘ ( ) * + , - . /
3 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
4 @ A B C D E F G H I J K L M N O
5 P Q R S T U V W X Y Z [ \ ] ^ _
6 ` a b c d e f g h i j k l m n o
7 p q r s t u v w x y z { | } ~ DEL
18 ETR 8.1
Kod jest 8 – bitowy. Bity b7,b6,b5,b4 zapisano w HEX w pierwszej
kolumnie tabeli; bity b3,b2,b1,b0 zapisano w HEX w pierwszym wierszu
tabeli.
Przykładowo
kod znaku A: 41 hex = 01000001 bin = 65 dec
kod znaku n: 6E hex = 01101110 bin = 110 dec
Pierwsze 32 pozycje zawierają kody kontrolno – sterujące. Bardziej
znane to np. BS – Back Space (cofnięcie o 1 znak), TAB – tabulacja,
LF- Line Feed (następny wiersz), CR – Carriage Return (początek
wiersza, ESC – Escape (rezygnacja).
HEX 0 1 2 3 4 5 6 7 8 9 A B C D E F
1 DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US
2 sp ! ” # $ % & ‘ ( ) * + , - . /
3 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
4 @ A B C D E F G H I J K L M N O
5 P Q R S T U V W X Y Z [ \ ] ^ _
6 ` a b c d e f g h i j k l m n o
7 p q r s t u v w x y z { | } ~
19 ETR 8.1
•Funkcje logiczne
Zależność dwuwartościowej zmiennej od dwuwartościowych
zmiennych niezależnych nazywamy funkcją logiczną.
Prawa rządzące wyrażeniami logicznymi (cyfrowymi) opisuje
algebra Boole’a powstała na bazie rachunku zdań
określającego zależności logiczne zdań. Wartości logicznej
„prawda” przypisuje się symbol „1”, a wartości logicznej
„fałsz” przypisuje się symbol „0”. Funkcje logiczne nazywane
są również funkcjami zero – jedynkowymi i używane są do
opisu układów cyfrowych.
Jeżeli w układzie cyfrowym wielkości (sygnały) wyjściowe
zależą wyłącznie od aktualnych wartości (kombinacji)
wielkości (sygnałów) wejściowych, to układ taki nazywamy
układem kombinacyjnym.
20 ETR 8.1
Jeżeli w układzie cyfrowym wielkości wyjściowe zależą nie
tylko od aktualnych wartości wielkości wejściowych, ale i od
poprzednich wartości (sekwencji) wielkości wejściowych, to
układ taki nazywamy układem sekwencyjnym. Układ taki
musi zawierać elementy pamiętające.
Są dwie funkcje jednej zmiennej.
Funkcja tożsamości: y x
Funkcja negacji: y x czytaj: nie x
Funkcje logiczne przedstawia się za pomocą tablic ich
wartości nazywanych tablicami prawdy (truth table). Dla
funkcji jednej zmiennej tablice są następujące:
tożsamość: x y negacja: x y
0 0 0 1
1 1 1 0
21 ETR 8.1
Układy realizujące proste funkcje logiczne nazywane są
bramkami. Bramka negacji w skrócie nazywana jest bramką
NIE (w literaturze angielskiej NOT).
Układy cyfrowe przedstawiane są w postaci schematów
zawierających specjalne symbole odpowiadające funkcjom
logicznym. Poniżej zamieszczono symbole funkcji
tożsamości i funkcji negacji. Pierwszy z tych symboli,
identyczny z symbolem wzmacniacza, stosowany jest na
oznaczenie buforów, często stosowanych w układach
cyfrowych dla separacji od układów obciążających.
22 ETR 8.1
Negacja jest w schematach przedstawiana w postaci kółka.
Kółko negacji zawsze występuje w powiązaniu z innym
symbolem. W tym przypadku z symbolem wzmacniacza.
23 ETR 8.1
Suma logiczna (alternatywa)
Sumą dwóch zmiennych nazywamy funkcję równą 1 wtedy
gdy jedna LUB druga zmienna jest równa 1.
y x1 x0 lub y x1 x0
Bramka sumy nazywana jest bramką LUB (OR).
Definicja sumy logicznej rozciąga się na dowolną liczbę
zmiennych niezależnych.
Tablica sumy dwóch zmiennych i symbol graficzny:
x1 x0 y
0 0 0
0 1 1
1 0 1
1 1 1
24 ETR 8.1
Iloczyn logiczny (koniunkcja)
Iloczynem dwóch zmiennych nazywamy funkcję równą 1
wtedy gdy jedna I druga zmienna jest równa 1.
y x1 x0 lub y x1 x0
Bramka iloczynu nazywana jest bramką I (AND).
Definicja iloczynu logicznego rozciąga się na dowolną
liczbę zmiennych niezależnych.
Tablica iloczynu dwóch zmiennych i symbol graficzny:
x1 x0 y
0 0 0
0 1 0
1 0 0
1 1 1
25 ETR 8.1
Definicja sumy logicznej może być zmieniona jak niżej:
Sumą dwóch zmiennych nazywamy funkcję równą 0 wtedy
gdy jedna I druga zmienna jest równa 0.
Definicja iloczynu logicznego może być zmieniona jak niżej:
Iloczynem dwóch zmiennych nazywamy funkcję równą 0
wtedy gdy jedna LUB druga zmienna jest równa 0.
Wynika stąd, że suma może być traktowana jak iloczyn, a
iloczyn jak suma (dualizm).
A zatem symbole równoważne bramek sumy i iloczynu to:
bramka OR:
bramka AND:
26 ETR 8.1
Różnica symetryczna
Różnicą symetryczną dwóch zmiennych nazywamy funkcję
równą 1 wtedy gdy jedna zmienna ma wartość przeciwną
do drugiej zmiennej:
y x1 x0
Bramka różnicy symetrycznej nazywana jest bramką
WYŁĄCZNIE-LUB (EXCLUSIVE-OR, EXOR, XOR).
Tablica różnicy symetrycznej i symbol graficzny:
x1 x0 y
0 0 0
0 1 1
1 0 1
1 1 0
27 ETR 8.1
Spośród wielu możliwych kombinacji funkcji sumy, iloczynu i
negacji wymieńmy dwie szeroko stosowane: negacja sumy
NIE-LUB (NOR) zwana funkcją Pierce’a i negacja iloczynu
NIE-I (NAND) zwana funkcją Sheffera.
NOR: y x1 x0 NAND: y x1 x2
28 ETR 8.1
Tablica funkcji NOR i symbole graficzne:
x1 x0 y
0 0 1
0 1 0
1 0 0
1 1 0
y x2 x1 x0 x2 x1
31 ETR 8.1
Algorytm wyznaczania funkcji logicznej w postaci iloczynu sum z tabeli
funkcji:
Każdy wiersz tabeli, w którym funkcja jest równa 0 dostarcza jednej
sumy. Jeżeli w takim wierszu zmienna x ma wartość 0, to zapisujemy ją
w danej sumie bez negacji, jeżeli ma wartość 1, to zapisujemy ją z
negacją, jeżeli zmienna x nie ma znaczenia to nie występuje w danej
sumie.
Przykład:
x2 x1 x0 y
0 0 0 0 ( x2 x1 x0 )
0 0 1 1
0 1 - 1
1 - - 0 x2
y ( x2 x1 x0 ) x2
32 ETR 8.1
Używanie symboli równoważnych:
• Podkreślenie znaczenia wartości logicznej. Na przykład, jeżeli jakieś
urządzenie jest aktywowane wysokim poziomem napięcia (włączenie
silnika) to rysujemy schemat tak, aby wyjście aktywujące to urządzenie
było narysowane bez negacji. Odwrotnie dla urządzenia aktywowanego
niskim poziomem napięcia.
• Schemat staramy się rysować tak, aby linia łącząca wyjście z
wejściem z obydwóch stron miała znacznik (kółko) negacji lub nie miała
znacznika.
Taki sposób rysowania schematów zwiększa ich czytelność.