Koder priorytetowy
Transkrypt
Koder priorytetowy
Elementy cyfrowe i układy logiczne Wykład Legenda Zezwolenie Dekoder, koder Demultiplekser, multiplekser 2 1 Operacja zezwolenia Przykład: zamodelować podsystem samochodu do sterowania urządzeniami: Nazwa elektroniczny Zmienna Wyłączone Włączone Wyłącznik zapłonu IS 0 1 Wyłącznik świateł Wyłącznik radia LS RS 0 0 1 1 Wyłącznik ogrzewania szyb WS 0 1 Radio L R 0 0 1 1 Ogrzewanie szyb W 0 1 Światła 3 Operacja zezwolenia x na wyjściu – don’t care x na wejściu – zmienna nie występuje w iloczynie Enable (0 – blokuje wszystko) 1 – „dopuszcza” akcję Nazwa Zmienna Wyłącznik zapłonu IS Wyłącznik świateł LS Wyłącznik radia RS Wyłącznik ogrzewania szyb WS Światła L Radio R Ogrzewanie szyb W 4 2 Dekodowanie • Dekodowanie – konwersja n-bitowego kodu wejściowego na m-bitowy kod wyjściowy, gdzie n ≤ m ≤ 2n, w taki sposób, że każde ważne słowo kodowe tworzy niepowtarzalny kod wyjściowy. 5 Dekoder • Dekoder należy do klasy układów kombinacyjnych. • Układ posiadający n wejść oraz k wyjść (k=2^n). Jego działanie polega na zamianie naturalnego kodu binarnego (o długości n), lub każdego innego kodu, na kod "1 z k" (o długości k). Działa odwrotnie do kodera, tzn. zamienia kod binarny na jego reprezentację w postaci tylko jednego wybranego wyjścia. W zależności od ilości wyjść nazywa się go dekoderem 1zN. 6 3 Dekoder • Dekoder „n na m linii”, m ≤ 2n – generuje 2n lub mniej mintermów z n zmiennych wejściowych. 7 Dekoder „1 na 2 linie” 8 4 Dekoder „2 na 4 linie” kod binarny liczby i Di – odpowiedź na zadany kod wejściowy 9 Dekoder „3 na 8 linii” 10 5 Rozbudowa dekoderów procedura Krok 1: Niech k = n. Krok 2: Jeśli k jest parzyste, to podziel k przez 2, aby uzyskać k/2. Użyj 2k bramek AND sterowanych przez dwa dekodery o rozmiarze wyjścia 2k/2. Jeśli k jest nieparzyste, to oblicz (k +1)/2 i (k - 1)/2. Użyj 2k bramek AND sterowanych przez dwa dekodery: jeden o rozmiarze wyjścia 2(k+1)/2 i drugi o rozmiarze wyjścia 2(k-1)/2. Krok 3: Dla każdego dekodera otrzymanego w punkcie 2 powtarzaj krok 2 dla wartości k uzyskanej w kroku 2 aż do momentu, gdy k = 1 . Dla k = 1 zastosuj dekoder „1 na 2 11 linie”. Dekoder „6 na 64 linie” 12 6 Rozbudowa dekodera Liczba wejść bramkowych układu: Kb = 182 6+2(2*4)+2(2*8)+(2*64) Liczba wejść bramkowych układu przy użyciu pojedynczych bramek AND dla każdego mintermu: Kb = 390 6+(6*64) 13 Demultiplekser sygnał zezwolenia 14 7 Demultiplekser Demultiplekser umożliwia przesłanie do jednego z wyjść układu sygnału doprowadzonego do jego wejścia. Demultiplekser jest układem posiadającym jedno wejście x, n wejść adresowych, oraz k wyjść (zazwyczaj k=2n). Numer wyjścia, do którego dołączone jest wejście, określany jest przez podanie numeru na linie adresowe a0... an-1. Na pozostałych wyjściach panuje stan zera logicznego. 15 Demultiplekser Jeśli na wejście strobujące (blokujące) S (ang. strobe) podane zostanie logiczne zero, to wyjścia yi przyjmują określony stan logiczny (zazwyczaj zero), niezależny ani od stanu wejścia x, ani wejść adresowych. W praktyce spotykane są jedynie demultipleksery w wyjściach zanegowanych, czyli na wybranym wyjściu jest stan ~x a na wszystkich pozostałych 1. (jedynka) logiczna. 16 8 Demultiplekser Wejście strobujące 0 1 2 3 4 Wyjścia danych 5 6 7 Model mechaniczny Wejścia adresowe 17 Demultiplekser Demultiplekser (TTL, 74LS138). Wyjścia są „inwersyjne” – wybrane wyjście zmienia stan z 1 (stan nieaktywny) na 0, pozostałe wyjścia pozostają w stanie 1. 18 9 Koder • Koder (enkoder) – realizuje funkcję odwrotną do operacji wykonywanej przez dekoder. • Koder ma 2n (lub mniej) linii wejściowych i n linii wyjściowych. 19 Koder priorytetowy • Koder priorytetowy (ang. priority enkoder) – realizuje funkcję rozstrzygającą priorytet, czyli pierwszeństwo sygnałów. Jeśli dwa lub więcej wejść ma wartość równą 1 w tym samym czasie, to wejście mające najwyższy priorytet ma pierwszeństwo. 20 10 Koder priorytetowy wyjście ważności kodu najwyższy priorytet 21 4-wejściowy koder priorytetowy A0 = D3 + D1 D2 A1 = D2 + D3 V = D0 + D1 + D2 + D3 22 11 Multiplekser Multiplekser (MUX, selektor danych) – służy do wyboru jednego z sygnałów wejściowych i przekazanie go na wyjście układu. Multiplekser „2 na 1 linię” Y = S I 0 + SI1 23 Multiplekser „4 na 1 linię” 24 12 Multiplekser „64 na 1 linię” 25 Multiplekser Multiplekser jest układem posiadającym k wejść, n wejść adresowych (zazwyczaj k=2n) i jedno wyjście y. Jego działanie polega na połączeniu jednego z wejść xi z wyjściem y. Numer wejścia jest określany przez podanie jego numeru na linie adresowe A. Jeśli na wejście strobujące (blokujące) S (ang. strobe) podane zostanie logiczne zero, to wyjście y przyjmuje określony stan logiczny (zazwyczaj zero), niezależny od stanu wejść X i A. 26 13 Multiplekser Wejście strobujące S 0 1 2 Wejścia danych 3 X 5 4 Model mechaniczny 6 7 Wejścia adresowe A 27 Multiplekser 8-bitowy multiplekser (74LS151 z rodziny TTL) umieszczony w obudowach dwurzędowych 16wyprowadzeniowych, posiada 2 wyjścia: proste i zanegowane) 28 14 Multipleksowy sys. przesyłania danych 0 0 1 1 2 2 3 3 4 4 5 5 6 7 8 6 `150 Y `154 7 8 9 9 10 10 11 11 12 12 13 13 14 14 15 Bwe Awe D CB A Qd Qc Qb Qa R01 R02 D CB A Bwe Awe 15 Qd Qc Qb Qa R01 R02 Rejestr 29 Zegar Cykl pracy układu 1. Wyzerowanie układu (przerzutniki wyjściowe, z których składa się rejestr, ustawione w stan 1, liczniki w stan 0). 2. Ustawienie na wejściu informacji przeznaczonej do transmisji. 3. Podanie 16 impulsów na wejścia zliczające liczników binarnych (mod 16) – z każdym kolejnym impulsem sygnał z jednego z wejść jest przenoszony na odpowiednie wyjście i jeśli jest to 1, to przerzutnik nie zmienia swego stanu, a jeśli 0, to jest ustawiany w stan niski. 4. Informacja z wejścia znajduje się na wyjściu układu i można przejść do następnego cyklu układu (punkt 1). 30 15 Linijka świetlna Wybranie dowolnego wyjścia (słowem adresowym) powoduje świecenia sterowanej przez to wyjście (za pośrednictwem bramki AND) diody oraz wszystkich diod przyłączonych do wyjść o numerach mniejszych od wybranego. Wejście LT pozwala skontrolować świecenie diod. Doprowadzenie do niego poziomu logicznego 0 powoduje świecenie wszystkich diod, niezależnie od stanu wejść adresowych. 31 Część 2: Zamiana kodu binarnego na kod Gray’a Komparator 32 16 Zamiana kodu binarnego na kod Gray’a 33 Zamiana c.d. Dziesiętnie Binarnie Gray 0 000 000 1 001 001 2 010 011 3 011 010 4 100 110 5 101 111 6 110 101 7 111 100 34 17 Zamiana Bin-> Gray x0 g0 x1 g1 x2 g2 35 Zamiana Bin-> Gray 0 0 0 0 0 0 Przykład 1/3 36 18 Zamiana Bin-> Gray 0 1 1 1 0 0 Przykład 2/3 37 Zamiana Bin-> Gray 1 0 1 1 0 0 Przykład 3/3 38 19 Zamiana Gray-> Bin g0 x0 g1 x1 g2 x2 39 Zamiana Gray-> Bin 1 0 1 1 0 0 Przykład 1/3 40 20 Zamiana Gray-> Bin 1 1 0 0 0 0 Przykład 2/3 41 Zamiana Gray-> Bin 0 1 1 1 0 0 Przykład 3/3 42 21 Układ porównujący 43 Komparator a0 a1 == . . an b0 ? A= =B ai 0 0 1 1 bi A= =B 0 1 1 0 0 0 1 1 b1 . . . bn 44 22 Komparator Komparator to układ porównujący. a0 b0 a1 b1 a2 b2 45 Koniec Dziękuję za uwagę 46 23