13
1 CYFROWE BLOKI FUNKCJONALNE MULTIPLEKSER Multiplekser to układ o n wejściach wybierających (adresowych), 2 n wejściach informacyjnych i jednym wyjściu. Każdej z 2 n kombinacji wejść wybierających odpowiada jedno wejście informacyjne. Gdy na wejściach wybierających występuje kombinacja odpowiadająca danemu wejściu informacyjnemu, to wejście to z ostaje przyłączone do wyjścia. IN 0 OUT IN 1 SEL SEL OUT 0 IN 0 1 IN 1 Rys. 1. Multiplekser o dwóch wejściach informacyjnych IN 0 , IN 1 , jednym wejściu wybierającym SEL i jednym wyjściu Y jako przełącznik wielopozycyjny Tablica 1. Tablica 2. SEL IN 1 IN 0 OUT 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 0 1 1 0 1 1 1 1 1 IN 1 IN 0 00 01 11 10 SEL 0 0 1 1 0 1 0 0 1 1 0 SEL IN SE I OU N1 T L SEL IN 1 IN 0 OUT Rys. 2. Schemat logiczny dwuwejściowego multipleksera.

CYFROWE BLOKI FUNKCJONALNE - Politechnika …...multiplekser 8:1 (74151) – dodatkowe wyjście (negacja Y), multiplekser 16:1 (74150) – dodatkowe wyjście (negacja Y). Podstawowa

  • Upload
    others

  • View
    2

  • Download
    1

Embed Size (px)

Citation preview

Page 1: CYFROWE BLOKI FUNKCJONALNE - Politechnika …...multiplekser 8:1 (74151) – dodatkowe wyjście (negacja Y), multiplekser 16:1 (74150) – dodatkowe wyjście (negacja Y). Podstawowa

1

CYFROWE BLOKI FUNKCJONALNE

MULTIPLEKSER

Multiplekser to układ o n wejściach wybierających

(adresowych), 2n wejściach informacyjnych i jednym wyjściu. Każdej z 2n

kombinacji wejść wybierających odpowiada jedno wejście informacyjne. Gdy

na wejściach wybierających występuje kombinacja odpowiadająca danemu

wejściu informacyjnemu, to wejście to zostaje przyłączone do wyjścia.

IN0 OUT

IN1

SEL

SEL OUT

0 IN0

1 IN1

Rys. 1. Multiplekser o dwóch wejściach informacyjnych IN0, IN1, jednym wejściu

wybierającym SEL i jednym wyjściu Y jako przełącznik wielopozycyjny

Tablica 1. Tablica 2.

SEL IN1 IN0 OUT

0 0 0 0

0 0 1 1

0 1 0 0

0 1 1 1

1 0 0 0

1 0 1 0

1 1 0 1

1 1 1 1

IN1 IN0

00 01 11 10

SEL 0 0 1 1 0

1 0 0 1 1

0SEL IN SE IOU N1T L

SEL

IN1

IN0

OUT

Rys. 2. Schemat logiczny dwuwejściowego multipleksera.

Page 2: CYFROWE BLOKI FUNKCJONALNE - Politechnika …...multiplekser 8:1 (74151) – dodatkowe wyjście (negacja Y), multiplekser 16:1 (74150) – dodatkowe wyjście (negacja Y). Podstawowa

2

Symbole

Wejścia informacyjne: Ik (od input) lub Dk (od data), k = 0, 1, ... , 2n-1;

Wejścia wybierające (adresowe): A (Least Significant Bit LSB), B, C, ... lub

Sk (od select), k = 0, 1, ... , n;

Wyjście: Y lub Z;

Schemat multipleksera 2:1 łatwo uogólnić dla większej liczby wejść. Musi być

tyle bramek AND ile jest wejść informacyjnych, a każda bramka musi mieć

jedno wejście jako informacyjne plus n wejść wybierających, np. dla

multipleksera 4:1:

I0

I1

YI2

I3

A

B

Praktycznie realizowane scalone multipleksery mają dodatkowe wejście Strobe,

które wysokim poziomem blokuje multiplekser wymuszając Y = 0 niezależnie

od stanu wejść adresowych i informacyjnych. Ponadto niektóre multipleksery

mają dodatkowe wyjście będące negacją Y.

