07 Badanie elektronicznych układów cyfrowych

background image

„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

background image

„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

background image

„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

background image

„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ą.

background image

„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

background image

„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.

background image

„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.

background image

„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.

background image

„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

background image

„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.

background image

„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.

background image

„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

background image

„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.

background image

„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

+

+

+

=

background image

„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

background image

„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

background image

„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

background image

„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

background image

„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

).

background image

„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.

background image

„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.

background image

„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.

background image

„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?

background image

„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.

background image

„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?

background image

„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.

background image

„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.

background image

„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

background image

„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

background image

„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

background image

„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

background image

„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’

background image

„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.

background image

„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.

background image

„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.

background image

„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

background image

„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.

background image

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

background image

„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?

background image

„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,

background image

„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?

background image

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

background image

„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.

background image

„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

background image

„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

background image

„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

background image

„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

background image

„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

background image

„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

background image

„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

background image

„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

background image

„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

background image

„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

background image

„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

background image

„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

background image

„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

background image

„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

background image

„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

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.

background image

„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.

background image

„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

background image

„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.

background image

„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

background image

„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

background image

„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

background image

„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

background image

„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

background image

„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

background image

„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

background image

„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.

background image

„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.

background image

„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?

background image

„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.)

background image

„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ść.

background image

„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

background image

„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.

background image

„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

background image

„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

background image

„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.

background image

„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

background image

„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.

background image

„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.

background image

„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.

background image

„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?

background image

„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

background image

„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.

background image

„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.

background image

„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.

background image

„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:

background image

„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


Wyszukiwarka

Podobne podstrony:
Badanie i pomiary elektronicznych układów cyfrowych
5 Badanie właściwości układów cyfrowych TTL i CMOS
Badanie elektropneumatycznych układów sterowania

07 Badanie układów dopasowania impedancji
Badanie wysokonapięciowych układów izolacyjnych napięciem piorunowym, Elektrotechnika, Rok 2, TWN, L
Badanie wysokonapięciowych układów izolacyjnych napięciem przemiennym, Elektrotechnika, Rok 2, TWN,
Badanie ukladow cyfrowych
23-badanie i zastosowanie układów z tyrystorami i triakami, Ćwiczenia z elektrotechniki
badanie oper odw, Politechnika Poznańska, Mechatronika, Semestr 04, Elektrotechnika analogowa i cyfr
Synteza układów cyfrowych, Zespół Szkół Elektrycznych nr 1 w Poznaniu
Pomiary wielkości elektrycznych Instrukcja do ćw 07 Badanie wzmacniacza operacyjnego pracującego w
Wykład XI Metody opisu układów cyfrowych
203 rejestry, Politechnika Wrocławska - Materiały, logika ukladow cyfrowych, sprawozdania

więcej podobnych podstron