TECHNIKA MIKROPROCESOROWA 3EB KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII WWW.KEIASPE.AGH.EDU.PL AKADEMIA GÓRNICZO-HUTNICZA WWW.AGH.EDU.PL Temat: Narzędzia: Digital Works pakiet symulacyjny Cele ćwiczenia Nabycie umiejętności projektowania i budowy prostych układów cyfrowych, z elementami kombinacyjnymi i sekwencyjnymi Budowa własnego makra elementu Parts Centre Wykorzystanie układów sekwencyjnych i kombinacyjnych w jednym układzie Zapoznanie się z budową multiplekserów, komparatorów i sumatorów Wstęp Większość rzeczywistych układów cyfrowych składa się z modułów sekwencyjnych, połączonych modułami kombinacyjnymi. Przykładem zaawansowanych modułów kombinacyjnych mogą być: multipleksery, demultipleksery, sumatory, komparatory itp. Multiplekser (w skrócie MUX) to cyfrowy układ kombinacyjny, służący do wyboru jednego z kilku dostępnych sygnałów wejściowych i przekazania go na wyjście. Linia wejściowa której sygnał będzie przekazywany na wyjście wybierana jest za pomocą wejść adresowych, zwykle przez podanie numeru linii w systemie dwójowym. Wygląd bloku multipleksera stosowany na schematach układów cyfrowych, pokazano na rysunku 1. Rysunek 1 Multiplekser schemat blokowy Demultiplekser układ kombinacyjny, posiadający jedno wejście X, n wyjść adresowych oraz k wyjść (zazwyczaj k=2n), którego działanie polega na przekazaniu sygnału z wejścia X na jedno z wyjść Y k. Działa zatem odwrotnie niż multiplekser. Wygląd bloku multipleksera stosowany na schematach układów cyfrowych, pokazano na rysunku 2. Rysunek 2 Demultiplekser schemat blokowy KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 1/8
Sumator to cyfrowy układ kombinacyjny, który wykonuje operacje dodawania dwóch liczb binarnych. Sumatory dzielą się na: szeregowe (ang. serial adder): podczas każdej operacji dodają dwa bity składników oraz bit przeniesienia równoległe (and. paralel adder): wielopozycyjne, dodają do siebie jednocześnie bity ze wszystkich pozycji, a przeniesienie realizowane jest w zależności od sposobu połączenia sumatorów jednobitowych. Z kolei sumatory równoległe można podzielić na: z przeniesieniami szeregowymi (ang. ripple-carry adder) z przeniesieniami równoległymi (ang. carry look-ahead adder) Konstrukcyjnie najprostszy jest układ tzw. półsumatora, realizujący sumę dwóch bitów, z wystawieniem przeniesienia. Układ pokazano na rysunku 3. Jak widać konieczne jest tu wykorzystanie bramek Ex-OR. Rysunek 3 Półsumator Układ pełnego sumatora można zbudować w oparciu o dwa półsumatory. Układ taki ma również wejście przeniesienia dla ewentualnego uwzględnienia przeniesienia z poprzedniego dodawania bitów. Schemat pełnego sumatora pokazano na rysunku 4. Rysunek 4 Sumator układ z programu Digital Works oraz schemat poglądowy Sumatory pełne można łączyć w kaskady, tworząc w ten sposób sumatory liczb binarnych wielobitowych. Jest wykorzystane w dalszej części ćwiczenia. Komparator cyfrowy jest układem kombinacyjnym, służącym do porównywania dwóch liczb dwójkowych. Jedynka na jednym z trzech wyjść komparatora, informuje, w jakiej relacji względem siebie (mniejsze, równe, większe) są liczby podawane na jego wejścia. Komparatory można łączyć kaskadowo, co umożliwia porównywanie liczb (w naturalnym kodzie dwójkowym lub w kodzie BCD) o dowolnej długości. Najprostszy komparator to układ porównujący pojedyncze bity. Może być on zrealizowany z wykorzystaniem różnych bramek logicznych, co pokazano na rysunku 5. KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 2/8
Rysunek 5 Komparator jednobitowy różne sposoby realizacji na bramkach logicznych Podobnie jak w sumatorach, takie moduły można odpowiednio łączyć kaskadowo, uzyskując układy komparatorów liczb binarnych wielobitowych. UWAGA!!! Porównując liczby binarne, porównywanie bitów kolejnych pozycji warto zacząć od pozycji najstarszej o największym znaczeniu. Pomyśleć, zastanowić się dlaczego!???!!! Program ćwiczenia ------------------------------------------ 1) Zapoznanie z procedurami budowy makr elementów Parts Centre w pakiecie Digital Works 2) Wykonanie własnego makra komparatora 4 bitowego oraz multipleksera 4:1 3) Zbudowanie układu sumującego i porównującego dwie liczby binarne 4 bitowe 4) Wykorzystanie układów: rejestrów 4 bitowych, sumatora 4 bitowego, licznika asynchronicznego jako dzielnika częstotliwości zegara taktującego oraz zbudowanych makr komparatora i multipleksera. W efekcie końcowym ma powstać układ sumujący dwie liczby binarne 4 bitowe, porównujący je i wyświetlający wynik sumy oraz porównania. Dodatkowo za pomocą multipleksera i dzielnika częstotliwości, możliwe jest regulowanie częstotliwości taktowania całego układu. Budowa makr w Digital Works zapoznanie z procedurą Każdy projekt budowany w pakiecie Digital Works można zapisać jako makro i dodać do Parts Centre. Proces tworzenia makra bardzo dobrze opisano w HELP-ie programu Digital Works. Koniecznie trzeba się z nim zapoznać. Opis ten dostępny jest w menu HELP-a jak pokazano na rysunku 6. Rysunek 6 Okno pomocy pakietu Digital Works z opisem procedury tworzenia makra. KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 3/8
Najważniejsze uwagi: --- Procedurę budowy makra od razu realizować i poznawać na przykładzie układu komparatora, opisanego w następnym punkcie instrukcji następna strona. --- Projekty tworzone w pakiecie DigWorks mają dwa widoki implementacyjny (podstawowy, w jakim dotąd powstawały projekty) oraz interfejsu (jak w palecie Parts Centre). W oknie pomocy opisano kolejne kroki tworzenia makra. Najważniejsze uwagi do nich: o Krok 1 po prostu w oknie budujemy schemat układu o Krok 2, 3 dodanie punktów przyłączenia sygnałów zewnętrznych tagi dostępne na o o pasku narzędzi: Postępować jak wskazano w HELP-ie Krok 4 otwarcie okna Edytora Kształtu tu powstanie obraz widoku interfejsu powstającego makra Krok 5, 6 narysować kształt oraz dodać do niego piny łączeniowe dostępne w pasku narzędzi Edytora Kształtu o Krok 7 każdy tag z okna projektu musi zostać skojarzony z pinem szablonu-kształtu w Edytorze dokładnie przeczytać procedurę w HELP-ie Ostateczne zapisanie makra sposób i lokalizację opisano w HELP-ie w pozycji pokazanej na rysunku 7. Zapisując marka wcześniej stworzyć podkatalog swojej grupy w katalogu Parts Centre, tak by układy były widoczne dla kolejnych grup godzinowych w oknie Parts Centre. Rysunek 7 Okno pomocy pakietu Digital Works z opisem procedury zapisania makra. KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 4/8
Budowa makra dla układu komparatora dwóch liczb 4 bitowych W pakiecie Digital Works zbudować układ kombinacyjny według schematu z rysunku 8. Zastosować procedury związane z budową na jego podstawie makra i utworzyć szablon makra w Parts Centre. Zapisać go w podkatalogu grupy utworzonym wcześniej w Parts Centre. UWAGA!!! Pięciowejściowa bramka AND dostępna jako gotowy element w Parts Centre poszukać i wstawić do projektu. Rysunek 8 Schemat komparatora dwóch liczb 4 bit. UWAGA: Numery przy tagach powstają po powiązaniu tagów z pinami szablonu. Przy rysowaniu schematu nie należy ich wcześniej dodawać! Proponowany możliwy wygląd szablonu makra pokazano na rysunku 9. Rysunek 9 Szablon makra komparatora utworzony w Edytorze Kształtów (możliwy wariant) KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 5/8
Budowa makra dla układu multipleksera 4:1 W pakiecie Digital Works zbudować układ kombinacyjny według schematu z rysunku 10. Zastosować procedury związane z budową na jego podstawie makra i utworzyć szablon makra w Parts Centre. Zapisać go w podkatalogu grupy utworzonym wcześniej w Parts Centre. Rysunek 10 Schemat multipleksera 4:1. UWAGA: Numery przy tagach powstają po powiązaniu tagów z pinami szablonu. Przy rysowaniu schematu nie należy ich wcześniej dodawać! Proponowany możliwy wygląd szablonu makra pokazano na rysunku 11. Rysunek 11 Szablon makra multipleksera utworzony w Edytorze Kształtów (możliwy wariant) To nie koniec - patrz: kolejna strona V V V KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 6/8
Budowa i uruchomienie układu sumującego i porównującego dwie liczby 4 bitowe z wyświetlaniem liczb i wyników 1. Otworzyć w pakiecie Digital Works nowy projekt i zapisać go pod wybraną nazwą. 2. Korzystając z Parts Centre w projekcie umieścić: a. 2 bloki 4 bitowego rejestru przesuwającego z wejściem równoległym b. 1 blok 4 bitowego sumatora c. 1 blok 8 bitowego licznika asynchronicznego d. 1 blok makra komparatora 4 bitowego zbudowany wcześniej e. 1 blok makra multipleksera 4:1 zbudowany wcześniej 3. Na wejścia D0 D3 rejestrów 4 bitowych przyłączyć zadawanie sygnałów bitowych to będą dwie liczby binarne do dodania i porównania w układzie. Wykorzystać zamiast wyłączników (jak w poprzednich projektach na ćwiczeniach), punkty zadawania sygnałów 0/1-4. Wyjścia S0 S3 obu rejestrów połączyć odpowiednio z wejściami sumatora 4 bitowego (wejścia A0 A3 i B0 B3). Dodatkowo do tych linii łączących przyłączyć jeszcze wyjścia numeryczne z wybraną opcją wyświetlania liczb w postaci dziesiętnej Decimal 5. Takie samo wyjście numeryczne przyłączyć do wyjścia sumatora - tu będzie widoczny w postaci dziesiętnej wynik dodawania liczb 6. Wyjścia S0 S3 obu rejestrów danych połączyć również odpowiednio z wejściami komparatora 4 bitowego. Wyjścia komparatora podłączyć do diod LED czerwona dla A>B, zielona dla A=B i żółta dla A<B 7. Do wejść Load/Shift rejestrów 4 bitowych podłączyć punkt Vcc przez przełącznik tak by było możliwe ich ustawienie w stan wysoki (ładowanie danych z wejścia równoległego) lub niski (przesuwanie danych w rejestrze). 8. Wejścia CLK rejestrów podłączyć do wyjścia multipleksera 4:1 9. Sygnał CLK podłączyć do wejścia IN 0 multipleksera oraz do wejścia CLK licznika asynchronicznego 8 bitowego 10. Do wejścia IN 1 multipleksera podłączyć sygnał z wyjścia Q4 licznika (wykorzystanie licznika działającego jako dzielnik częstotliwości) 11. Do wejścia IN 2 multipleksera podłączyć sygnał z wyjścia Q5 licznika 12. Do wejścia IN 3 multipleksera podłączyć sygnał z wyjścia Q6 licznika KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 7/8
13. Do wejść adresowych multipleksera podłączyć dwa punkty zadawania sygnałów 0/1 do ustawiania bitów i wyboru kanału wejściowego przenoszonego na wyjście 14. Uruchomić symulację obwodu 15. Zmieniając wartości danych wpisywanych do rejestru obserwować działanie sumatora i komparatora 16. Zmieniając wartości danych wpisywanych na wejścia adresowe multipleksera obserwować działanie układu i szybkość zmian danych wprowadzanych do rejestrów Dołączenie makra dekodera stanów wyjściowych komparatora na wyświetlacz 7 segmentowy Zastanowić się i opracować układ dekodera stanów trzech bitów wyjść komparatora na znaki wyświetlanie na wyświetlaczu 7 segmentowym. Propozycja: gdy bit A>B w stanie wysokim 1 to na wyświetlaczu pokaż symbol dużego A gdy bit A=B w stanie wysokim 1 to na wyświetlaczu pokaż symbol = gdy bit A<B w stanie wysokim 1 to na wyświetlaczu pokaż symbol małego b Takie dekoder można łatwo zbudować z kliku prostych bramek logicznych. Zastanowić się nad tabelą prawdy takiego układu i spróbować skonstruować własny układ logiczny. Następnie zapisać go jako makro, utworzyć szablon i ten szablon użyć w projekcie, tak by ostatecznie wyniki porównania liczb były widoczne na diodach LED i/lub wyświetlaczu 7 segmentowym. UWAGA POMOCNE: HELP dotyczący wyświetlacza 7 segmentowego, z tym że teraz nie używamy go w połączeniu z układem BCD ważne linie a,b,c,d,e,f,g Połączenie linii a,b,c,d,e,f,g z elementami wyświetlacza jak na rysunku 12 Rysunek 12 Wyświetlacz 7 segmentowy połączenie segmentów z liniami wejściowymi oraz symbole do wyświetlenia przy różnych stanach komparatora (objaśnienia w tekście instrukcji) PODSUMOWANIE Po zajęciach Student powinien: znać budowę i zasadę działania podstawowych układów komparatora i sumatora bitowego wiedzieć do co to są multipleksery i demultipleksery oraz rozumieć zasadę ich działania umieć wykonać i zapisać dowolne makro układu w pakiecie Digital Works KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 8/8