W rodzinie TTL 74xx podstawowy zestaw multiplekserów obejmuje:

poczwórny multiplekser 2:1 (74157) – wspólne wejście wybierające,

wspólny strob,

Page 3: CYFROWE BLOKI FUNKCJONALNE - Politechnika …...multiplekser 8:1 (74151) – dodatkowe wyjście (negacja Y), multiplekser 16:1 (74150) – dodatkowe wyjście (negacja Y). Podstawowa

3

podwójny multiplekser 4:1 (74153) – wspólne wejście wybierające,

indywidualne wejścia strobujące,

multiplekser 8:1 (74151) – dodatkowe wyjście (negacja Y),

multiplekser 16:1 (74150) – dodatkowe wyjście (negacja Y).

Podstawowa struktura multipleksera ma jedno wyjście, czyli przełącza słowa 1-

bitowe. Łącząc jednobitowe multipleksery równolegle uzyskamy możliwość

komutowania słów wielobitowych. Np. poczwórny multiplekser 2:1 74157 może

być uważany za multiplekser czterobitowy wybierający jedno z dwóch

czterobitowych słów wejściowych. Stosując dwa takie układy uzyskujemy

możliwość komutacji dwóch słów ośmiobitowych.

Zastosowanie multiplekserów do realizacji funkcji logicznych

Tablicę funkcji logicznej możemy interpretować w ten sposób, że dla każdej

kombinacji wejść należy wybrać 0 lub 1. Jeśli więc x1 i x0 zinterpretujemy jako

wejście wybierające B i A, to wartość funkcji Y, staje się równa wejściom

odpowiadającym poszczególnym adresom BA. Multiplekser można więc

traktować jako układ realizujący dowolną funkcję n zmiennych, gdzie n jest

liczbą wejść adresowych. Realizacja funkcji polega na odpowiednim

przypisaniu wejściom informacyjnym wartości 0 i 1.

Przykładowa funkcja

x1 x0 y

0 0 1

0 1 0

1 0 0

1 1 1

I0

I1

B

Z

4:1

I2

I3 A

1

0

0

1

x0

x1

y

wartości

funkcji

