Elektronika i techniki mikroprocesorowe Instrukcja do zajęć
Transkrypt
Elektronika i techniki mikroprocesorowe Instrukcja do zajęć
Przygotowali: J. Michalak, M. Zygmanowski, M. Jeleń Elektronika i techniki mikroprocesorowe Instrukcja do zajęć laboratoryjnych Część: Technika Cyfrowa Liczba zajęć: 3 + zaliczające Celem zajęć jest zapoznanie się z podstawowymi elementami wykorzystywanymi w technice cyfrowej takimi jak bramki logiczne, sumatory, przerzutniki, liczniki oraz zapoznanie się z podstawowymi metodami projektowania układów cyfrowych. Wprowadzenie W dzisiejszym świecie układy cyfrowe i ich pochodne wykorzystywane są praktycznie w każdej dziedzinie gospodarki – do sterowania procesami produkcyjnymi, przetwarzania, przesyłu danych itp. W porównaniu z układami analogowymi, posiadają one takie zalety jak: większa odporność na zakłócenia, brak wpływu starzenia się elementów, większa elastyczność i możliwości układów. Technika cyfrowa opiera się o sygnały cyfrowe, czyli o sygnały nieciągłe zarówno w czasie jak i co do wartości. Duża odporność na zakłócenia tych sygnałów wynika z faktu, że mogą one przyjmować tylko dwa stany, którym możemy przyporządkować dwie wartości logiczne (prawda-1 i fałsz-0). Te dwa stany logiczne odpowiadają dwóm poziomom napięć – przykładowo w technice TTL fałszowi (zeru) odpowiada napięcie 0,2 [V], natomiast prawdzie (jedynce) - poziom 3,6 [V]. Technika cyfrowa obejmuje ogół układów realizujących różnego rodzaju funkcje pozwalające na przetwarzanie sygnału cyfrowego. Wśród tych układów możemy wyróżnić układy kombinacyjne i sekwencyjne. W układach kombinacyjnych nie występują elementy pamiętające i zegarowe, a wyjścia w dowolnej chwili czasowej zależą tylko od stanów wejść w tej samej chwili. Układy sekwencyjne natomiast to układy zawierające elementy pamiętające i (lub) wejścia zegarowe, a stany wyjść w tych układach zależą nie tylko od stanów wejść w danej chwili ale również od stanów tych wejść w chwilach poprzednich. Informacje dodatkowe Studenci na zajęciach z przedmiotu pracują podzieleni na 6 sekcji. Warunkiem zaliczenia zajęć laboratoryjnych jest wykonanie sprawozdania z przeprowadzonych prac na komputerze oraz jego zaliczenie. W ramach zajęć studenci wykonują badania symulacyjne wybranych elementów i układów cyfrowych oraz realizują i symulują własne projekty. Zajęcia odbywają się w oparciu o pakiet Active-CAD pozwalający na symulację układów cyfrowych oraz na zapisywanie stworzonych projektów wewnątrz układów programowalnych. Układy te są programowalną matrycą posiadającą wejścia i wyjścia, wewnątrz której możemy zrealizować zadany układ cyfrowy przy założeniu pewnych ograniczeń. Studenci przychodzą na zajęcia przygotowani w oparciu o instrukcję oraz dostępną literaturę. Warunkiem dopuszczenia do zajęć jest znajomość zakresu materiału w stopniu pozwalającym na realizację przewidzianego programu zajęć laboratoryjnych. Zapisy liczb stosowane w układach cyfrowych i mikroprocesorowych W technice cyfrowej najczęściej stosuje się binarny bądź szesnastkowy zapis liczb. W kodzie binarnym dowolną liczbę naturalną zapisuje się jako sumę kolejnych potęg liczby 2 pomnożonej przez odpowiednie współczynniki. Przykładowo zapisując liczbę 106 w kodzie dziesiętnym i binarnym otrzymamy: 106 1 10 2 0 101 6 100 - zapis dziesiętny, 106d 1 26 1 25 0 24 1 23 0 22 1 21 0 20 1101010b - zapis binarny. Pojedyncza liczba 0 bądź 1 nazywana jest bitem informacji, natomiast połączenie 8 bitów – bajtem. W praktyce stosuje się liczby 1, 2 i więcej bajtowe. Liczba 106 zapisana w jednym bajcie ma postać 011010101b. Oprócz systemu dwójkowego w układach mikroprocesorowych stosuje się zapis heksadecymalny, w którym dowolna liczbę naturalną zapisuje się jako sumę kolejnych potęg liczby 16 pomnożonych przez odpowiednie współczynniki, przy czym stosuje się tu cyfry 0-9 i litery A-F odpowiadające liczbom: A-10, B-11, C-12, D-13, E-14, F-15. Zapis heksadecymalny powstaje poprzez zgrupowanie po 4 bity liczby zapisanej w systemie binarnym. Zapisana w systemie heksadecymalnym liczba 106 będzie wyglądała następująco: 106d = 0110 1010 b 106d = 6 Ah W powyższej instrukcji i na zajęciach będą wykorzystywane wszystkie trzy przedstawione metody zapisu liczb. ZAJĘCIA NR 1 Układy Kombinacyjne Układy kombinacyjne należą do najprostszych układów realizowanych w technice cyfrowej. Stany wyjść w tych układach zależy tylko i wyłącznie od stanów wejść w tej samej chwili czasowej. W układach kombinacyjnych wykorzystuje się bramki logiczne, sumatory, dekodery itp. Poniżej zostaną omówione podstawowe bramki logiczne. Bramki oraz ich tablice prawdy – czyli tablice przedstawiające stany wyjść przy wszystkich możliwych stanach wejść, są przedstawione na rysunku. INV I O O=I I O 0 1 1 0 I1 I2 AND O O = I1 I2 I1 0 0 1 1 I2 0 1 0 1 O 0 0 0 1 OR I1 I2 O O = I1+I2 I1 0 0 1 1 I2 0 1 0 1 O 0 1 1 1 I1 I2 NAND O O = I1 I2 I1 0 0 1 1 I2 0 1 0 1 O 1 1 1 0 I1 I2 NOR O O = I1+I2 I1 0 0 1 1 I2 0 1 0 1 O 1 0 0 0 Rys.1 Podstawowe bramki logiczne Opisy podstawowych bramek logicznych: ➢ INV(NOT) – inwerter - bramka odpowiadająca funkcji negacji w logice. Zmienia stan sygnału cyfrowego na przeciwny (0 na 1 i 1 na 0). Bramka jednowejściowa. W oprogramowaniu Active-CAD - symbol INV. ➢ AND – iloczyn – bramka odpowiadająca funkcji iloczynu logicznego w logice. Na wyjściu pojawia się stan logiczny 1 tylko wtedy, gdy na wszystkich wejściach pojawią się stany logiczne 1. W przeciwnym wypadku na wyjściu występuje stan logiczny 0. Bramka dwu- lub wielowejściowa. W oprogramowaniu Active-CAD - symbol AND2-AND18. ➢ OR – suma – bramka odpowiadająca funkcji sumy logicznej w logice. Na wyjściu pojawia się stan logiczny 1 jeżeli na jakimkolwiek wejściu pojawi się stan logiczny 1. W przeciwnym wypadku na wyjściu występuje stan logiczny 0. Bramka dwu- lub wielowejściowa. W oprogramowaniu Active-CAD - symbol OR2-OR18. ➢ NAND – zanegowany iloczyn. Jest to złożenie bramki AND z bramką INV. Dla tych samych stanów wejściowych jak dla bramki AND wyjście będzie przyjmowało stany przeciwne. Bramka dwu- lub wielowejściowa. W oprogramowaniu Active-CAD - symbol NAND2-NAND16. ➢ NOR – zanegowana suma. Jest to złożenie bramki OR z bramką INV. Dla tych samych stanów wejściowych jak dla bramki OR wyjście będzie przyjmowało stany przeciwne. Bramka dwu- lub wielowejściowa. W oprogramowaniu Active-CAD - symbol NOR2NOR16. Bramki NAND i NOR wykorzystywane są do projektowania układów logicznych z wykorzystaniem tablic (map) Karnaugha. Układy zbudowane z tego rodzaju bramek cechują się tym, że cały układ kombinacyjny zbudowany jest z jednego rodzaju bramek, co zmniejsza koszty (bramki cyfrowe występują po kilka sztuk wewnątrz jednego układu scalonego). Podstawowe prawa algebry Boole’a W celu minimalizacji ilości bramek cyfrowych należy się posługiwać wzorami obowiązującymi w logice dwuwartościowej. Poniżej zestawione zostały podstawowe zależności: a+b = b+a a*b = b*a a*(b+c) = a*b + a*c a+b*c = (a+b)*(a+c) (a+b)+c = a+(b+c) (a*b)*c = a*(b*c) a+0 = a a*1 = a a+1 = 1 a*0 = 0 a+a = a a*a = a a a =1 a∗a =0 Prawa de Morgana ab= a∗b a∗b= a b Poniżej przedstawiony został przykład zastosowania praw algebry Boole’a do uproszczenia funkcji logicznej. Realizowana funkcja logiczna ma postać: Y = (A+B)* C +B*C+A Układ cyfrowy realizujący powyższą funkcję przedstawiono na rysunku poniżej: Za pomocą praw algebry Boole’a funkcję logiczną możemy przekształcić do następującej postaci: Y = (A+B)* C +B*C+A = A* C +B* C +B*C+A = A*( C +1)+B*( C +C) = A+B Jak widać powyższy funkcja logiczna zredukowała się tylko do jednej sumy logicznej, co znacznie upraszcza jej realizację praktyczną. Projektowanie układów cyfrowych W poprzednim rozdziale przedstawiona została metoda realizacji układu w oparciu o matematyczny zapis funkcji logicznej, która może zostać poddana dodatkowo minimalizacji w oparciu o prawa algebry Boole’a. W tym rozdziale zapoznamy się z metodami projektowania układów cyfrowych. Pierwsza metoda (oparta o formę kanoniczną) polega na określeniu, w oparciu o tablicę prawdy, wszystkich możliwych stanów przy których funkcja ma przyjmować wartości równe 1, określeniu zależności opisujących każdy z tych stanów, a następnie dokonaniu ich sumy logicznej i dokonania minimalizacji funkcji. Drugą metodą będzie metoda oparta o tablice Karnaugha. Obie metody zostaną wytłumaczone w oparciu o poniższy przykład. Przykład: Głosowania dla 4 osób. Zadanie polega na zaprojektowaniu układu, który będzie ustawiał wyjście w stan 1 gdy liczba osób głosujących na tak (stan wejścia w układzie – 1) będzie większa, bądź równa liczbie osób głosujących na nie (stan wejścia w układzie – 0). Metoda nr 1. Rozwiązanie rozpoczynamy od narysowania tabeli prawdy. I1–I4 – wejścia – osoby głosujące, O – wyjście. Lp. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 I1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 I2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 I3 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 I4 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 O 0 0 0 1 0 1 1 1 0 1 1 1 1 1 1 1 Jak widać z tablicy prawdy – funkcja O przyjmuje wartość 1 przy kombinacjach wejść nr: 3, 5 - 7, 9-15. Każdą z tych kombinacji można określić jednoznacznie jako iloczyn logiczny wszystkich wejść, przy czym, gdy wejście ma wartość 0 to w zależności uwzględniamy jego negację. Kombinacje wejść przy których O ma wartość 1 zestawiono w tabeli. Lp. 3 5 6 7 9 10 11 12 13 14 15 I1 0 0 0 0 1 1 1 1 1 1 1 I2 0 1 1 1 0 0 0 1 1 1 1 I3 1 0 1 1 0 1 1 0 0 1 1 I4 1 1 0 1 1 0 1 0 1 0 1 O 1 1 1 1 1 1 1 1 1 1 1 Zależność I 1∗I 2∗I 3∗I 4 I 1∗I 2∗I 3∗I 4 I 1∗I 2∗I 3∗I 4 I 1∗I 2∗I 3∗I 4 I 1∗I 2∗I 3∗I 4 I 1∗I 2∗I 3∗I 4 I 1∗I 2∗I 3∗I 4 I 1∗I 2∗I 3∗I 4 I 1∗I 2∗I 3∗I 4 I 1∗I 2∗I 3∗I 4 I 1∗I 2∗I 3∗I 4 W celu uzyskania funkcji wyjściowej należy dokonać sumy logicznej przedstawionych powyżej zależności. Otrzymamy wtedy funkcję: O= I 1∗I 2∗I 3∗I 4 I 1∗I 2∗I 3∗I 4 I 1∗I 2∗I 3∗I 4 I 1∗I 2∗I 3∗I 4 I 1∗I 2∗I 3∗I 4 I 1∗I 2∗I 3∗I 4 I 1∗I 2∗I 3∗I 4 I 1∗I 2∗I 3∗I 4 I 1∗I 2∗I 3∗I 4 I 1∗I 2∗I 3∗I 4 I 1∗I 2∗I 3∗I 4 Redukując powyższą funkcję otrzymamy: O= I 1∗I 2∗ I 3∗I 4 I 3∗I 4 I 3∗I 4 I 3∗I 4 I 3∗I 4∗ I 1∗I 2 I 1∗I 2 I 1∗I 2 I 1∗I 2∗ I 3∗I 4 I 3∗I 4 I 1∗I 2∗ I 3∗I 4 I 3∗I 4 Wyrażenie w pierwszym nawiasie zawsze jest równe 1 a dodatkowo korzystając z zależności a+a = a otrzymujemy: O= I 1∗I 2 I 3∗I 4 I 1∗I 2 I 1∗I 2 I 3∗I 4 I 3∗I 4 Układ realizujący funkcje logiczną O jest następujący. Metoda nr 2. Metoda oparta o tablice Karnaugha należy do metod zalgorytmizowanych. Wykorzystuje się w niej tablice dwuwymiarowe, wewnątrz których zaznacza się obszary wypełnione jedynkami (odpowiadające iloczynom logicznym) bądź zerami (odpowiadające sumom logicznym). Przy tworzeniu tablic Karnaugha należy zwrócić uwagę aby kolejne argumenty różniły się o 1. W powyższym przykładzie kolejność zmiennych jest następująca: 00, 01, 11, 10. Zaznaczane obszary mogą mieć 2,4,8 itd. elementów. Tablica Karnaugha dla przykładu głosowania. I1I2 00 01 11 10 00 0 0 1 0 01 0 1 1 1 11 1 1 1 1 10 0 1 1 1 I3I4 Po zaznaczeniu grup każdej przypisuje się odpowiednie wyrażenie ją opisujące – przykładowo dla grupy czterech jedynek ustawionych pionowo przypisuje się iloczyn tych zmiennych, które się w niej nie zmieniają czyli I1*I2. Na podstawie zaznaczonych obszarów funkcja logiczna O ma postać: O I1 I 2 I 1 I 3 I 1 I 4 I 2 I 3 I 2 I 4 I 3 I 4 Układ realizujący funkcję O jest następujący. Należy tu zaznaczyć, że obie uzyskane funkcje logiczne są sobie równoważne, jednak zastosowanie metody drugiej prowadzi do najprostszej realizacji funkcji logicznej. Podczas zajęć będą wykonywane projekty układów kombinacyjnych w oparciu o instrukcje do ćwiczenia, bazujące na przedstawionych metodach projektowania. ZAJĘCIA NR 2 Przerzutniki i ich zastosowania. Przedstawione na poprzednich zajęciach układy kombinacyjne nie pozwalają na realizację niektórych zadań ze względu na fakt, że ich wyjścia w danej chwili czasowej zależą tylko od stanów wejść w tych samych chwilach czasowych. Przykładem tego zadania może być zliczanie impulsów pojawiających się na wejściu układu. Aby rozwiązać takie zadanie, układ cyfrowy musi być wyposażony w elementy pamiętające. Rolę elementów pamiętających w układach cyfrowych pełnią przerzutniki. Do podstawowych zadań przerzutników możemy zaliczyć: ➢ pamiętanie stanów układu aż do wykasowania przerzutnika ➢ odczytywanie stanów wejść w określonych chwilach czasowych ➢ zliczanie i rejestracja impulsów wejściowych Grupę układów cyfrowych, których wyjścia zależą nie tylko do stanów wejść w dowolnej chwili czasowej, ale również od stanów wejść w chwilach poprzednich nazywamy układami sekwencyjnymi. W układach sekwencyjnych bardzo często występują dodatkowe wejścia zegarowe pozwalające na synchronizację pracy układu. Jeżeli w układzie cyfrowym zmiany stanów przerzutników następują równocześnie w określonych chwilach czasowych – takie układy nazywa się synchronicznymi. Jeśli ten warunek nie jest spełniony, układ cyfrowy nazywa się asynchronicznym. W ramach przedmiotu zajmować się będziemy układami asynchronicznymi. Rodzaje przerzutników W technice cyfrowej rozróżnia się dwa rodzaje przerzutników: asynchroniczne – przerzutnik typu RS i synchroniczne – przerzutniki typu: D, T, JK. Poniżej zostaną omówione poszczególne typy przerzutników. 1. Przerzutnik typu RS Przerzutnik RS jest układem dwuwejściowym o wejściu ustawiającym S (ang. Set) i wejściu kasującym R (ang. Reset). Wejście S służy do ustawiania na wyjściu Q sygnału 1, wejście R służy do kasowania sygnału wyjściowego. Przerzutnik będzie zachowywał informację o pojawieniu się sygnału na wejściu S, dopóki nie pojawi się sygnał na wejściu R. Można więc traktować taki układ jako podstawowy element pamiętający. Na rysunku poniżej pokazano symbol przerzutnika RS i jego tablicę prawdy. S R Q Q S 0 1 0 1 R 0 0 1 1 Q QN-1 1 0 X Przerzutnik RS -symbol i jego tablica prawdy W warunkach pamiętających układ na obu wejściach posiada stany 0. Aby zapisać informację w przerzutniku,czyli ustawić wyjście w stan 1, należy na krótką chwilę podać stan 1 na wejście S. Przerzutnik będzie pozostawał w tym stanie dopóki nie pojawi się 1 na wejściu R. Należy unikać w tym przerzutniku sytuacji, gdy na obu wejściach pojawi się stan 1, ponieważ nie można w tej sytuacji przewidzieć stanu wyjścia. Jest to tak zwany stan zabroniony przerzutnika. W odróżnieniu do bramek logicznych – przerzutnik może posiadać wyjścia w różnych stanach przy tych samych sygnałach wejściowych. Przerzutniki te stosuje się najczęściej do zapamiętywania i przechowywania informacji. Przykłady zastosowań takich przerzutników zostaną podane w dalszej części. W bibliotece oprogramowania Active-CAD występuje przerzutnik typu RS z zanegowanymi wejściami (symbol LSR1), w którym sygnałami aktywnymi są sygnały na poziomie niskim (logiczny stan 0). Aby przerzutnik ten działał zgodnie z przedstawioną powyżej tablicą prawdy na jego wejściach muszą znaleźć się dwa inwertery, co pokazano na rysunku. Realizacja przerzutnika RS w oprogramowaniu Active - CAD 2. Przerzutnik typu D Przerzutnik D jest układem dwuwejściowym o wejściu opóźniającego D (ang. Delay) i wejściu zegarowym CLK (ang. Clock). Występowanie wejścia zegarowego jest charakterystyczne dla układów synchronicznych. Sygnał, który występuje na wejściu D jest przepisywany na wyjście przerzutnika przy wystąpieniu zbocza narastającego na wejściu zegarowym. Przerzutnik utrzymuje wpisany stan wyjściowy aż do chwili wpisania kolejnego stanu na wejściu D, przy kolejnym zboczu narastającym sygnału zegarowego. Tak więc na wyjście przepisywane są stany wejść tylko w konkretnych chwilach czasowych i utrzymywane aż do następnego sygnału zegarowego. Dzięki swoim własnościom przerzutniki te są stosowane do synchronicznego pobierania danych przez układ cyfrowy i pozwalają na krótkotrwałe zapamiętanie stanów wejściowych. Na rysunku pokazano przerzutnik D, dostępny w bibliotece programu Active-CAD – symbol LD11 oraz tablicę prawdy dla tego przerzutnika. Symbol oznacza zbocze narastające sygnału zegarowego, natomiast (-) oznacza inne stany wejścia zegarowego. D 0 1 0 1 CLK Q (-) (-) 0 1 QN-1 QN-1 Przerzutnik D i jego tablica prawdy 3. Przerzutnik typu JK Przerzutnik JK jest układem trójwejściowym o wejściu zegarowym CLK (ang. Clock) i dwóch wejściach danych: wejściu ustawiającym J i wejściu kasującym K. Jest to najbardziej uniwersalny oraz najczęściej wykorzystywany w praktyce przerzutnik, szczególnie w układach liczących. Przerzutnik ten w zależności od stanów sygnałów na wejściach J i K zachowuje się w następujący sposób: – wejścia J = 0, K = 0 – przerzutnik jest w stanie pamiętania, – wejście J = 1, K = 0 – przerzutnik ustawia wyjście Q w stan 1, – wejście J = 0, K = 1 - przerzutnik ustawia wyjście Q w stan 0, – wejście J =1, K = 1- przerzutnik neguje sygnał wyjściowy. Zmiany na wyjściu przerzutnika JK następują synchronicznie ze zboczem narastającym sygnału na wejściu CLK, po czym przerzutnik utrzymuje stan wyjściowy aż do chwili pojawienia się kolejnego zbocza narastającego w sygnale wejściowym. Przypadek, w którym oba wejścia J i K są w stanie wysokim, jest najczęściej wykorzystywany w praktyce. W tym stanie przerzutnik neguje sygnał wyjściowy przy każdym zboczu narastającym sygnału zegarowego. Dzięki temu częstotliwość sygnału wyjściowego jest dwukrotnie niższa niż częstotliwość sygnału wejściowego. Łącząc szeregowo przerzutniki JK uzyskuje się układy pozwalające na dzielenie częstotliwości sygnału wejściowego oraz tworzenie układów zliczających liczbę impulsów wejściowych. Działanie takich liczników zostanie omówione w dalszej części instrukcji. Na rysunku pokazano przerzutnik JK, dostępny w bibliotece programu Active-CAD – symbol FJK11 oraz jego tablicę prawdy. Symbol oznacza zbocze narastające sygnału zegarowego, natomiast (-) oznacza inne stany wejścia zegarowego. J 0 0 1 1 0 0 1 1 K 0 1 0 1 0 1 0 1 CLK Q QN-1 0 1 Q N−1 (-) QN-1 QN-1 QN-1 QN-1 (-) (-) (-) Przerzutnik JK i jego tablica prawdy Przykłady zastosowania przerzutników - układy sekwencyjne W dalszej części zostaną przedstawione przykłady zastosowań przerzutników. W ramach zajęć laboratoryjnych studenci zrealizują oraz przebadają przykłady zastosowań przerzutników zadane przez prowadzącego zajęcia. Przykład: Przejście dla pieszych - sterowanie sygnalizacją świetlną. Sygnalizacja pokazana jest na poniższym rysunku. Przy sygnalizatorach występują przyciski jednopołożeniowe (informacja o ich naciśnięciu jest tracona z chwilą oderwania palca od przycisku). Ponieważ do prawidłowego działania układu potrzebna jest informacja o stanie przycisków – do jej przechowania można wykorzystać przerzutniki typu RS. I1 I2 Światła dla pieszych działają w oparciu o zasady: - światło zielone może zapalić się najszybciej po minucie od poprzedniego zgaśnięcia - światło zielone jest załączone przez 20 sekund - w momencie zapalenia światła zielonego bez zwłoki gaśnie światło czerwone i odwrotnie - oba przyciski I1 oraz I2 mają jednakowy priorytet W celu zapewnienia poprawnej pracy układu sterowania, występują w nim dodatkowe sygnały: sygnał 1MIN – wejście, na którym pojawia się stan 1 po upływie 1 minuty od chwili poprzedniego zgaśnięcia światła zielonego oraz sygnał 20S – wejście, na którym pojawia się stan 1 po upływie 20 s od chwili zapalenia światła zielonego. Ponieważ wypracowanie tego rodzaju sygnałów wymaga zastosowania układów czasowo-licznikowych, przyjęto dostępność tych sygnałów bez realizacji układów je wytwarzających. Na rysunku poniżej pokazano układa realizujący sterowanie sygnalizacją świetlną. Po naciśnięciu jednego z przycisków (odpowiada to pojawieniu się stanu logicznego 1 na wejściu I1 lub I2), wyjście przerzutnika SR (U3) zostaje ustawione w stan 1. Jeśli na wejściu 1MIN pojawi się stan 1 (minęła 1 minuta od czasu poprzedniego zgaśnięcia światła zielonego), sygnał logiczny 1 pojawi się na wyjściu ZIELONE – światło zielone zaświeci się, a równocześnie zgaśnie światło czerwone ( poprzez inwerter U5). W przypadku pojawienia się 1 na wejściu 20 - światło zielone pali się przez 20 sekund – przerzutnik zostaje skasowany – na wyjściu Q pojawia się stan logiczny 0 i światło czerwone gaśnie. W tym przykładzie przerzutnik RS służy do przechowywania informacji o naciśnięciu przycisków po ich zwolnieniu. Na zajęciach zostaną przedstawione dalsze przykłady dotyczące zastosowania przerzutników RS. Przykład: Zastosowanie przerzutnika typu JK jako dwójki liczącej. Przerzutnik JK jest najczęściej wykorzystywanym przerzutnikiem w układach liczących. Budowa układów licznikowych opiera się o jego zachowanie w przypadku, gdy na obu wejściach J i K występują stany logiczne 1. Wtedy przerzutnik na wyjściu generuje sygnał o częstotliwości dwa razy mniejszej niż na wejściu CLK. Układ oraz przebiegi: wejściowy i wyjściowy przedstawiono na rysunku. Jak widać, w przerzutniku JK zmiany na wyjściu następują tylko przy zboczach narastających sygnału wejściowego. Dodatkowo sygnał wyjściowy ma częstotliwość dwa razy mniejszą od wyjściowego. Przypisując wyjściu przerzutnika wagę 20, na wyjściu otrzymujemy stany 0 bądź 1. Dzięki temu możemy przypisać numer kolejnym impulsom wprowadzanym do przerzutnika, przy czym w takim układzie możemy „zliczyć” dwa kolejne impulsy wejściowe. Jednak jeśli połączymy wyjście z jednego przerzutnika z wejściem drugiego, otrzymamy układ pozwalający na zliczanie większej ilości impulsów wejściowych. Układy takie zostaną przedstawione na zajęciach numer 3. ZAJĘCIA NR 3 Układy sekwencyjne. Układami sekwencyjnymi nazywa się układy cyfrowe, w których występują elementy pamiętające i poprzez to można za ich pomocą realizować bardziej skomplikowane zadania niż w przypadku układów kombinacyjnych. Typowymi elementami składowymi układów sekwencyjnych, stosowanymi w praktyce, są liczniki impulsów wejściowych. Są one zbudowane z przerzutników JK opisanych w instrukcji do poprzedniego ćwiczenia. Przypisując wyjściom poszczególnych liczników odpowiednie wagi możemy uzyskać zapis binarny liczby impulsów zliczonych przez układ licznika. W ramach ćwiczenia studenci zapoznają się z metodą tworzenia liczników zliczających w górę i w dół z przerzutników JK oraz metodą tworzenia licznika zliczającego do dowolnej liczby impulsów. Zdobyta wiedza pozwoli na samodzielne rozwiązanie problemu postawionego przez prowadzącego zajęcia, dotyczącego układu sekwencyjnego. Liczniki binarne impulsów wejściowych – realizacja za pomocą przerzutników 1. Licznik liczący w górę Na rysunku pokazano układ licznika 2 bitowego (rozróżniającego 4 stany), liczącego w górę. Zbudowany jest on z dwóch przerzutników JK, do których wejść J i K podane zostały logiczne sygnały jeden oraz inwertera, którego zadaniem jest odwrócić polaryzację sygnału wyjściowego z przerzutnika U1. Przyjmując, że sygnał wejściowy CLK jest przebiegiem prostokątnym na wyjściach Q0 i Q1 otrzymujemy następujące przebiegi. CLK Q0(20) Q1(21) 0 1 2 3 0 1 2 3 0 1 2 Przypisując wyjściom Q0 i Q1 odpowiednie wagi: Q0 = 20, Q1 = 21, otrzymujemy zapis binarny liczby kolejnych impulsów zliczonych przez licznik. Liczba możliwych do zliczenia impulsów wynosi 4, po czym licznik „przekręca się” i zaczyna zliczanie od 0 (licznik modulo 4). Inwerter (poprzez swoje własności odwracające) jest w tym układzie elementem odpowiedzialnym za zmianę zapisu binarnego liczby impulsów w kierunku zliczania w górę. W celu zwiększania rozmiaru licznika należy rozbudować układ dołączając kolejne przerzutniki JK do wyjść poprzednich poprzez inwertery. Kolejnym wyjściom z przerzutników należy nadać wagi kolejnych potęg liczby 2. Możliwe jest uzyskanie liczników zliczających 2n impulsów wejściowych, przy ilości przerzutników równej n. 2. Licznik liczący w dół W niektórych przypadkach istnieje potrzeba zastosowania liczników, które zliczają impulsy wejściowe w kierunku malejącym (zliczanie w dół). Na rysunku pokazano układ takiego licznika binarnego 2 bitowego. Zbudowany jest on, podobnie jak poprzedni, z dwóch przerzutników JK, jednak w tym przypadku w strukturze nie występuje inwerter. Przyjmując, że sygnał wejściowy CLK jest przebiegiem prostokątnym, na wyjściach Q0 i Q1 otrzymujemy następujące przebiegi. CLK Q0(20) Q1(21) 0 3 2 1 0 3 2 1 0 3 2 Ponownie, jeśli przypiszemy wyjściom Q0 i Q1 odpowiednie wagi: Q0 = 20, Q1 = 21, to otrzymamy zapis binarny liczby kolejnych impulsów zliczonych przez licznik, jednak w tym przypadku licznik zlicza w dół (od cyfry 3 do cyfry 0). Liczba możliwych do zliczenia impulsów wynosi 4, po czym licznik „przekręca się”. W celu zwiększania rozmiaru licznika należy zwiększyć liczbę przerzutników JK dołączając kolejne przerzutniki do wyjść poprzednich. Kolejnym wyjściom przerzutników należy nadać wagi kolejnych potęg liczby 2. Możliwe jest uzyskanie liczników zliczających 2n impulsów wejściowych, przy ilości przerzutników równej n. Liczniki binarne – gotowe bloki liczników w programie Active Cad W technice cyfrowej zamiast budować liczniki z przerzutników JK często wykorzystuje się gotowe liczniki 2, 4 i więcej bitowe. Poniżej przedstawione zostaną wybrane układy liczników binarnych występujące w oprogramowaniu Active Cad. 1. Liczniki 2-bitowe Liczniki 2-bitowe – pozwalające zliczyć do 4 impulsów wejściowych przedstawione zostały na rysunku. Licznik o symbolu CBU12 jest binarnym licznikiem 2-bitowym, zliczającym w górę, natomiast licznik CBD12 – licznikiem zliczającym w dół. Jako wejście zegarowe wykorzystuje się wejście CLK, jako wyjścia Q0 i Q1. Dodatkowe wejście CD oznacza wejście asynchroniczne kasujące (1 na tym wejściu powoduje skasowanie stanu licznika i rozpoczęcie procesu zliczania od nowa). Wejście CAI i wyjście CAO są wykorzystywane w przypadku „przekręcania się” licznika – do informowania o fakcie dojścia przez dany licznik do końca zakresu. Liczniki powyższe mają identyczne działanie jak liczniki zbudowane z przerzutników JK przedstawionych powyżej. 2. Liczniki 4-bitowe Liczniki 4-bitowe – pozwalające zliczyć do 16 impulsów wejściowych, przedstawione zostały na rysunku. Licznik o symbolu CBU14 jest binarnym licznikiem 4-bitowym, zliczającym w górę, natomiast licznik CBD14 – licznikiem zliczającym w dół. Liczniki powyższe mają identyczne działanie i opis wejść i wyjść jak liczniki 2-bitowe opisane powyżej, a jedyną różnicą jest możliwość zliczenia większej ilości impulsów wejściowych. 3. Liczniki rewersyjne Ponieważ w niektórych sytuacjach istnieje potrzeba zliczania impulsów zarówno w górę jak i w dół – stworzone zostały specjalne liczniki pozwalające na realizację tego typu zadań. Przykładowy licznik 4-bitowy zliczający w górę i w dół pokazano na rysunku. Układ ten, o symbolu CBUD4, jest wyposażony w następujące wejścia i wyjścia: CLK – wejście zegarowe Q0-Q3 – wyjścia licznika określające binarnie liczbę zliczonych bitów ➢ DO-D3 – wejścia wpisu równoległego (pozwalające na wpisanie wartości początkowej do licznika ➢ DN/UP – wejście określające kierunek zliczania – 0- zliczanie w górę, 1- zliczanie w dół ➢ LD – wejście wpisu równoległego – 1 na tym wejściu wpisuje na wyjścia Q0 – Q3 stany wejść D0 – D3 ➢ CD – wejście kasowania asynchronicznego ➢ CS – wejście kasowania synchronicznego ➢ EN – wejście ENABLE – pozwalające na załączenie struktury licznika ➢ PS - wejście ustawiania synchronicznego ➢ CAI – wejście informujące układ, że poprzedni licznik zliczył maksymalną liczbę impulsów ➢ CAO – wyjście informujące kolejne liczniki o zliczeniu maksymalnej liczby impulsów Jak widać z wyżej wymienionego opisu wejść i wyjść układ działa w sposób zbliżony do poprzednio opisanych liczników ale umożliwia dwukierunkowe zliczanie impulsów o kierunku zliczania określanym przez odpowiedni stan wejścia DN/UP. ➢ ➢ Realizacja licznika binarnego zliczającego zadaną liczbę impulsów Wszystkie opisane powyżej liczniki posiadają wejście CD pozwalające na natychmiastowe skasowanie zawartości licznika. Wejście to może być wykorzystane do ograniczenia liczby zliczanych w liczniku impulsów. Przykładowo na rysunku poniżej przedstawiono układ oparty o licznik 4-bitowy, zliczający w górę CBU14, pozwalający na realizację licznika modulo 10 (zliczającego 10 impulsów o numerach 0 – 9). Układ taki może mieć zastosowanie jako licznik dziesiętny. W celu realizacji układu zliczającego do 10 impulsów wejściowych (cyfry od 0 do 9) należy w oparciu o sygnał wyjściowy z licznika detektować liczbę 10 (jedynki na wyjściach: Q1 -waga 21 i Q3 – waga 23). Do wykrywania tego stanu służy w tym przypadku bramka AND. Sygnał wyjściowy z bramki podawany jest na wejście kasowania asynchronicznego i powoduje natychmiastowe skasowanie licznika i rozpoczęcie zliczania od liczby 0. Dzięki temu największą wartością mogącą się pojawić na wyjściu licznika jest cyfra 9. W ramach zajęć studenci wykorzystają praktycznie informacje przedstawione w instrukcji do samodzielnego projektowania układów licznikowych.