„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
MINISTERSTWO EDUKACJI
NARODOWEJ
Jarosław Świtalski
Badanie elektronicznych układów cyfrowych
312[02].O2.02
Poradnik dla ucznia
Wydawca
Instytut Technologii Eksploatacji – Państwowy Instytut Badawczy
Radom 2007
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
1
Recenzenci:
doc. dr inż. Stanisław Derlecki
dr inż. Marian Jerzy Korczyński
Opracowanie redakcyjne:
mgr inż. Ryszard Zankowski
Konsultacja:
mgr Małgorzata Sienna
Poradnik stanowi obudowę dydaktyczną programu jednostki modułowej 312[02].O2.02
„Badanie elektronicznych układów cyfrowych”, zawartego w programie nauczania dla
zawodu technik teleinformatyk.
Wydawca
Instytut Technologii Eksploatacji – Państwowy Instytut Badawczy, Radom 2007
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
2
SPIS TREŚCI
1. Wprowadzenie
3
2. Wymagania wstępne
5
3. Cele kształcenia
6
4. Materiał nauczania
7
4.1. Podstawy matematyczne układów cyfrowych
7
4.1.1. Materiał nauczania
7
4.1.2. Pytania sprawdzające
22
4.1.3. Ćwiczenia
24
4.1.4. Sprawdzian postępów
24
4.2. Układy kombinacyjne i sekwencyjne
25
4.2.1. Materiał nauczania
25
4.2.2. Pytania sprawdzające
38
4.2.3. Ćwiczenia
39
4.2.4. Sprawdzian postępów
40
4.3. Bloki funkcjonalne i typowe układy cyfrowe
41
4.3.1. Materiał nauczania
41
4.3.2. Pytania sprawdzające
68
4.3.3. Ćwiczenia
68
4.3.4. Sprawdzian postępów
70
4.4. Wybrane aspekty układów cyfrowych
71
4.4.1. Materiał nauczania
71
4.4.2. Pytania sprawdzające
81
4.4.3. Ćwiczenia
81
4.4.4. Sprawdzian postępów
82
5. Sprawdzian osiągnięć
83
6. Literatura
88
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
3
1. WPROWADZENIE
Poradnik będzie Ci pomocny w przyswajaniu wiedzy o podstawowych elementach
i blokach funkcjonalnych układów cyfrowych i kształtowaniu umiejętności badania układów
cyfrowych.
W poradniku zamieszczono:
–
wymagania wstępne – wykaz umiejętności, jakie powinieneś mieć już ukształtowane,
abyś bez problemów mógł korzystać z poradnika,
–
cele kształcenia – wykaz umiejętności, jakie ukształtujesz podczas pracy z poradnikiem,
–
materiał nauczania – wiadomości teoretyczne niezbędne do opanowania treści jednostki
modułowej,
–
zestaw pytań, abyś mógł sprawdzić, czy już opanowałeś określone treści,
–
ćwiczenia, które pomogą Ci zweryfikować wiadomości teoretyczne oraz ukształtować
umiejętności praktyczne,
–
sprawdzian postępów,
–
sprawdzian osiągnięć, przykładowy zestaw zadań. Zaliczenie testu potwierdzi
opanowanie materiału całej jednostki modułowej,
–
literaturę uzupełniającą.
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
4
Schemat układu jednostek modułowych
312[02].O2.02
Badanie elektronicznych
układów cyfrowych
312[02].O2.01
Badanie elektronicznych
układów analogowych
312[02].O2
Podstawy elektroniki
analogowej i cyfrowej
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
5
2. WYMAGANIA WSTĘPNE
Przystępując do realizacji programu nauczania jednostki modułowej powinieneś umieć:
–
stosować jednostki układu SI,
–
przeliczać jednostki,
–
posługiwać się podstawowymi pojęciami z zakresu elektrotechniki, elektroniki,
–
rozróżniać podstawowe wielkości elektryczne i ich jednostki,
–
rozróżniać elementy obwodu elektrycznego,
–
odczytywać schematy prostych układów elektrycznych i elektronicznych,
–
charakteryzować wymagania dotyczące bezpieczeństwa pracy przy urządzeniach
elektrycznych,
–
łączyć układy elektryczne i elektroniczne zgodnie ze schematem,
–
wyjaśniać działanie prostych układów elektronicznych na podstawie ich schematów,
–
korzystać z różnych źródeł informacji,
–
obsługiwać komputer,
–
współpracować w grupie.
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
6
3. CELE KSZTAŁCENIA
W wyniku realizacji programu jednostki modułowej powinieneś umieć:
−
zapisać liczby w różnych kodach,
−
wykonać operacje logiczne i arytmetyczne na liczbach zapisanych w różnych kodach,
−
zastosować prawa i aksjomaty algebry Boole'a do przekształceń funkcji logicznych,
−
zminimalizować funkcje logiczne,
−
rozpoznać bramki logiczne, przerzutniki, bloki funkcjonalne na podstawie symboli
graficznych, tabel prawdy, tabel stanów, tabel wzbudzeń lub grafów przejść,
−
sklasyfikować układy logiczne,
−
zaprojektować proste układy cyfrowe,
−
skorzystać z katalogów i innych źródeł informacji o cyfrowych elementach i układach
elektronicznych,
−
przeanalizować działanie elementów i bloków funkcjonalnych, wchodzących w skład
układów cyfrowych,
−
porównać parametry cyfrowych układów scalonych wykonanych w różnych
technologiach,
−
zmierzyć wybrane parametry elementów i układów cyfrowych,
−
przetestować działanie elementów i układów cyfrowych,
−
wykonać operacje logiczne i arytmetyczne przy pomocy układów cyfrowych,
−
zaobserwować stany logiczne oraz przebiegi na wejściach i wyjściach układów za
pomocą przyrządów specjalistycznych lub oscyloskopu,
−
obsłużyć wybrany program wspomagający projektowanie układów logicznych,
−
wyjaśnić zasady łączenia układów cyfrowych w technologiach TTL i CMOS,
−
dokonać analizy działania translatorów sygnałów TTL/CMOS i CMOS/TTL,
−
określić zasady
łączenia układów cyfrowych z urządzeniami wejściowymi
i wyjściowymi,
−
scharakteryzować budowę i parametry przetworników A/C i C/A,
−
posłużyć się układami pamięci ulotnych i nielotnych.
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
7
4. MATERIAŁ NAUCZANIA
4.1. Podstawy matematyczne układów cyfrowych
4.1.1. Materiał nauczania
Obecnie często urządzenia elektroniczne są realizowane przy pomocy techniki cyfrowej,
która charakteryzuje się tym, że informacja wewnątrz tych urządzeń kodowana jest przy
pomocy liczb. Liczba jak wiadomo jest to uporządkowany ciąg cyfr. W urządzeniach takich
jak kalkulator, odtwarzacz MP3, multimetr, komputer sygnały wewnętrzne mają postać
cyfrową. Wielkość cyfrowa to taka, która w swoim przedziale zmienności przyjmuje
skończoną liczbę wartości. Wynika stąd wniosek, że jest to zbiór przeliczalny. Na przykład
biorąc pod uwagę zbiór dwuelementowy znaków 0 i 1 można podać dokładnie cztery
kombinacje tych cyfr: 00, 01, 10, 11.
W układach cyfrowych ważna rolę odgrywają zbiory znaków składające się z 2, 8, 10, 16
elementów. Używając cyfr arabskich 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 i dużych liter alfabetu A, B, C,
D, E, F można zapisywać liczby w różnych systemach.
Do podstawowych systemów zapisywania liczb należą systemy pozycyjno wagowe,
w których wartość cyfry zależy od miejsca, czyli pozycji, jaką ta cyfra zajmuje w napisanej
liczbie. Każda pozycja ma określoną stałą wagę liczbową (znaczenie).
Oznaczając podstawę dowolnego pozycyjnego systemu liczbowego przez p, można każdą
n - cyfrową liczbę całkowitą przedstawić w postaci szeregu:
∑
−
=
−
−
−
−
=
+
+
+
+
1
0
0
0
1
1
2
2
1
1
...
n
i
i
i
n
n
n
n
p
a
p
a
p
a
p
a
p
a
lub w skróconej postaci:
[
]
p
n
n
a
a
a
a
0
1
2
1
...
−
−
gdzie:
p – podstawa systemu, którą jest liczba całkowita dodatnia,
n – numer pozycji
a
i
– cyfry z zakresu od 0 do p – 1.
Pierwszej cyfrze w lewo od przecinka przypisuje się wagę p
0
, drugiej p
1
, a trzeciej p
2
.
Natomiast cyfrom zapisywanym w prawo od przecinka przypisuje się kolejno następujące
wagi: pierwszej p
-1
, drugiej p
-2
, trzeciej p
-3
i tak dalej. (patrz przykład 1 i 2).
W systemach cyfrowych bardzo ważną rolę odgrywają zbiory znaków złożone z 2, 8, 10
i 16 elementów. Zbiory takie nazywamy odpowiednio:
−
zbiorem dwójkowym (binarnym) o podstawie p = 2,
−
zbiorem ósemkowym (oktalnym) o podstawie p = 8,
−
zbiorem dziesiątkowym o podstawie p = 10,
−
zbiorem szesnastkowym (heksadecymalnym) o podstawie p = 16.
W tabeli 1 przedstawiono cyfry używane w systemach o p = 2, 3, 8, 10 i l6. Zwróć
uwagę, że dla p > 10 należy wprowadzić dodatkowe znaki.
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
8
Tabela 1. Cyfry używane w systemach liczbowych
Podstawa p
System liczbowy
Cyfry używane w systemie liczbowym
2
Dwójkowy
0, 1
3
Trójkowy
0, 1, 2
8
Ósemkowy
0, 1, 2, 3, 4, 5, 6, 7
10
Dziesiętny
0, 1, 2, 3, 4, 5, 6, 7, 8, 9
16
Szesnastkowy
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
Dwójkowy system liczbowy
Najważniejszą rolę w układach cyfrowych odgrywa dwójkowy system liczbowy,
wykorzystujący zapis pozycyjny. Jest on uważany za najprostszy a zarazem najczęściej
używany system liczbowy w technice cyfrowej. Elementami zbioru znaków systemu
dwójkowego jest para cyfr: 0 i 1. Znak dwójkowy (ang. Binary Digit) często jest nazywany w
skrócie bitem. W dwójkowym systemie liczbowym podstawa systemu p = 2. Kilka
wybranych liczb dwójkowych przedstawiono w drugiej kolumnie tabeli 2.
Przykład 1
Zapis:
1101
2
oznacza liczbę całkowitą powstałą z sumowania
(1 ∙ 2
3
)+(1 ∙ 2
2
)+(0 ∙ 2
1
)+(1 ∙ 2
0
) = 8+4+1=13
10
Przykład 2
Zapis:
1001, 1101
2
jest zapisem skróconym liczby z częścią ułamkowa:
(1 ∙ 2
3
)+(0 ∙ 2
2
)+(0 ∙ 2
1
)+(1 ∙ 2
0
)+(1 ∙ 2
-1
)+(1 ∙ 2
-2
)+(0 ∙ 2
-3
)+(1 ∙ 2
-4
) = 9,8125
10
Konwersji (zamiany) dziesiętno – dwójkowej można dokonać wielokrotnie dzieląc przez
2 część całkowitą liczby oraz mnożąc przez 2 ułamkową część przetwarzanej liczby
dziesiętnej.
Przykład 3
Niech liczba zapisana w systemie dziesiętnym L
10
= 9,8125
9 : 2 = 4 reszta 1 (LSB)
4 : 2 = 2
0
2 : 2 = 1
0
1 : 2 = 0
1 (MSB)
0,8125 ∙ 2 = 1,6250 = 0,6250 nadmiar 1 (MSB)
0,6250 ∙ 2 = 1,2500 = 0,2500
1
0,2500 ∙ 2 = 0,5000 = 0,5000
0
0,5000 ∙ 2 = 1,0000 = 0,0000
1 (LSB)
Ostatecznie otrzymujemy:
9,8125
10
= 1001,1101
2
gdzie:
LSB ( ang. Least Significant Bit) najmniej znaczący bit
MSB ( ang. Most Significant Bit) najbardziej znaczący bit
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
9
Dziesiętny system liczbowy
Do zapisania dowolnej liczby w powszechnie stosowanym dziesiętnym systemie
liczbowym wykorzystuje się dziesięć (wszystkie) cyfr arabskich. W dziesiętnym systemie
liczbowym podstawa systemu p = 10. Kilka wybranych liczb dziesiętnych przedstawiono
w pierwszej kolumnie tabeli 2.
Przykład 4
Liczbę 15, zapisaną w systemie dziesiętnym można zapisać:
15 = (1 ∙ 10
1
)+(5 ∙ 10
0
)
Liczba ta składa się z pięciu elementów o wadze 10
0
= 1 i jednego elementu o wadze
10
1
= 10.
Przykład 5
Zapis:
574, 28
10
jest skróconym zapisem wyrażenia :
(5 ∙ 10
2
)+(7 ∙ 10
1
)+(4 ∙ 10
0
)+(2 ∙ 10
-1
)+(8 ∙ 10
-2
)
W tym przykładzie 5 jest na pozycji setek (10
2
), 7 na pozycji dziesiątek (10
1
), 4 na
pozycji jedności (10
0
), 2 na pozycji dziesiętnych (10
-1
) i 8 na pozycji setnych (10
-2
).
Szesnastkowy system liczbowy
Szesnastkowy system liczbowy jest to taki system pozycyjny, którego podstawa p = 16.
Do przedstawienia liczb w tym systemie potrzebnych jest 16 znaków. Dziesięć znaków
stanowią cyfry arabskie, a pozostałe 6 znaków pierwsze litery alfabetu: A reprezentuje 10, B
reprezentuje 11, ..., F reprezentuje l5. Kilka wybranych liczb szesnastkowych przedstawiono
w czwartej kolumnie tablicy 2.
Przykład 6
Niech liczba wyrażona w systemie szesnastkowym ma postać:
F3A, C8
16
Równoważną jej liczbą dziesiętną jest liczba o postaci:.
(15 ∙ 16
2
) + (3 ∙ 16
1
) + (10 ∙ 16
0
) + (12 ∙ 16
-1
) + (8 ∙ 16
-2
) = 3898,78125
10
Przykład 7
Liczba zapisana w systemie heksadecymalnym ma postać: 3F
16
. Liczba ta oznacza liczbę
powstałą przez sumowanie:
(3 ∙ 16
1
) + (15 ∙ 16
0
) =48+15= 63.
Konwersji dziesiętno - szesnastkowej można dokonać na drodze wielokrotnego dzielenia
na 16 części całkowitej oraz mnożenia przez 16 części ułamkowej przetwarzanej liczby
dziesiętnej.
Przykład 8
Dana jest liczba L
10
= 2527,78125
10
2527
10
= 9DF
16
0,78125
10
= C8
16
Wynik konwersji: 2527,78125
10
= 9DF, C8
16
Liczba przedstawiona w systemie dwójkowym może być bezpośrednio przetworzona na
liczbę przedstawioną w systemie szesnastkowym. W tym celu należy liczbę dwójkową
podzielić na grupy czterobitowe (tetrady) poczynając od przecinka w lewo i w prawo
i zastąpić otrzymane tetrady ekwiwalentnymi cyframi szesnastkowymi.
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
10
Przykład 9
Dana jest liczba L
2
= 011010101000,111101011100
Dla części całkowitej liczby otrzymuje się 0110 = 6, 1010 = A, 1000 = 8
natomiast dla części ułamkowej 1111 = F, 0101 = 5, 1100 = C
zatem po odrzuceniu zera na początku i dwóch zer na końcu otrzymuje się
1101010100,1111010111
2
= 6A8,F5C
H
Tabela 2. Przykłady liczb wyrażonych w różnych systemach
System
dziesiętny
System
dwójkowy
System
ósemkowy
System
szesnastkowy
0
0
0
0
1
1
1
1
2
10
2
2
3
11
3
3
4
100
4
4
5
101
5
5
6
110
6
6
7
111
7
7
8
1000
10
8
9
1001
11
9
10
1010
12
A
11
1011
13
B
12
1100
14
C
13
1101
15
D
14
1110
16
E
15
1111
17
F
16
10000
20
10
17
10001
21
11
18
10010
22
12
19
10011
23
13
20
10100
24
14
100
1100100
144
64
1000
1111101000
1750
3E8
Kody
Kod jest to zestaw symboli, przyporządkowany danej informacji. Czynność
przyporządkowania tych symboli nazywa się kodowaniem.
Parametry określające kod to:
−
długość m jest to liczba bitów informacji albo liczba zmiennych,
−
pojemność P jest to liczba kombinacji wartości zmiennych występujących w kodzie.
W celu zautomatyzowania procesów przetwarzania i transmisji informacji cyfrowej,
zamiast znaków graficznych, którymi posługujemy się na co dzień, są wykorzystywane
specjalne kody zbudowane z bardzo prostych symboli. Za pomocą kodów najczęściej koduje
się liczby. W układach cyfrowych najczęściej stosuje się kod binarnym, i jego szczególny
przypadek kod dwójkowo – dziesiętny.
Kody zbudowane z symboli dwuwartościowych noszą nazwę kodów dwójkowych.
Symbole dwuwartościowe (lub dwójkowe), które przyjmują wartości cyfrowe 0 lub 1,
nazywa się bitami. Znaki przedstawia się w postaci ciągów symboli dwójkowych, a ciągi te
nazywane są słowami kodowymi. Inaczej mówiąc, m (czyt. liczba) bitów, które odpowiadają
wartościom M zmiennych tworzy tzw. słowo dwójkowe (kodowe). Jedno słowo dwójkowe
składające się z m bitów informacji może reprezentować 2
m
różnych elementów informacji,
np. kod dwójkowy złożony z siedmiu bitów umożliwia zakodowanie 2
7
= 128 znaków.
Kodowanie za pomocą kodu dwójkowego oznacza zapisanie liczb w systemie dwójkowym.
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
11
Najlepiej jest, gdy wszystkie znaki są przedstawione za pomocą słów kodowych
o jednakowej długości. Z uwagi na szybkość i wydajność procesów przetwarzania informacji,
należy posługiwać się słowami o jak najmniejszej długości. Kodowanie informacji pozwala
na zmniejszenie liczby torów transmisji potrzebnych do przesłania informacji.
Podział kodów
W zależności od parametru P kody dzielimy na zupełne i niezupełne. Kody zupełne,
które zawierają wszystkie możliwe kombinacje wartości zmiennych. Kody niezupełne, które
nie wykorzystują wszystkich kombinacji.
Kody systematyczne i niesystematyczne
Kody systematyczne tworzy się na podstawie reguły formalnej, w której każda
kombinacja wartości zmiennych jest zdefiniowana w sposób jednoznaczny, do kodów
systematycznych zaliczamy m.in. wszystkie kody wagowe. Kody niesystematyczne
wymagają podania tabeli, która określa kolejność poszczególnych kombinacji występujących
w dowolnym porządku. do kodów niesystematycznych zaliczamy na przykład kody Watha
i dalekopisowy.
Kody dwójkowe wagowe i niewagowe
Jeśli każdy bit (pozycja) kodu dwójkowego ma określoną i niezmienną wagę (znaczenie)
liczbową to taki kod nazywamy kodem wagowym; pozostałe kody są kodami niewagowymi.
Wagi są przeważnie liczbami całkowitymi. Wartości liczbowe słowa kodowego będą sumą
wag tych pozycji, które zawierają jedynki. Najprostszym wagowym kodem dwójkowym jest
tzw. naturalny kod dwójkowy (kod binarny, kod BIN) (tabela 3). Wagi naturalnego kodu
dwójkowego n – bitowego (n – pozycyjnego) wynoszą 2
i
, (gdzie i = 0, 1, 2, ..., 2n-1), tzn. są
kolejnymi potęgami liczby 2.Powszechnie stosowanym kodem dwójkowym niewagowym jest
kod Graya, w którym sąsiednie słowa różnią się wartością tylko jednego bitu.
Tabela 3. Kody 4 – bitowe: naturalny i Graya
Naturalny kod dwójkowy BIN
Kod Graya ( niewagowy)
DCBA
8 4 2 1
ZWYX
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0 0 0 0
0 0 0 1
0 0 1 1
0 0 1 0
0 1 1 0
0 1 1 1
0 1 0 1
0 1 0 0
1 1 0 0
1 1 0 1
1 1 1 1
1 1 1 0
1 0 1 0
1 0 1 1
1 0 0 1
1 0 0 0
Kody dwójkowo – dziesiętne
Ważną odmianę kodów dwójkowych stanowią kody dwójkowo - dziesiętne BCD
(ang. Binary Coded Decimal). W kodach tych poszczególne cyfry dziesiętne są przedstawione
w kodzie dwójkowym, każdej cyfrze kodu dziesiętnego są przyporządkowane cztery bity
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
12
kodu binarnego. Do zakodowania dziesięciu cyfr potrzebne są co najmniej cztery bity, bo:
2
3
< 10 < 2
4
. Sześć spośród szesnastu kombinacji kodu 4 - bitowego nie będzie
wykorzystanych. Kody BCD mogą być wagowe i niewagowe (przedstawione w tabeli 4 i 5).
W kodach wagowych każda pozycja ma określoną wagę. Ciąg wag kodu jest zwykle używana
jako nazwa kodu. Podstawowym wagowym kodem BCD jest kod 8421 BCD lub po prostu
kod BCD (tabela 5), w którym wykorzystuje się pierwsze dziesięć tetrad 4 – bitowego
naturalnego kodu dwójkowego. Przykładem kodu niewagowego BCD jest kod z nadmiarem
3 (tabela 6). Kod ten otrzymuje się dodając trzy do cyfry dziesiętnej i zapisując ją następnie
w kodzie 8421. W tym kodzie nie ma możliwości przypisania wagi każdej pozycji.
Tabela 4. Kody dwójkowo – dziesiętne wagowe
Kod
BCD
Aikena
Wagi
8 4 2 1
2 4 2 1
2 4 2 1
7 4 2 1
8 4 2 1
0
1
2
3
4
5
6
7
8
9
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 1 1 0
1 1 1 1
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
0 0 0 1
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
1 0 0 0
1 0 0 1
1 0 1 0
0 0 0 0
0 1 1 1
0 1 1 0
0 1 0 1
0 1 0 0
1 0 1 1
1 0 1 0
1 0 0 1
1 0 0 0
1 1 1 1
Tabela 5. Kody dwójkowo – dziesiętne niewagowe
Kod:
Cyfra
Z nadmiarem 3 (+3,
plus 3,
excess 3. XS3)
Graya
z nadmiarem 3
Wattsa
Johnsona
pseudopierścieniowy
Wskaźników cyfrowych
siedmiosegmentowych
0
1
2
3
4
5
6
7
8
9
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
0 0 1 0
0 1 1 0
0 1 1 1
0 1 0 1
0 1 0 0
1 1 0 0
1 1 0 1
1 1 1 1
1 1 1 0
1 0 1 0
00000001
0011
0010
0110
1110
1010
1011
1001
1000
0 0 0 0 0
0 0 0 0 1
0 0 0 1 1
0 0 1 1 1
0 1 1 1 1
1 1 1 1 1
1 1 1 1 0
1 1 1 0 0
1 1 0 0 0
1 0 0 0 0
0 1 1 1 1 1 1
0 0 0 0 1 1 0
1 0 1 1 0 1 1
1 0 0 1 1 1 1
1 1 0 0 1 1 0
1 1 0 1 1 0 1
1 1 1 1 1 0 0
0 0 0 0 1 1 1
1 1 1 1 1 1 1
1 1 0 0 1 1 1
Kody detekcyjne, korekcyjne i alfanumeryczne
Oprócz omówionych powyżej kodów możemy wyróżnić także kod detekcyjny z kontrolą
parzystości, kod ze stałą liczbą jedynek w słowie kodowym oraz 7 bitowy kod
alfanumeryczny ASCII, do przesyłania informacji pomiędzy komputerami czy dalekopisami.
Algebra Boole’a
Istotą techniki cyfrowej jest wytwarzanie cyfrowych sygnałów wyjściowych jako
odpowiedzi na cyfrowe sygnały wejściowe. Na przykład sumator 16 bitowy przetwarza
doprowadzone do wejść dwie liczby 16 – bitowe na sumę 16 – bitową tych liczb oraz bit
przeniesienia. Można także zbudować układ do mnożenia dwóch liczb. Są to operacje
w rodzaju tych, jakie powinna wykonywać jednostka arytmetyczna komputera. Innym
zadaniem może być porównanie dwóch liczb w celu sprawdzenia, która z nich jest większa.
Typowymi zadaniami układów cyfrowych jest pobranie pewnych liczb binarnych, ich
wyświetlenie, wydrukowanie jako znaków dziesiętnych. We wszystkich tych zadaniach
sygnały (stany) wyjściowe są zdeterminowanymi funkcjami sygnałów (stanów) wejściowych.
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
13
Wszystkie zadania mogą być wykonane za pomocą urządzeń zwanych bramkami, które
realizują działania algebry Boole’a w dziedzinie elementów dwustanowych (binarnych).
Każda ze zmiennych boolowskich może być równa tylko zeru lub równa tylko jedynce. To
założenie można zapisać w postaci:
X = 0, jeśli X
≠
1
X
≠
1, jeśli X = 0
Funkcję, której zmienne lub ona sama przyjmuje wartości ze zbioru {0, 1} nazywamy
funkcją boolowską (logiczną, przełączającą). Natomiast układ przetwarzający logiczne
sygnały wejściowe na logiczne sygnały wyjściowe nazywa się układem logicznym. Przy
projektowaniu dwustanowych (0 – stan niski, 1 – stan wysoki) układów cyfrowych
posługujemy się algebrą Boole’a, która opiera się na trzech zasadniczych funkcjach
logicznych. Jedną z postaci algebry Boole’a jest znany rachunek zdań, gdzie zamiast znaków
sumy + stosuje się łącznik lub, zamiast znaku iloczynu – łącznik i, a do negacji używamy
słowa nie. Algebra Boole’a posługuje się szeregiem praw i tożsamości, które przedstawione
są poniżej.
Prawo przemienności mnożenia i dodawania:
a
A+B = B+A
b
A · B = B · A
Prawo łączności:
a
mnożenia
A+B+C = A+(B+C) = (A+B)+C
b
dodawania
A · B · C = A · (B · C) = (A · B) ·C
Prawo rozdzielczości:
a
mnożenia względem dodawania
A ·(B + C) = A · B + A ·C
b
dodawania względem mnożenia
A + B · C = (A + B) · (A + C)
Prawa podstawowe:
a
A + 1 = 1
b
A · 1 = A
a
A + 0=A
b
A · 0 = 0
a
A + A = A
b
A · A = A
a
A
A
A
=
+
b
0
A
A
=
⋅
Prawa de Morgana:
a
...
C
B
A
...
C
B
A
⋅
⋅
⋅
=
+
+
+
b
...
C
B
A
...
C
B
A
+
+
+
=
⋅
⋅
⋅
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
14
Podstawowe tożsamości algebry Boole’a:
a
A · B + A · C = A · (B + C)
b
(A + B) · (A + C) = A + B · C
a
A · B +B·C+
A
·C=A·B+
A
-C
b
(A + B) · (B + C) · (
A
+C) = (A+B) · (
A
+ C)
a
A · B +
A
· B = B
b
(A + B) · (
A
+ B) = B
Podstawowe funkcje logiczne i bramki układów cyfrowych
−
iloczyn logiczny I (ang. AND),
Y = A · B
−
suma logiczna LUB (ang. OR),
Y = A + B
−
negacja (inwersja) NIE (ang. NOT),
A
Y
=
Operacja sumy logicznej jest zdefiniowana następująco. Jeżeli co najmniej jeden
z argumentów jest równy 1, to wynik jest równy 1. Zatem suma logiczna jest równa 0 tylko
dla przypadku, gdy wszystkie argumenty są równe 0.
Operacja iloczynu logicznego jest zdefiniowana następująco wynik iloczynu jest
równy 1, wtedy i tylko wtedy, gdy wszystkie argumenty przyjmują wartość 1.
Operacja negacji jest operacją jednoargumentową i jest zdefiniowana jako zmiana
wartości argumentu, tj. jeśli argument ma wartość 1, to operacja ta daje w wyniku wartość 0,
a jeśli argument ma wartość 0, to operacja ta daje w wyniku wartość 1.
Stosowane są również operatory złożone (pochodne), jak:
−
suma zanegowana NOR,
B
A
Y
+
=
−
iloczyn zanegowany NAND,
B
A
Y
⋅
=
−
równoważność EX-NOR,
B
A
Y
⊕
=
−
nierównoważność, zwana sumą modulo 2, EXOR , XOR,
B
A
Y
⊕
=
Funkcja I (AND)
Do przedstawienia iloczynu logicznego X na przykład dwóch zmiennych A i B są
stosowane wyrażenia:
B
A
B
A
AB
A·B
X
∧
=
∩
=
=
=
Najczęściej używane jest pierwsze i drugie wyrażenie. Funkcję I (AND) dwóch
zmiennych boolowskich przedstawiono na Rys.1. Funkcja iloczynu logicznego przyjmuje
wartość 1 wtedy i tylko wtedy, gdy wszystkie zmienne, A i B przyjmują wartość 1.
W każdym innym przypadku iloczyn logiczny tych sygnałów wynosi 0.
Tabela 6. Dwuargumentowa funkcji I (AND).
A
B
X = AB
0
0
0
0
1
0
1
0
0
1
1
1
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
15
Rys. 1. Realizacja fizyczna dwuargumentowej funkcji I (AND)
Operację
iloczynu
logicznego
X,
realizują
szeregowo
połączone
klucze
A i B w obwodzie elektrycznym. Napięcie baterii będzie wykorzystane do rozświecenia
żarówki, tzn. X = 1 tylko wtedy, jeśli zarówno klucz A, jak i klucz B będą zamknięte, to
znaczy A = 1 i B = 1 (patrz rysunek 1).
Funkcja LUB (OR)
Do przedstawienia sumy logicznej Y na przykład dwóch zmiennych A i B są stosowane
wyrażenia:
B
A
B
A
B
A
Y
∨
=
∪
=
+
=
Najczęściej używane jest pierwsze wyrażenie. Jeżeli na wejścia układu podamy sygnał A
i sygnał B, to na jego wyjściu otrzymamy sygnał będący ich sumą A + B. Przyjmuje ona
poziom 1, gdy A lub B ma poziom 1. Funkcja sumy logicznej przyjmuje wartość 0 wtedy,
gdy wszystkie zmienne przyjmują wartość 0. Funkcję LUB (OR) dwóch zmiennych
boolowskich przedstawiono na rys. 2, który ilustruje różnicę między sumą logiczną a sumą
arytmetyczną. W ostatnim wierszu tablicy widzimy, że 1 + 1 = 1 dla sumy logicznej. Liczba
zmiennych sumowanych logicznie może być dowolna.
Tabela 7. Dwuargumentowa funkcji LUB (OR)
A
B
X = A + B
0
0
0
0
1
1
1
0
1
1
1
1
Obwód elektryczny z równolegle połączonymi kluczami A i B, które realizują operację
sumy logicznej Y, jest przedstawiony na rys. 2. Napięcie baterii spowoduje zapalenie się
żarówki, czyli Y = l, wtedy, gdy klucz A lub klucz B, lub obydwa są zamknięte (patrz
rysunek 2).
Rys. 2. Realizacja fizyczna dwuargumentowej funkcji LUB (OR)
0
1
A
B
X = AB
Y = A+B
A
B
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
16
Funkcja NIE (NOT)
Do przedstawienia negacji N na przykład zmiennej A są stosowane wyrażenia:
'
A
A
N
=
=
Najczęściej używane jest pierwsze wyrażenie. Symbol A odczytuje się jako „nie A” lub
„A zanegowane”, lub „dopełnienie A”. Funkcja NIE (NOT) polega na inwersji (negacji)
zmiennej, czyli zamienia stan wysoki 1 na stan niski 0 lub odwrotnie. Jeżeli na wejście
podamy sygnał logiczny A, to na wyjściu otrzymamy jego negację
A
(„nie A”). Funkcję NIE
(NOT) przedstawiono na tabela 8.
Tabela 8. Jednoargumentowa funkcja logiczna NIE (NOT)
A
X
0
1
1
0
Funktory układów logicznych
Bramkami (funktorami logicznymi) nazywane są kombinacyjne układy cyfrowe,
realizujące proste funkcje logiczne jednej lub wielu zmiennych logicznych. Zmienną logiczną
jest sygnał elektryczny występujący na wejściach i wyjściach tych układów. Poniżej zostanie
przedstawione działanie logiczne podstawowych typów bramek logicznych.
Bramka I (AND)
A
B
F
0
0
0
0
1
0
1
0
0
1
1
1
B
A
F
⋅
=
Rys. 3. Dwuwejściowa bramka I (AND): a) tablica prawdy i symbol graficzny
Bramka LUB (OR)
Bramka ta jest układem o dwu lub większej liczbie wejść, realizującym funkcję sumy
logicznej zmiennych wejściowych (rys. 4). Wyjście bramki OR (LUB) jest w stanie wysokim,
jeżeli któreś z wejść (lub oba) jest w stanie wysokim. Można to wyrazić za pomocą „tablicy
prawdy”.
a)
b)
B
A
F
+
=
A
B
F
0
0
0
0
1
1
1
0
1
1
1
1
Rys. 4. Dwuwejściowa bramka LUB (OR): a) tablica prawdy, b) symbol graficzny
W algebrze Boole’a symbolowi OR odpowiada symbol „+”. „A LUB B” jest zapisywane
jako A + B.
A
F
B
B
A
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
17
Bramka NIE (NOT)
Często potrzebujemy zmienić stan logiczny na przeciwny, nazywa się to również
negowaniem stanu logicznego. Jest to funkcja inwertora, „bramki” o jednym wejściu (rysunek 5).
a)
b)
A
F
=
A
F
0
1
1
0
Rys. 5. Bramka NIE (NOT): a) tablica prawdy, b) symbol graficzny
Do podstawowych bramek negacyjnych należy bramka I-NIE (Not AND lub krócej
NAND) oraz bramka LUB-NIE (Not OR lub krócej NOR).
Bramka I – NIE (NAND)
Bramka ta jest układem realizującym funkcję negacji iloczynu, a więc zgodnie z prawem
de Morgana również funkcje sumy negacji zmiennych wejściowych (rysunek 6).
Funkcja NOT może być połączona z innymi funkcjami, tworząc NAND. Bramka I-NIE
(NAND) jest bramką podstawową w kilku klasach scalonych układów cyfrowych.
B
A
B
A
F
+
=
⋅
=
a)
b)
A
B
F
0
0
1
0
1
1
1
0
1
1
1
0
Rys. 6. Bramka I – NIE (NAND): a) tablica prawdy, b) symbol graficzny
Bramka LUB – NIE (NOR)
Bramka ta jest układem realizującym funkcję negacji sumy, a więc zgodnie z prawem de
Morgana również funkcję iloczynu negacji zmiennych wejściowych. Podobnie jak bramka
I-NIE (NAND), również i ta bramka jest podstawową bramką w kilku klasach scalonych
układów cyfrowych (rysunek 7b).
B
A
B
A
F
⋅
=
+
=
a)
b)
A
B
F
0
0
1
0
1
0
1
0
0
1
1
0
Rys. 7. Bramka LUB - NIE (NOR): a) tablica prawdy, b) symbol graficzny
A
F
B
A
F
B
F
A
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
18
Sposoby przedstawiania funkcji logicznych
Do przedstawiania funkcji logicznych służy nam opis słowny. Na podstawie opisu można
sporządzić tablicę wartości zwaną tablicą wierności lub tablicą prawdy (ang. Truth Table).
Tablica ta składa się z wierszy, w których wpisuje się wszystkie kombinacje zerojedynkowe
zmiennych niezależnych. Wszystkie kombinacje zmiennych zapisujemy tak, aby tworzyły
kolejne liczby dziesiętne zapisane w systemie dwójkowym. Ostatnia kolumna jest
przeznaczona
do
zapisania
wartości
funkcji
dla
poszczególnych
kombinacji
zerojedynkowych.
Inną metodą bezpośredniego zapisu funkcji n zmiennych są tablice Karnaugha. Tablice te
są prostokątne i zwierają 2
n
pól. Jest to zapis bardziej zwarty i prostszy
w użyciu niż tablica wartości. Metoda tablic Karnaugha zapewnia minimalizację funkcji
logicznych czyli zapisywanie tych funkcji w sposób prostszy w porównaniu z innymi
metodami, a praktyczna realizacja funkcji jest ekonomicznie tańsza, ponieważ wymaga
mniejszej ilości zastosowania bramek cyfrowych.
Metoda tablic Karnaugha
Najczęściej stosowanym i najprostszym rodzajem opisu układu kombinacyjnego jest
tablica wartości, która ukazuje zależność sygnałów wyjściowych od sygnałów zmiennych
wejściowych. Tablice Karnaugha służą do bezpośredniego zapisu n zmiennych. Tablice te są
prostokątne i zawierają 2
n
pól. Kolumnom i wierszom siatek zostały przypisane wartości
w kodzie Graya, gdzie dwie sąsiednie pozycje różnią się jednym znakiem. Kolejność taka jest
charakterystyczną właściwością tablicy Karnaugha, która wykorzystuje reguły sklejania,
zapisane poniżej dla zmiennych A, B funkcji logicznej.
B
B
B
B
X
X
B
B
B
X
X
X
B
BX
BB
B
X
B
X
B
A
X
X
A
A
X
A
AX
=
+
⋅
+
=
+
+
+
=
+
+
+
=
+
+
=
+
=
+
0
1
0
)
(
)
)(
(
)
(
Zmienną, która w dwóch sąsiednich polach przyjmuje różne wartości można pominąć.
Najprostszą z możliwych tablic Karnaugha dla układu dwuwejściowego przedstawiono na
rysunku 8. Za jej pomocą możemy opisać funkcję logiczną dwu sygnałów wejściowych
(D
0
i D
1
).
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
19
a)
b)
D
0
D
1
0
1
D
1
D
0
Y = D
1
0
D
0
0
0
0
D
1
D
0
Y
1
0
1
1
0
0
0
1
1
3
0
1
0
D
0
D
1
0
1
1
0
2
1
1
0
0
0
0
1
0
1
1
1
0
Rys. 8. Tablica Karnaugha dla układu dwuwejściowego: a) niewypełniona, b) przykładowe jej wypełnienie
Na rysunku zaznaczono strzałkami, jakim kombinacjom sygnałów wejściowych
odpowiada dane pole. Tablica ta jest niewypełniona, tzn. nie opisuje żadnej funkcji logicznej.
Jej wypełnienie polega na wpisaniu w każde pole takiego stanu (0, 1), jaki powinien pojawić
się na wyjściu układu przy danej kombinacji sygnałów wejściowych.
Na rysunku 8 przedstawiono wypełnioną przykładowo tablicę Karnaugha. Obok niej
zapisano występujące możliwe kombinacje stanów logicznych sygnałów wejściowych
D0 i D1 oraz odpowiadający im sygnał wyjściowy Y.
Zatem, tablica Karnaugha jest to specjalny rodzaj tablicy, do której w pola opisane
jednoznacznie kombinacją sygnałów wejściowych wpisuje się odpowiadającą im wartość
sygnału wyjściowego. Na rysunku 9 przedstawiono tablicę czterech zmiennych. Każde dwa
sąsiadujące ze sobą pola (stykające się jednym bokiem oraz leżące przy krawędziach A - A’
i B-B’) tej tablicy różnią się w opisach odpowiadających im sygnałów wejściowych tylko
jednym bitem (jedną pozycją).
AB
CD
00
01
11
10
00
0
1
3
2
01
4
5
7
6
11
12
13
15
14
10
8
9
11
10
Rys. 9. Tablica Karnaugha czterech zmiennych
Aby zapisać do tablicy Karnaugha funkcję o większej liczbie sygnałów wejściowych,
należy stopniowo zwiększać jej rozmiary, stosując w tym celu tzw. metodę odbicia
lustrzanego. Sposób tworzenia tablicy dla czterech zmiennych z tablicy dwóch zmiennych
przedstawiono na rysunku 10.
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
20
a)
b)
c)
d)
Rys. 10. Etapy tworzenia tablicy Karnaugha dla czterech sygnałów wejściowych L - L' – oś odbicia lustrzanego
Polega on na przekształceniu tablicy Karnaugha dla dwóch sygnałów wejściowych A, B
(rysunek 10a) w tablicę dla trzech sygnałów wejściowych A, B, C (rysunek 10b) a następnie
w tablicę dla czterech sygnałów A, B, C, D (rysunek 10c, d).
Każde zwiększenie liczby sygnałów wejściowych o jeden powoduje podwojenie
rozmiarów tablicy.
Następnym krokiem jest wypełnienie pól tak utworzonej tablicy. Funkcja logiczna może
być podana na przykład w postaci: opisu słownego, zbioru liczb, dla których reprezentacji
dwójkowej odpowiada na wyjściu poziom 1 lub innego jednoznacznego opisu.
Sposób wypełniania tablicy:
−
każdą liczbę, dla której funkcja wyjściowa przyjmuje wartość 1 przedstawiamy za
pomocą kodu dwójkowego.
−
każdą liczbę możemy zapisać za pomocą czterech bitów (czterech sygnałów
wejściowych). Zatem potrzebna jest czterowejściowa tablica Karnaugha.
−
w poszczególne pola tej tablicy należy wpisać wartości funkcji Y dla poszczególnych
kombinacji sygnałów wejściowych. W tym miejscu zwykle wyłania się problem. Jak
w stosunkowo krótkim czasie znaleźć pola odpowiadające danej kombinacji wejściowej
(problem ten ma większe znaczenie, gdy tworzymy tablice o większej liczbie sygnałów
wyjściowych). Kombinacje sygnałów wejściowych dzielimy przerywaną linią w taki
sposób, aby przebiegała ona między sygnałami opisującymi kolumny a sygnałami
opisującymi wiersze tablicy Karnaugha Na przykład bity A, B opisują wiersze, a bity C,
D - kolumny. Zatem każde pole jest opisane kolumną i wierszem.
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
21
−
w tablicy Karnaugha odszukujemy wiersz opisany kombinacją AB (sygnałów
wejściowych).
−
po odnalezieniu odpowiedniego wiersza. poruszamy się wzdłuż niego, szukając kolumny
opisanej kombinacja CD.
−
w pole tablicy leżące na przecięciu odszukanego wiersza i kolumny wpisujemy wartość 1.
(Strzałkami zaznaczono pola, które odpowiadają poszczególnym kombinacjom).
−
jeżeli funkcja określała pola, którym odpowiadają poziomy 1, to w pozostałe wolne pola
należy wpisać 0.
Dysjunkcyjna postać kanoniczna
Dowolną funkcję logiczną n zmiennych można także przedstawić w dysjunkcyjnej
postaci kanonicznej lub koniunkcyjnej postaci kanonicznej. Pierwsza postać dotyczy sumy
iloczynów pełnych, druga iloczynu sum pełnych. Wyjaśnimy to na przykładzie funkcji
logicznej trzech zmiennych X,Y,Z przedstawionej w tablicy 9.
Tabela 9. Przykładowa tablica wartości funkcji f(X, Y, Z)
j
X
Y
Z
f
0
1
2
3
4
5
6
7
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
1
1
0
1
1
0
Jak wynika z tablicy wartości, funkcja ta przyjmuje wartość 1 w wierszach 2, 3, 5 i 6,
a wartość 0 w pozostałych wierszach. Zatem funkcja f wyrażona w postaci dysjunkcyjnej
przyjmuje postać:
7
6
5
4
3
2
1
0
1
2
0
0
1
1
0
1
1
0
0
)
,
,
(
3
I
I
I
I
I
I
I
I
I
a
Z
Y
X
f
j
j
j
⋅
+
⋅
+
⋅
+
⋅
+
⋅
+
⋅
+
⋅
+
⋅
=
=
−
=
U
Każdy składnik typu 0·I
j
= 0 nie zmienia wartości funkcji, może więc być
wyeliminowany. Wtedy funkcja ta przyjmuje postać:
Z
XY
Z
Y
X
YZ
X
Z
Y
X
I
I
I
I
Z
Y
X
f
+
+
+
=
+
+
+
=
6
5
3
2
)
,
,
(
Przykład:
Wyrazić funkcję
Z
XY
Z
Y
X
YZ
X
Z
Y
X
)
Z
,
Y
,
X
(
f
+
+
+
=
w postaci kanonicznej
=
+
+
+
=
Z
XY
Z
Y
X
YZ
X
Z
Y
X
Z
Y
X
f
)
,
,
(
{ { {
{
U
)
6
,
5
,
3
,
2
(
110
101
011
010
6
5
3
2
=
=
+
+
+
=
Drugą postacią algebraiczną funkcji n zmiennych jest koniunkcyjna postać kanoniczna.
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
22
I
1
2
0
1
1
0
)
(
)
,...,
,
(
−
=
−
+
=
=
n
j
j
j
n
S
a
X
X
X
f
Y
gdzie:
0
a
j
=
lub 1, a znak
I
oznacza iloczyn logiczny.
Jak wynika z tablicy wartości, funkcja ta przyjmuje wartość 0 w wierszach 0, 1, 4 i 7,
a wartość 1 w pozostałych wierszach. Zatem funkcja przyjmuje postać:
)
0
)(
1
)(
1
)(
0
)(
1
)(
1
)(
0
)(
0
(
)
,
,
(
7
6
5
4
3
2
1
0
S
S
S
S
S
S
S
S
Z
Y
X
f
+
+
+
+
+
+
+
+
=
Każdy czynnik typu 1+S
j
= 1 nie zmienia wartości funkcji, może więc być
wyeliminowany. Zatem:
)
)(
)(
)(
(
)
,
,
(
7
4
1
0
Z
Y
X
Z
Y
X
Z
Y
X
Z
Y
X
S
S
S
S
Z
Y
X
f
+
+
+
+
+
+
+
+
=
=
Jako czynniki do iloczynu wchodzą te sumy Sj, które odpowiadają kombinacjom
zerojedynkowym zmiennych niezależnych, dla których funkcja przyjmuje wartość 0.
Wyrazić funkcję trzech zmiennych X,Y,Z w postaci koniunkcyjnej:
)
)(
)(
)(
(
)
,
,
(
Z
Y
X
Z
Y
X
Z
Y
X
Z
Y
X
Z
Y
X
f
+
+
+
+
+
+
+
+
=
{ { { {
I
)
7
,
4
,
1
,
0
(
111
100
001
000
)
)(
)(
)(
(
)
,
,
(
7
4
1
0
=
⋅
⋅
⋅
=
=
+
+
+
+
+
+
+
+
=
Z
Y
X
Z
Y
X
Z
Y
X
Z
Y
X
Z
Y
X
f
4.1.2. Pytania sprawdzające
Odpowiadając na pytania, sprawdzisz, czy jesteś przygotowany do wykonania ćwiczeń.
1. W jaki sposób można zapisać n-cyfrową liczbę całkowitą?
2. Jakie są podstawowe systemy liczbowe?
3. Jakie znaki używane są w systemie szesnastkowym?
4. W jaki sposób można zamienić liczbę dziesiętną na liczbę dwójkową?
5. W jaki sposób można zamienić liczbę w systemie szesnastkowym na liczbę dziesiętną?
6. W jaki sposób można zamienić liczbę w systemie binarnym na liczbę w systemie
szesnastkowym?
7. Jak można wyjaśnić pojęcie kodu?
8. W jaki sposób klasyfikuje się kody?
9. Jak można zdefiniować funkcję boolowską?
10. Jakie są podstawowe prawa algebry Boole’a?
11. Jakie są podstawowe funkcje logiczne?
12. W jaki sposób można przedstawić podstawowe funkcje logiczne?
13. Jakie są metody przedstawiania dowolnej funkcji logicznej?
14. W jaki sposób przedstawia się funkcję logiczną przy pomocy tablicy Karnaugha?
15. W jaki sposób przedstawia się funkcję logiczną według dysjunkcyjnej postaci
kanonicznej?
16. W jaki sposób przedstawia się funkcję logiczną według koniunkcyjnej postaci
kanonicznej?
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
23
4.1.3. Ćwiczenia
Ćwiczenie 1
Sklasyfikuj wskazane przez nauczyciela systemy liczbowe. Omów sposoby zamiany
liczby całkowitej z dziesiętnego systemu liczbowego na binarny i szesnastkowy.
Sposób wykonania ćwiczenia
Aby wykonać ćwiczenie, powinieneś:
1) odszukać w materiałach dydaktycznych kryteria klasyfikacji systemów liczbowych,
2) dokonać analizy zapisu liczb w różnych systemach liczbowych,
3) rozpoznać rodzaje systemów dotyczących ćwiczenia,
4) zapisać w prosty sposób zamianę liczby całkowitej z systemu dziesiętnego na binarny
i szesnastkowy.
Wyposażenie stanowiska pracy:
−
papier formatu A4, flamastry,
−
literatura zgodna z punktem 6 poradnika.
Ćwiczenie 2
Dane są liczby całkowite zapisane w systemie dziesiętnym. L1 = 741 i L2 = 1548.
Dokonaj konwersji tych liczb na system binarny i szesnastkowy.
Sposób wykonania ćwiczenia
Aby wykonać ćwiczenie, powinieneś:
1) odszukać odpowiednie terminy,
2) odnaleźć metody konwersji,
3) wykonać obliczenia,
4) przeanalizować poprawność zamian (konwersji),
5) uzasadnić otrzymane wyniki.
Wyposażenie stanowiska pracy:
−
papier formatu A4, flamastry,
−
literatura zgodna z punktem 6 poradnika
Ćwiczenie 3
Dane są liczby całkowite zapisane w systemie szesnastkowym. L1 = BABA i L2 = ABBA.
Dokonaj konwersji tych liczb na system dziesiętny i binarny.
Sposób wykonania ćwiczenia
Aby wykonać ćwiczenie, powinieneś:
1) odszukać odpowiednie terminy,
2) odnaleźć metody konwersji,
3) wykonać obliczenia,
4) przeanalizować poprawność zamian (konwersji),
5) uzasadnić otrzymane wyniki.
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
24
Wyposażenie stanowiska pracy:
−
papier formatu A4, flamastry,
−
literatura zgodna z punktem 6 poradnika
4.1.4. Sprawdzian postępów
Czy potrafisz:
Tak
Nie
1) zapisać n-cyfrową dwójkową liczbę całkowitą?
2) zamienić liczbę dziesiętną na liczbę dwójkową?
3) rozpoznać podstawowe systemy liczbowe?
4) zamienić liczbę w systemie binarnym na liczbę w systemie
szesnastkowym?
5) wyjaśnić pojęcie kodu?
6) sklasyfikować różne kody binarne?
7) zdefiniować funkcję boolowską?
8) zdefiniować podstawowe funkcje logiczne?
9) przedstawić podstawowe funkcje logiczne?
10) opisać metody przedstawiania dowolnej funkcji logicznej?
11) przedstawić dowolną funkcję logiczną przy pomocy tablicy Karaugha?
12) przedstawić
funkcję
logiczną
według
dysjunkcyjnej
postaci
kanonicznej?
13) przedstawić
funkcję
logiczną
według
koniunkcyjnej
postaci
kanonicznej?
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
25
4.2. Układy kombinacyjne i sekwencyjne
4.2.1. Materiał nauczania
Do
układów
przełączających
logicznych
zaliczamy
układy
kombinacyjne
i sekwencyjne. Cechą odróżniającą układy kombinacyjne i sekwencyjne jest właściwość
pamiętania stanów logicznych, która jest charakterystyczna dla układów sekwencyjnych.
Układy kombinacyjne są bezpamięciowe.
Układ kombinacyjny służy do przetwarzania informacji dyskretnej dwuwartościowej.
W układzie kombinacyjnym każda kombinacja sygnałów wejściowych określa jednoznacznie
kombinację sygnałów wyjściowych. Sygnały wejścia i sygnały wyjścia przyjmują skończoną
liczbę kombinacji i skończoną liczbę wartości. Kombinacje sygnałów wejściowych są to
stany wejść układu, a kombinacje sygnałów wyjściowych stany wyjść układu. Z układem
kombinacyjnym mamy do czynienia, jeżeli wartość zmiennych ze zbioru Y zależy od
wartości zmiennych ze zbioru X.
Działanie układu kombinacyjnego możemy opisać wyrażeniem:
Y = f (X)
gdzie: X – zbiór wszystkich możliwych, dla danego układu stanów wejść,
X = {x
1
, x
2
,...,x
n
,},
Y – zbiór wszystkich możliwych, dla danego układu stanów wyjść,
Y = {y
1
, y
2
,,...,y
n
}.
Zależność Y = f (X) jest równoważna zespołowi (rodzinie) funkcji logicznej:
y
1
= f
1
(x
1
...x
n
)
y
2
= f
2
(x
2
...x
n
)
y
m
= f
m
(x
1
...x
n
)
gdzie:
n – liczba wejść układu kombinacyjnego,
m – liczba wyjść układu kombinacyjnego.
Układ przełączający (logiczny) o n wejściach i m wyjściach można przedstawić
w postaci pokazanej na rysunku 11.
Rys. 11. Układ przełączający X = {x
1
, x
2
,...,x
n
}, Y = {y
1
, y
2
,,...,y
n
}
Do realizacji fizycznej kombinacyjnych układów cyfrowych są stosowane bramki
logiczne. W układach kombinacyjnych stosuje się metodę Karnaugha. Synteza układu
kombinacyjnego sprowadza się do realizacji zespołu funkcji logicznych określonych na tym
samym zbiorze zmiennych. O złożoności układowej świadczy liczba funktorów w układzie
oraz liczba połączeń, czyli sumaryczna liczba wejść wszystkich funktorów. Obie te liczby
stanowią o koszcie układu. Przy syntezie zespołu funkcji logicznych należy dążyć do
minimalizacji funkcji kosztu, biorąc pod uwagę możliwość wykorzystania wspólnych
iloczynów (sum) wchodzących w skład rozpatrywanych funkcji.
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
26
W celu dokonania realizacji układu kombinacyjnego należy:
−
określić funkcję logiczną rozpatrywanego problemu, np. za pomocą tablicy wartości,
−
dokonać
minimalizacji
funkcji
logicznej
wykorzystując
tablice
Karnaugha,
przedstawione w poniższym rozdziale, lub metody algebraiczne,
−
sporządzić schemat układu logicznego, realizującego zminimalizowaną funkcję logiczną.
Istnieją dwie podstawowe metody minimalizacji funkcji:
1. metoda analityczna algebry Boole’a.
2. metoda z użyciem tablicy Karnaugha (czyt. karno).
Minimalizacja analityczna metodą algebry Boole’a polega na zapisaniu funkcji logicznej,
a następnie zminimalizowaniu (skróceniu zapisu jej z zastosowaniem praw algebry Boole’a
(podanych w rozdziale 4.1.).
Układy komutacyjne
Układy komutacyjne służą do łączenia ze sobą bloków funkcjonalnych i przełączania
sygnałów cyfrowych. Określony kod stosujemy zależnie od jego zastosowania. Przy wyborze
należy brać pod uwagę możliwość osiągnięcia minimum kosztów układu realizującego daną
operację oraz zapewnienie prawidłowości jej realizacji w obecności zakłóceń i uszkodzeń
w systemie. Aby dokonać konwersji danego kodu na inny kod, liczba słów kodowych
w obydwu kodach musi być identyczna, natomiast długość słów obydwu kodów nie musi być
jednakowa. Układy komutacyjne służą do łączenia ze sobą bloków funkcjonalnych
i przełączania sygnałów cyfrowych. Do układów komutacyjnych systemów cyfrowych
zaliczamy:
−
konwertery kodów (w tym kodery i dekodery),
−
demultipleksery,
−
multipleksery.
Konwerterem (przetwornikiem) nazywamy układ służący do przekształcenia jednego
kodu w inny kod. Przetwornik przekształcający kod „1 z n” na żądany kod, nazywa się
koderem (zwany też enkoderem), natomiast przetwornik zmieniający dowolny kod w kod
„1 z n” – dekoderem. Pozostałe przetworniki noszą nazwę transkoderów. Szczególnym
rodzajem dekoderów są multipleksery i demultipleksery, zwane selektorami.
Enkodery
Enkodery zwykłe są to układy zmieniające kod „1 z n” na określony binarny kod
wyjściowy. Układy te posiadają n – wejść, przy czym tylko jedno z wejść jest w danym
czasie aktywne. Jeśli kodem wejściowym jest kod „1 z n” bez negacji, to wejście aktywne
znajduje się w stanie 1, a pozostałe w stanie 0. Natomiast jeśli kodem wejściowym jest kod
„1 z n” z negacją, to wejście aktywne znajduje się w stanie 0, a pozostałe w stanie 1. Sygnał
aktywny, pojawiający się na jednym z n wejść, zostaje zakodowany w słowo binarne
m – bitowe (m – wyjść enkodera) i na wyjściach pojawia się numer wyjścia aktywnego,
przedstawiony w żądanym kodzie dwójkowym.
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
27
Rys. 12. Enkoder zwykły
Przykładem może być zamiana kodu 1 z 10 na kod BCD 8421, oraz zamiana kodu
10
z
1
na kod BCD 8421.
Tabela 10. Tablica prawdy enkoderów zwykłych
Wejścia
Kod 1 z 10
Kod
10
1z
Przykładowe
wyjścia
9 8 7 6 5 4 3 2 1 0
9 8 7 6 5 4 3 2 1 0
D C B A
0 0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 1 0 0 0
0 0 0 0 0 1 0 0 0 0
0 0 0 0 1 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0
0 0 1 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1 0
1 1 1 1 1 1 1 1 0 1
1 1 1 1 1 1 1 0 1 1
1 1 1 1 1 1 0 1 1 1
1 1 1 1 1 0 1 1 1 1
1 1 1 1 0 1 1 1 1 1
1 1 1 0 1 1 1 1 1 1
1 1 0 1 1 1 1 1 1 1
1 0 1 1 1 1 1 1 1 1
0 1 1 1 1 1 1 1 1 1
0
1
2
3
4
5
6
7
8
9
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
Na podstawie tablicy prawdy możemy wywnioskować, że wyjście A = 1, jeśli wejście 1
jest w stanie 1 lub jeśli wejście 3 jest w stanie 1, lub jeśli wejście 5 jest w stanie 1, lub jeśli
wejście 7 jest w stanie 1, lub wejście 9 jest w stanie 1.
Wobec tego w notacji algebry Boole'a można to za pisać w postaci funkcji:
A = 1+3+5+7+9
Podobnie
B = 2+3+6+7
C = 4+5+6+7
D = 8+9
Kod 1 z n
…
…
KOD WYJŚCIOWY
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
28
a)
b)
Rys. 13. Przykłady enkoderów
Dekodery
Dekodery są to układy kombinacyjne n / m (liczba wejść / liczba wyjść) przekształcające
określony kod wejściowy o długości m na kod wyjściowy „1 z n”. Dekoder posiada m wyjść,
a
każdemu
ze
słów
wyjściowych
jest
przyporządkowany
sygnał
aktywny
(1 lub 0), pojawiający się tylko na jednym z m wyjść, pozostałe zmienne wyjściowe mają
wartość przeciwną.
Rozróżniamy dwa rodzaje dekoderów:
−
pełny, jeśli dla rozpatrywanego dekodera zachodzi równość 2
n
= m, gdzie n – liczba
wejść,
−
niepełny, jeśli dla rozpatrywanego dekodera zachodzi nierówność 2
n
> m, gdzie nie
wszystkie słowa kodowe są wykorzystane.
Przykładowo rozpatrzmy syntezę dekodera pełnego 2/4, czyli dekodera posiadającego
2 wejścia i 4 wyjścia. Wejścia rozpatrywanego dekodera oznaczono literami: A, B a wyjścia
liczbami: 0, 1, 2, 3.
Kod wejściowy i kod wyjściowy dekodera przedstawiono w tablicy 11.
Tabela 11. Tablica prawdy dekodera pełnego 2/4
Wyjścia
1 z 4
4
1z
Wejścia
B A
0 1 2 3
0 1 2 3
0 0
0 1
1 0
1 1
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
0 1 1 1
1 0 1 1
1 1 0 1
1 1 1 0
Gdy kodem wyjściowym dekodera jest kod 1 z 4 bez negacji, to dekoder jest układem
realizującym następujące funkcje przełączające:
1
2
3
4
5
6
7
8
9
Kod 1 z 10
A
B
C
D
A
B
C
D
1
2
3
4
5
6
7
8
9
Kod 1 z 10
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
29
0 = B
A
1 = B
A
2 = B
A
3 = AB
albo
0 =
B
A
B
A
+
=
1 =
B
A
B
A
+
=
2 =
B
A
B
A
+
=
3 =
B
A
AB
+
=
Rys. 14. Realizacja dekoderów
Transkodery
Transkodery są to układy służące do konwersji kodu dwójkowego, innego niż kod
pierścieniowy (1 z n), na inny kod dwójkowy, ale również nie pierścieniowy. Przykładem
transkodera jest konwerter kodu wskaźnika siedmiosegmentowego na kod 8421 BCD.
Transkodery są często zaliczane do grupy dekoderów. Transkodery można zrealizować
w postaci układu złożonego z dekodera (zmieniającego kod wejściowy X na kod
pierścieniowy) i enkodera (zmieniającego kod pierścieniowy uzyskany na wyjściach dekodera
na żądany kod wyjściowy Y). Takie rozwiązanie jest korzystne wtedy, gdy zarówno
wymagany dekoder jak i enkoder, albo przynajmniej jeden z nich, są dostępne.
0
1
2
3
1z4
0
1
2
3
1z4
A
A
B
B
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
30
Rys. 15. Schematy ideowe transkoderów: a) zbudowanych z enkodera i dekodera, b) zbudowanych w postaci
kombinacyjnego układu wielowyjściowego
Jeśli zarówno dekoder jak i enkoder nie są dostępne w postaci układów scalonych,
to lepsze rozwiązanie można uzyskać w wyniku syntezy transkodera jakowielowyjściowego
układu kombinacyjnego.
Przykłady syntezy i rozwiązań transkoderów
Zaprojektować transkoder służący do przetwarzania kodu 8421 BCD na kod 2*421 BCD.
W celu zaprojektowania transkodera: 8421 BCD na kod 2*421 BCD należy przedstawić
rozpatrywane kody w tablicy (rys. 16). Tablica kodów stanowi tablicę wartości
rozpatrywanego układu kombinacyjnego. Jest to układ 4 – wyjściowy. Kolumny wejścia A
i D (patrz tablica kodów) są tożsame z kolumnami wyjściowymi A' i D', a zatem:
A' = A
D' = D
W celu wyznaczenia funkcji B' i C' należy zastosować metody minimalizacji, np. za
pomocą tablic Karnaugha, lub dostrzec związki logiczne, jakie otrzymuje się z tych tablic,
czyli:
B' = B+D
C' = C+D
Schemat logiczny układu realizującego powyższe funkcje przełączające pokazano na
rysunku 15.
Kod
wejsciowy
X
Enkoder
Dekoder
Kod
pierścien.
wy
Kod
wyjściowy
X
Transkoder
Kod
wejściowy
X
Kod
wyjściowy
X
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
31
Tabela 12. Dla transkodera 8421 BCD na kod 2*421
0
1
2
3
4
5
6
7
8
9
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 1 1 0
1 1 1 1
00
01
11
10
00
01
11
10
00
0
0
1
1
00
0
0
0
1
01
0
0
1
1
01
1
1
1
1
11
X
X
X
X
11
X
X
X
X
10
1
1
X
X
10
1
1
X
X
Rys. 16. Transkoder służący do konwersji kodu 8421
Multipleksery
Multiplekser jest układem umożliwiającym przełączanie (komutację) sygnałów
cyfrowych. Posiada on kilka wejść informacyjnych, jedno wyjście, wejścia adresowe
(sterujące) oraz wejście strobujące. Multiplekser służy do wybrania jednego określonego
sygnału wejściowego i przełączenia go do wyjścia. Sterowanie multiplekserem polega na
podaniu na wejścia sterujące numeru (w kodzie BCD) wejścia, które ma być połączone
z wyjściem. Wejście strobujące służy do zablokowania pracy multipleksera. W postaci
układów scalonych dostępne są np. UCY74150N, 74151N, 74153N, 74157N.
Rozpatrzmy przykładowo układ UCY74150N. Układ ma 16 wejść danych (D0¸D15),
4 wejścia adresowe (A¸ B, C, D), wejście strobujące (S) i wyjście (W). Blokowanie układu
następuje po podaniu poziomu 1 na wejście strobujące S. Podanie na wejście strobujące
poziomu 0 powoduje działanie układu zgodnie z podaną poniżej tabelą.
BA
BA
DC
DC
B’
C’
A
B
C
D
A’
B’
C’
D’
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
32
Tabela 12a.Wejscia i wyjścia multipleksera
Rys. 17. Multiplekser
Demultipleksery
Demultiplekser pełni funkcję odwrotną do multipleksera, a mianowicie realizuje funkcję
przełączenia sygnału z jednego wejścia na określone jedno z wielu wyjść. Podobnie jak
multiplekser posiada wejścia sterujące, wejście strobujące, jedno wejście, a kilka wyjść.
W postaci układów scalonych dostępne są np. układy UCY74154N, 74155N. Poniżej
przedstawiono oznaczenie symboliczne oraz tablicę działania demultipleksera UCY74154N.
Na wyjściu wybranym przez słowo adresowe pojawia się stan 0 tylko wtedy, gdy na obu
wejściach G1 i G2 panuje stan 0. Wejścia G1 i G2 można połączyć w jedno i traktować jako
wejście informacyjne lub jedno z nich stanowi wejście informacyjne, drugie zaś wejście
strobujące. Doprowadzenie do wejścia strobującego poziomu logicznego 1 powoduje
zablokowanie multipleksera. Jeżeli do wejścia strobującego podamy stan logiczny 0 to układ
działa według podanej poniżej tabeli.
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
33
Tabela 13.Wejscia i wyjscia multipleksera
Rys. 18.Widok demultipleksera
Przykłady zastosowań
Linijka diodowa. Efektownym zastosowaniem demultipleksera jest układ sterowania
diodami typu LED. Wejścia G1 i G2 są połączone z masą co powoduje, że na wybranym
przez słowo adresowe wyjściu pojawia się poziom logiczny „0” i sterowana z tego wyjścia
dioda świeci się. Przy sterowaniu cyklicznym wejść adresowych z pewną małą
częstotliwością otrzymamy efekt przemiatania świecącej diody.
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
34
Rys. 19. Linijka diodowa
Na rysunku 20 przedstawiono multiplekserowy system przesyłania informacji cyfrowej
zrealizowany przy pomocy 8-bitowego multipleksera i 8-bitowego demultipleksera. Do wejść
adresowych obu tych układów przyłączono liczniki wyzwalane wspólnym sygnałem
taktującym T. Liczniki zliczają cyklicznie 8 kolejnych impulsów taktujących wyprowadzając
na swe wyjścia reprezentację dwójkową liczby zliczonych impulsów. Po każdej zmianie
adresu do wyjścia multipleksera jest przyłączone kolejne wejście. W demultiplekserze ten
sam adres, który występuje w multiplekserze przyłącza linię przesyłową do jednego
określonego wyjścia.
Rys. 21. Multiplekserowe przesyłanie informacji.
Przerzutniki
W odróżnieniu od bramek logicznych przerzutniki są elementami, które cechuje pamięć.
Doprowadzenie do przerzutnika nawet bardzo krótkiego impulsu sygnałowego powoduje
zmianę stanu przerzutnika i tym samym zapamiętanie impulsu. Przerzutnik może zapamiętać
jeden stan jednego sygnału (zarejestrować jedno zdarzenie). Inaczej mówiąc przerzutnik
może zapamiętać jeden bit informacji.
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
35
Opis działania przerzutnika podaje się najczęściej – ze względu na krótki i przejrzysty
zapis – w postaci tablic. W tablicy takiej wyszczególnione są wszystkie wejścia i wyjścia
przerzutnika oraz wszystkie kombinacje stanów wejść z odpowiadającymi im stanami wyjść.
Większość przerzutników (za wyjątkiem przerzutnika prostego RS) posiada wejście
zegarowe (taktujące). Rodzaj sterowania tym wejściem (zależy od konstrukcji przerzutnika)
jest oznaczony na symbolu przerzutnika. Przerzutniki mogą być sterowane poziomem lub
zboczem. Wejście bez oznaczeń wskazuje na przerzutnik sterowany poziomem wysokim „1”,
natomiast przerzutnik sterowany poziomem niskim „0” ma wejście zegarowe poprzedzone
kółeczkiem (symbolem negacji). Wejścia zegarowe przerzutników sterowanych zboczem
oznacza się małym trójkącikiem – sterowane zboczem narastającym, lub trójkącikiem
z symbolem negacji (kółeczkiem) – sterowane zboczem opadającym.
Rys. 21. Symbole wyzwalania przerzutników
Przerzutnik prosty RS
Przerzutnik taki posiada dwa wejścia: S (Set) -ustawiające i R (Reset) – kasujące oraz
dwa wyjścia komplementarne Q i Q. Po podaniu aktywnego sygnału wejściowego na wejście
S ustawiamy na wyjściu Q poziom wysoki (ustawianie przerzutnika). Po podaniu sygnału na
wejście R ustawiamy na wyjściu Q poziom niski (kasowanie przerzutnika). Na wyjściu Q
panuje zawsze stan przeciwny do stanu na wyjściu Q. Przerzutnik ten można zbudować
zarówno z bramek NOR jak i z bramek NAND. W zależności od rodzaju wykonania nieco
różne jest jego działanie – jednak podstawowe zależności takie same.
Przerzutnik RS z bramek NOR
R
S
Q
0
0
Q-1
0
1
1
1
0
0
1
1
-
Rys. 22. Przerzutnik RS dwóch bramek NOR
Podanie dwóch zer na wejścia przerzutnika pozostawia go w stanie początkowym,
podanie jedynki na wejście S i zera na wejście R powoduje ustawienie przerzutnika, podanie
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
36
zera na wejście S i jedynki na wejście R zeruje przerzutnik. Zabronioną kombinacją (oznacza
ona niezanegowany wzajemnie stan wyjść) dla przerzutnika RS zbudowanego z bramek NOR
jest podanie dwóch jedynek na wejścia.
Przerzutnik RS z bramek NAND
R
S
Q
0
0
-
0
1
0
1
0
1
1
1
Q-1
Rys. 23. Przerzutnik RS z bramek NAND
Ustawienie przerzutnika zbudowanego z bramek NAND następuje po podaniu zera na
wejście S i jedynki na wejście R. Skasowanie natomiast przez odwrotne podanie sygnałów.
Podanie dwóch jedynek pozostawia przerzutnik w stanie początkowym. Kombinacją
zabronioną dla tego przerzutnika jest podanie dwóch zer na wejścia
Przerzutniki synchroniczne
Przerzutnik synchroniczny do poprawnego działania wymaga doprowadzenia do wejścia
zegarowego C (taktującego) sygnału w postaci fali prostokątnej. Przerzutnik RS
z wejściem taktującym. W odróżnieniu od zwykłego przerzutnika RS, przerzutnik
z wejściem taktującym ma trzy wejścia sterujące: R, S oraz C (Clock) – wejście taktujące
(zegarowe). Przez doprowadzanie sygnałów do wejść R i S można dowolnie ustawiać stany
wyjść, ale tylko w tych momentach czasowych, w których na wejściu C panuje stan wysoki.
Dzięki takiemu rozwiązaniu w większych systemach cyfrowych możliwe jest wcześniejsze
przygotowanie odpowiednich sygnałów sterujących na wejściach poszczególnych stopni
układu, a ustawienie sygnałów na wyjściach następuje po pojawieniu się sygnału taktującego
- równocześnie na wszystkich przerzutnikach. Wejścia R i S nazywa się wejściami
przygotowującymi. Występuje tutaj również zabroniona kombinacja wejść w postaci dwóch
jedynek na wejściach R i S.
Przerzutnik D
Przerzutnik D jest rozszerzoną wersją przerzutnika RS. Występuje w nim tylko jedno
wejście ustawiające (D) oraz wejście taktujące (C) (niektóre wersje posiadają dodatkowe
wejścia R i S). W przerzutniku RS z wejściem taktującym może wystąpić taka kombinacja
sygnałów (C = R = S = 1), przy której stan wyjść jest zabroniony lub nieokreślony. Zostało to
wyeliminowane w standardowym przerzutniku D (posiadającym jedynie wejścia D i C),
dzięki zastosowaniu inwertera przed jedną z bramek wejściowych. Ponadto przerzutnik
D może być tak wykonywany, że tylko zbocze narastające powoduje zmianę sygnału na
wyjściu przerzutnika. Unika się dzięki temu ewentualnych zakłóceń, związanych ze zmianą
stanu wejścia D podczas trwania impulsu zegarowego.
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
37
C
C
Q
0
0
Q-1
0
1
Q-1
1
0
0
1
1
1
Rys. 24. Przerzutnik synchroniczny typu D
Przerzutnik JK
Przerzutnik JK jest elementem bardziej uniwersalnym niż przerzutnik D. Posiada on dwa
wejścia informacyjne J i K, na których dozwolone są wszystkie kombinacje sygnałów.
Wejścia te pozwalają na oddziaływanie na stan wyjść przerzutnika, wejście J odpowiada
wejściu S (Set) i służy do ustawienia przerzutnika, natomiast wejście K służy do kasowania
przerzutnika (równoznaczne z wejściem R (Reset)). Ustawianie i kasowanie przerzutnika
odbywa się w chwili, gdy na wejściu zegarowym pojawi się opadające zbocze sygnału.
J
K
Q
0
0
Q
0
1
0
1
0
1
1
1
Q
Rys. 25. Przerzutnik JK
Przerzutnik JK Master Slave
Przerzutnik JK-MS jest przerzutnikiem dwutaktowym. Oznacza to, że do ustawienia
przerzutnika potrzebne są dwa kolejne zbocza impulsu zegarowego C (czyli pojedynczy
impuls prostokątny). Przerzutnik ten składa się z dwóch połączonych szeregowo
przerzutników RS przełączanych zboczami. Pierwszy z nich nazywa się Master, drugi Slave.
Działa on w ten sposób, że w czasie pierwszego zbocza narastającego są próbkowane stany
wejść J i K, drugie natomiast zbocze (opadające) powoduje zgodnie z tablicą działania zmianę
stanu przerzutnika. Tabela stanów dla tego przerzutnika jest identyczna jak dla poprzedniego.
Rys. 26. Przerzutnik JK Master Slave (JK-MS)
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
38
Przerzutnik T
Jeżeli połączymy wejścia J i K przerzutnika JK-MS razem w jedno wejście, to powstanie
nam przerzutnik T mający wejście informacyjne T oraz taktujące C. Jeżeli na wejściu T jest
przygotowany stan 1, to po każdym impulsie taktującym stan przerzutnika zmienia się na
przeciwny. W takim układzie przerzutnik T pracuje jako dzielnik częstotliwości przez 2. Przy
T = 0 przerzutnik nie zmienia swego stanu - występuje blokada stanów wyjściowych.
Rys. 27. Przerzutniki typu T
Modyfikowanie przerzutników
Realizacja przerzutnika D z przerzutnika JK. W łatwy sposób można otrzymać
przerzutnik D z przerzutnika JK poprzez połączenie wejścia K przez inwerter z wejściem J.
Otrzymane jedno wejście odpowiadać będzie wejściu D przerzutnika D. Wejście zegarowe
pozostaje wejściem zegarowym.
Rys. 28. Przerzutniki typu D z przerzutnika JK
Przerzutnik T z przerzutnika D. Otrzymanie przerzutnika T z przerzutnika D sprowadza
się praktycznie do przyłączenia wejścia D przerzutnika D do Q i traktowania wejścia
zegarowego jako wejście T.
Rys. 29. Przerzutniki typu T z przerzutnika D
Zastosowania przerzutników
Zastosowania przerzutników są bardzo szerokie. Wykorzystuje się je przede wszystkim
do budowy liczników, rejestrów przesuwających, układów sterowania wskaźników
alfanumerycznych i innych układów sekwencyjnych.
4.2.2. Pytania sprawdzające
Odpowiadając na pytania, sprawdzisz, czy jesteś przygotowany do wykonania ćwiczeń.
1. W jaki sposób definiuje się układ kombinacyjny?
2. Jak można wyjaśnić pojecie układu sekwencyjnego?
3. Jaka jest zasadnicza różnica pomiędzy układem kombinacyjnym a sekwencyjnym?
4. Do czego służą układy komutacyjne?
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
39
5. Jakie układy można zaliczyć do komutacyjnych?
6. Jak można zdefiniować konwerter kodów?
7. Jakie warunki muszą być spełnione, aby zamienić jeden kod na inny?
8. W jaki sposób można wyjaśnić pojęcia: transkoder, enkoder, dekoder?
9. W jaki sposób działa multiplekser?
10. W jaki sposób działa demultiplekser?
11. W jaki sposób można zrealizować multipleksowy system przesyłania informacji?
12. Jakie elementy cyfrowe maja możliwość zapamiętania informacji?
13. W jaki sposób można scharakteryzować przerzutnik prosty RS?
14. Jaka jest zasadnicza różnica pomiędzy przerzutnikami prostymi RS wykonanymi
z bramek NAND i NOR?
15. Jakiego sygnału wymagają do poprawnej pracy przerzutniki synchroniczne?
16. W jaki sposób mogą być wyzwalane przerzutniki synchroniczne?
4.2.3. Ćwiczenia
Ćwiczenie 1
Dana jest funkcja logiczna trzech zmiennych Y = (C, B, A), która przyjmuje wartości
jedynki logicznej dla nieparzystych kombinacji. (1, 3, 5, 7). Dla pozostałych kombinacji
przyjmuje wartości równe zero. Zrealizuj tę funkcję przy użyciu dowolnych bramek
cyfrowych, wykorzystując metodę tablic Karnougha.
Sposób wykonania ćwiczenia
Aby wykonać ćwiczenie, powinieneś:
1) odszukać odpowiednie pojecia, dotyczące funkcji logicznych i bramek cyfrowych,
2) wypełnić tablicę prawdy,
3) odnaleźć w materiale nauczania metodę tablic Karnougha,
4) narysować i wypełnić tablicę Karnougha,
5) zapisać funkcje logiczne,
6) narysować układ cyfrowy, realizujący daną funkcję logiczna.
Wyposażenie stanowiska pracy:
−
papier formatu A4, flamastry,
−
literatura zgodna z punktem 6 poradnika
Ćwiczenie 2
Dane są bramki NAND dwuwejściowe. Używając tych bramek zrealizuj następujące
funkcje logiczne:
−
NOR,
−
OR,
−
AND,
−
EXOR.
Sposób wykonania ćwiczenia
Aby wykonać ćwiczenie, powinieneś:
1) odszukać odpowiednie pojęcia, dotyczące bramek cyfrowych
2) wypełnić tablice prawdy lub zapisać funkcje logiczne z ćwiczenia,
3) przekształcić funkcje logiczne używając praw de’Morgana,
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
40
4) narysować bramki NAND i połączyć je odpowiednio,
5) sprawdzić poprawność realizacji funkcji logicznych dla wszystkich możliwych
kombinacji zmiennych wejściowych
6) narysować ostateczne układy, realizujące funkcje logiczne.
Wyposażenie stanowiska pracy:
−
papier formatu A4, flamastry,
−
literatura zgodna z punktem 6 poradnika
Ćwiczenie 3
Dany jest przerzutnik synchroniczny typu JK. Dokonaj konwersji tego przerzutnika
na przerzutniki synchroniczne typu D oraz T.
Sposób wykonania ćwiczenia
Aby wykonać ćwiczenie, powinieneś::
1) odszukać odpowiednie pojęcia, dotyczące przerzutników,
2) narysować przerzutniki przed i po konwersji, uwzględniając dodatkowe bramki,
3) narysować tablice wzbudzeń przerzutników,
4) dokonać analizy poprawności konwersji, korzystając z tablic wzbudzeń.
Wyposażenie stanowiska pracy:
−
papier formatu A4, flamastry,
−
literatura zgodna z punktem 6 poradnika.
4.2.4. Sprawdzian postępów
Czy potrafisz:
Tak
Nie
1) zdefiniować się układ kombinacyjny?
2) wyjaśnić różnicę pomiędzy układem kombinacyjnym a sekwencyjnym?
3) zdefiniować układy komutacyjne?
4) zdefiniować konwerter kodów?
5) wyjaśnić pojęcia: transkoder, enkoder, dekoder?
6) opisać sposób działania demultipleksera?
7) zrealizować multipleksowy system przesyłania informacji?
8) wskazać jakie elementy cyfrowe mają możliwość zapamiętania
informacji?
9) scharakteryzować prosty przerzutnik RS?
10) wskazać różnicę pomiędzy przerzutnikami prostymi RS wykonanymi
z bramek NAND i NOR?
11) wskazać jakiego sygnału wymagają do poprawnej pracy przerzutniki
synchroniczne?
12) opisać w jaki sposób mogą być wyzwalane przerzutniki synchroniczne?
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
41
4.3. Bloki funkcjonalne i typowe układy cyfrowe
4.3.1. Materiał nauczania
Liczniki cyfrowe
Licznikiem nazywamy sekwencyjny układ cyfrowy służący do zliczania i zapamiętywania
liczby impulsów zerojedynkowych, podawanych w określonym przedziale czasu na jego
wejście zliczające. Licznik cyfrowy jest zbudowany z odpowiednio ze sobą połączonych
przerzutników TTL. Ogólnie biorąc, licznik posiada wejścia dla impulsów zliczających, wejście
ustawiające (zerujące) jego stan początkowy asynchronicznie względem impulsów zliczanych
lub synchronicznie z nimi.
Ustawienie wszystkich przerzutników, wchodzących w skład licznika, w stan 0 nazywa
się zerowaniem. Symbol graficzny licznika pokazano na rysunku 29, na którym zaznaczono
wejście impulsów zliczanych, wejście ustawiające stan początkowy oraz wyjścia.
Rys. 30. Symbol graficzny licznika
Na podstawie stanu wyjść można określić ile impulsów pojawiło się na wejściu układu
od chwili, kiedy licznik był ostatnio w stanie początkowym.
Każdy licznik posiada określoną pojemność (zwana długością cyklu), tzn. może zliczyć
określoną liczbę impulsów, co odpowiada liczbie stanów układu przyjmowanych przez
licznik w jednym pełnym cyklu.
Licznik jest układem sekwencyjnym, zbudowany z przerzutników i układu
kombinacyjnego zapewniającego takie ich sterowanie, aby pod wpływem impulsu
wejściowego przeszły do kolejnego stanu działania. Licznik posiada s – stanów, a kolejne
stany licznika są ponumerowane liczbami: 0, 1, 2,... s – 2, s – 1. Każdemu określonemu
stanowi licznika odpowiada jedna, ściśle określona kombinacja stanów przerzutników,
z których jest on zbudowany. Jeden przerzutnik może być w dwu stanach, dwa przerzutniki
mogą dać kombinację 2
⋅
2 = 2
2
= 4 stanów, a n przerzutników może opisać 2
n
stanów. Dlatego
do utworzenia licznika o s stanach potrzeba n przerzutników:
(2
n-1
≤
s
≤
2
n
)
Pojemność zależy od liczby przerzutników wchodzących w skład licznika.
Wyjścia
…
…
Wej
śc
ia
Układ
sekwencyjny
s - stanowy
Impulsy zliczane
Impuls zerujący
(ustawiający)
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
42
Ze względu na długość cyklu liczniki można podzielić na:
−
liczniki o stałej długości cyklu,
−
liczniki o nastawionej długości cyklu.
Ze względu na sposób powtarzania cyklu liczniki można podzielić na:
−
liczniki modulo s (dzielnik liczby lub częstotliwości impulsów przez s),
−
liczniki do s.
Licznikiem modulo s nazywamy licznik posiadający s wyróżnialnych stanów, przez które
przechodzi cyklicznie (powtarza cykl) pod wpływem impulsów wejściowych.
Licznikiem do s nazywamy licznik posiadający s wyróżnialnych stanów, przez które
przechodzi jednokrotnie. Jeśli licznik do s, po osiągnięciu ostatniego stanu cyklu, ma mieć
ponownie s wyróżnialnych stanów, to należy sprowadzić go do stanu początkowego.
Ze względu na kierunek zliczania liczniki dzielimy na:
1. liczniki jednokierunkowe:
−
zliczające w przód, jeśli liczby reprezentujące zawartość informacyjną licznika wzrastają
w trakcie liczenia kolejnych impulsów,
−
zliczające wstecz, jeśli liczby reprezentujące zawartość informacyjną licznika maleją
w trakcie liczenia kolejnych impulsów.
2. liczniki dwukierunkowe.
Liczniki dwukierunkowe (rewersyjne) są to liczniki zliczające impulsy zarówno w przód
jak i wstecz.
Ze względu na sposób oddziaływania impulsów zliczanych na stan przerzutników
licznika, liczniki można sklasyfikować następująco:
–
liczniki asynchroniczne (szeregowe),
–
liczniki synchroniczne (równoległe).
W liczniku asynchronicznym impulsy zliczane są podawane tylko na jedno z wejść
zegarowych przerzutników licznika. W liczniku synchronicznym impulsy zliczane są
podawane na wejścia zegarowe wszystkich przerzutników jednocześnie wchodzących
w skład licznika. Układ asynchronicznego licznika jest układem szeregowym (połączenie
szeregowe). Natomiast układ synchronicznego licznika jest układem równoległym. Dlatego
liczniki asynchroniczne są nazywane licznikami szeregowymi, a liczniki synchroniczne –
licznikami równoległymi. Układ równoległy zapewnia jednoczesność zmian stanów
przerzutnika, a więc najkrótszy czas propagacji i największą częstotliwość impulsów
wejściowych.
Liczniki asynchroniczne
W licznikach asynchronicznych (szeregowych) zmiana stanu kolejnego przerzutnika
odbywa się pod wpływem zmiany stanu przerzutnika poprzedniego. Najprostszym
przykładem licznika szeregowego jest kaskada n szeregowo połączonych przerzutników.
Liczniki szeregowe realizujemy najczęściej na przerzutnikach typu T lub JK o zwartych
wejściach informacyjnych.
Algorytm projektowania liczników szeregowych:
–
ustalić liczbę przerzutników niezbędnych do realizacji licznika (w zależności od
pojemności licznika 2
n
),
–
na wejścia informacyjne T lub JK (zwarte) – podać „1”,
–
jeżeli licznik liczy w przód – połączyć wejścia zegarowe następnego przerzutnika
z wyjściem „Q” poprzedniego.
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
43
Przykład
Na rysunku 31 przedstawiono schemat logiczny licznika szeregowego zbudowanego
z trzech przerzutników JK, zliczającego w przód.
a)
b)
c)
Rys. 31. Licznik szeregowy zliczający w przód o pojemności 8: a) schemat logiczny, b) tablica stanów,
c) przebiegi czasowe
Wejścia synchroniczne przerzutników JK są przyłączone do jedynki logicznej. Czasami
mogą być one nie użyte, co jest równoznaczne z przyłączeniem ich do jedynki logicznej.
Impuls zliczany We jest wprowadzony na wejście zegarowe pierwszego przerzutnika.
Wejścia zegarowe kolejnych przerzutników są połączone z wyjściem Q poprzednich
przerzutników. Zmienna Q0 reprezentuje wagę 2
0
– czyli 1, waga zmiennej Q1 wynosi 2
1
– czyli 2, a zmiennej Q2 – 2
2
, czyli 4.
W chwili początkowej wszystkie przerzutniki są w stanie 0 (Q0 = Q1 = Q2 = 0). Jeśli na
wejście zegarowe pierwszego przerzutnika zostanie podany impuls, to powoduje on zmianę
stanu jego wyjścia Q0 z 0 na 1. Stan drugiego przerzutnika nie ulegnie zmianie, ponieważ na
We
Q
0
Q
1
Q
2
0
1
2
3
4
5
6
7
8
0
1
0
1
0
1
0
1
0
0
0
1
1
0
0
1
1
0
0
0
0
0
1
1
1
1
0
We
Q
0
Q
1
Q
2
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
0
J
0
Q
0
C
K
0
„1”
J
1
Q
1
C
K
1
Q
0
Q
1
Q
2
J
2
Q
2
C
K
2
„1”
„1”
We
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
44
wejściu zegarowym przerzutnika Q1 nie wystąpiła zmiana sygnału z 1 na 0.Pod wpływem
drugiego impulsu pierwszy przerzutnik zmieni stan z 1 na 0. Ta zmiana stanu powoduje
zmianę stanu drugiego przerzutnika z 0 na 1.Pod wpływem trzeciego impulsu pierwszy
przerzutnik zmieni stan z Q2 na 1. Ta zmiana nie powoduje zmiany stanu przerzutnika
drugiego. Czwarty impuls zmieni stan przerzutnika pierwszego z 1 na 0. Zmiana ta powoduje
zmianę stanu z 1 na 0 przerzutnika drugiego, a ta z kolei zmianę stanu z 0 na 1 przerzutnika
trzeciego. Przed pojawieniem się ósmego impulsu wszystkie przerzutniki licznika są w stanie 1.
Po ósmym impulsie pierwszy przerzutnik zmieni stan z 1 na 0. Ta zmiana powoduje zmianę
stanu z 1 na 0 drugiego przerzutnika, a ta z kolei zmianę stanu z 1 na 0 przerzutnika trzeciego.
Przedstawiony licznik charakteryzuje się więc ośmioma stanami. Przerzutnik pierwszy
tego licznika zmienia swój stan za każdym razem pojawienia się zmiany impulsu
wejściowego z 1 na 0, a więc dzieli częstotliwość impulsów wejściowych przez 2. Drugi
przerzutnik zmienia swój stan za każdym pojawieniem się zmiany stanu z 1 na
0 przerzutnika pierwszego, a więc na wyjściu Q1 otrzymuje się impulsy o częstotliwości
cztery razy mniejszej, niż częstotliwość impulsów wejściowych. Natomiast trzeci przerzutnik
zmieni swój stan, jeśli poprzednie przerzutniki zmieniają swój stan z 1 na 0, otrzymując
impulsy o częstotliwości osiem razy mniejszej (pojawia się jeden impuls na osiem impulsów
wejściowych).
Uzyskano w ten sposób kaskadę trzech przerzutników asynchronicznych pracująca
zgodnie z przebiegami czasowymi z rysunku 30c.
Jeśli licznik ma liczyć w tył (odejmować) – wejścia zegarowe łączymy z wyjściem
poprzedniego.
Na rysunku 31 przedstawiono przykład licznika szeregowego odejmującego, który
pomniejsza swój stan w takt impulsu zliczanego oraz przebiegi czasowe.
a)
b)
Rys. 32. Szeregowy licznik odejmujący: a) schemat połączeń, b) przebiegi czasowe
Q
0
C
Q
0
Q
1
C
Q
1
Q
0
Q
1
Q
2
Q
2
C
Q
2
We
We
Q
0
Q
1
Q
2
1
2
3
4
5
6
7
7
6
5
4
3
2
1
8
0
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
45
Jeżeli chcemy zaprojektować licznik a s nie jest równe s = 2
n
.
Tworzymy licznik o większej liczbie stanów takiej, że s = 2
n
, ale jednocześnie s > 2
n-1
.
Do takiego licznika dołącza się bramki NAND lub AND w zależności od tego, na co reagują
wejścia asynchroniczne przerzutników (NAND – gdy na „0”). Bramki te służą do
ograniczania impulsów zliczanych przez licznik.
Na bramkę podajemy z wyjść przerzutników impuls, przy którym nastąpi zerowanie
licznika. Natomiast wyjście bramki łączymy z wejściami ustawiającymi.
Na rysunku 33 przedstawiono licznik pracujący w dwóch kierunkach. Jest on
połączeniem liczników z rysunku 31 i 32. Zmiany kierunku zliczania dokonuje się za pomocą
sygnału K. Zmiana wartości K może spowodować wyzwolenie przerzutnika. Z tego powodu
po zmianie kierunku zliczania należy ustawić warunek początkowy, od którego licznik
zaczyna swoją pracę.
K – zmienna programująca kierunek zliczania.
Rys. 33. Licznik szeregowy rewersyjny.
Na rysunku 34a przedstawiono licznik modulo 3. Do określenia liczby przerzutników
zastosujemy zależność (2n-1
≤
s
≤
2n). Liczba n spełniająca ten warunek wynosi 2.
Tworzymy więc licznik binarny złożony z dwóch przerzutników.
a)
J
0
Q
0
C
K
0
1
J
1
Q
1
C
K
1
Q
0
Q
1
We
1
R
R
K
X
C
C
C
Q
1
Q
2
Q
0
Q
Q
Q
S
S
S
R
R
R
Q
Q
Q
Z
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
46
b)
Rys. 34. Licznik modulo 3: a) schemat połączeń, b) przebiegi czasowe
Zerowanie licznika nastąpi, gdy pojawi się impuls odpowiadający liczbie 3, czyli 11
2
. Na
wejścia bramki podajemy B = A = 1, a na wyjściu bramki pojawi się stan niski zerujący
wszystkie przerzutniki licznika.
Jeśli stanem początkowym jest stan 0 (stan wyjść BA = 0), pod wpływem impulsu
wejściowego wyjście A przechodzi do stanu 1. Na wejściu bramki NAND są wówczas
sygnały: 1, 0, a na jej wyjściu stan 1 (rysunek 34b). Pod wpływem drugiego impulsu
wejściowego licznik przechodzi do stanu 2. Na wejściu bramki NAND są wówczas sygnały:
1, 0, a na jej wyjściu stan 1. Pod wpływem następnego impulsu wejściowego na wyjściu
licznika pojawi się stan 3. Wówczas na wyjściu bramki NAND, a więc i na wejściu R pojawi
się sygnał 0, który spowoduje wyzerowanie licznika, czyli powrót do stanu 0. Licznik ten ma
trzy stany, przez które przechodzi cyklicznie. Jest to więc licznik modulo 3.
Rejestry
Rejestrem nazywamy układ składający się z zespołu przerzutników, służący do
przechowywania informacji w postaci słów (cztero-, ośmio- lub więcej bitowych) w systemie
cyfrowym. O długości słowa zapamiętywanego w rejestrze decyduje liczba użytych
przerzutników.
Ze względu na sposób wprowadzania i wyprowadzania informacji rejestry dzielą się na:
−
równoległe, umożliwiające równoległe wprowadzanie i wyprowadzanie informacji
(całymi słowami) jednocześnie do wszystkich i ze wszystkich pozycji,
−
szeregowe umożliwiające szeregowe wprowadzanie i wyprowadzanie informacji, tzn. bit
po bicie, w takt sygnału zegarowego,
−
szeregowo równoległe, umożliwiające szeregowe wprowadzanie i równoległe
wyprowadzanie informacji,
−
równoległo szeregowe, umożliwiające równoległe wprowadzanie i szeregowe
wyprowadzanie informacji.
Pierwszy rodzaj rejestrów zalicza się do grupy równoległych, natomiast trzy pozostałe
zalicza się ogólnie do rejestrów szeregowych lub przesuwających. Wielkości
charakteryzujące rejestr to:
−
długość rejestru równa liczbie n zawartych w nim przerzutników,
−
szybkość pracy rejestru równa czasowi trwania lub wyprowadzania informacji dla
rejestru równoległego, a dla rejestru szeregowego jest to maksymalna częstotliwość
impulsów taktujących.
3
We
Q
0
Q
1
R
1
2
3
1
1
2
0
0
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
47
Podstawową funkcją rejestrów jest zapamiętywanie informacji. Do tego celu służą
przerzutniki, zdolne do zapamiętania wartości jednej zmiennej logicznej. W odróżnieniu od
przerzutników rejestry są zdolne zapamiętywać całe słowa. Rejestry spełniają w urządzeniach
cyfrowych funkcję pomocniczych pamięci o niewielkich pojemnościach.
a)
b)
c)
d)
e)
Rys. 35. Podstawowe sposoby wpisywania i pobierania informacji w rejestrach: a) szeregowo – szeregowy,
b) szeregowo – równoległy, c) równoległo – szeregowy, d) równoległo – równoległy,
e) pierścieniowy.
Rejestr, w zależności od trybu pracy (szeregowy, równoległy), może mieć jedno lub
więcej wejść informacyjnych, jedno lub więcej wyjść oraz grupę wejść sterujących. Poniżej
przedstawiono symbol rejestru uniwersalnego A-bitowego.
We
Wy
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
48
Rys. 36. Symbol rejestru uniwersalnego
Rejestry możemy podzielić na:
−
rejestry asynchroniczne – zbudowane z przerzutników asynchronicznych,
−
rejestry synchroniczne – zbudowane z przerzutników synchronicznych.
Rejestry równoległe
Najprostszymi rejestrami są rejestry równoległe, ponieważ nie wymagają żadnych
połączeń między tworzącymi je przerzutnikami np. układy UCY 74174 i UCY 74175.
Z zespołu rejestrów równoległych budowane są tzw. pamięci buforowe, służące do
przechowywania informacji podawanej w sposób równoległy. Bufory najczęściej pośredniczą
między jednostkami cyfrowymi działającymi z różnymi szybkościami. W rejestrze
równoległym zarówno wprowadzanie i wyprowadzanie informacji odbywa się równolegle.
Rejestr równoległy można sobie wyobrazić jako zestaw przerzutników typu D, których ani
wejścia informacyjne D, ani wyjścia nie są ze sobą połączone. Połączone są jedynie wejścia
synchronizujące i ewentualnie asynchroniczne wejścia zerujące. Rejestr taki wykonuje
mikrooperacje wpisywania do rejestru informacji wejściowej i zerowanie jego zawartości.
Najogólniej rejestr równoległy można przedstawić jak na rysunku 37.
Rys. 37. Rejestr równoległy
⇓
⇓
Wejścia równoległe
Wyjścia równoległe
Rejestr A
Wejście szeregowe
(przesuw wstecz)
Wyjście szeregowe
W
ej
śc
ia
Szeregowe
(przesuw w przód)
Zegarowe
Sterujące
Zerujące
D
0
Q
0
C
Q
0
D
1
Q
1
C
Q
1
D
2
Q
2
C
Q
2
D
3
Q
3
C
Q
3
Wy
0
Wy
1
Wy
2
Wy
3
We
0
We
1
We
2
We
3
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
49
Rejestry równoległe asynchroniczne są zbudowane z przerzutników asynchronicznych
nie połączonych ze sobą bezpośrednio, a wpisywanie informacji do tych przerzutników
odbywa się w tym samym interwale czasu.
Rejestry asynchroniczne możemy podzielić na:
−
rejestry o wpisywaniu jednoprzewodowym,
−
rejestry o wpisywaniu dwuprzewodowym.
Rejestr równoległy o wpisywaniu jednoprzewodowym zbudowany z przerzutników rs
pokazano na rysunku 38a.
a)
b)
Z
A
a
0
We
0
We
n-1
a
n-1
Q
0
Q
n-1
J
K
s
r
J
K
s
r
Z
A
a
0
We
0
We
n-1
a
n-1
Q
0
Q
n-1
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
50
c)
Rys. 38. Rejestr równoległy asynchroniczny z wpisywaniem jednoprzewodowym: a) i b) przykłady rozwiązań,
c) przebiegi czasowe
W przypadku asynchronicznego wprowadzenia informacji do rejestru, jeżeli dostępne są
tylko pozycje We
0
,...We
n
każdego bitu informacji, należy przed podaniem sygnału
przepisującego A = 1 wyzerować rejestr. Zerowanie wyjść Q odbywa się przewodem Z,
natomiast wpisywanie wartości zmiennych We jest bramkowane sygnałem A. Na rys. 38b
przedstawiono rozwiązanie o identycznym działaniu wykorzystujące wejścia s,
r przerzutników scalonych JK. Zasady działania rejestrów ilustrują przebiegi czasowe
pokazane na rys. 38c. Wpisywanie informacji We
i
na wyjście Q
i
odbywa się jednym
przewodem a
i
po uprzednim wyzerowaniu rejestru, a sygnał wpisujący jest równy A = 1.
Rejestr równoległy o wpisywaniu dwuprzewodowym przedstawiono na rysunku 39a.
a)
b)
Rys. 39. Rejestr równoległy asynchroniczny z wpisywaniem dwuprzewodowym: a) schemat ideowy,
b) przebiegi czasowe
Z
We
i
A
Q
i
A
a
0
We
0
We
n-1
a
n-1
Q
0
Q
n-1
J
K
s
r
J
K
s
r
We
i
A
Q
i
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
51
W tym układzie zerowanie przerzutników przed wprowadzeniem informacji jest
niepotrzebne. Informacja We
i
zostaje przepisana na wyjście Q
i
, którego wartość jest
określona dwoma sygnałami (dwuprzewodowo) na wejściach s i r przerzutnika.
Zasada działania rejestru jest pokazana na rys. 39b. Dla A = 1, wartość ai jest określona
przez wartość zmiennej We
i
. Gdy a
i
= 1 oraz A = 1, następuje wyzerowanie Q
i
, gdy a
i
= 0,
następuje ustawienie Q
i
= 1.Poprawne ustawienie informacji do rejestru w czasie trwania
sygnału wpisującego A = 1 ma miejsce wtedy, gdy informacja We
i
w czasie trwania
wpisywania nie ulega zmianie. Rejestry równoległe synchroniczne są zbudowane
z przerzutników synchronicznych, do których informacja We
i
jest wpisywana w takt impulsu
zegarowego.
Przykład rejestru synchronicznego przedstawiono na rysunku 40a.
a)
b)
Rys. 40. Rejestr równoległy z wpisywaniem synchronicznym: a) schemat ideowy, b) przebiegi czasowe
W układzie tym wpisywanie We
i
odbywa się na przednim zboczu impulsu taktującego.
Pracę rejestru pokazano na rys. 40b. Wartości zmiennych We
i
muszą być ustalone, zanim
pojawi się impuls taktujący T. Wyprzedzenie wartości We
i
względem T oznaczono przez t
s
–
czas ustalania. Wyzerowanie Q
i
nastąpi przednim zboczem sygnału T, gdy czas trwania
We
i
= 0 i T = 1 jest większy lub równy wartości t
h
, zwanej czasem utrzymania.
Rejestry szeregowe
W rejestrach szeregowych wejścia i wyjścia informacyjne kolejnych przerzutników
wchodzących w skład rejestrów są połączone ze sobą tak, że możliwe jest „przepisywanie”
zapamiętanych wartości logicznych do sąsiednich przerzutników i w rezultacie „przesuwanie”
zapamiętywanego słowa w kolejnych taktach sygnału zegarowego.
Rejestry szeregowe charakteryzują się możliwością przesuwania wprowadzonej
informacji bądź w prawo lub w lewo – rejestry jednokierunkowe, bądź też zarówno w prawo
jak i w lewo - rejestry dwukierunkowe, inaczej zwane rewersyjnymi. Rejestry te stosuje się
najczęściej jako układy pośredniczące między urządzeniami o różnym sposobie przetwarzania
informacji, o różnych szybkościach pracy.
Rejestry szeregowe zwane przesuwającymi, przyjmują lub przekazują informację
szeregowo.
D Q
C
r
We
0
T
Z
D Q
C
r
We
n-1
Q
0
Q
n-1
We
i
T
Q
i
t
s
t
h
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
52
Na rysunku 41 przedstawiono przykłady rejestrów, w których informacja jest
wprowadzana szeregowo, natomiast jej wyprowadzenie odbywa się szeregowo (rejestr
szeregowy) lub równolegle (rejestr przesuwający). Układy te różnią się sposobem taktowania.
W pierwszym przypadku układ jest taktowany przednim zboczem impulsu T, natomiast
w drugim przypadku układ jest taktowany dwustopniowo.
Rys. 41. Rejestr szeregowy i przesuwający
Szeregowe taktowanie przednim zboczem pociąga za sobą problemy związane
z właściwym doborem czasów propagacji. W układzie z szeregowo połączonymi
przerzutnikami czas propagacji następnego przerzutnika jest większy od czasu propagacji
przerzutnika poprzedniego. Wówczas proces przepisywania wartości
z wejścia
informacyjnego na stopniu następnym nie jest jeszcze zakończony, podczas gdy zakończony
został ten proces na stopniu poprzednim. Może się więc zdarzyć, że następny przerzutnik
będzie miał zmienioną wartość zmiennej informacyjnej w trakcie procesu przepisywania,
przejmując w ten sposób nową wartość tej zmiennej. Nastąpi jak gdyby dwukrotne
przepisanie wartości zmiennej informacyjnej w jednym takcie impulsu zegarowego.
W układzie taktowanym dwustopniowo nie ma problemów z czasami propagacji.
Układy arytmetyczne
Prawie wszystkie praktyczne obliczenia matematyczne dają się sprowadzić do działań
arytmetycznych, wszystkie zaś działania arytmetyczne sprowadzają się do dodawania. Do
podstawowych układów arytmetycznych zalicza się więc sumator, którego zasadniczym
zadaniem jest dodawanie (lub odejmowanie) liczb.
Sumatory dzielimy na:
−
dwójkowe, gdzie działania dokonuje się na liczbach dwójkowych,
−
dziesiętne, wykonujące działania na liczbach dziesiętnych kodowanych dwójkowo.
Sumatory można również podzielić ze względu na sposób podawania składników sumy:
a) równoległe:
−
z przeniesieniem szeregowym,
−
z przeniesieniem równoległym.
b) szeregowe.
D Q
C
Q
D Q
C
Q
D Q
C
Q
D Q
C
Q
We
Wy
C
J Q
C
K Q
We
J Q
C
K
Q
C
J Q
C
K
Q
J Q
C
K
Q
Wy
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
53
Do układów arytmetycznych zaliczane są również komparatory. Są to układy służące do
porównywania wielkości dwu lub więcej liczb binarnych. Można wyróżnić dwa zasadnicze
typy komparatorów: równoległe i szeregowe.
Sumatory
Sumatory są to układy służące do sumowania arytmetycznego dwu liczb binarnych n –
bitowych A i B, z jednobitowym przeniesieniem C
i
, dając w wyniku n – bitową sumę S
i
i przeniesienie C
i+1
.
Dodawanie liczb dwójkowych odbywa się według tych samych zasad co liczb
dziesiętnych. Dodawanie dwu liczb dwójkowych A i B jest pokazane na rysunku 42.
a)
b)
A
B
S
C
0
0
1
1
0
1
0
1
0
1
1
0
0
0
0
1
c)
Rys. 42. Dodawanie jednobitowych liczb dwójkowych: a) symbol, b) tablica prawdy, c) tablice Karnaugha
Zmienna S
i
reprezentuje wynik operacji, jej wartość jest sumą modulo 2 (EX – OR)
składników A
i
, B
i
i C
i
.
Zmienna C
i
reprezentuje przeniesienie z pozycji młodszej sumatora wielopozycyjnego,
natomiast C
i+1
jest przeniesieniem do pozycji starszej C
i
nie występuje w tzw. półsumatorze,
a obecność C
i
daje sumator pełny.
Na podstawie siatek Karnaugha otrzymujemy wyrażenia logiczne dla półsumatora:
−
suma
i
i
i
i
i
i
i
B
A
B
A
B
A
S
⊕
=
+
=
−
przeniesienie
i
i
1
i
B
A
C
=
+
Σ
A
B
C
S
A
B
C S
Dodajna
Dodajnik
Suma
Przeniesienie
A 0 1
0 0
0 1
B
0
1
A 0
1
0 1
1 0
B
0
1
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
54
Przykładowy schemat logiczny przedstawia rysunku 43.
Rys. 43. Schemat logiczny półsumatora
W przypadku dodawania wielobitowych liczb dwójkowych należy uwzględnić
przeniesienie z pozycji sąsiedniej, mniej znaczącej od rozpatrywanej. Operację dodawania
bitów z i – tej pozycji dodawanych liczb wielobitowych ilustruje rysunek 44b.
Za pomocą siatek Karnaugha można opisać zasadę działania sumatora pełnego (rysunek
44c, d). Z siatek tych otrzymujemy zależności:
−
suma
(
) (
)
(
)
(
)
i
i
i
i
i
i
i
i
i
i
i
i
i
i
i
i
i
i
i
i
B
A
C
B
A
C
B
A
C
B
A
B
A
C
B
A
B
A
C
S
⊕
⊕
=
⊕
+
⊕
=
+
+
+
=
−
przeniesienie
i
i
i
i
i
i
1
i
C
B
C
A
B
A
C
+
+
=
+
i
i
i
i
i
i
1
i
C
B
C
A
B
A
C
⋅
⋅
=
+
a)
b)
A
i
B
i
C
i
S
i
C
i+1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
1
0
1
0
0
1
0
0
0
1
0
1
1
1
AB
C = AB
S = A
⊕
B
Σ
A
i
B
i
C
i
S
i
C
i+1
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
55
c)
00
01
11
10
0
0
1
0
1
1
1
0
1
0
d)
00
01
11
10
0
0
0
1
0
1
0
1
1
1
Rys. 44. Sumator dwuargumentowy jednobitowy: a) symbol, b) tabela zależności, c) siatka zależności dla sumy,
d) siatka zależności dla przeniesienia
Ponieważ istnieje wiele równoważnych postaci funkcji Si i Ci zatem istnieje możliwość
różnej ich interpretacji. Schemat sumatora pełnego, dwuargumentowego z przeniesieniem
z pozycji poprzedniej Ci oraz przeniesienie do pozycji wyższej Ci + 1 pokazano na rysunku 45.
Rys. 45. Schemat logiczny jednopozycyjnego sumatora pełnego
Sumatory równoległe
Sumatory równoległe ze względu na sposób wytwarzania przeniesień dzielimy na:
−
sumatory z przeniesieniem szeregowym, zwane również sumatorami kaskadowymi albo
iteracyjnymi,
−
sumatory z przeniesieniem równoległym.
Sumator kaskadowy n bitowy jest układem powstałym przez połączenie n sumatorów
jednobitowych. Schemat blokowy sumatora kaskadowego przedstawiono na rysunku 46.
A
i
B
i
C
i
A
i
B
i
C
i
S
i
C
i+1
A
i
B
i
C
i
S
i
C
i+1
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
56
Rys. 46. Schemat blokowy sumatora kaskadowego
Przy sumowaniu liczb dodatnich wejście przeniesienia początkowego C
0
nie jest
wykorzystywane (C
0
= 0). Wszystkie cyfry dodawanych liczb dwójkowych podawane są na
sumator jednocześnie. Czas uformowania się wyniku zależy od prędkości propagacji sygnału
przeniesienia przez kolejne komórki sumatora. W najbardziej niekorzystnym przypadku
sygnał C musi przejść przez wszystkie komórki sumatora.
Najbardziej rozpowszechnionym sumatorem jest układ typu 7483.Monolityczny układ
scalony 7483 jest czterobitowym sumatorem dwójkowym równoległym z przeniesieniem
równoległym. Sumator ma wyjścia sumy z każdego bitu oraz wyjście przeniesienia (C4)
z ostatniego bitu. Posiada również wejście (C0) przeniesienia z poprzedniej pozycji na
pierwszy bit sumatora.
Rys. 47. Symbol sumatora 7483
Komparatory
Komparatory to układy logiczne, które porównują ze sobą liczby. Najważniejsze kryteria
porównania to A = B, A>B i A<B. Kryterium równości dwóch liczb dwójkowych to
identyczność wszystkich bitów. Komparator powinien dawać na wyjściu 1 wówczas, gdy
dwie porównywane liczby są sobie równe. W przypadku dwóch liczb 1-bitowych wystarczy
użyć bramki EXOR. Bardziej uniwersalne komparatory prócz wykrywania równości
wskazują, która z porównywanych liczb jest większa. Określa się je mianem komparatora
wartości.
Tabela 14. Stany komparatora 1-bitowego
Σ
A
0
B
0
C
0
S
0
C
1
Σ
A
i
B
i
C
i
S
i
C
i+1
Σ
A
n-1
B
n-1
C
n-1
S
n-1
C
n
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
57
Dla utworzenia funkcji logicznych należy skorzystać z przedstawionej tabeli 14. Na jej
podstawie otrzymamy bezpośrednio układ realizujący tę funkcję, przedstawiony na rysunku 48.
Rys. 48. Realizacja komparatora jednobitowego
Pamięci
Pamięci są to układy logiczne służące do przyjmowania, przechowywania i wydawania
zakodowanych
informacji
(danych).
Jednym
z
rodzajów
pamięci
są
pamięci
półprzewodnikowe. Informacja jest zapisywana i pamiętana w postaci ciągów
zerojedynkowych. Jeden element takiej informacji nazywa się bitem (1b), 8 bitowy element
bajtem (1B), a 16 bitowy element słowem 16 bitowym.
Najważniejszymi parametrami pamięci są:
−
pojemność,
−
szybkość,
−
koszt,
−
pobór mocy.
Pojemność pamięci (wielkość) oznacza ilość informacji jaką można w niej
przechowywać. Mierzy się ją w jednostkach informacji takich jak: bity, bajty lub słowa.
Może być ona wyrażona w kilobitach (Kb), megabitach (Mb), gigabitach (Gb), lub
kilobajtach (KB), megabajtach (MB), gigabajtach (GB). Pojemność pamięci operacyjnych
określa się podając liczbę słów i długość słowa. Liczbę słów podaje się używając
przedrostków odpowiadających odpowiednim mnożnikom.
1 KB odpowiada 2
10
= 1024 bajtom;
1 MB odpowiada 2
20
= 1024 · 1024bajtom;
1 GB odpowiada 2
30
= 1024 · 1024 · 1024bajtom.
Przykładowo pojemność pamięci może wynosić 512Kx64, co oznacza, że jest to 2
19
słów
64-bitowych. W przypadku gdy słowo ma długość 8 bitów pojemność pamięci jest podawana
w bajtach. Wówczas np. 128 KB oznacza 2
17
bajtów.
Szybkość pracy pamięci jest parametrem wskazującym na to, jak często procesor lub inne
urządzenie może korzystać z niej. Jest ona określana kilkoma parametrami. Są to:
−
czas dostępu (ang. access time),
−
czas cyklu,
−
szybkość transmisji.
Czas dostępu jest to czas jaki upływa od momentu zażądania informacji z pamięci do
momentu, w którym ta informacja ukaże się na wyjściu pamięci. Dla pamięci operacyjnych
czas ten wynosi od 20 ns do 200 ns.
Czas cyklu jest to najkrótszy czas jaki musi upłynąć pomiędzy dwoma żądaniami dostępu
do pamięci. Zwykle czas ten jest nieco dłuższy od czasu dostępu, a wynika to z fizycznej
realizacji pamięci, tj. opóźnień wnoszonych przez układy elektroniczne.
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
58
Szybkość transmisji mierzy się liczbą bitów (bajtów) jaką można przesłać w jednostce
czasu pomiędzy pamięcią a innym urządzeniem. Parametr ten jest szczególnie ważny
w pamięciach, w których adresowane są fragmenty większe niż słowo (np. pamięci dyskowe).
Ponieważ w takich pamięciach odczytuje się lub zapisuje bloki słów, to mniej istotny jest czas
dostępu do pamięci, a bardziej istotny jest czas w jakim taka porcja informacji może zostać
przesłana. Najczęściej szybkość transmisji mierzy się w bitach lub bajtach na sekundę.
Nowe technologie pozwalają na ciągłe zmniejszanie kosztu produkcji pamięci i ulepszanie
ich parametrów. Dlatego pamięci dość szybko starzeją się, a często po paru latach są wycofywane
z użytku. Najniższym kosztem, wśród pamięci operacyjnych komputerów, charakteryzują się
pamięci półprzewodnikowe. Jednak one także różnią się między sobą pojemnością i szybkością
działania, a co za tym idzie i ceną. Produkowane są tanie układy scalone pamięci
półprzewodnikowych, ale charakteryzują się one niezbyt dużą szybkością działania. Natomiast
szybkie układy pamięciowe mają niewielkie pojemności a cena ich jest stosunkowo duża. Dlatego
poszukuje się nowych rozwiązań w architekturze komputerów, które pozwolą na optymalizację
pracy komputerów, a w szczególności parametrów pamięci. Jednym ze stosowanych rozwiązań
dla pamięci operacyjnych jest zastosowanie dwóch rodzajów pamięci półprzewodnikowych:
pamięci szybkich, ale o mniejszej pojemności i pamięci wolniejszych, ale o dużych
pojemnościach. Pamięci wolniejsze umożliwiają budowanie pamięci operacyjnych o dużych
pojemnościach, a pamięci szybkie, o mniejszych pojemnościach, umożliwiają przyspieszenie
pracy. Szybka pamięć o niewielkiej pojemności współpracująca z pamięcią operacyjną jest
nazywana pamięcią kieszeniową (ang. Cache memory).
Pobór mocy jest też ważnym parametrem, którego znaczenie uwypukla się przy
budowaniu pamięci operacyjnych o bardzo dużych pojemnościach, gdzie istnieje problem
połączenia dużej liczby układów scalonych i odprowadzenie wydzielanego ciepła. Innym
przykładem konieczności dążenia do zmniejszania pobieranej mocy komputerów, a co za tym
idzie i pamięci, są komputery kieszonkowe.
Pamięć jest zbudowana z rejestrów (komórek), w których zapamiętywane jest słowo 1, 4
lub 8 – bitowe. W każdej komórce przypisany jest adres, czyli numer zapisany w kodzie
dwójkowym oznaczający położenie informacji. Jeśli chcemy odczytać (lub zapisać) daną
informację, trzeba na wejścia adresowe pamięci podać numer komórki, w której się ona
znajduje, a także na wejścia sterujące, odpowiednie sygnały. Do zaadresowania N = 2
m
komórek pamięci potrzebnych jest m wejść adresowych. Dla przykładu: 1 KB = 2
10
bajtów
informacji, trzeba 10 wejść adresowych, a 16 KB = 2
14
bajtów informacji 14 wejść adresowych.
Pamięci posiadają:
−
wejścia adresowe (A
0
,...,A
m
);
−
wejścia / wyjścia danych (D
0
,...,D
n
);
−
wejścia sterujące (WE, CS, OE), służące do wyboru funkcji wykonywanej przez układ,
−
niekiedy wejścia strobujące adresów (ALE, RAS, OE).
Pojemność pamięci można zapisać wzorem:
P = n ·2
m
gdzie:
−
P pojemność pamięci,
−
n ilość linii szyny danych,
−
m ilość linii szyny adresowej.
Ze względu na budowę oraz właściwości pamięci półprzewodnikowe dzieli się na:
−
pamięci o dostępie swobodnym do zapisu i odczytu RAM,
−
pamięci stałe tylko do odczytu o dostępie swobodnym ROM.
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
59
Pamięci o dostępie swobodnym RAM
Pamięci RAM są wykorzystywane do ciągłego zapisu w postaci słowa lub bitu,
zapamiętania i odczytu informacji. Zapewniają one jednakowo szybki dostęp do każdej
komórki pamięci. Czynność zapamiętania (odczytu) oznacza konieczność stosowania
układów sekwencyjnych, w których informacje są zapisywane (odczytywane) w określonej
kolejności. Dlatego dostęp do danej informacji zależy od miejsca (adresu) jej
przechowywania i czasu oczekiwania na rozpoczęcie operacji zapisu (odczytu).
Rozróżnia się pamięci:
−
statyczne SRAM – komórką pamiętającą jest przerzutnik bistabilny (najczęściej
asynchroniczny typu RS) w technologii MOS lub technologii bipolarnej. Zapisana
informacja utrzymuje się w nich dopóki nie zostanie zastąpiona inną albo nie zaniknie
napięcie zasilające.
−
dynamiczne DRAM – funkcje elementów pamiętających pełnią pojemności wejściowe
tranzystorów MOS gromadzące ładunek lub odprowadzające go. Zawartość tych
elementów musi być odświeżana.
W pamięci RAM komórki ułożone są w słowa, wybierane wejściem adresowym Całość
można przedstawić jako dwuwymiarową matrycę składającą się z m słów n bitowych,
czasami podzieloną na robocze obszary zwane np. strefami. Dekoder wejściowy oraz wyjścia
współpracują z rejestrami równoległymi, gdyż operacja odczytywania i zapisywania
w pamięci trwa z reguły kilka cykli zegarowych, podczas których zawartość informacji na
szynach adresowej i danych może się zmieniać. W zależności od stanu logicznego na wejściu
R/W układ komórek pamięciowych przyjmuje informację z rejestru danych (zapisywanie) lub
wprowadza na rejestr danych (odczytywanie). Poprzez 2-kierunkowy bufor rejestr przekazuje
lub odbiera informację z szyny danych.
⇓
⇓
Układy kontroli
(sterowania)
wejścia/wyjścia
Adresy Y
Matryca
pamięciowa
⇓
⇓
⇓
A
d
re
sy
X
Dekoder Y
D
ek
o
d
er
X
⇔
WE/WY
Rys. 49. Uproszczony schemat funkcjonalny pamięci o dostępie swobodnym
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
60
Pamięć DRAM
Na rysunku 50 przedstawiono rozwiązanie komórki pamięci dynamicznej, która
zbudowana jest z tranzystora MOS oznaczonego jako T oraz z kondensatora Ca. Tranzystor
stanowi przełącznik łączący kondensator Ca z linią bitu. Informacja w niej przechowywana
w postaci ładunku zgromadzonego na kondensatorze o bardzo małej pojemności. W wyniku
rozładowania kondensatora (Q = 0) powstaje na nim napięcie równe zeru logicznemu,
natomiast w wyniku ładowania – napięcie o wartości odpowiadającej logicznej jedynce. Stan
ten jest nietrwały, ponieważ kondensator ulega stopniowemu rozładowaniu, a tym samym
ładunek musi być co kilka milisekund regenerowany (odświeżany). Pojemność Cs jest
pojemnością linii bitu.
Rys. 50. Dynamiczna komórka pamięci
Typową strukturę pamięci dynamicznej o pojemności 64 kilobitów pokazano na rysunku 51.
Matryca pamięciowa jest zbudowana 256 kolumn i 256 wierszy. W celu zmniejszenia liczby
końcowej pamięci dynamicznej i ułatwienia jej odświeżania, wejścia adresowe są
multipleksowane. Adresowanie polega na podaniu najpierw ośmiu bardziej znaczących bitów
adresu (adres wiersza), a następnie ośmiu mniej znaczących bitów (adres kolumny). Adres
wiersza jest wpisywany z wejść adresowych do rejestru wiersza RR przy narastającym
zboczu sygnału RAS (ang. Row Addres Select). Stąd poprzez demultiplekser (dekoder
adresu) wybierany jest odpowiadający mu wiersz. Adres kolumny jest wpisywany z wejść do
rejestru kolumny CR przy narastającym zboczu sygnału CAS (ang. Column Addres Select).
Stąd poprzez demultiplekser wybierana jest odpowiadająca mu kolumna. Jednoczesne
wybranie wiersza i kolumny w matrycy odpowiada wskazaniu ściśle określonej komórki
pamięci.
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
61
Rys. 51. Struktura pamięci dynamicznej RAM
Gdy wejście WE = 0 wówczas zawartość wybranej komórki jest przesyłana na wyjście
układu (operacja czytania danych z komórki pamięci). Gdy natomiast WE = 1 następuje
zapisanie informacji wejściowej do komórki wybranej według odpowiedniego adresu.
Pamięć SRAM
Na rysunku 52 przedstawiono schemat podstawowej komórki pamięci statycznej.
Zasadniczą częścią komórki jest przerzutnik bistabilny zbudowany z tranzystorów T
1
i T
2
.
Tranzystory T
3
i T
4
pełnią funkcję kluczy przyłączających i odłączających przerzutnik od linii
bitów. Podczas odczytywania (zapisywania) informacji z komórki pamięci stanowią one
zwarcie, przyłączając przerzutnik do wejścia (wyjścia) – linia bitu.
Poszczególne pamięci tworzą matrycę zbudowaną z wierszy i kolumn. Położenie
komórki w takiej matrycy określa adres składający się z numeru wiersza i numeru kolumny.
Rys. 52. Schemat elementarnej komórki pamięci statycznej RAM
Pamięci stałe ROM
Pamięć stała zawiera informację, która nie może być zmieniona w czasie pracy systemu
cyfrowego, realizuje tylko operację odczytu. Zapis informacji jest dokonywany jednokrotnie
u producenta. Pamięć ROM dla każdego adresu doprowadzonego do jej wejścia wyprowadza
na wyjście (zazwyczaj równolegle, 4- lub 8- bitowe) pewien zestaw bitów np. pamięć
o organizacji 1Kx8 wydaje 1024 zestawy ośmiobitowe w odpowiedzi na 1024 stany
T
1
T
2
T
3
T
4
R
C
R
c
+U
Q
Q
Linia
bitu
Linia
wyboru
wiersza
Wejście -
/wyjście
Wejście -
/wyjście
Linia
bitu
Rejestr
wiersza
RR
Adres
we
RAS
CAS
WE
8
Matryca
pamięciowa
256 x 256
0
255
Wzmocnienie
kolumn i układy
we-wy
0 255
Linie
wierszy
Układy
stero-
wania
Rejestr
kolumn
CR
wy
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
62
wejściowe określone przez stany 10 linii adresowych. Pamięci stałe nie tracą zapisanej w nich
informacji po wyłączeniu (przy zaniku) napięcia zasilającego.
Ze względu na sposób programowania pamięci ROM wyróżnia się:
−
pamięć programowana maską MROM bitową strukturę jej wnętrza ustala się w czasie
produkcji (macierz tranzystorów MOS).
−
programowalna pamięć stała PROM – programowana przez użytkownika przez
przepalanie cienkich połączeń po odpowiednim ich zaadresowaniu i po odprowadzeniu
właściwych sygnałów sterujących. Pamięci PROM są dość szybkie (25
÷
50 ns), które
pobierają dużo mocy (bipolarne 0,5
÷
1 W), o małych i średnich pojemnościach do 8KB
Są to pamięci bipolarne i są wykonywane w technice MOS.
−
reprogramowalna pamięć stała EPROM – bity informacji są zapisywane jako ładunki
elektryczne na pływających bramkach tranzystorów MOS. Kasowanie tych ładunków
z bramek następuje przez naświetlenie matrycy pamięciowej promieniami UV –
ultrafioletowymi o dużej intensywności przez kilkadziesiąt minut (gdy w obudowie tych
pamięci znajdują się okienka kwarcowe przepuszczające ultrafiolet), lub promieniami X
(gdy obudowa układu jest nieprzezroczysta). Pamięci EPROM są niezbyt szybkie (200
ns), pobierają niewiele mocy i mają duże pojemności (od 8KB do 12KB). Pamięci tego
typu produkuje się techniką NMOS i CMOS.
−
elektrycznie kasowalne EEPROM – zachowuje się jak pamięć EPROM, ale jest
programowana i kasowana elektrycznie, napięciem +5 V, bez wyjmowania z układu
aplikacyjnego. Polega to na podaniu impulsów prądowych o określonych parametrach
(wartość, kształt, czas trwania), które powodują przepalenie połączeń matrycy
pamięciowej. Czas programowania pamięci EEPROM jest długi i wynosi ok. 100
µ
s.
−
pamięci typu flash jest rodzajem pamięci EEPROM, w którym możliwe jest zapisywanie
i kasowanie zawartości wielu komórek pamięci naraz. Zwykle EEPROMy nie pozwalają
na zapis więcej niż jednej komórki pamięci jednocześnie, co powoduje wielokrotnie
zmniejszoną prędkość zapisu w porównaniu z młodszymi pamięciami typu flash. Moduły
pamięci flash bardzo wolno zużywają się wraz z wielokrotnymi operacjami czyszczenia
i zapisu. Pamięć flash jest produkowana w dwóch rodzajach: NAND i NOR. Nazwy tych
rodzajów pochodzą od typu użytej bramki logicznej z której zbudowana jest każda
z komórek pamięci.
Pierwszym opracowanym rodzajem pamięci była pamięć flash oparta na bramkach NOR.
Czas zapisu i czyszczenia tego rodzaju pamięci jest dosyć długi, jednak posiada w swoim
standardzie pełny interfejs dostępu do danych oraz adresowania, co pozwala na bardzo szybki
odczyt dowolnej komórki pamięci. Pamięć ta jest z tego powodu dobra do przechowania
różnego typu programów, niewymagających częstych aktualizacji,
na przykład
oprogramowanie aparatu cyfrowego lub notatnika elektronicznego. Flash oparty na NOR
w zależności od wersji pozwala uzyskać od 10 do 100 tysięcy bezawaryjnych cykli zapisu.
Pamięci flash typu NAND, w porównaniu do pamięci flash typu NOR, posiadają znacznie
krótszy czas zapisu i czyszczenia oraz wytrzymałość dziesięciokrotnie większą.
Dodatkowymi zaletami jest zwiększona gęstość upakowania informacji, a co za tym idzie
zmniejszony koszt jednego bita danych. Interfejs tej pamięci zapewnie sekwencyjny dostęp,
przez co jest wykorzystywana w różnego rodzajach pamięciach masowych, w kartach
PCMCIA oraz kartach pamięci wykorzystywanych w aparatach fotograficznych oraz MP3 –
playerach.
Przetworniki cyfrowo-analogowe
Przetwornik cyfrowo-analogowy (ang. Digital-to-Analog Converter) jest to układ
przetwarzający dyskretny sygnał cyfrowy na równoważny mu sygnał analogowy. Przetwornik
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
63
ma n wejść i jedno wyjście. Liczba wejść zależy od liczby bitów słowa podawanego na
wejście przetwornika (np. dla słowa trzybitowego – trzy wejścia a
1
, a
2
, a
3
). Natomiast na jego
wyjściu pojawia się informacja analogowa (np. w postaci napięcia). Napięcie na wyjściu
przetwornika jest proporcjonalne do napięcia odniesienia oraz do liczby (n-bitowe słowo)
zapisanej w kodzie dwójkowym. Wartość tego napięcia można obliczyć korzystając ze
wzoru:
+
+
+
±
=
n
n
odn
wy
a
a
a
U
U
2
...
2
2
2
2
1
1
gdzie:
−
U
odn
– napięcie odniesienia,
−
współczynniki a
1
, ..., a
n
– bity wejściowe przyjmujące wartość 0 lub 1.
Bit a
1
, jest nazywany najbardziej znaczącym bitem – MSB (ang. Most Significant Bit),
bit a
n
– najmniej znaczącym bitem – LSB (ang. Least Significant Bit). Znak napięcia
wyjściowego zależy od tego, czy przetwornik C/A odwraca czy nie odwraca fazy.
Najważniejszymi parametrami przetwornika C/A są:
−
rozdzielczość – najmniejsza zmiana sygnału wyjściowego, określona wzorem:
n
odn
U
U
2
=
∆
−
błąd bezwzględny – największa różnica między zmierzonym napięciem wyjściowym
a obliczonym z powyższego wzoru;
−
błąd względny – stosunek błędu bezwzględnego do wartości napięcia odniesienia.
Na rysunku 53 przedstawiono idealną i rzeczywistą charakterystykę przetwornika C/A
dla słowa trzybitowego.
Rys. 53. Charakterystyka przejściowa przetwornika C/A: 1 – idealna, 2 – rzeczywista
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
64
Najprostszą konstrukcją przetwornika C/A jest układ o przetwarzaniu prądowym. Jest to
wzmacniacz sumujący zbudowany z użyciem wzmacniacza operacyjnego (rysunek 54a).
Napięcie wyjściowe układu ma postać:
+
+
+
=
−
R
a
R
a
R
a
R
a
RU
U
n
n
odn
wy
1
3
2
1
2
...
4
2
2
Jest ono równe co do modułu spadkowi napięcia na rezystorze łączącym wyjście układu
z wejściem odwracającym wzmacniacza operacyjnego. Wartość napięcia wyjściowego zależy
od wartości prądu płynącego przez ten rezystor, regulowanej położeniem przełączników
(kluczy). Pozycja lewa przełącznika odpowiada wartości 0 danego bitu wejściowego,
natomiast pozycja prawa odpowiada wartości l. Jeżeli przełącznik jest ustawiony w lewej
pozycji, to prąd płynący w tej gałęzi spływa do masy, natomiast jeżeli jest w prawej pozycji,
to prąd ten dodaje się do prądu płynącego przez rezystor w pętli sprzężenia, powodując
zwiększenie spadku napięcia na nim, a tym samym zwiększenie (co do modułu) wartości
napięcia wyjściowego. Przez rezystory dołączone do kluczy płynie cały czas taki sam prąd,
bez względu na ich pozycję.
Rys. 54. Przetwornik C/A o przetwarzaniu: a) prądowym, b) napięciowym
Modyfikacją tego rozwiązania jest układ o przetwarzaniu napięciowym pokazany na
rysunku 54b. Działa on na podobnej zasadzie. Zmieniając położenie przełączników, ustala się
wartość prądu płynącego w pętli sprzężenia zwrotnego wzmacniacza operacyjnego. Gdy
przełącznik jest dołączony do źródła napięcia odniesienia, wówczas przez rezystor płynie
prąd (jak w układzie z przetwarzaniem prądowym). Gdy natomiast przełącznik jest połączony
z masą, przez rezystor nie płynie prąd. Wartość napięcia wyjściowego oblicza się korzystając
ze wzoru obowiązującego dla układu z rysunku 54a.
Wadą tego typu przetworników jest konieczność stosowania rezystorów o znacznie
różniących się wartościach, np. jeśli dla pierwszego bitu 8-bitowego słowa wejściowego
rezystancja wynosi 100 Ω, to dla ostatniego – 12,8 W. Powoduje to, że przez rezystor
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
65
o najmniejszej wartości płyną względnie duże prądy, co znacznie zmniejsza niezawodność
działania układu (zwiększa jego awaryjność).
Wady tej nie ma przetwornik pokazany na rysunku 55. Składa się on z układu wtórników
(W1, W2, W3), układu sumującego (W4), źródła napięcia odniesienia oraz kluczy
analogowych (P0, P1, P2) sterowanych wejściowym sygnałem cyfrowym. Ustawienie
wartości (0 lub 1) bitu słowa sterującego powoduje dołączanie lub odłączanie układu
sumującego od źródła napięcia Uodn. Pozycja lewa przełącznika odpowiada wartości
0 danego bitu wejściowego, natomiast pozycja prawa odpowiada wartości 1. Wzmacniacze
W1, W2 i W3, pracujące jako wtórniki, dają na wyjściu napięcia równe odpowiednio:
połowie, jednej czwartej i jednej ósmej wartości napięcia odniesienia.
Rys. 55. Przetwornik C/A zbudowany z wtórników
Omówimy działanie tego przetwornika dla trzech sygnałów wejściowych:
1) Gdy b
0
, b
1
, b
2
= 000, wszystkie przełączniki są połączone z masą, a zatem na wejściu
układu sumującego pojawi się napięcie o wartości zero.
2) Gdy b
0
, b
1
, b
2
= 010, na wejście układu sumującego jest podawane napięcie o wartości
poprzez przełącznik P2 oraz napięcie o wartości zero poprzez przełączniki P1 i P3.
3) Gdy b
0
, b
1
, b
2
= 111, na wejścia układu sumującego jest podawane napięcie o wartości
poprzez przełącznik P1, napięcie o wartości, poprzez przełącznik P2 oraz napięcie
o wartości, poprzez przełącznik P3.
Przetworniki analogowo-cyfrowe
Przetwornik analgowo-cyfrowy (ang. Analog-to-Digital Converter) przetwarza sygnał
analogowy na odpowiadający mu dyskretny sygnał cyfrowy. Jest to układ o jednym wejściu
i n wyjściach. Otrzymana w wyniku przetwarzania liczba dwójkowa jest proporcjonalna
do wartości analogowego sygnału wejściowego
+
+
+
=
n
n
odn
we
a
a
a
U
U
2
...
2
2
2
2
1
1
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
66
Charakterystykę bezpośredniego przetwornika A/C przedstawiono na rysunku poniżej.
Rys. 56. Charakterystyka przejściowa przetwornika A/C: 1 – idealna, 2 – rzeczywista
Przetworniki A/C charakteryzują trzy podstawowe parametry:
−
czas konwersji (przetwarzania) – czas, jaki upływa między podaniem sygnału
wejściowego rozpoczynającego przetwarzanie a pojawieniem się na wyjściu sygnału
cyfrowego,
−
rozdzielczość – definiowana tak jak dla przetwornika C/A,
n
odn
U
U
2
=
∆
n – liczba bitów słowa wyjściowego;
−
błąd kwantyzacji (lub) odchyłka rzeczywistej charakterystyki schodkowej od charakterystyki
idealnej.
Istnieje wiele metod przetwarzania sygnału analogowego na cyfrowy. Wyróżnić można
dwie zasadnicze grupy:
1) Metody bezpośrednie: bezpośredniego porównania i kompensacyjne.
2) Metody pośrednie: czasowe i częstotliwościowe.
Na poniższym rysunku przedstawiono schemat układu przetwarzania sygnału metoda
bezpośredniego porównania.
Rys. 57. Przetwornik A/C przetwarzający sygnał metoda bezpośredniego porównania
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
67
Napięcie wejściowe w przetworniku n- bitowym jest jednocześnie porównywane z 2
n
-1
poziomami odniesienia przy użyciu 2
n
-1 komparatorów napięcia. Cyfrowe stany wyjściowe
komparatorów, po odpowiednim zakodowaniu, dają cyfrową informację wyjściową w kodzie
dwójkowym. Zaleta to duża szybkość przetwarzania ( suma czasu odpowiedzi jednego
komparatora i czas kodowania). Wadą jest konieczność stosowania bardzo dużej liczby
komparatorów w przetwornikach wielobitowych. Są produkowane monolityczne przetworniki
o rozdzielczości 6 do 8 bitów i czasach przetwarzania 10÷20 ns.
Schemat blokowy przetwornik A/C wykorzystujący metodę kompensacji wagowej
przedstawia rysunek poniżej.
Rys. 58. Przetwornik A/C: a) schemat blokowy przetwornika, b) przykładowy przebieg napięcia
kompensującego dla przetwornika 6-bitowego
Przetwarzanie polega na kolejnym porównywaniu napięcia przetwarzanego U
i
z napięciem odniesienia U
k
wytwarzanym w przetworniku C/A. W pierwszej kolejności
następuje porównanie napięcia wejściowego z połową napięcia pełnego zakresu
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
68
przetwarzania. Rezultat tego porównania ustala w rejestrze wartość cyfrową najstarszego bitu
słowa wyjściowego oraz wartość najstarszego bitu wejścia przetwornika C/A. W przypadku
przetwornika n- bitowego pełny cykl przetwarzania obejmuje n porównań. Zaletą jest
możliwość budowania przetworników wielobitowych o dużej szybkości przetwarzania, gdyż
czas przetwarzania jest równy nT, gdzie T jest czasem jednego cyklu porównania. Można
uzyskać wartość T rzędu 100ns.
Wśród metod czasowych przetwarzania szczególnego znaczenia nabrała metoda
dwukrotnego całkowania, która należy do najdokładniejszych technik przetwarzania A/C. Jest
to jednak metoda wolna.
4.3.2. Pytania sprawdzające
Odpowiadając na pytania, sprawdzisz, czy jesteś przygotowany do wykonania ćwiczeń.
1. W jaki sposób definiuje się układ kombinacyjny?
2. Jak można wyjaśnić pojecie układu sekwencyjnego?
3. Jak dzielimy liczniki ze względu na sposób zliczania?
4. Jakie są różnice pomiędzy licznikami asynchronicznymi a synchronicznymi?
5. Jakie zależności stanów dotyczą liczników zliczających w przód a jakie zliczających
wstecz?
6. Wyjaśnij pojęcie: licznik rewersyjny.
7. Jakie zadania ma do spełnienia rejestr?
8. Jak dzielimy rejestry ze względu na sposób wprowadzania i wyprowadzania informacji?
9. Jak można wyjaśnić dodawanie dwóch bitów?
10. Jak działa dwuargumentowy sumator jednobitowy?
11. Jak zbudowany jest sumator kaskadowy?
12. Jak można wyjaśnić pojęcie komparator cyfrowy?
13. Jak klasyfikujemy pamięci?
14. Jakie są najważniejsze parametry pamięci?
15. Jak oblicza się pojemność pamięci?
16. Jak zbudowana jest komórka pamięci statycznej?
17. Jak zbudowana jest komórka pamięci dynamicznej?
18. Jak klasyfikuje się pamięci RAM?
19. Jak klasyfikuje się pamięci ROM?
20. Jaka jest zasadnicza różnica pomiędzy przetwornikami A/C a C/A?
21. Jakie są podstawowe parametry przetworników C/A i A/C?
22. Jakie występują konstrukcje przetworników C/A?
23. Jakie rodzaje przetwarzania stosuje się dla przetworników A/C?
4.3.3. Ćwiczenia
Ćwiczenie 1
Przedstaw parametry pamięci półprzewodnikowych. Omów sposób wyznaczenia ilości
linii szyny adresowej układu pamięci o pojemności 16 MB, jeżeli ilość linii szyny danych jest
równa 32.
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
69
Sposób wykonania ćwiczenia
Aby wykonać ćwiczenie, powinieneś:
1) odszukać w materiałach dydaktycznych parametry pamięci półprzewodnikowych, wzoru
na pojemność pamięci,
2) dokonać analizy wzoru, uwzględniając oznaczenia, dotyczące ilości linii adresowych
i danych,
3) rozpoznać przedrostek Mega i termin Bajt w pojemności pamięci,
4) wyznaczyć ze wzory szukaną ilość linii adresowych i sprawdzi poprawność obliczeń.
Wyposażenie stanowiska pracy:
−
papier formatu A4, flamastry,
−
literatura zgodna z punktem 6 poradnika.
Ćwiczenie 2
Dane są dwie liczby całkowite zapisane w systemie binarnym L1 = 0001
i L2 = 0110. Dokonaj operacji dodawania tych liczb.
Sposób wykonania ćwiczenia
Aby wykonać ćwiczenie, powinieneś:
1) odszukać w materiałach dydaktycznych sumator dwuargumentowy i kaskadowy,
2) odnaleźć odpowiednią tabelę, według której działa sumator,
3) wykonać obliczenia, uwzględniając przeniesienia,
4) przeanalizować poprawność dodawania,
5) uzasadnić otrzymane wyniki, wykorzystując dodawanie liczb w systemie dziesiętnym.
Wyposażenie stanowiska pracy:
−
papier formatu A4, flamastry,
−
literatura zgodna z punktem 6 poradnika.
Ćwiczenie 3
Opracuj licznik asynchroniczny, zbudowany z przerzutników JK zliczający w przód
o pojemności 16. Narysuj przebiegi czasowe na wyjściach wszystkich przerzutników przy
założeniu, że dany jest sygnał zegarowy, doprowadzony do wejścia pierwszego przerzutnika.
Sposób wykonania ćwiczenia
Aby wykonać ćwiczenie, powinieneś:
1) odszukać w materiałach dydaktycznych licznik asynchroniczny,
2) odnaleźć sposób łączenia przerzutników do budowy liczników zliczających w przód,
3) odszukać sposób określenia ilości przerzutników do budowy liczników o określonej
pojemności,
4) narysować licznik, uwzględniając powyższe warunki,
5) narysować przebiegi czasowe na wejściu i na wszystkich wyjściach licznika,
6) sprawdzić przebiegi czasowe z sekwencjami licznika.
Wyposażenie stanowiska pracy:
−
papier formatu A4, flamastry,
−
literatura zgodna z punktem 6 poradnika.
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
70
4.3.4. Sprawdzian postępów
Czy potrafisz:
Tak
Nie
1)
dokonać podziału liczników ze względu na sposób zliczania?
2)
wskazać różnice pomiędzy licznikami asynchronicznymi a synchronicznymi?
3)
określić jakie zadania ma do spełnienia rejestr?
4)
podać jak dzielimy rejestry ze względu na sposób wprowadzania
i wyprowadzania informacji?
5)
wyjaśnić dodawanie dwóch bitów?
6)
opisać jak zbudowany jest sumator kaskadowy?
7)
wyjaśnić pojęcie komparator cyfrowy?
8)
zdefiniować najważniejsze parametry pamięci?
9)
opisać jak zbudowana jest komórka pamięci dynamicznej?
10) klasyfikować różne pamięci ROM?
11) podać jakie są podstawowe parametry przetworników C/A i A/C?
12) opisać rodzaje przetwarzania stosowane w przetwornikach A/C?
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
71
4.4. Wybrane aspekty układów cyfrowych
4.4.1 Materiał nauczania
Technologia TTL i CMOS
Porównanie parametrów układów pochodzących z obu rodzin: Napięcie zasilania. Układy
TTL wymagają zasilania +5 V +/–5%, podczas gdy układy CMOS pracują poprawnie
w szerszym zakresie: od +2 V do +6 V - układy serii HC i AC, a od +3 V do +15 V – układy
serii 4000B i 74C. Serie HCT i ACT z rodziny CMOS, projektowane specjalnie jako
zamienniki układów TTL, wymagają napięcia zasilania o wartości +5 V.
Wejścia bramek
Wejście bramki TTL utrzymywane w stanie niskim zachowuje się, z punktu widzenia
układu sterującego, jako źródło prądowe (o typowej wydajności 0,25 mA dla układów
LS-TTL). Wobec tego, aby utrzymać stan niski, trzeba odebrać ten prąd z wejścia. Nie
sprawia to większych kłopotów wtedy, gdy mamy do czynienia tylko z układami TTL,
ponieważ wyjścia TTL (nasycony tranzystor n-p-n) są w stanie wchłonąć dużo prądu. Sprawa
się komplikuje, jeżeli bramka TTL jest sterowana sygnałem z wyjścia układu innej rodziny.
Inaczej jest z układami CMOS, dla których wartość prądu wejściowego jest równa zeru. Próg
przełączania bramki TTL odpowiada dwóm spadkom napięcia na diodzie (ok. 1,3 V). Próg
przełączania bramki CMOS wynosi około 1/2 napięcia zasilania, ale może ulegać dużym
wahaniom (od 1/3 do 2/3 wartości napięcia zasilania). Układy serii HCT i ACT
zaprojektowano tak, aby wartości ich napięć progowych były małe, zgodne z wartościami
napięć progowych układów TTL. Pamiętajmy, że napięcie wyjściowe bipolarnego układu
TTL nie może osiągać wartości równej +5 V (patrz dalej). Układy CMOS są wrażliwe na
zniszczenie przez ładunki elektrostatyczne w czasie manipulacji. Dla obu rodzin
niewykorzystane wejścia powinny zostać dołączone do napięcia poziomu wysokiego lub
niskiego, zależnie od potrzeby (więcej na ten temat powiemy później).
Wyjścia bramek
Stopień wyjściowy bramki TTL w stanie niskim zachowuje się jak nasycony tranzystor
zwierający wyjście do masy, w stanie wysokim jak wtórnik (z napięciem wyjściowym na
poziomie około 2 diodowych spadków napięcia poniżej wartości napięcia zasilania). Obwód
wyjściowy dowolnego układu CMOS (dotyczy to również serii HCT i ACT) jest realizowany
jako dwa polowe tranzystory MOS, łączące wyprowadzenie wyjścia z masą lub szyną
dodatniego napięcia zasilającego. Oznacza to, że w tym przypadku wartość napięcia
wyjściowego może być dowolna z zakresu od 0 V do U+. Układy szybkie (serie F, AS; AC,
ACT) mają na ogół większą wydajność stopnia wyjściowego niż układy wolniejsze
(LS; 4000B, 74C, HC, HCT).
Szybkość i moc. Układy TTL pobierają w stanie statycznym ze źródła zasilania dość
dużo prądu. Wartość pobieranego prądu jest większa dla układów szybszych (serie AS i F).
Zakres szybkości układów TTL rozciąga się od 25 MHz dla serii LS do około 100 MHz dla
serii AS i F. Układy rodziny CMOS nie pobierają w ogóle prądu w stanie statycznym.
Niemniej jednak moc zasilania rośnie w nich liniowo wraz ze wzrostem częstotliwości
(przełączanie obciążeń pojemnościowych wymaga sporych prądów) i układy CMOS
pracujące blisko górnej dopuszczalnej częstotliwości pobierają ze źródła zasilania niemal tyle
samo mocy co układy TTL (rysunek 57). Zakres szybkości układów CMOS rozciąga się od
około 2 MHz (dla układów serii 4000B/74C zasilanych napięciem + 5 V) do około 100 MHz
(dla układów serii AC/ACT.)
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
72
Rys. 59. Zależność poboru mocy od częstotliwości
Ogólnie rzecz biorąc, dobre parametry układów CMOS (zerowa wartość spoczynkowego
prądu zasilania, zakres wartości napięcia wyjściowego od 0 V do U+, duża wartość marginesu
szumowego) sprawiają, że są to układy z przyszłością. Polecamy stosowanie układów serii
HC w większości nowych projektów. W układach o dużej szybkości przełączania należy
stosować układy serii AC, w układach przeznaczonych do pracy w szerokim zakresie
wartości napięć zasilających, gdzie duża szybkość pracy nie jest konieczna – układy serii 74C
lub 4000B. Jeśli jest wymagane ścisłe dostosowanie się do standardu TTL, należy używać
układów serii HCT (lub LS) – dla układów wolniejszych, i układów serii ACT (lub AS
bądź F) – dla układów szybszych. W niektórych zastosowaniach o dużej gęstości upakowania
(pamięci, mikroprocesory) preferowane są układy NMOS, pomimo ich stosunkowo dużego
poboru mocy. W zastosowaniach o największych szybkościach (ponad 100 MHz) stosuje się
albo układy ECL - gdy częstotliwość pracy nie przekracza 500 MHz – albo układy logiczne
bazujące na GaAs - dla częstotliwości do 4 GHz. W obrębie jednej rodziny obowiązuje
zasada, że wyjścia danego układu przystosowane są do bezpośredniego sterowania wejściami
innych układów, więc nie trzeba martwić się o progi przełączania, prąd wejściowy itp. Na
przykład, w przypadku układów TTL lub CMOS z każdego wyjścia można wysterować
jednocześnie co najmniej 10 wejść (obowiązującym terminem określającym tę cechę jest
obciążalność; układy TTL mają obciążalność 10), tak że nie trzeba stosować żadnych
specjalnych środków zapewniających dopasowanie układów.
Budowa bramek scalonych
Bramka NAND w obu wersjach, tj. TTL i CMOS, spełnia tę samą funkcję logiczną,
wartości jej poziomów logicznych oraz inne jej właściwości (szybkość, moc zasilania, prądy
wejściowe itp.) różnią się znacznie w obu przypadkach. Ogólnie rzecz biorąc, należy być
ostrożnym, gdy zamierza się używać równocześnie układów obu rodzajów. Aby zrozumieć
różnice, popatrzmy na schematy bramek NAND na rysunku 60. Bramka CMOS jest
wykonana z par komplementarnych tranzystorów polowych typu MOS, pracujących jako
przełączniki a nie jako wtórniki. Włączony tranzystor polowy zachowuje się jak rezystor
o małej wartości rezystancji zwierający sygnał do właściwej szyny zasilającej. Oba wejścia
muszą być w stanie H, aby włączyć połączone szeregowo tranzystory T3 i T4 oraz wyłączyć
tranzystory obciążające T1 i T2. Wymusza to na wyjściu stan niski, mamy zatem do
czynienia z bramką NAND. Tranzystory T5 i T6 stanowią typowy inwerter CMOS, który
wraz z bramką NAND realizuje bramkę AND. Ten przykład powinien wyjaśnić, w jaki
sposób można zbudować bramkę AND, NAND, OR lub NOR o dowolnej liczbie wejść.
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
73
Rys. 60. a) Bramka NAND LS-TTL, b) bramka AND CMOS
Bramka NAND z bipolarnej serii LS-TTL (Schottky´ego małej mocy) składa się
z kaskadowo połączonych: bramki diodowo-rezystorowej, wykonanej według schematu
z rysunku 60, inwertera z pojedynczym tranzystorem i stopnia wyjściowego typu „push-pull”.
Gdy oba wejścia są w stanie wysokim, prąd płynący przez rezystor 20 kΩ utrzymuje
tranzystor T1 w stanie włączenia, co z kolei powoduje nasycenie tranzystora T4 i zatkanie
tranzystorów T2, T3, pracujących w układzie Darlingtona, Na wyjściu bramki ustala się stan
niski. Jeśli co najmniej jedno wejście będzie w stanie niskim, tranzystor T1 zostanie
wyłączony, wyłączy się również tranzystor T4, natomiast na wyjściu pojawi się stan wysoki
w wyniku wtórnikowego działania układu T2, T3. W celu zwiększenia szybkości działania,
|w układzie zastosowano diody i tranzystory Schottky´ego.
Zauważmy, że w odróżnieniu od prezentowanych wcześniej bramek dyskretnych, stopnie
wyjściowe bramek TTL i CMOS zawierają obciążenie aktywne dołączone do szyny
dodatniego napięcia zasilania.
Układy trójstanowe i z otwartym kolektorem
Bramki TTL i CMOS mają na wyjściu wzmacniacz przeciwsobny. Wyjście jest
utrzymywane w stanie wysokim lub niskim przez włączony albo tranzystor bipolarny albo
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
74
polowy tranzystor MOS. Niemal wszystkie układy cyfrowe mają tego typu wyjście
z obciążeniem aktywnym. W przypadku układów CMOS rozwiązanie to zapewnia również
mniejszą moc zasilania. Istnieją jednak sytuacje, w których aktywne obciążenie jest
niewygodne. Wyobraźmy sobie, na przykład, system komputerowy, w którym wiele bloków
funkcjonalnych musi wymieniać dane. W przypadku stosowania szyny lub kilku szyn
tworzących magistralę, nie można jej sterować sygnałami dwustanowymi z wyjść bramek,
ponieważ w żaden sposób nie można odłączyć tych wyjść od wspólnych linii danych (zawsze
zachodzi wymuszenie jakiegoś stanu: niskiego lub wysokiego każdej linii). Powstaje
zapotrzebowanie na bramki, których obwody wyjściowe mogą być „otwierane” (czyli
„rozwierane”). Takie układy istnieją i to w dwóch odmianach: jako układy trójstanowe oraz
układy z otwartym kolektorem. Te pierwsze nie są to układy logiczne z trzema poziomami
napięciowymi. Są to zwyczajne układy logiczne z trzecim stanem układu wyjściowego:
rozwartym obwodem wyjściowym (rysunek 60). Stan osobnego wejścia uaktywniającego
stopień wyjściowy określa; czy wyjście układu zachowuje się jak wyjście zwyczajnego
układu z aktywnym obciążeniem, czy zostaje wprowadzone w trzeci stan (rozwarcia),
niezależnie od stanu sygnałów na innych wejściach bramki.
Rys. 61. Trójstanowa bramka NAND CMOS: a) zasada działania, b) realizacja za pomocą wewnętrznych
bramek CMOS
Wyjścia trójstanowe posiadają zarówno bramki jak i wiele innych układów cyfrowych,
m.in. liczniki, zatrzaski, rejestry itp. Po uaktywnieniu układ z wyjściem trójstanowym
zachowuje się dokładnie tak samo, jak zwykły układ z obciążeniem aktywnym, tzn. jego
wyjście jest albo w stanie niskim albo w stanie wysokim. Gdy układ trójstanowy jest
nieaktywny, jego wyjście jest odłączone od obwodu obciążającego i wtedy inny układ może
przejąć sterowanie tym obwodem.
Układ z otwartym kolektorem
Bramka z otwartym kolektorem (lub otwartym drenem) różni się od zwykłej bramki tylko
brakiem aktywnego obciążenia dolnego tranzystora stopnia wyjściowego (patrz rysunek 62).
Jeżeli używa się takich bramek, to należy w układzie przewidzieć zewnętrzne rezystory
obciążające.
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
75
Rys. 62. Bramka NAND LS-TTL z otwartym kolektorem
Wartość tych rezystancji nie jest krytyczna. Rezystory o małej wartości rezystancji dają
zwiększenie szybkości i polepszenie odporności na zakłócenia kosztem zwiększenia mocy
zasilania i większego obciążenia układu sterującego. Stosowane są zazwyczaj rezystory
o wartościach rezystancji od kilkuset do kilku tysięcy omów. Wadą układów z otwartym
kolektorem jest mniejsza szybkość i mniejsza odporność na szumy, w porównaniu
z układami, które w stopniu wyjściowym mają układ z aktywnym obciążeniem. Przyczyną
pogorszenia parametrów układu z otwartym kolektorem jest rezystorowe obciążenie
tranzystora realizującego jego stopień wyjściowy. Wymienione wady układu z otwartym
kolektorem spowodowały, że magistrale (szyny) komputerowe są prawie wyłącznie
sterowane poprzez wzmacniacze z wyjściami trójstanowymi. Istnieją przypadki, w których
preferuje się układ z otwartym kolektorem (lub otwartym drenem):
−
sterowanie zewnętrznymi obciążeniami,
−
tworzenie sumy montażowej (rysunek 63),
−
wyjścia na magistrale (szyny) zewnętrzne.
Rys. 63. Suma montażowa
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
76
Łączenie układów TTL i CMOS
Pobór prądu przez układy TTL i TTL-LS nie zależy praktycznie od częstotliwości.
Wynika też stąd, że powyżej pewnej wartości częstotliwości układy CMOS pobierają
w rzeczywistości większy prąd niż układy TTL. Zjawisko to zachodzi jednak przy tak dużych
częstotliwościach przełączania, że w komputerach nie mamy z nim praktycznie do czynienia.
Układy CMOS mają też dodatkową zaletę: poziom przełączania jest w nich równy
w przybliżeniu połowie wartości napięcia zasilania, a więc impulsy zakłócające muszą tę
wartość przekroczyć, aby mogły wpływać na pracę układu. Inaczej jest w układach TTL:
poziom przełączania wynosi tu ok. 0,6 V (przy napięciu zasilania równym 5 V). Oprócz tego
napięcie zasilające układy TTL musi zawierać się w przedziale od 4,75 do 5,25 V, a układy
CMOS pracują przy napięciach 3÷15 V. Jako wadę logicznych układów CMOS należy
podkreślić małą obciążalność ich układu wyjściowego (do kilku miliamperów), co może stać
się czynnikiem krytycznym już przy podłączeniu diody elektroluminescencyjnej.
W przeciwieństwie do tego układy TTL dostarczają prąd o natężeniu 10÷40 mA. Przy
łączeniu układów CMOS i TTL należy wówczas przestrzegać kilku następujących zasad:
−
układy CMOS muszą być zasilane napięciem 5 V, tak jak układy TTL,
−
jedno wyjście układu CMOS może sterować jednym wejściem układu TTL,
−
do sprzężenia wejścia CMOS z wyjściem TTL najkorzystniej jest stosować układy TTL
z otwartym kolektorem.
Rys. 64. Łączenie układów TTL i CMOS
Przykładowe układy scalone bramek cyfrowych serii UCY74
Rys. 65. 7400: 4x 2-wejściowe bramki NAND
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
77
Rys. 66. 7402: 4x 2-wejściowe bramki NOR
Rys. 67.7404: 6x inwerter NOT
Rys. 68. 7408: 4x 2-wejściowe bramki AND
Układy programowalne
Charakterystyczną cechą układów programowalnych są programowalne połączenia
elektryczne wewnątrz struktury krzemowej. Zależnie od użytej technologii, połączenia te są
realizowane za pomocą różnego rodzaju łączników W technologii bipolarnej często
stosowane są łączniki typu „bezpiecznika” fuse o postaci ścieżek nichromowych (Ni-Cr) lub
tytanowo-wolframowych (Ti-W), które są przepalane w wybranych miejscach. Oznacza to, że
układ z łącznikami bezpiecznikowymi ma początkowo połączone wszystkie możliwe punkty.
Innym rodzajem łączników są diody niszczone w procesie przebicia. Są to „antybezpieczniki”
(antifuse), które początkowo są wszystkie rozwarte. W układach FPGA realizowanych
technologią CMOS stosuje się antybezpieczniki dielektryczne i polikrzemowe amorficzne.
Wszystkie łączniki bezpiecznikowe i antybezpiecznikowe mogą być programowane tylko
jednokrotnie.
W układach programowalnych, wytwarzanych w technologii CMOS, najczęściej
stosowane są łączniki w postaci tranzystorów NMOS, sterowanych przez stowarzyszone
komórki pamięci nieulotnej typu EPROM, EEPROM lub FLASH. Stosowane są również
odrębne pamięci S-RAM. Ten rodzaj łączników umożliwia wielokrotne programowanie
układu, co jest szczególnie istotne w fazie projektowania lub przy wprowadzaniu ulepszeń
projektowych.
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
78
Programowalne struktury logiczne (PLD)
Najprostszymi i najtańszymi układami programowalnymi są programowalne struktury
logiczne (PLD – Programmable Logie Device). Układy te są tak projektowane przez
wytwórców, aby każdy typ pokrywał pewien obszar podobnych, potencjalnych zastosowań.
Są one wytwarzane i sprzedawane tak samo jak układy standardowe. Natomiast użycie układu
PLD do konkretnego zastosowania sprzętowego wymaga uprzedniego skonfigurowania jego
połączeń wewnętrznych, co generalnie jest wykonywane przez klienta, czyli zazwyczaj
u wytwórcy urządzeń wykorzystujących układy PLD.
Układy PLD mogą być określone jako układy uniwersalne, które mogą być
skonfigurowane do realizacji wielu różnych modułów funkcjonalnych. Ograniczeniem jest
relatywnie niewielka złożoność logiczna układów PLD, wyrażana do celów porównawczych
przez liczbę bramek logicznych w kostce, zazwyczaj nieprzekraczającą 1000. Przy większych
projektach stosuje się złożone układy PLD (CPLD – Complex PLD) o liczbie bramek
od 1000 do 15000, a nawet więcej.
Układy PLD są wytwarzane jako układy kombinacyjne (zawierające bramki AND i OR
oraz programowalne inwertery) oraz jako układy sekwencyjne (uzupełnione na wyjściach
o zestaw przerzutników D czyli rejestr). Charakterystyczną cechą układów PLD jest
regularność struktur sieci bramkowych, wytwarzanych w postaci prostokątnych matryc.
Analizując układy PLD/CPLD często operuje się nazwą iloczynu logicznego jako
składnika sumy logicznej. Wygodnie jest w tym znaczeniu używać krótszej nazwy term.
Układy FPLA
Największe możliwości funkcjonalne zapewniają układy FPLA (Field-Programmable
Logie Array), które mają programowalne dwie sieci bramek (AND i OR). Jeśli układ ma
n wejść, to na wyjściu każdej bramki AND otrzymuje się iloczynowy implikant realizowanej
funkcji (term), a na wyjściu każdej bramki OR sumę wybranych implikantów (termów). Jeśli
układ ma m wyjść, to znaczy że może realizować m funkcji logicznych o n zmiennych.
Zasadniczym ograniczeniem jest to, że liczba dostępnych bramek AND w układzie FPLA jest
znacznie mniejsza niż teoretyczna liczba maksymalna dla n zmiennych, równa 2n. Stan 0 na
wyjściu bramki AND otrzymuje się przez przyłączenie jej dwu wejść do dwu linii, na których
jest postać prosta i zanegowana jednej zmiennej wejściowej, zgodnie z prawem Boole'a.
Układy PROM
Jeśli w układzie FPLA matrycę AND wykonać jako nieprogramowalną, to układ FPLA
przekształca się w układ pamięci nieulotnej (PROM, EPROM, EEPROM, FLASH), pod
warunkiem że zbiór bramek AND obejmuje wszystkie możliwe mintermy i wyjścia nie są
używane jako wejścia. Przy zastosowaniu układów PROM jako uniwersalnych układów
kombinacyjnych, uzyskuje się łatwy wybór implikantów do realizacji dowolnej funkcji
przełączającej o liczbie zmiennych nie większej od liczby wejść adresowych. Wadą układów
jest podwajanie pojemności pamięci przy każdorazowym wzroście liczby zmiennych o jeden.
Ogranicza to takie zastosowania pamięci stałych do liczby zmiennych równej od 10 do 14.
Układy PAL/GAL
Jeśli w układzie FPLA matrycę AND pozostawić jako programowalną, a matrycę OR
wykonać jako nieprogramowalną, to otrzymuje się popularną strukturę logiczną PLD
określaną jako PAL (Programmable Array Logie). Pierwsze. Układy PAL były pierwotnie
wytwarzane jako układy bipolarne, kompatybilne z układami TTL i programowalne
jednokrotnie. Obecnie są stosowane niemal wyłącznie podobne układy wytwarzane
w technologii CMOS, spopularyzowane w latach osiemdziesiątych pod nazwą GAL (Generic
Array Logie). Zapewniają one niższą moc strat, możliwość wielokrotnego programowania
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
79
oraz stuprocentowe testowanie wytwarzanych układów. Tej ostatniej cechy nie mogą mieć
układy programowalne jednokrotnie, w których zawsze występuje nieco układów
niesprawnych fabrycznie (zazwyczaj 2÷5%).
Układy PAL/GAL nie mają wady układów PLD typu PROM, w których matryca AND
musi pokrywać wszystkie możliwe mintermy dla danej liczby zmiennych wejściowych.
Można wybrać i zaprogramować – podobnie jak w układach FPLA – tylko potrzebne termy.
Ponadto można zastosować metody minimalizacyjne. Matryca OR jest nieprogramowalna,
więc tylko ograniczona liczba termów (typowo 8 lub 10) może być doprowadzona do wejść
jednej bramki OR. Jeden term może być doprowadzony do wejścia tylko jednej bramki OR.
Jeśli ten sam term jest potrzebny do wejść dwu lub więcej bramek OR, to trzeba go tworzyć
z osobna dla każdej bramki OR. Można jednak ominąć to ograniczenie korzystając ze
struktury dwupoziomowej przy jednoczesnym zwiększeniu liczby dostępnych termów.
Katalog podstawowych bramek cyfrowych
Tablica jest zestawieniem podstawowych bramek dostępnych w rodzinach scalonych
układów cyfrowych TTL i CMOS. Każdą bramkę narysowano w swej normalnej postaci
(tj. w logice dodatniej) oraz w postaci odpowiedniej dla logiki ujemnej. Ostatnią pozycję
w tablicy zajmuje bramka I-LUB-NIE czyli AOI (ang. AND-OR-INVERT).
Tytułem wyjaśnienia. Istnieje 10 serii popularnych układów cyfrowych (CMOS: 4000B,
74C, 74HC, 74HCT, 74AC, 74ACT i TTL: 74LS, 74ALS, 74AS, 74F). We wszystkich
znajdują się układy realizujące te same funkcje. Dość dobra jest wzajemna zgodność między
seriami - różnią się głównie szybkością, mocą zasilania, obciążalnością wyjść i wartościami
napięć reprezentującymi poziomy logiczne. Najbardziej odpowiednia dla większości
zastosowań jest obecnie seria szybkich układów CMOS, oznaczona literami HC
następującymi o liczbie 74, np. 74HC00. Gdy jest wymagana pełna zgodność ze standardem
TTL, należy stosować układy 74HCTxx (lub 74LSxx). W celu uproszczenia zapisu, w dalszej
części publikacji będziemy pomijać oznaczenie serii, zastępując je apostrofem, np. ´00 będzie
oznaczać dwuwejściową bramkę NAND. Zwracamy uwagę, że oryginalne układy TTL (seria
74xx - bez oznaczeń literowych po liczbie 74) są już przestarzałe.
Tabela 15.
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
80
Oznaczenia układów scalonych serii TTL
Pierwsza litera oznaczenia określa sposób wykonania według następujących reguł:
U – układ półprzewodnikowy, monolityczny, bipolarny,
H – układ hybrydowy,
M – układ półprzewodnikowy monolityczny unipolarny.
Druga litera oznaczenia określa rodzaj ogólnej funkcji układu scalonego:
C – układy cyfrowe,
L – układy analogowe,
R – inne układy scalone.
Trzecia litera określa przeznaczenie układu scalonego:
A – do zastosowań specjalnych,
Y – do zastosowań profesjonalnych,
T – do zastosowań profesjonalnych o podwyższonej niezawodności,
Q – do zastosowań specjalnych o podwyższonej niezawodności,
X – prototypowe, doświadczalne lub na zamówienia.
brak litery do zastosowań w sprzęcie powszechnego użytku.
Pierwsza cyfra określa zakres dopuszczalnej temperatury otoczenia podczas pracy w °C:
4 – od –55 do +85,
5 – od –35 do +25,
6 – od –40 do +85,
7 – od 0 do +70,
8 – od –25 do +85.
Druga, trzecia, czwarta lub piąta cyfra stanowią liczbę porządkową określającą dany typ
układu.
Po drugiej cyfrze w oznaczeniach monolitycznych cyfrowych układów scalonych mogą być
wprowadzone litery określające serię układu:
Dla układów TTL:
F – seria szybka
L – seria małej mocy
H – seria o zwiększonej szybkości,
S – seria bardzo szybka,
brak litery – seria standardowa
Dla układów CMOS:
HC – szybkie układy,
HCT – szybkie układy kompatybilne z TTL,
AC – ulepszone szybkie układy,
ACT – ulepszone szybkie układy kompatybilne z TTL.
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
81
4.4.2. Pytania sprawdzające
Odpowiadając na pytania, sprawdzisz, czy jesteś przygotowany do wykonania ćwiczeń.
1. Jakimi cechami charakteryzuje się technologia TTL?
2. Jakimi cechami charakteryzuje się technologia CMOS?
3. Jaka jest różnica w zasilaniu układów TTL i CMOS?
4. Jakimi zasadami należy się kierować przy łączeniu układów TTL i CMOS?
5. Jakie właściwości posiada bramka trójstanowa?
6. Jakie są podstawowe właściwości bramki z otwartym kolektorem?
7. Co określa termin trzeci stan w bramce trójstanowej?
8. W jaki sposób oznacza się układy scalone TTL?
9. Jakie informacje zawarte są w oznaczeniach literowych układu scalonego TTL?
10. Jakie informacje zawarte są w oznaczeniach cyfrowych układu scalonego TTL?
11. W jaki sposób przedstawia się symbole bramek NAND, NOR, NOT?
12. Jakie można wyróżnić podstawowe struktury programowalne?
13. W jakim układzie scalonym występują 4 bramki NAND a w jakim 6 bramek NOT?
4.4.3. Ćwiczenia
Ćwiczenie 1
Wyjaśnij znaczenie opisu następujących układów scalonych.
1) UCY74H32N,
2) 74HCT00.
Sposób wykonania ćwiczenia
Aby wykonać ćwiczenie, powinieneś:
1) odszukać w materiałach dydaktycznych oznaczenia układów cyfrowych układów
scalonych,
2) dokonać analizy oznaczeń, uwzględniając oznaczenia, dotyczące technologii i CMOS,
3) rozpoznać opisy układów scalonych.
Wyposażenie stanowiska pracy:
−
papier formatu A4, flamastry,
−
literatura zgodna z punktem 6 poradnika.
Ćwiczenie 2
Dany jest układ scalony UCY 7400. Zaproponuj układ cyfrowy, zbudowany z tych
bramek realizujący sumę logiczna A+B.
Sposób wykonania ćwiczenia
Aby wykonać ćwiczenie, powinieneś:
1) odszukać w materiałach dydaktycznych widok układu scalonego UCY7400,
2) przypomnieć sobie prawo de’Morgana, z którego można skorzystać,
3) narysować połączenia bramek NAND, uwzględniając numery końcówek układu
scalonego,
4) przeanalizować poprawność rozwiązania, nie zapominając o napięciu zasilania układu,
5) uzasadnić narysowany schemat.
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
82
Wyposażenie stanowiska pracy:
−
papier formatu A4, flamastry,
−
literatura zgodna z punktem 6 poradnika.
4.4.4. Sprawdzian postępów
Czy potrafisz:
Tak
Nie
1)
scharakteryzować technologię TTL?
2)
scharakteryzować technologie CMOS?
3)
wyjaśnić różnice pomiędzy technologią TTL a CMOS?
4)
określić reguły obowiązujące przy łączeniu układów TTL i CMOS?
5)
określić właściwości bramki trójstanowej?
6)
wyjaśnić co oznacza trzeci stan w bramce trójstanowej?
7)
określić podstawowe oznaczenia bramek TTL?
8)
wyjaśnić oznaczenia literowe bramek TTL?
9)
wyjaśnić oznaczenia cyfrowe bramek TTL?
10) zastosować symbole podstawowych bramek logicznych?
11) określić podstawowe struktury programowalne?
12) scharakteryzować podstawowe struktury programowalne?
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
83
5. SPRAWDZIAN OSIĄGNIĘĆ
INSTRUKCJA DLA UCZNIA
1. Przeczytaj uważnie instrukcję.
2. Podpisz imieniem i nazwiskiem kartę odpowiedzi.
3. Zapoznaj się z zestawem zadań testowych.
4. Test zawiera 20 zadań. Do każdego zadania dołączone są 4 możliwości odpowiedzi.
Tylko jedna jest prawidłowa.
5. Udzielaj odpowiedzi na załączonej karcie odpowiedzi, stawiając w odpowiedniej rubryce
znak X. W przypadku pomyłki należy błędną odpowiedź zaznaczyć kółkiem, a następnie
ponownie zakreślić odpowiedź prawidłową.
6. Zadania wymagają stosunkowo prostych obliczeń, które powinieneś wykonać przed
wskazaniem poprawnego wyniku.
7. Pracuj samodzielnie, bo tylko wtedy będziesz miał satysfakcję z wykonanego zadania.
8. Jeśli udzielenie odpowiedzi będzie Ci sprawiało trudność, wtedy odłóż jego rozwiązanie
na później i wróć do niego, gdy zostanie Ci wolny czas.
9. Na rozwiązanie testu masz 40 minut.
Powodzenia!
ZESTAW ZADAŃ TESTOWYCH
1. System, który wykorzystuje tylko zera i jedynki nazywany jest
a) heksadecymalnym.
b) binarnym.
c) szesnastkowym.
d) dziesiętnym.
2. Liczbie dziesiętnej 151 odpowiada liczba z systemu dwójkowego
a) 10100111.
b) 10010111.
c) 10101011.
d) 10010011.
3. Liczba szesnastkowa F14 po zamianie na system dziesiętny jest równa
a) 3860.
b) 276.
c) 111114.
d) 1014.
4. Tabela zamieszczona poniżej odpowiada funkcji logicznej
a) NOT.
b) AND.
c) NOR.
d) NAND.
A
B
F
0
0
1
0
1
1
1
0
1
1
1
0
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
84
5. Dla dwuargumentowej sumy logicznej prawdziwe jest równanie
a) 1 + 1 = 2.
b) 1 + 0 = 0.
c) 1 + 1 = 1.
d) 0 + 1 = 0.
6. Prawo de Morgana dla trzech zmiennych A, B, C można zapisać
a)
..
...
⋅
⋅
⋅
=
+
+
+
C
B
A
C
B
A
b)
...
...
⋅
+
+
=
+
+
+
C
B
A
C
B
A
c)
...
...
.
⋅
⋅
⋅
=
C
B
A
BC
A
d) wszystkie odpowiedzi są błędne.
7. Dekoderem nazywamy przetwornik, który
a) zamienia dowolny kod binarny na inny kod.
b) zamienia kod 1 z n na inny kod.
c) zamienia kod binarny na kod 1 z n.
d) zamienia dowolny kod wejściowy na dowolny kod wyjściowy.
8. Zamieszczona poniżej tabela posiada wiersze i kolumny opisane kodem
a) heksadecymalnym.
b) naturalnym dwójkowym .
c) Graya.
d) Wattsona.
AB
CD
00
01
11
10
00
0
1
3
2
01
4
5
7
6
11
12
13
15
14
10
8
9
11
10
9. W układach sekwencyjnych stan wyjścia zależy od
a) od stanu sygnałów wejściowych.
b) od przedniego stany sygnałów wyjściowych.
c) od stanu sygnałów wejściowych i sygnału zegarowego.
d) od stanu sygnałów wejściowych i poprzedniego stanu sygnałów wyjściowych.
10. Multiplekser posiadający 16 wejść danych musi być wyposażony w
a) 16 wejść adresowych.
b) 8 wejść adresowych.
c) 3 wejścia adresowe.
d) 4 wejścia adresowe.
11. Przerzutniki można zaliczyć do układów
a) sekwencyjnych.
b) kombinacyjnych.
c) bezpamięciowych.
d) bezobsługowych.
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
85
12. Wejście przerzutnika synchronicznego wyzwalanego na zboczu narastającym oznacza się
a) kwadratem.
b) trójkątem
c) gwiazdką.
d) kropką.
13. Na poniższym rysunku w wyniku modyfikacji otrzymano przerzutnik synchroniczny typu
a) T.
b) RS.
c) JK master slave.
d) D.
14. Na rysunku przedstawiono przebiegi czasowe na wejściu i wyjściach licznika, którego
pojemność jest równa
a) 9.
b) 8.
c) 7.
d) 4.
15. Rejestry równoległe z wpisywaniem jednoprzewodowym charakteryzują się tym, że
a) posiadają jeden przewód zasilający.
b) wymagają zerowania przed wpisaniem informacji.
c) nie wymagają zerowania przed wpisaniem informacji.
d) posiadają jeden przewód do wpisywania informacji do rejestru.
16. Rysunek zamieszczony poniżej przedstawia
a) licznik szeregowy.
b) rejestr szeregowy.
c) licznik równoległy.
d) rejestr równoległo- równoległy.
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
86
17. Półsumator można najprościej zbudować z dwóch różnych bramek
a) AND i EXNOR.
b) NAND i EXOR.
c) AND i EXOR.
d) NAND i EXNOR.
18. Rysunek poniższy przedstawia cyfrowy układ scalony
a) rejestru równoległego.
b) licznika synchronicznego.
c) komparatora.
d) sumatora dwójkowego równoległego.
19. Pojemność układu pamięci o 16 liniach adresowych i 16 liniach szyny danych wynosi
a) 256 b.
b) 1 Mb.
c) 1 MB.
d) 256 B.
20. Informacja w dynamicznej komórce pamięci przechowywana jest
a) w przerzutniku RS.
b) w tranzystorze MOS.
c) w pojemności dynamicznej tranzystora.
d) w postaci ładunku, zgromadzonego w pojemności.
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
87
KARTA ODPOWIEDZI
Imię i nazwisko ...............................................................................
Badanie elektronicznych układów cyfrowych
Zakreśl poprawną odpowiedź.
Nr
zadania
Odpowiedź
Punkty
1
a
b
c
d
2
a
b
c
d
3
a
b
c
d
4
a
b
c
d
5
a
b
c
d
6
a
b
c
d
7
a
b
c
d
8
a
b
c
d
9
a
b
c
d
10
a
b
c
d
11
a
b
c
d
12
a
b
c
d
13
a
b
c
d
14
a
b
c
d
15
a
b
c
d
16
a
b
c
d
17
a
b
c
d
18
a
b
c
d
19
a
b
c
d
20
a
b
c
d
Razem:
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
88
6. LITERATURA
1. Chwaleba A., Moeschke B., Pilawski M.: Pracownia elektroniczna – elementy układów
elektronicznych. WSiP, Warszawa 1996
2. Chwaleba A., Moeschke B., Płoszajski G.: Elektronika. WSiP, Warszawa 1996
3. Grabowski L.: Pracownia elektroniczna – układy elektroniczne. WSiP, Warszawa 1999
4. Pióro B., Pióro M.: Podstawy elektroniki cz. 1. WSiP, Warszawa 1998
5. Pióro B., Pióro M.: Podstawy elektroniki cz. 2. WSiP, Warszawa 1997
6. Zachara Z.: Zadania z elektrotechniki nie tylko dla elektroników. WSPWN, Warszawa
2000
7. http://pl.wikipedia.org
8. http://www.cyfronika.com.pl
9. http://www.edw.com.pl
10. http://www.matmic.neostrada.pl
11. http://www.meditronik.com.pl
Czasopisma:
–
Elektronika dla wszystkich
–
Elektronika praktyczna