logicznej {

Można zmniejszyć o jeden potrzebną liczbę wejść adresowych, tzn.

zrealizować dowolną funkcję n zmiennych za pomocą multipleksera o (n-1)

wejściach wybierających. Dla dowolnej funkcji n zmiennych każdej kombinacji

(n-1) zmiennych odpowiadają dokładnie dwa wiersze w tablicy kombinacji.

Istnieją dokładnie cztery warianty wartości jakie funkcja może przyjąć dla pary

kombinacji wejściowych.

X3 X2 X1 X0 Y Wartości wejść

informacyjnych

0 0

0

0

1

1

0

1

1 0 X0 0X 1

1

Page 4: CYFROWE BLOKI FUNKCJONALNE - Politechnika …...multiplekser 8:1 (74151) – dodatkowe wyjście (negacja Y), multiplekser 16:1 (74150) – dodatkowe wyjście (negacja Y). Podstawowa

4

Realizacja funkcji n zmiennych za pomocą multipleksera o (n-1) wejściach

adresowych polega na przypisaniu (n-1) zmiennych do wejść adresowych oraz

na odpowiednim podaniu 0, 1, X0 lub 0X na wejścia informacyjne.

Przykład (na tablicy)

Zrealizować, za pomocą multipleksera 8:1, podaną funkcję 4-ch zmiennych:

X3 X2 X1 X0 Y

0 0 0 0 0

0 0 0 1 1

0 0 1 0 0

0 0 1 1 1

0 1 0 0 0

0 1 0 1 0

0 1 1 0 1

0 1 1 1 1

1 0 0 0 0

1 0 0 1 1

1 0 1 0 1

1 0 1 1 0

1 1 0 0 0

1 1 0 1 0

1 1 1 0 1

1 1 1 1 1

DEMULTIPLEKSER

Demultiplekser jest układem komplementarnym do multipleksera. Ma jedno

wejście informacyjne, n wejść adresowych i 2n wyjść. Na wyjście o numerze

równym adresowi przekazywany jest stan wejścia informacyjnego, pozostałe

wyjścia są nieaktywne (przyjmują wartość 0).

OUT0IN

OUT1

SEL

SEL OUT0 OUT1

0 IN 0

1 0 IN

Rys. 3. Demultiplekser o dwóch wyjściach OUT0, OUT1 i jednym wejściu wybierającym SEL

jako przełącznik wielopozycyjny

INSELOUT0

INSELOUT1

Page 5: CYFROWE BLOKI FUNKCJONALNE - Politechnika …...multiplekser 8:1 (74151) – dodatkowe wyjście (negacja Y), multiplekser 16:1 (74150) – dodatkowe wyjście (negacja Y). Podstawowa

5

SEL

IN OUT0

OUT1

Rys. 4. Schemat logiczny dwuwejściowego demultipleksera.

Symbole

Wejście informacyjne: I lub D;

Wejścia wybierające (adresowe): A (Low Significant Bit), B, C, ... lub Sk, k = 0,

1, ... , n;

Wyjście: Y;

Równania wyjść łatwo uogólnić na większą liczbę wyjść, np. dla

demultipleksera 1:4 będzie:

INSSY 010

INSSY 011

INSSY 013

INSSY 013

W postaci scalonej dostępna jest grupa układów nazywanych

decoder/demultiplexer, a więc łączących bardzo zbliżone funkcje dekodera i

demultipleksera.

DEKODER

Dekoderem nazywamy układ zamieniający naturalny kod binarny na kod ‘1 z

N’. Mówiąc inaczej układ ten uaktywnia jedną z kilu linii wyjściowych w

zależności od wejściowego kodu binarnego i stanu wejścia zezwalającego

(bramkowego). Dla n linii wejściowych mamy 2n linii wyjściowych.

Page 6: CYFROWE BLOKI FUNKCJONALNE - Politechnika …...multiplekser 8:1 (74151) – dodatkowe wyjście (negacja Y), multiplekser 16:1 (74150) – dodatkowe wyjście (negacja Y). Podstawowa

6

Wyjście Y0 jest aktywne gdy kod

wejściowy jest równy 0D = 000B

Wyjście Y1 gdy 1D = 001B

Wyjście Y2 gdy 2D = 010B

Wyjście Y3 gdy 3D = 011B, itd.

Dekodery mają dodatkowo co najmniej jedno wejście bramkujące (enable,

oznaczane literami E, EN, G), za pomocą którego można zablokować dekoder,

tzn. wysterować wszystkie wyjścia do poziomu nieaktywnego.

Załóżmy, że poziomem aktywnym na wyjściu jest 1 (H) oraz że wejście EN

blokuje dekoder poziomem niskim. W takim przypadku dekoder z wejściem EN

interpretowanym jako wejście informacyjne jest tożsamy z demultiplekserem

(zamiana roli sprowadza się do zmiany funkcji jednego wejścia EN na IN).

W przypadku dekoderów przyjmuje się jako poziom aktywny na wyjściu

poziom niski (czyli wyjście wybrane ma poziom niski, pozostałe wysoki, gdy

dekoder jest zablokowany wszystkie wyjścia są w stanie wysokim). Wobec tego

gdy scalone dekodery/demultipleksery traktuje się jako demultipleksery, to w

stosunku do wcześniej przedstawianej idei różnią się one stanem nie wybranych

wyjść, jest on wysoki (H) a nie niski (L) jak zakładaliśmy poprzednio.

Podstawowe scalone układy typu dekoder/demultiplekser to:

podwójny 2:4 (74139) – indywidualne wejścia Enable dla każdego,

3:8 (74138) – trzy wejścia Enable,

4:16 (74154) – dwa wejścia Enable.

Aby dekoder był odblokowany musi być:

G1 = 1

0G2A

0G2B Jeżeli którekolwiek z tych wejść ma inny poziom, wszystkie

wyjścia mają poziom wysoki.

Jeżeli chcemy wykorzystać powyższy dekoder jako multiplekser mamy dwie

możliwości:

Page 7: CYFROWE BLOKI FUNKCJONALNE - Politechnika …...multiplekser 8:1 (74151) – dodatkowe wyjście (negacja Y), multiplekser 16:1 (74150) – dodatkowe wyjście (negacja Y). Podstawowa

7

1. 0G2BG2A a G1 traktujemy jako wejście informacyjne demultipleksera,

mamy wówczas:

G1 = 1 => Yk = 0, (numer wyjścia k określony jest wejściami adresowymi

A, B, C),

G1 = 0 => Yk = 1.

W tym przypadku demultiplekser przekazuje na wyjście stan wejścia w

postaci zanegowanej

2. 0G2A,11G a G2B traktowane jest jako wejście informacyjne

0G2B => Yk = 0, (numer wyjścia k określony jest wejściami adresowymi

A, B, C),

1G2B => Yk = 1.

W tej sytuacji demultiplekser przekazuje na wyjście stan wejścia.

(Przykłady zastosowań dekodera na tablicy)

Narysować układ połączeń rejestru wejściowego z magistralą mikroprocesora

8080, dla którego adres rejestru jest równy ACH.

E1

E2

E3

O1

O2

O3

O4

O5

O6

O7

O0

I OR

CE

A0

A1

A2

A0

A1

A2

A3

A4

A5

A6

A7

REG

Page 8: CYFROWE BLOKI FUNKCJONALNE - Politechnika …...multiplekser 8:1 (74151) – dodatkowe wyjście (negacja Y), multiplekser 16:1 (74150) – dodatkowe wyjście (negacja Y). Podstawowa

8

REJESTRY

Rejestry to zespoły odpowiednio połączonych przerzutników.

Rejest 4-bitowy równoległy

Rejest 4-bitowy przesuwający

REJESTRY RÓWNOLEGŁE (parallel registers)

Funkcja podstawowa

Q := X równoległy zapis informacji

Funkcje dodatkowe

Q := 0 zerowanie

Wpisywanie informacji może być realizowane za pomocą bezpośrednich wejść

wpisujących L (load), WR (write) i zerujących (CLR, R, ...) lub za pomocą

wejść przygotowujących. W pierwszym przypadku (określanym jako zapis

asynchroniczny / zerowanie asynchroniczne) zmiana stanu rejestru następuje z

chwilą wystąpienia aktywnego poziomu na wejściu zapisu / zerowania (np. 1 na

L (WR), 0 na L ( RW ).

W takcie trwania aktywnego poziomu na wejściu wpisującym rejestr jest

„przezroczysty” (transparent), tzn., że gdy zmienia się stan wejść to również

stan wyjść ulega zmianie.

Page 9: CYFROWE BLOKI FUNKCJONALNE - Politechnika …...multiplekser 8:1 (74151) – dodatkowe wyjście (negacja Y), multiplekser 16:1 (74150) – dodatkowe wyjście (negacja Y). Podstawowa

9

W drugim przypadku (określonym jako zapis synchroniczny / zerowanie

synchroniczne) odpowiednie wejścia sterujące przygotowują (programują)

funkcję, która zostanie wykonana przy najbliższym aktywnym zboczu sygnału

zegarowego. W czasie pomiędzy kolejnymi aktywnymi zboczami zegara rejestr

nie zmienia stanu niezależnie od ew. zmian na wejściach informacyjnych.

UWAGA: Rejestry z zapisem asynchronicznym mogą służyć jako tzw.

„zatrzaski” („latches”), np. do zapamiętywania stanu szyny danych

mikroprocesora (rejestr wyjściowy). Nie nadają się natomiast do realizacji

układu ze sprzężeniem zwrotnym (np. akumulatora)

taktowanie sygnału zegarowego (gdyby taktować sygnałem typu WR, to w

czasie aktywnego poziomu tego sygnału miałoby miejsce niekontrolowane,

asynchroniczne akumulowanie informacji wejściowej)

REJESTRY PRZESUWAJĄCE (shift registers, serial registers)

Funkcja podstawowa

przesuwanie (w lewo, w prawo)

Funkcje dodatkowe

zapis równoległy, zerowanie

Rejestry przesuwające są zawsze zbudowane z przerzutników synchronicznych,

a więc zawsze mają typowe wejścia zegarowe. Przesuwanie informacji odbywa

się wyłącznie przy aktywnych zboczach zegara.

Page 10: CYFROWE BLOKI FUNKCJONALNE - Politechnika …...multiplekser 8:1 (74151) – dodatkowe wyjście (negacja Y), multiplekser 16:1 (74150) – dodatkowe wyjście (negacja Y). Podstawowa

10

SISO (Serial Input Serial Output) – szeregowo-

szeregowy (bardzo długie rejestry przesuwające

mogą być całkowicie szeregowe, tj. jedno wejście,

jedno wyjście)

SIPO (Serial Input Parallel Output)

– szeregowo-równoległy

PIPO (Parallel Input Parallel Output)

– równoległo-równoległy

PISO (Parallel Input Serial Output)

– równoległo-szeregowy

Przesuwanie informacji może być w lewo i w prawo (to rozróżnienie jest istotne

dla rejestrów dwukierunkowych)

w lewo = w kierunku wzrastających współczynników wagowych (mnożenie)

w prawo = w kierunku malejących współczynników wagowych (dzielenie)

Przykład (przesuwanie arytmetyczne):

stan początkowy 0110B = 6D

przesuw w lewo (shift left) XL = 0 1100B = 12D

przesuw w prawo (shift right) XR = 0 0011B = 3D

Wybrane zastosowania

Page 11: CYFROWE BLOKI FUNKCJONALNE - Politechnika …...multiplekser 8:1 (74151) – dodatkowe wyjście (negacja Y), multiplekser 16:1 (74150) – dodatkowe wyjście (negacja Y). Podstawowa

11

1) Mnożenie / dzielenie przez potęgi 2

2) PISO i SIPO – zamiana reprezentacji równoległe – szeregowe, szeregowe

– równoległe.

3) Badanie wartości poszczególnych bitów w słowie n-bitowym (transmisja

przetwarzania A/C, C/A)

4) Filtracja cyfrowa

5) Rejestry liczące: liczniki pierścieniowe, Johnsona, liniowe.

Przykłady:

licznik pierścieniowy Xs = Qn-1,

licznik Johnsona 1ns QX ,

rzesuwanie cykliczne samokorygujące,

liczniki liniowe Xs = suma modulo 2 (wybrane wyjścia)

Dla pewnych połączeń uzyskuje się tzw. sekwencje maksymalnie długie tj. o

długości 2n – 1 (wszystkie stany są obiegane z wyjątkiem 0), np. dla n = 4

sekwencje maksymalnie długie otrzymuje się dla Xs = Q3 Q0 i Xs = Q3

Q2 1.Narysować pełny graf poniższego układu z rejestrem przesuwającym 4-bitowym (przesuw

w prawo).

Rejestr

Page 12: CYFROWE BLOKI FUNKCJONALNE - Politechnika …...multiplekser 8:1 (74151) – dodatkowe wyjście (negacja Y), multiplekser 16:1 (74150) – dodatkowe wyjście (negacja Y). Podstawowa

12

LICZNIKI (counters)

Liczniki to układy sekwencyjne, które obiegają ustalony zestaw stanów

wewnętrznych ułożonych w pojedynczy cykl, np.:

licznik prosty (simple counter)

liczniki złożone (multimode counter)

Liczbę stanów obieganych przez licznik nazywamy pojemnością licznika (lub

długością cyklu). Licznik o pojemności N nazywa się często licznikiem modulo-

N.

Rejestry liczące (licznik pierścieniowy, Johnsona, liniowy) to szczególne

przypadki liczników.

Często ogólne pojęcie licznika zawęża się do takich układów, które obiegają

stany odpowiadające kolejnym liczbom naturalnym (katalogowe pojęcie

licznika zwykle oznacza tego rodzaju układ).

Liczniki w tym węższym rozumieniu dzielą się na binarne (o długości cyklu

postaci 2n) i dziesiętne (dekadowe, BCD) (o długości cyklu postaci 10m).

Ponadto liczniki takie mogą zliczać w górę (w przód) (up counter) lub w dół

(wstecz) (down counter), względnie w górę lub w dół, zależnie od stanu wejścia

określającego kierunek zliczania (reversible counter, up / down counter).

Liczniki dzieli się na asynchroniczne i synchroniczne. Literatura

Page 13: CYFROWE BLOKI FUNKCJONALNE - Politechnika …...multiplekser 8:1 (74151) – dodatkowe wyjście (negacja Y), multiplekser 16:1 (74150) – dodatkowe wyjście (negacja Y). Podstawowa

13

[1] Janusz Nieznański, niepublikowane materiały z wykładu „Podstawy techniki cyfrowej

i mikroprocesorowej”