Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. Instrukcje do zajęć laboratoryjnych. Laboratorium z przedmiotu:

Wielkość: px
Rozpocząć pokaz od strony:

Download "Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. Instrukcje do zajęć laboratoryjnych. Laboratorium z przedmiotu:"

Transkrypt

1 Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Instrukcje do zajęć laboratoryjnych Laboratorium z przedmiotu: Programowalne Układy Cyfrowe (studia stacjonarne II stopnia, kierunek: Elektronika i telekomunikacja, specjalność: Telekomunikacja, semestr I) Kod przedmiotu: TS2D Instrukcję opracował: dr inż. Marian Gilewski Białystok 2017

2 INSTRUKCJA STANOWISKOWA BHP Dotyczy zasad użytkowania stanowiska do ćwiczeń laboratoryjnych z zakresu Programowalnych Struktur Logicznych w sali WE-244 Dotyczy zasad użytkowania następujących urządzeń: - oscyloskop cyfrowy - laboratoryjny zasilacz regulowany, - komercyjne moduły ewaluacyjne badanych układów. W celu uniknięcia obrażeń, porażenia prądem elektrycznym lub uszkodzenia użytkowanych urządzeń, zaleca się uważne przeczytanie i przestrzeganie poniższych uwag eksploatacyjnych z zakresu bezpieczeństwa pracy. Użytkowanie urządzenia lub stanowiska powinno być zgodne z jego instrukcją obsługi oraz odrębnymi instrukcjami obsługi elementów składowych jeżeli takie występują. Wszelkie czynności serwisowe (naprawy, regulacje, wymiany bezpieczników, itp.) powinny być wykonywane jedynie przez odpowiednio wykwalifikowane osoby. Przed przystąpieniem do pracy na stanowisku należy: - zapoznać się z instrukcją obsługi użytkowanych urządzeń; - zapewnić poprawne uziemienie przyrządu, realizowane przez przewód ochronny kabla sieciowego podłączony do sprawnego gniazdka sieciowego z kołkiem uziemiającym; - używać właściwego kabla sieciowego zaprojektowanego dla urządzenia i spełniający odpowiednie normy krajowe; - przed wykonaniem jakichkolwiek połączeń wyjść i wejść urządzenia należy upewnić się, że urządzenie jest prawidłowo uziemione; - zapewnić wymagane chłodzenie przyrządu poprzez prawidłowy obieg powietrza chłodzącego przyrząd. Aby uniknąć ryzyka pożaru lub porażenia prądem, należy zwracać uwagę na wszelkie ostrzeżenia na obudowie przyrządu i nie przekraczając podanych w instrukcji i na obudowie dopuszczalnych wartości napięć i prądów w jego gniazdach. Podczas pracy na stanowisku laboratoryjnym należy: - zachować ład i porządek - przyrządy powinny być bezpiecznie ustawione, aby nie mogły spaść; - wykonywać połączenia tak, aby nie zagrażały użytkownikom stanowiska; - należy unikać połączeń przewodami zwisającymi lub leżącymi na podłodze; - prawidłowo podłączać i odłączać kable pomiarowe - nie należy podłączać lub odłączać sond i przewodów pomiarowych, gdy znajdują się one pod napięciem stanowiącym zagrożenie z punktu widzenia ochrony przeciwporażeniowej, - nie pracować z urządzeniami, których elementy obudowy zostały zdjęte lub zawierają zdemontowane panele, - nie dotykać metalowych elementów obwodu (gniazd, styków, podzespołów, nieizolowanych przewodów, itp.) mogących znaleźć się pod napięciem stanowiącym zagrożenie z punktu widzenia ochrony przeciwporażeniowej, - dbać, aby powierzchnia przyrządu była zawsze czysta i sucha. Jeżeli zachodzi podejrzenie uszkodzenia urządzenia lub jego nieprawidłowej pracy, należy wyłączyć zasilanie i fakt ten zgłosić osobie prowadzącej zajęcia. Przed przystąpieniem do dalszej pracy urządzenie takie powinno być sprawdzone przez odpowiednio wykwalifikowaną osobę.

3 Po skończeniu pracy na stanowisku należy: - wyłączyć zasilanie przyrządów i układów badanych, - uporządkować stanowisko. Czynności zabronione: - używanie urządzeń niezgodnie z ich przeznaczeniem i instrukcją obsługi, - łączenie elektrycznych obwodów pomiarowych znajdujących się pod napięciem stanowiącym zagrożenie z punktu widzenia ochrony przeciwporażeniowej, - samowolne otwieranie obudów i naprawianie urządzeń. Pierwsza pomoc: - w przypadku porażenia prądem elektrycznym należy natychmiast wyłączyć napięcia zasilające stanowiska za pomocą przycisku bezpieczeństwa tablicy zasilającej, - udzielić pomocy przedlekarskiej osobom poszkodowanym, - w sytuacji nieszczęśliwych wypadków należy bezzwłocznie wezwać Pogotowie Ratunkowe (tel. 999, kom. 112). W przypadku pożaru należy: - odłączyć zasilanie urządzeń, - rozpocząć ewakuację ludzi z zagrożonego obszaru. - gasić urządzenia dostępnymi i zalecanymi środkami ochrony p.poż., - w koniecznym przypadku wezwać Straż Pożarną (tel. 998, kom. 112). Instrukcja przygotowana na podstawie dokumentacji technicznych ww. urządzeń.

4 Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 1 (6h) Układy kombinacyjne i sekwencyjne - implementacja i obsługa w VHDL Instrukcja pomocnicza do laboratorium z przedmiotu Programowalne Układy Cyfrowe studiów dziennych II stopnia kierunku: Elektronika i Telekomunikacja specjalność Telekomunikacja Kod przedmiotu: TS2D Opracował: dr inż. Marian Gilewski Białystok 2017

5 Cel ćwiczenia. Celem tego ćwiczenia jest nauka technik łączenia prostych urządzeń wejściowo wyjściowych z układem FPGA. W tym celu użyjemy przełączników SW 9 SW 0 modułu DE2 jako urządzeń wejściowych układu cyfrowego. Jako urządzenia wyjściowe zastosujemy diody LED oraz wyświetlacze siedmiosegmentowe. 1. Część pierwsza. Moduł laboratoryjny DE1 zawiera dwupozycyjne przełączniki SW 9 SW 0, których można używać jako źródła sygnałów wejściowych układu cyfrowego. Do wyświetlania informacji wyjściowej można zastosować czerwone diody LED, oznaczone jako LEDR 9 0. Na rysunku pierwszym przedstawiono prostą realizację programu w języku VHDL, wyświetlającą stan przełączników przy pomocy diod LED. W kodzie programu zarówno przełączniki jak i diody reprezentowane są jako elementy tablicowe. Alternatywnym rozwiązaniem jest zastosowanie indywidualnych przypisań dla poszczególnych par w sposób przedstawiony poniżej. LEDR(9) <= SW(9); LEDR(8) <= SW(8);... LEDR(0) <= SW(0); Moduł DE2 zawiera sprzętowe połączenia FPGA z przełącznikami i wyświetlaczami. W celu zastosowania przełączników i wyświetlaczy konieczne jest umieszczenie w projekcie badanego układu przypisań poszczególnym portom pliku top - level odpowiednich numerów wyprowadzeń (pinów) układu FPGA. Lista przypisań wszystkich pinów układu FPGA modułu DE2 zawarta jest w pliku DE1_pin_assignments.csv. Np. przełącznik SW 0 jest połączony z pinem nr L22 układu FPGA, zaś LEDR 0 jest połączony z pinem R20. Dobrą techniką realizacji przypisań jest ich import z pliku DE1_pin_assignments.csv. Procedura importu opisana została w przewodniku Quartus II Introduction using VHDL Design, dostępnym na stronie internetowej firmy Altera. Automatyczna procedura przypisań jest skuteczna pod warunkiem zastosowania tych samych nazw portów reprezentujących przełączniki i wyświetlacze w projekcie oraz na liście zawartej w importowanym pliku. W pliku DE1_ pin_ assignments.csv przyjęto oznaczenia SW[0]...SW[9] dla przełączników oraz LEDR[0]...LEDR[9] dla czerwonych diod LED. Należy zwrócić uwagę na rozbieżność, w systemie plików graficznych Quartus II indeksy tablicowe ujmowane są w nawiasy kwadratowe [] zaś w języku VHDL w nawiasy zwykłe (). LIBRARY ieee; USE ieee.std_logic_1164.all; - - Prosty moduł łączący przełączniki SW z diodami LEDR ENTITY part1 IS PORT ( SW : IN STD_LOGIC_VECTOR(9 DOWNTO 0); LEDR : OUT STD_LOGIC_VECTOR(9 DOWNTO 0)); - - red LEDs END part1; ARCHITECTURE Behavior OF part1 IS BEGIN LEDR <= SW; END Behavior;

6 Rys. 1. Program w języku VHDL wykorzystujący przełączniki i diody świecące Proszę zaimplementować w modelu DE2 układ opisany programem z rysunku 1 wykonując następujące kroki: 1. Utworzyć nowy projekt w systemie Quartus II, wybierając jako programowalną strukturę układ EP2C20F484C7 rodziny Cyclone II. 2. Utworzyć w VHDL jednostkę projektową (entity) programu z rysunku 1 i umieścić ją w projekcie. 3. Zawrzeć w projekcie wymagane przyporządkowania pinów modułu DE1, w sposób omówiony wcześniej. Skompilować projekt. 4. Zaprogramować strukturę FPGA. Przeprowadzić test końcowy polegający zmianie położenia przełączników i obserwacji LED. 2. Część druga. Na rysunku 2a (Scemat) przedstawiono schemat multipleksera o dwóch wejściach informacyjnych z i y oraz jednym wejściu adresowym s. Jeżeli s = 0 to sygnał wyjściowy multipleksera jest równy sygnałowi wejściowemu x, jeżeli s = 1 to wyjście jest równe y. Na rysunku 2b (Tablica prawdy) przedstawiono tablicę działania multipleksera, zaś na rysunku 2c (Symbol) jego symbol graficzny w konwencji stosowanej w układach programowalnych. Rys.2. Schemat, tablica prawdy oraz symbol multipleksera o 2 wejściach informacyjnych. Multiplekser tego typu można opisać następującą instrukcją w VHDL: m <= (NOT (s) AND x) OR (s AND y); Naszym zadaniem jest napisanie jednostki projektowej w VHDL zawierającej osiem instrukcji, podobnych do powyższej, opisujących układ przedstawiony na rysunku 3a. Wspomniany układ posiada dwa czterobitowe wejścia X i Y oraz czterobitowe wyjście M. Jeżeli s = 0 wówczas M = X, w przypadku s = 1 wyjście M = Y. Jest to zatem układ dwuwejściowego multipleksera szynowego, przełączającego magistrale 4 - bitowe. Jego symbol przedstawiono na rysunku 3b, gdzie X, Y oraz M obrazują czterobitowe magistrale. Należy wykonać następujące kroki:

7 1. Utworzyć nowy projekt w systemie Quartus II. 2. Dołączyć do projektu plik VHDL opisujący projektowany multiplekser szynowy. Nie wolno używać instrukcji sekwencyjnych. Należy użyć przełącznika SW 9 płyty DE2 jako wejścia s, przełączników SW 3-0 jako wejścia X oraz przełączników SW 7-4 jako wejścia Y. Przełączniki SW należy połączyć z czerwonymi diodami LEDR, zaś wyjścia M z zielonymi diodami LEDG Następnie należy przypisać portom wejściowym i wyjściowym w układzie odpowiednie numery pinów układu FPGA płyty DE2. Rys.3. Dwuwejściowy multiplekser szyn 4 - bitowych. W części pierwszej już zostało omówione zagadnienie przypisywania numerów pinów struktury Cyclone II modułu DE1 przełącznikom SW oraz diodom LED. 4. Skompilować projekt. 5. Zaprogramować układ FPGA. Sprawdzić działanie układu zmieniając położenia przełączników SW oraz obserwując świecenie poszczególnych diod LED. 4. Część trzecia. Na rysunku 4 pokazano konwerter kodu binarnego (wejścia c 2, c 1 oraz c 0 ) na kod wyświetlacza siedmiosegmentowego. Ten konwerter posiada 7 wyjść sterujących poszczególnymi segmentami wyświetlacza. Rys.4. Dekoder 7 - segmentowy.

8 Tablica 1 zawiera listę znaków, jakie powinny być wyświetlane dla poszczególnych wartości sygnałów wejściowych c 2 c 1 c 0. W realizowanym przykładzie tylko 4 znaki są zawarte w tablicy (plus ciemny znak wygaszonego wyświetlacza, kodowany liczbami od 100 do 111). Siedem segmentów wyświetlacza oznaczonych jest cyframi od 0 do 6 w sposób przedstawiony na powyższym rysunku. Każdy z segmentów świeci jeżeli jest sterowany poziomem logicznym 0. Napisz jednostkę projektową w VHDL zawierającą funkcje logiczne reprezentujące układ, niezbędną do aktywacji poszczególnych segmentów. Zastosuj jedynie proste instrukcje przypisania w VHDL zawierające wyrażenia boolowskie. W tym celu wykonaj następujące kroki: c 2 c 1 c 0 Znak H E L O Tabl. 1. Lista znaków konwertera 1. Otwórz nowy projekt w systemie Quartus II. 2. Utwórz w języku VHDL jednostkę projektową uproszczonego dekodera 7-segmentowego, wyświetlającego tylko znaki: H, E, L, O. Połącz wejścia c 1 c 0 z przełącznikami SW 1-0 oraz wyjścia z dekoderem HEX0 na płycie DE1. Odpowiednio do rysunku 6 poszczególne segmenty wyświetlacza posiadają nazwy: HEX0 0, HEX0 1,, HEX0 6. Należy zadeklarować 7 - bitowy port HEX0 : OUT STD_ LOGIC_ VECTOR (0 TO 6); w którym nazwy portów powinny korespondować z nazwami w pliku przypisań DE2_ pin_ assignments.csv 3. Następnie skompiluj projekt. Nie wolno używać instrukcji sekwencyjnych. 4. Dokonaj konfiguracji układu FPGA. Zbadaj funkcjonowanie układu zmieniając położenie przełączników SW 1-0 i obserwując wyświetlacz 7 - segmentowy. 5. Część czwarta. Rozważmy układ pokazany na rysunku 5. Zastosowano w nim multiplekser szynowy 4 na 1 do wyboru jednego z 4 znaków wyświetlanych na wyświetlaczu 7 - segmentowym.

9 Rys.5. Układ selekcji i wyświetlania jednego z pięciu znaków. Stosując dekoder 7 - segmentowy z części czwartej, powyższy układ może wyświetlać znaki: H, E, L, O. Układ pracuje wykorzystując przełączniki SW 7-0 oraz wybierając odpowiedni znak ustawiając przełączniki SW 9-8. W ćwiczeniu proszę użyć bibliotecznego modułu multipleksera. Rozbuduj kod z rysunku 8 tak żeby używał czterech 7 - segmentowych wyświetlaczy. Proponuję, żeby twój układ wyświetlał słowo na czterech wyświetlaczach skomponowane ze znaków w tablicy 1 oraz żeby mógł obracać to słowo w koło na wyświetlaczach w zależności od pozycji przełączników SW 9-8. Przykładowo może to być słowo HELO, zaś układ powinien generować układ znaków przedstawiony w tabeli 2. SW 9 SW Zestaw znaków H E L O E L O H L O H E O H E L Tabl. 2. Lista znaków konwertera Wykonaj następujące kroki: 1. Utwórz jednostkę projektową w eytorze graficznym. Połącz przełączniki SW 9-8 z wejściami selekcji czterech egzemplarzy multiplekserów szynowych 4 na 1. Przełączniki SW 7-0 połącz z każdym multiplekserem w celu wytwarzania niezbędnych wzorów znaków pokazanych w tablicy 2. Połącz wyjścia multiplekserów z 7 - segmentowymi wyświetlaczami HEX3, HEX2, HEX1 i HEX0. 2. Przypisz odpowiednie piny struktury programowalnej do wszystkich przełączników, diod LED i wyświetlaczy 7 - segmentowych. Skompiluj projekt. 3. Zaprogramuj układ FPGA. Sprawdź funkcjonowanie układu ustawiając właściwe kody znaków przełącznikami SW 708 oraz zaobserwuj rotację znaków manipulując przełącznikami SW Część piąta. Zaprojektuj układ, który dokonuje konwersji czterobitowej liczby binarnej V = v 3 v 2 v 1 v 0 na odpowiednik dwucyfrowej liczby BCD D = d 1 d 0. W tabeli 3 pokazano wymagane sygnały wyjściowe. Wartość binarna Cyfry BCD Tab. 3. Tablica działania konwertera.

10 Proszę zastosować dowolna technikę realizacji projektu. Rys. 6. Część składowa projektu konwertera liczb binarnych na BCD. Wykonaj następujące kroki: 1. Utwórz jednostkę projektową w systemie Quartus II. 2. Skompiluj układ oraz dokonaj symulacji funkcjonalnej w celu weryfikacji pracy komparatora, multiplekserów oraz układu A. 3. Rozbuduj twój plik źródłowy tak aby zawierał układ dekodera siedmiosegmentowego B z rysunku 1. Dostosuj wejścia i wyjścia jednostki projektowej, używając przełączników SW 3-0 płyty DE1, reprezentujących binarną liczbę V oraz wyświetlaczy HEX1 i HEX0 pokazujących dziesiętne cyfry d 1 i d 0. Nie zapomnij o wymaganych przypisaniach pinów układu FPGA. 4. Dokonaj ponownej kompilacji projektu i zaprogramuj układ FPGA. 5. Zbadaj funkcjonowanie układu zmieniając wartość V i obserwując wyjściowe wyświetlacze. 7. Część szósta. Na rysunku 7a pokazano schemat pełnego sumatora jednobitowego, który posiada wejścia a, b i c i oraz wyjścia s i c o. Części b i c rysunku przedstawiają symbol zastępczy układu oraz tablicę prawdy opisującą działanie sumatora, wytwarzającego dwubitowy wynik sumowania binarnego: C o s = a + b + c i Rysunek 7d przedstawia w jaki sposób 4 układy pełnych sumatorów jednobitowych można zastosować do budowy sumatora czterobitowego. Ten typ układu zwyczajowo jest nazywany sumatorem kaskadowym lub iteracyjnym ( ripple-carry adder ), ponieważ sygnały przeniesienia przechodzą z jednego elementarnego bloku do następnego.

11 Napisz program w VHDL opisujący układ opisany powyżej. Rys. 7. Układ sumatora iteracyjnego. W tym celu: 1. Utwórz nowy projekt w systemie Quartus II. Napisz jednostkę projektową w VHDL jednobitowego sumatora pełnego oraz jednostkę projektową VHDL najwyższego poziomu hierarchii (top-level) konkretyzującą (łączącą) cztery sumatory jednobitowe w moduł sumatora czterobitowego. Kod elementarnego sumatora powinien znajdować się w oddzielnym pliku.vhdl katalogu roboczego. 2. Użyj przełączników SW 7-4 i SW 3-0 reprezentujących oddzielnie wejścia A i B. Użyj przełącznika SW 8 jako wejściowego sygnału przeniesienia c in sumatora. Połącz przełączniki z diodami LEDR natomiast wyjścia c out i s z diodami LEDG. 3. Zamieść w projekcie niezbędne przypisania pinów układu FPGA. Skompiluj projekt i zaprogramuj FPGA. 4. Przetestuj swój układ dla różnych wartości A, B i c in. 8. Część siódma. Rysunek poniżej przedstawia układ z trzema różnymi elementami pamiętającymi: D zatrzask, przerzutnik D wyzwalany zboczem narastającym oraz przerzutnik D wyzwalany zboczem opadającym. Dokonaj implementacji i symulacji projektu w sposób następujący: 1. Utwórz nowy projekt. 2. Napisz plik VHDL zawierający trzy elementy pamięciowe. W tej części nie używaj więcej dyrektywy keep z poprzednich części. Rysunek 7 pokazuje behawioralny styl oprogramowania w VHDL przerzutnika D zatrzask z rysunku 4. Ten przerzutnik może być implementowany w pojedyńczej tablicy LUT. Użyj podobnego stylu kodowania do specyfikacji przerzutnika z rysunku Skompiluj program. 4. Utwórz plik testowy symulatora specyfikując wejścia i wyjścia układu. Narysuj przebiegi wejść D i Clock tak jak to przedstawiono na rysunku 6. Użyj funkcjonalnej symulacji w celu obserwacji sygnałów wyjściowych.

12 Rys. 8. Schemat oraz przebiegi czasowe układu z części czwartej. 4. Utwórz plik testowy symulatora zadając wejścia i wyjścia - narysuj przebiegi D i Clock jak na rysunku 8. Użyj funkcjonalnej symulacji w celu obserwacji sygnałów wyjściowych. LIBRARY ieee ; USE ieee.std_logic_1164.all ; ENTITY latch IS PORT ( D, Clk : IN STD_LOGIC ; Q : OUT STD_LOGIC) ; END latch ; ARCHITECTURE Behavior OF latch IS BEGIN PROCESS ( D, Clk ) BEGIN IF Clk = 1 THEN Q <= D ; END IF ; END PROCESS ; END Behavior ; Rys. 9. Behawioralny styl definicji przerzutnika D. Literatura: 1. Barski M., Jędruch W.: Układy cyfrowe, podstawy projektowania i opisu w języku VHDL, Wydawnictwo Politechniki Gdańskiej, Mano M.M., Kime Ch.R.: Podstawy projektowania układów logicznych i komputerów, NT, Warszawa Skahill K.: Język VHDL Projektowanie programowalnych układów logicznych, WNT, Warszawa, 2001.

13 Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 2 (6h) Liczniki, zegary i timery w VHDL. Instrukcja pomocnicza do laboratorium z przedmiotu Programowalne Układy Cyfrowe studiów dziennych II stopnia kierunku: Elektronika i Telekomunikacja specjalność Telekomunikacja Kod przedmiotu: TS2D Opracował: dr inż. Marian Gilewski Białystok 2017

14 1. Cel ćwiczenia. Celem ćwiczenia jest implementacja w języku VHDL struktur licznikowych oraz zegarowych. 2. Część pierwsza. Rozważmy układ na rysunku 1. Jest on licznikiem 4 - bitowym wykorzystującym przerzutniki typu T. Inkrementacja stanu licznika następuje na narastającym zboczu sygnału zegarowego przy aktywnym sygnale zezwolenia (Enable). Licznik jest zerowany niskim poziomem sygnału Reset. Rys.1. Czterobitowy układ licznika. Zaimplementuj licznik 18 - bitowy tego samego typu. Do syntezy projektu wykorzystaj modyfikując poniższy fragment programu opisujący działanie przerzutnika typu T: entity fft is port (T,C,R : in bit; -- T - wejście sygnałowe, C zegar, R - zerowanie Q : out bit); end fft; architecture a1 of fft is begin process (C,R) variable tq : bit; -- zmienna pomocnicza begin if R = '0' then tq := '0'; -- zerowanie elsif C'event and C = '1' and T = '1' then tq := not tq; -- zmiana stanu end if; Q <= tq; end process; end a1; 1. Tym razem do opisu licznika nie stosuj opisu strukturalnego z zastosowaniem instrukcji PORT MAP lecz współbieżną instrukcję powielania GENERATE (wykł. 5) i wartość parametryczną GENERIC do definiowania licznika dowolnej wielkości. Szkielet kodu, który możesz uzupełnić i rozbudować umieszczono na końcu niniejszego ćwiczenia. 2. Opisz działanie licznika w, projekt skompiluj, sprawdź ile elementów logicznych (LEs) zostało zużytych do jego implementacji. 3. Dokonaj symulacji funkcjonalnej układu. 4. Używając Classic Timing Analyzer Tool określ maksymalną częstotliwość pracy układu. 5. Zaprogramuj układ i sprawdź jego działanie używając do obserwacji stanów przerzutników zielone i czerwone LED, SW 1 i SW 0 jako Enable i Clear. Na początku do obserwacji pracy

15 licznika zastosuj jako źródło impulsów zliczanych KEY 0 a potem podaj na wejście sygnał zegarowy 50MHz. ibrary ieee; use ieee.std_logic_1164.all; entity licznik is generic (size : integer := 18 ); port( Enable,Clear,Clock : in std_logic; Qout : out std_logic_vector(size-1 downto 0)); end licznik; architecture a2 of licznik is signal T,Q,Qt : std_logic_vector(size-1 downto 0); -- na wejściu T, wyjściu -- oraz za bramką begin G1: for i in 0 to size-1 generate G2: if i=0 generate -- dla najmłodszego przerzutnika T(i) <= Enable; Process(Clock,Clear,Enable,T) tu proszę uzupełnić.. end generate; G3: if i>0 generate T(i) <=...proszę uzupełnić proszę uzupełnić end generate; Qout(i) <= Q(i); end generate; end a2; 3. Część druga. Zastosuj parametryczny licznik z biblioteki Megafunctions -> arithmetic -> lpm_counter systemu Quartus II do implementacji wersji 18 - bitowej. Wybierz tylko te opcje LPM, które są zgodne z powyższym układem, np. z zezwoleniem oraz synchronicznym zerowaniem. Układ zaimplementuj i przebadaj podobnie jak poprzedni. Jak się ma taka wersja licznika w stosunku do poprzedniego rozwiązania? Porównaj wyniki symulacji i szybkości pracy. 4. Część trzecia. Uprość swój program z zadania pierwszego specyfikując licznik za pomocą instrukcji : Q <= Q + 1; 1. Zbuduj wersję, która będzie zliczała od 0 do impulsów wejściowych i wyświetlała ich liczbę na 8 wyświetlaczach siedmiosegmentowych modułu DE2. 2. Skoro dotychczasowe liczniki zliczały w kodzie binarnym a stan niniejszego ma być wyświetlany dziesiętnie pozostaje jedno z dwóch wyjść: - zastosować odpowiedniej wielkości układ konwersji z NKB na BCD, - zmusić licznik do pracy w układzie 6 dekad połączonych łańcuchowo.

16 5. Część czwarta. Zaprojektuj i zaimplementuj układ, który wyświetla cyfry od 0 do 9 na wyświetlaczy siedmiosegmentowym HEX0. Każdą z cyfr należy wyświetlać przez około sekundę. Zastosuj licznik do uzyskania jednosekundowych odstępów. Licznik należy inkrementować 50 - MHz sygnałem zegarowym z modułu DE2 lub EBV. Nie używaj innych sygnałów zegarowych w układzie, mając pewność iż wszystkie przerzutniki twojego układu są synchronizowane 50 - MHz sygnałem zegarowym. 6. Część piąta. Zaimplementuj trzycyfrowy licznik BCD. Wyświetl zawartość licznika na siedmiosegmentowych wyświetlaczach HEX2-0. Wytwórz sygnał sterujący z 50-MHz sygnału zegarowego płyty DE2, inkrementujący licznik z jednosekundowymi odstępami. Użyj przycisku KEY 0 do zerowania licznika. 1. Utwórz nowy projekt. 2. Napisz program w VHDL opisujący projektowany układ. 3. Skompiluj projekt. 4. Dokonaj symulacji sprawdzającej działanie układu. 5. Przypisz połączenia wyświetlaczy siedmiosegmentowych oraz przycisku do odpowiednich pinów FPGA. 6. Dokonaj rekompilacji projektu. 7. Zaprogramuj FPGA i przetestuj pracę układu obserwując wyświetlacze. 8. Część szósta. Zaprojektuj i zaimplementuj układ, który działa jako zegar czasu rzeczywistego. Powinien on wyświetlać godziny (od 0 do 23) na siedmiosegmentowych wyświetlaczach, minuty (od 0 do 60) oraz sekundy (od 0 do 60) na wyświetlaczach modułu EBV. Użyj przełączników do ustawiania części godzin i minut czasu wyświetlanego przez zegar. 8. Część siódma. Zaprojektuj i zaimplementuj miernik czasu reakcji. Układ pracuje w sposób następujący: 1. Układ zeruje się w wyniku przyciśnięcia przycisku KEY Po pewnym czasie, czerwona dioda LEDR 0 zaświeca się oraz startuje czterocyfrowy licznik BCD w odstępach milisekundowych. Ilość czasu w sekundach, który upływa od zerowania do zaświecenia diody LEDR 0 powinna być ustawiana przełącznikami SW Osoba, której refleks jest mierzony, musi nacisnąć KEY 3 jak najszybciej żeby wyłączyć LED oraz zatrzymać pracę licznika w aktualnym stanie. Licznik pokazujący czas reakcji powinien wyświetlać go na wyświetlaczach HEX2-0. Literatura: 1. Barski M., Jędruch W.: Układy cyfrowe, podstawy projektowania i opisu w języku VHDL, Wydawnictwo Politechniki Gdańskiej, IEEE-SA Standars Board: IEEE Standard VHDL Language reference manual, ieeexplore.ieee.org/iel5/7180/19335/ pdf, USA, Łuba T.: Synteza układów cyfrowych, WKiŁ, Warszawa, Mano M.M., Kime Ch.R.: Podstawy projektowania układów logicznych i komputerów, NT, Warszawa Skahill K.: Język VHDL Projektowanie programowalnych układów logicznych, WNT, Warszawa, 2001.

17 Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 3 (6h) Implementacja i obsługa pamięci w VHDL. Instrukcja pomocnicza do laboratorium z przedmiotu Programowalne Układy Cyfrowe studiów dziennych II stopnia kierunku: Elektronika i Telekomunikacja specjalność Telekomunikacja Kod przedmiotu: TS2D Opracował: dr inż. Marian Gilewski Białystok 2017

18 1. Cel ćwiczenia. Celem ćwiczenia jest implementacja i inicjacja bloków pamięci w strukturach programowalnych. W systemach komputerowych konieczne jest zapewnienie odpowiedniej ilości pamięci. Jeżeli system jest implementowany w technologii FPGA jest możliwa implementacja pewnej ilości pamięci używając zasobów pamięciowych zawartych w układzie FPGA. Jeżeli ta pamięć jest niewystarczająca, można podłączyć do FPGA pamięć zewnętrzną. W tym ćwiczeniu sprawdzimy ogólne zasady implementacji pamięci. Ogólny schemat modułu pamięci RAM przedstawiono rysunku 1a. Rys. 1. Moduł pamięci RAM o organizacji 32 komórek 8 bitowych. Zawiera on 32 słowa 8 bitowe, adresowane 5 bitową szyną adresową (Address ) oraz 8 bitową szynę danych (Data) i wejściowy sygnał sterujący (Write). Rozważymy dwa różne sposoby implementacji pamięci: wykorzystując dedykowane bloki pamięci w układzie FPGA, używając zewnętrznego układu pamięci. Układ Cyclone II 2C35 FPGA zamontowany na płycie DE2 zawiera dedykowane zasoby pamięciowe, zwane blokami M4K. Każdy taki blok zawiera pamięć 4096 bitową, która może być konfigurowalna w bloki o różnej organizacji. Stałym parametrem jest współczynnik kształtu, określony iloczynem liczby słów (komórek) i długością słowa, wyrażony w bitach. Przykładowo, blok M4K może być organizowany w struktury: 4k x 1, 2k x 2, 1k x 4 oraz 512 x 8. W ćwiczeniu będziemy użytkować blok 512 x 8, wykorzystując pierwsze 32 słowa pamięci. Istnieją dwie ważne cechy M4K o których należałoby wspomnieć. Po pierwsze, zawiera on rejestry, które mogą zsynchronizować wszystkie sygnały wejściowe i wyjściowe z sygnałem zegarowym. Po drugie M4K posiada oddzielne wejściowe i wyjściowe szyny danych.

19 Wymagania synchronizacji M4K dotyczą portów wejściowych, portu wyjściowego lub wszystkich jednocześnie. Wymagania te będziemy implementować modyfikując moduł RAM 32 x 8 pokazany na rysunku 1b. Zawiera on rejestry: szyny adresowej, wejściowej szyny danych, sygnału sterującego zapisem i nie buforowanej wyjściowej szyny danych. 2. Część pierwsza. Stosowanie w systemie Quartus II struktur logicznych takich jak: sumatory, rejestry, liczniki i pamięci może odbywać się z zastosowaniem biblioteki elementów parametryzowalnych LPM. Zaleca się używanie elementu altsyncram LPM do implementacji pamięci RAM. W tym ćwiczeniu użyjemy tego elementu do budowy pamięci z rysunku 1b. 1. Utwórz nowy projekt w systemie Quartus II przypisując chip Cyclone II EP2C35F672C6. 2. Na temat zastosowania modułu MegaWizard Plug-in Manager do generacji elementów LPM możesz przeczytać w przewodniku Using Library Modules in VHDL Designs programu uniwersyteckiego na stronie internetowej firmy Altera. Na pierwszym ekranie MegaWizard Plug-in Manager (Rys. 2.) wybierz element altsyncram LPM oraz typ pliku opisującego VHDL i przyjmij jego nazwę jako ramlpm.vhd. Rys. 2. Proces wyboru pamięci parametryzowalnej. Na kolejnym ekranie modułu Wizard podaj organizację pamięci jako 32 słowa 8 bitowe.

20 Przejdź na następną stronę i zaakceptuj domyślne ustawienia użycia pojedyńczego zegara rejestrów pamięci, przejdź do przodu na stronę pokazaną na rysunku 3. Rys. 3. Konfiguracja portów pamięci. Na tej stronie odznacz Read output port(s) w kategorii Which ports should be registered?. Powyższe ustawienia utworzą RAM zgodnie ze strukturą przedstawioną na rysunku 1b, zawierającą buforowane porty wejściowe i nie buforowane wyjścia. Zaakceptuj ustawienia i włącz element opisany plikiem ramlpm.vhd do struktury pliku top-level. Włącz odpowiednie sygnały wejściowe i wyjściowe w pliku VHDL dla bloku pamięci. 3. Skompiluj układ. Obejrzyj w raporcie kompilacji użycie 256 bitów w jednym z bloków M4K do implementacji pamięci. 4. Zasymuluj funkcjonowanie układu i upewnij się, że potrafisz zapisać do i odczytać dane z pamięci. 3. Część druga. Teraz zbudujemy układ pamięci w FPGA i użyjemy przełączników do załadowania danych. Wyświetlimy też zawartość pamięci na wyświetlaczach siedmiosegmentowych. 1. Otwórz nowy projekt. 2. Napisz plik VHDL używający ramlpm oraz zawierający wymagane piny wejściowe i wyjściowe. Użyj przełączników SW 7-0 jako wejściowej szyny danych, SW jako szyny adresowej. SW 17 zastosuj jako źródło sygnału Write, zaś KEY0 jako wejściowy sygnał zegarowy. Wartość Write wyświetl na LEDG 0, szynę adresową na HEX7 i HEX6, wejściową szynę danych na HEX5 i HEX4 a szynę danych wyjściowych na HEX1 i HEX0. 3. Przetestuj układ upewniając się iż 32 komórki RAM zostały zapisane poprawnie. 4. Część trzecia. Zamiast bezpośredniego konkretyzacji modułu LPM, możemy implementować pamięć poprzez specyfikację jej struktury w kodzie VHDL. Jest możliwe definiowanie pamięci jako

21 wielowymiarowej macierzy. Macierz 32 x 8, zawierająca 32 słowa 8 bitowe deklarowana jest za pomocą instrukcji: TYPE mem IS ARRAY(0 TO 31) OF STD LOGIC VECTOR(7 DOWNTO 0); SIGNAL memory array : mem; W układzie Cyclone II FPGA taka pamięć może być implementowana poprzez zastosowanie zarówno przerzutników elementów logicznych jak i bardziej efektywnie z zastosowanie bloków M4K. Dwie drogi prowadzą do stosowania bloków M4K. Jedną z nich było użycie elementu parametryzowalnego w części pierwszej. Drugą jest stosowanie właściwego stylu kodowania w VHDL, z którego kompilator mógłby wnioskować, że powinien być użyty blok pamięci. Help programu Quartus II pokazuje jak to można zrobić na wybranych przykładach (Help for Inferred memory ). Wykonaj następujące kroki: 1. Utwórz nowy projekt. 2. Napisz kod programu zawierający niezbędne funkcje, pozwalające na implemetację RAM, dodaj niezbędne elementy opisane w części Podłącz piny, przełączniki i wyświetlacze. 4. Przetestuj układ jak poprzednio. 5. Skomentuj różnice jakie zaobserwowałeś w stosunku do części Część czwarta. Płyta DE2 zawiera SRAM chip IS61LV25616AL-10, który jest statyczną RAM zawierającą 256k 16 bitowych słów. SRAM zawiera 18 bitową szynę adresową A 17-0 i 16 bitową dwukierunkową magistralę danych I/O Posiada również kilka wejściowych sygnałów sterujących:,,, i, opisanych w tabeli 1: Nazwa Znaczenie Chip enable zezwolenie dostępu, wymagane 0 w czasie pracy RAM Output enable zezwolenie odczytu, wymagane 0 podczas cyklu odczytu Write enable zezwolenie zapisu, wymagane 0 podczas cyklu zapisu Upper byte żądanie starszego bajtu, 0 przy zapisie i odczycie Lower byte - żądanie młodszego bajtu, 0 przy zapisie i odczycie Tab. 1. Sygnały sterujące SRAM. Opis operacji IS61LV25616AL opisano w danych katalogowych, dołączonych do pakietu DE2 na płycie CD. Dane katalogowe można również znaleźć za pomocą wyszukiwarki internetowej. Dane katalogowe opisują szereg operacji pamięci wraz obszerną listą ich charakterystyk czasowych. Na potrzeby niniejszego ćwiczenia należy zapewnić stan niski na wejściach,, i oraz kontrolować odczyt i zapis do pamięci sygnałem. Uproszczoną charakterystykę czasową odpowiadającą temu trybowi pokazano na rysunku 4. Część a pokazuje cykl odczytu pamięci, który rozpoczyna się gdy sygnał na szynie adresowej jest stabilny, zaś sygnał nie jest aktywny (jest równy 1). Pamięć wystawia stabilne dane na szynie danych I/O 15-0 po upływie czasu dostępu szyny adresowej (address access delay) t AA. Cykl odczytu kończy zmiana sygnału na szynie adresowej, stabilne dane wyjściowe pozostają jeszcze przez czas podtrzymywania (output hold time) t OHA. Rysunek 4b przedstawia charakterystyki czasowe cyklu zapisu do pamięci. Cykl zapisu rozpoczyna się wystawieniem niskiego sygnału na linii i kończy się gdy sygnał ten wraca

22 do poziomu wysokiego. Stabilny sygnał adresowy powinien w tym czasie utrzymywać się przez czas ustawiania (address setup time) t AW. Stabilne dane do zapisu na szynie danych powinny utrzymywać się przez czas ustawiania danych (data setup time) t SD, zanim sygnał powróci do stanu wysokiego. Rys. 4. Cykle zapisu i odczytu pamięci SRAM. Tabela 2 zawiera minimalne i maksymalne wartości parametrów czasowych z rysunku 4 pamięci SRAM. Wartość Parametr min maks t AA - 10 ns t OHA 3 ns - t AW 8 ns - t SD 6 ns - t HA - - t SA - - t HD - - Tab. 2. Parametry czasowe SRAM. Zrealizuj pamięć z rysunku 1a wykorzystując zewnętrzną pamięć SRAM. Jest to dobre rozwiązanie zawarcia w twoim projekcie rejestrów pokazanych na rysunku 1b poprzez implementację tych rejestrów w FPGA. Zachowuj ostrożność w implementacji poprawnej dwukierunkowej szyny danych. 1. Utwórz nowy projekt. Utwórz stosowny plik VHDL, umożliwiający ładowanie i odczyt pamięci. Zastosuj te same przełączniki, diody LED i wyświetlacze jak w częściach 2 i 3

23 oraz nazwy pinów podane w tabeli 3 do obsługi pamięci IS61LV25616AL. Zauważ, że nie będą wykorzystane wszystkie linie szyny adresowej oraz szyny danych IS61LV25616AL podczas organizacji pamięci 32 x 8. Niewykorzystane piny należy spolaryzować niskim poziomem. Nazwa portu SRAM Nazwy pinówde2 A 17-0 SRAM_ADDR 17-0 I/O 15-0 SRAM_DQ 15-0 SRAM_CE_N SRAM_OE_N SRAM_WE_N SRAM_UB_N SRAM_LB_N Tab. 3. Nazwy pinów SRAM w DE2. 2. Skompiluj układ i załaduj FPGA. 3. Przetestuj układ zapisując i odczytując wartości wybranych, różnych komórek pamięci. 6. Część piąta. Blok pamięci z rysunku 1 posiada tę samą szynę adresową dla operacji odczytu I zapisu. W tej części utwórz inny typ pamięci zawierający dwie szyny adresowe: jedną dla operacji odczytu i drugą dla operacji zapisu. Wykonaj następujące kroki: 1. Utwórz nowy projekt. Użyj ponownie MegaWizard Plug-in Manager do konkretyzacji altsyncram LPM. Na pierwszej stronie Wizard wybierz jeden port odczytu i jeden port zapisu (prosty dwuportowy tryb) w kategorii How will you be using the altsyncram? Przejdź strony od 2 do 5 i wybierz te same opcje jak w części drugiej. Na stronie 6 wybierz ustawienie I don t care w kategorii Mixed Port Read-During-Write for Single Input Clock RAM. Te ustawienia precyzują iż dla wyjść pamięci nieważne jest czy nowe dane są zapisywane lub czy też poprzednie stare dane są przechowywane, w tym przypadku adres zapisu i odczytu jest ten sam. Strona 7 modułu Wizard pokazana jest na rysunku 5.

24 Rys. 5. Specyfikacja pliku inicjującego SRAM. Zawiera ona element pozwalający załadować pamięć wartością początkową w czasie programowania FPGA. Jak pokazano na rysunku wybór opcji Yes wymaga podania nazwy pliku danych początkowych pamięci, w tym przypadku ramlpm.mif. Więcej na temat struktury pliku MIF można przeczytać w Quartus II Help. Powinieneś utworzyć taki plik i wpisać do niego zawartość początkową pamięci. Zakończ obsługę Wizard i sprawdź tworzenie modułu pamięci w ramlpm.vhd. 2. Napisz plik VHDL konkretyzujący dwuportową pamięć. W celu obejrzenia zawartości RAM dodaj do projektu możliwość wyświetlania poszczególnych bajtów na wyświetlaczach HEX1 i HEX0. Przewiń adresy pamięci w celu wyświetlenia bajtów danych z 1 sekundowymi interwałami czasowymi. Adresy przeglądanych komórek wyświetl na HEX3 i HEX2. Użyj 50 MHz zegar, CLOCK_50 oraz KEY 0 jako wejścia zerującego. Użyj do obsługi szyny adresowej oraz szyny danych tych samych przełączników, diod LED i wyświetlaczy siedmiosegmentowych jak w pierwszej części ćwiczenia. Upewnij się, iż wejścia przełączników są zsynchronizowane z sygnałem zegarowym. 3. Przetestuj swój układ oraz zweryfikuj zawartość początkową pamięci. Upewnij się, iż możesz niezależnie zapisywać dane pod dowolny adres używając przełączników. 7. Część szósta. Dwuportowa pamięć z części 5 pozwala jednocześnie wykonywać operacje odczytu i zapisu, ponieważ posiada dwie szyny adresowe. W tej części ćwiczenia utworzysz podobne rozwiązanie stosując jednoportową RAM. Stąd będzie tylko jedna szyna adresowa, którą trzeba będzie multipleksować w wybranych momentach czasu adresy zapisu i odczytu. Wykonaj to w następujących krokach: 1. Utwórz nowy projekt i zastosuj MegaWizard Plug-in Manager do stworzenia jednoportowej wersji altsyncram LPM. Na stronach od 1 do 6 zachowaj te same ustawienia jak w części 1. Na stronie 7, pokazanej na rysunku 6, wybierz ramlpm.mif tak jak w części 5 lecz również ustaw Allow In-System Memory Content Editor do zapisania zawartości niezależnie od zegara systemowego.

25 Rys. 6. Konfiguracja altsyncram w In-System Memory Content Editor.. Ta opcja pozwoli na użycie mechanizmu edytora zawartości pamięci do przeglądania i modyfikacji zawartości tworzonej RAM. Używając tego narzędzia możesz opcjonalnie zdefiniować klucz czteroznakowy Instance ID zastępujący nazwę pamięci. Na rysunku 7 pokazano pamięć 32 x 8 RAM otrzymaną za pomocą modułu Wizard. Rys. 7. Ustawienia CYCLONEII SAFE WRITE parameter.

26 4. Skompiluj program i załaduj FPGA. Przetestuj jego pracę. Opisz zauważone różnice w stosunku do rozwiązania z części 5. Rys. 8. Okno edycyjne In-System Memory Content Editor. 5. Wybierz Tools > In-System Memory Content Editor przedstawiony na rysunku 8. Do specyfikacji połączenia z DE2 kliknij na Setup po prawej stronie ekranu. Na ekranie pokazanym na rysunku 9 wybierz USB-Blaster i zamknij Hardware Setup. Rys. 9. Okno Hardware Setup.. Instrukcje dotyczące posługiwaniem się In-System Memory Content Editor można znaleźć w Quartus II Help. W uproszczony sposób należy kliknąć na moduł 32 x 8 memory tak jak to pokazano no rysunku 10 oraz wybierz Read Data from In-System Memory.

27 Rys. 10. Używanie In-System Memory Content Editor.. Spowoduje to wyświetlenie zawartości pamięci w środkowej części ekranu. Możesz edytować wyświetlone wartości nadpisując je. W celu zapisania wprowadzonych zmian do RAM kliknij ponownie na 32 x 8 moduł pamięci i wybierz opcję Write All Modified Words to In-System Memory. Zrób eksperyment zmieniając niektóre zawartości pamięci i obserwując wyświetlane dane. 8. Część siódma. W tej części zmodyfikuj układ z części 6 i 4 używając IS61LV25616ALSRAM zmiast M4K blok. Utwórz nowy projekt, skompiluj i załaduj FPGA a następnie przetestuj. W części 6 używałeś pliku inicjującego pamięć oraz In-System Memory Content Editor do odczytu i modyfikacji pamięci. Niniejsze podejście może być użyte tylko do zasobów pamięci w FPGA. Wykonaj podobne operacje używając narzędzia DE2 Control Panel. Część trzecia DE2 User Manual opisuje jak posługiwać się tym narzędziem. Ta procedura wymaga programowania FPGA w specjalnym układzie komunikacyjnym z Control Panel, pokazanym na rysunku 11, używającym ustawienia ładowania danych do SRAM. Przetestuj to narzędzie obserwując efekty zapisu i odczytu pamięci w DE2 Control Panel software.

28 Rys. 11. DE2 Control Panel. Literatura: 1. Barski M., Jędruch W.: Układy cyfrowe, podstawy projektowania i opisu w języku VHDL, Wydawnictwo Politechniki Gdańskiej, IEEE-SA Standars Board: IEEE Standard VHDL Language reference manual, ieeexplore.ieee.org/iel5/7180/19335/ pdf, USA, Łuba T.: Synteza układów cyfrowych, WKiŁ, Warszawa, Mano M.M., Kime Ch.R.: Podstawy projektowania układów logicznych i komputerów, NT, Warszawa Skahill K.: Język VHDL Projektowanie programowalnych układów logicznych, WNT, Warszawa, 2001.

29 Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 4 (6h) Automat stanów I struktury hierarchiczne. Instrukcja pomocnicza do laboratorium z przedmiotu Programowalne Układy Cyfrowe studiów dziennych II stopnia kierunku: Elektronika i Telekomunikacja specjalność Telekomunikacja Kod przedmiotu: TS2D Opracował: dr inż. Marian Gilewski Białystok 2017

30 1. Cel ćwiczenia. W tym ćwiczeniu zastosujemy bardziej złożone aplikacje układów sekwencyjnych w kodzie VHDL. Ze względu na złożoność projektów należy zastosować struktury hierarchiczne, w których plik top-level będzie zrealizowany w postaci schematu lub kodu VHDL. 2. Część pierwsza. Zaprojektuj generator PWM w module DE2 o następujących właściwościach: 1. Układ powinien wykorzystywać wbudowany generator kwarcowy 50MHz, 2. Częstotliwość generatora PWM powinna wynosić 1 khz, 3. Przełącznikami SW 0 SW 4 należy zadawać proporcjonalnie (z rozdzielczością 1%) współczynnik wypełnienia w przedziale od 5% do 95%, 4. Procentową wartość współczynnika wypełnienia należy wyświetlać na wyświetlaczach siedmiosegmentowych, 5. Układ należy zasymulować i zaimplementować, 6. Efekt działania należy zaobserwować na diodach LED oraz zmierzyć oscyloskopem. 3. Część druga. Wykorzystując doświadczenia z części pierwszej niniejszego ćwiczenia należy rozbudować układ generatora PWM do postaci uniwersalnej i zaimplementować DE2, tak aby: 1. Przełącznikami SW 9 SW 5 można było wybierać częstotliwość pracy: 100kHz, 10kHz, 1kHz, 100Hz, 10Hz, 2. Przełącznikami SW 0 SW 4 można było zadawać współczynnik wypełnienia impulsu co 3% zaczynając od wartości 5%, 3. Procentową wartość współczynnika wypełnienia należy wyświetlać na wyświetlaczach siedmiosegmentowych, 4. Układ należy zasymulować i zaimplementować, 5. Efekt działania należy zaobserwować na diodach LED oraz zmierzyć oscyloskopem. 4. Część trzecia. W module EBV należy zaimplementować miernik częstotliwości sygnału wytwarzanego w zadaniu drugim, w tym celu należy: 1. Przygotować projekt w języku VHDL na platformie ISE, 2. Wyniki pomiarów należy wyświetlać na 6 wyświetlaczach siedmiosegmentowych w następującym układzie: "A", "B", "C", "D, "E", "F" - gdzie: "A." - oznacza pierwszą cyfrę wartości częstotliwości w Hz, "B." - oznacza drugą cyfrę wartości częstotliwości w Hz, "C" - oznacza trzecią cyfrę wartości częstotliwości w Hz, "D" - oznacza czwartą cyfrę wartości częstotliwości w Hz, "E - oznacza piątą cyfrę wartości częstotliwości w Hz, "F - oznacza szóstą cyfrę wartości częstotliwości w Hz, 3. Projekt z zadania drugiego należy wgrać do pamięci Flash układu DE1, 4. Moduł EBV należy zaprogramować, a następnie połączyć z DE1 i sprawdzić pracę częstościomierza. 5. Część czwarta. Proszę zmodyfikować projekt częstościomierza z zadania trzeciego w taki sposób aby odczyt zawsze następował na 6 cyfrach z zastosowaniem kropki dziesiętnej - czyli następowała automatyczna zmiana zakresu. Układ należy zaimplementować w module DE2 i zbadać stosując jako źródło sygnału moduł DE2.

31 6. Część piąta. Proszę zbudować układ do pomiaru współczynnika wypełnienia sygnału wytwarzanego w DE2 w zadaniu poprzednim. Projekt należy skompilować i zaimplementować w module DE2, a następnie przebadać. 7. Część szósta. Należy zbudować miernik sygnału PWM z zadania drugiego i zaimplementować go w module FPGA. Powinien on wyświetlać zarówno wartość częstotliwości jak i współczynnika wypełnienia sygnału mierzonego na wyświetlaczach siedmiosegmentowych. Poszczególne wyświetlacze: W5, W4, W3, W2, W1 i W0 należy przyporządkować w następujący sposób: - W5 oraz W4 i W3 powinny wyświetlać wartość częstotliwości wyrażoną w khz z zastosowaniem kropki dziesiętnej, - wyświetlacz W2 należy wygasić albo wyświetlać jako separator dowolny inny znak niż cyfra dziesiętna, - W1 i W0 powinny wyświetlać wartość współczynnika wypełnienia wyrażoną w %. Literatura: 1. Barski M., Jędruch W.: Układy cyfrowe, podstawy projektowania i opisu w języku VHDL, Wydawnictwo Politechniki Gdańskiej, IEEE-SA Standars Board: IEEE Standard VHDL Language reference manual, ieeexplore.ieee.org/iel5/7180/19335/ pdf, USA, Łuba T.: Synteza układów cyfrowych, WKiŁ, Warszawa, Mano M.M., Kime Ch.R.: Podstawy projektowania układów logicznych i komputerów, NT, Warszawa Skahill K.: Język VHDL Projektowanie programowalnych układów logicznych, WNT, Warszawa, 2001.

32 Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 5a (3h) (absolwenci specjalności Teleiformatyka i Optoelektronika) Obsługa w VHDL transmisji szeregowej w podczerwieni. Instrukcja pomocnicza do laboratorium z przedmiotu Programowalne Układy Cyfrowe studiów dziennych II stopnia kierunku: Elektronika i Telekomunikacja specjalność Telekomunikacja Kod przedmiotu: TS2D Opracował: dr inż. Marian Gilewski Białystok 2017

33 1. Cel ćwiczenia. Celem ćwiczenia jest implementacja interfejsu transmisji szeregowej w podczerwieni pomiędzy modułami DE2 za pośrednictwem wbudowanego transilvera IrDA. Ćwiczenie może być zastąpione realizacją własnego projektu na płycie DE2, zgłoszonego przez studentów, nie później niż na 3 tygodnie przed terminem realizacji ćwiczenia. 2. Część pierwsza. Zrealizuj projekt obsługi modułu nadajnika/odbiornika IrDA zamontowanego na płycie DE2, zgodnie z najprostszym standardem interfejsu szeregowego RS232, w którym kanałem transmisyjnym będzie promieniowanie podczerwone. W tym celu wykonaj następujące kroki: 1. Utwórz nowy projekt. 2. Napisz 3 moduły w języku VHDL: moduł obsługujący nadajnik, moduł obsługujący odbiornik, moduł sterujący pracą nadajnika i odbiornika. Wysyłana/odbierana ramka danych powinna zawierać bit startu, bajt danych, bity stopu oraz parzystości. Układ powinien wykrywać i sygnalizować typowe błędy transmisji szeregowej. 3. Skompiluj i dokonaj symulacji funkcjonalnej poszczególnych modułów. 4. Połącz elementy składowe w jeden moduł transilvera. Przypisz wymagane numery pinów FPGA poszczególnych elementów składowych, takich jak moduł IrDA, przełączniki i wyświetlacze. W uzgodnieniu z sąsiednim zespołem studenckim, z którym będziesz przeprowadzać eksperyment transmisji, uzgodnij szybkość transmisji, wytwarzając odpowiedniej częstotliwości sygnał zegarowy, z sygnału 50 MHz na płycie DE2. Projekt końcowy skompiluj i załaduj FPGA. 5. Dokonaj badań transmisji w sposób następujący. Ustaw zaprojektowany układ w tryb nadajnika, ustaw bajt transmitowanych danych, wyświetlanych na diodach LED, wciśnij przycisk START. Po stronie odbiorczej, w sąsiednim zespole studenckim, układ powinien być ustawiony w tryb odbioru. Odebrane informacje powinny być wyświetlone na diodach LED po stronie odbiorczej. W kolejnym kroku należy zamienić kierunek transmisji i sprawdzić pracę układów. W końcowej fazie należy przebadać transmisję dwukierunkową (duplex). 3. Część druga. Moduł DE2 umożliwia prostą komunikację bezprzewodową, wykorzystując małej mocy transilver podczerwieni firmy Agilent typ HSDL Dane katalogowe układu znajdują się na płycie CD DE2 System CD-ROM, dostępnej w laboratorium. Dodatkowe informacje techniczne układu oraz protokołów transmisji można znaleźć na stronie: lub na stronie producenta. Informacje dotyczące struktury protokołów transmisji szeregowej są powszechnie dostępne w literaturze oraz w sieci internetowej i jako takie nie są przedmiotem niniejszego ćwiczenia. Rys. 1. Poglądowy schemat protokołu asynchronicznej transmisji szeregowej.

34 Ćwiczenie nastawione jest raczej na kreatywność studentów niż na wykonywanie kolejnych zadań w typowym algorytmie realizacji ćwiczeń laboratoryjnych. Na następnym rysunku pokazano schemat włączenia modułu IrDA do modułu DE2. W tabeli podano przypisania pinów układu FPGA. Rys. 2. Układ połączeń HSDL-3201 na płycie DE2. Tab. 1. Przypisanie pinów HSDL Rys. 3. Schemat aplikacyjny HSDL Literatura: 1. IrDA Data 1.2 Low Power Compliant kb/s Infrared Transceiver The RS232 Standard

35 Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 5b (3h) Implementacja prostego procesora w strukturze programowalnej. (absolwenci specjalności Aparatura Elektroniczna) Instrukcja pomocnicza do laboratorium z przedmiotu Programowalne Układy Cyfrowe studiów dziennych II stopnia kierunku: Elektronika i Telekomunikacja specjalność Telekomunikacja Kod przedmiotu: TS2D Opracował: dr inż. Marian Gilewski Białystok 2017

36 1. Cel ćwiczenia. Celem ćwiczenia jest implementacja prostej struktury mikroprocesorowej w strukturze programowalnej. 2. Część pierwsza. Na rysunku 1 pokazano system cyfrowy zawierający kilka 16 bitowych rejestrów, multiplekser, sumator/subtraktor oraz jednostkę sterującą. Dane wchodzą do systemu poprzez 16 bitowy port DIN. Mogą one zostać załadowane do jednego z rejestrów R0... R7 oraz A poprzez 16 bitowy multiplekser. Multiplekser pozwala również na transfer danych pomiędzy rejestrami. Dane wyjściowe multipleksera nazywane są magistralą (bus) według ogólnie przyjętej konwencji. Podczas operacji dodawania/odejmowania pierwszy składnik jest ładowany do rejestru A (akumulatora) za pośrednictwem multipleksera. Po wykonaniu tej czynności, druga 16 bitowa liczba jest podawana do sumatora/subtraktora magistralą systemową. Wynik operacji arytmetycznej jest ładowany do rejestru G, skąd jego zawartość może zostać przesłana do innego rejestru w razie potrzeby. Rys. 1. Schemat systemu cyfrowego. Ten system może wykonywać różne operacje w każdym cyklu zegarowym, zgodnie z zarządzeniem jednostki sterującej (Control unit). Ta jednostka określa kiedy stabilne dane są

37 umieszczone na magistrali systemowej oraz kontroluje do którego rejestru zostaną załadowane. Na przykład, jeżeli jednostka sterująca ustawi sygnały R0out i Ain, multiplekser umieści zawartość rejestru R0 na magistrali i z następnym narastającym zboczem sygnału zegarowego dane zostaną załadowane do rejestru A. Taki system, jaki opisano powyżej, nazwano procesorem. Wykonuje on operacje określone w formie instrukcji. Tabela 1 zawiera listę instrukcji, które procesor obsługuje w tym ćwiczeniu. Czynność Wykonywana funkcja mv Rx, Ry Rx [Ry] mvi Rx, #D Rx D add Rx, Ry Rx [Rx] + [Ry] sub Rx,Ry Rx [Rx] - [Ry] Tab. 1. Instrukcje wykonywane przez processor. Lewa kolumna pokazuje nazwy instrukcji i ich operandy. Składnia typu Rx [Ry] oznacza, że zawartość rejestru Ry jest ładowana do rejestru Rx. Instrukcja przesłania mv (move) pozwala na kopiowanie danych z jednego rejestru do innego. Instrukcja przesłania bezpośredniego mvi (move immediate) Rx D ładuje rejestr Rx stałą 16 bitową wartością. Poszczególne instrukcje (rozkazy) mogą być dekodowane i przechowywane w rejestrze IR z zachowaniem 9 bitowego formatu IIIXXXYYY, gdzie III reprezentuje rodzaj instrukcji, XXX daje rejestr Rx zaś YYY rejestr Ry. Chociaż tylko 2 bity są niezbędne do zakodowania 4 instrukcji, my użyjemy 3 bitów ponieważ do listy rozkazów procesora dołączymy kolejne instrukcje w dalszej części ćwiczenia. Odtąd IR będzie podłączony do 9 bitów 16 bitowego wejścia DIN w sposób pokazany na rysunku 1. W przypadku instrukcji mvi pola YYY nie mają znaczenia i bezpośrednie dane #D są podawane na wejście 16 bitowego portu DIN, po tym rozkaz mvi zostanie zapamiętany w IR. Niektóre instrukcje, jak np. dodawania lub odejmowania, zajmują więcej niż jeden cykl zegarowy na realizację, ponieważ realizowany jest multipleksowany przesył danych po magistrali systemowej. Jednostka sterująca używa 2 bitowego licznika, pokazanego na rysunku 1, pozwalającego na zakończenie takich instrukcji. Procesor rozpoczyna wykonywanie rozkazu z portu DIN po pojawieniu się sygnału startu (Run), zakończenie wykonywania rozkazu procesor potwierdza wyjściowym sygnałem Done. W tabeli 2 przedstawiono sygnały sterujące, które są ustawiane w poszczególnych cyklach zegarowych wykonywanej instrukcji. (mv): I0 T1 T2 T3 RYout, RXin, Done (mvi): I1 DINout, RXin, Done (add): I2 RXout, Ain RYout, Gin Gout, RXin, Done (sub): I3 RXout, Ain RYout, Gin, AddSub Gout, RXin, Done Tab. 1. Sygnały sterujące wystawiane w poszczególnych cyklach zegarowych. 3. Część druga. Zaprojektuj i zaimplementuj procesor z rysunku 1 w kodzie VHDL.

38 1. Otwórz nowy projekt. 2. Napisz wymagany plik VHDL, umieść w projekcie i skompiluj układ. Sugerowany szkielet programu pokazano w części a i b rysunku 2, jednostki projektowe podprogramów użytych w kodzie pokazano w częściach c i d. 3. Zastosuj symulację funkcjonalną do weryfikacji projektu. Przykładowy wynik symulacji funkcjonalnej pokazano na rysunku 3. Pokazuje on wartość (2000) 16 ładowaną do IR z DIN w 30 ns. Ten wynik reprezentuje rozkaz mvi R0,#D, gdzie D = 5 ładowane jest do R0 na zboczu zegarowym 50 ns. Dalej symulacja pokazuje rozkaz mv R1,R0 w 90 ns, add R0,R1 w 110 ns oraz sub R0,R0 w 190 ns. Zauważ iż symulator pokazuje DIN jako 4 bitową heksadecymalną liczbę zaś zawartość IR jako 3 bitową liczbę oktalną. 4. Otwórz nowy projekt w którym zaimplementujesz układ na platformie DE2. Ten projekt powinien zawierać top-level plik z wymaganymi portami wejściowymi i wyjściowymi. Skonkretyzuj twój procesor. Użyj SW 15-0 do sterowania DIN, SW 17 jako przełącznika startu Run, KEY0 jako Reset, KEY1 jako Clock. Magistralę podłącz do LEDR 15-0 a Done do LEDR Dodaj do projektu niezbędne przypisania pinów. 6. Przetestuj pracę układu manipulując przełącznikami i obserwując diody. LIBRARY ieee; USE ieee.std_logic_1164.all; USE ieee.std_logic_signed.all; ENTITY proc IS PORT ( DIN : IN STD_LOGIC_VECTOR(15 DOWNTO 0); Resetn, Clock, Run : IN STD_LOGIC; Done : BUFFER STD_LOGIC; BusWires : BUFFER STD_LOGIC_VECTOR(15 DOWNTO 0)); END proc; ARCHITECTURE Behavior OF proc IS... declare components... declare signals BEGIN High <= 1 ; Clear <=... Tstep: upcount PORT MAP (Clear, Clock, Tstep_Q); I <= IR(1 TO 3); decx: dec3to8 PORT MAP (IR(4 TO 6), High, Xreg); decy: dec3to8 PORT MAP (IR(7 TO 9), High, Yreg); Rys. 2a. Szkielet programu procesora.

39 controlsignals: PROCESS (Tstep_Q, I, Xreg, Yreg) BEGIN... specify initial values CASE Tstep_Q IS WHEN "00" => - - store DIN in IR as long as Tstep_Q = 0 IRin <= 1 ; WHEN "01" => - - define signals in time step T1 CASE I IS... END CASE; WHEN "10" => - - define signals in time step T2 CASE I IS... END CASE; WHEN "11" => - - define signals in time step T3 CASE I IS... END CASE; END CASE; END PROCESS; reg_0: regn PORT MAP (BusWires, Rin(0), Clock, R0);... instantiate other registers and the adder/subtracter unit... define the bus END Behavior; Rys. 2b. Szkielet programu procesora.

40 LIBRARY ieee; USE ieee.std_logic_1164.all; USE ieee.std_logic_signed.all; ENTITY upcount IS PORT ( Clear, Clock : IN STD_LOGIC; Q : OUT STD_LOGIC_VECTOR(1 DOWNTO 0)); END upcount; ARCHITECTURE Behavior OF upcount IS SIGNAL Count : STD_LOGIC_VECTOR(1 DOWNTO 0); BEGIN PROCESS (Clock) BEGIN IF (Clock EVENT AND Clock = 1 ) THEN IF Clear = 1 THEN Count <= "00"; ELSE Count <= Count + 1; END IF; END IF; END PROCESS; Q <= Count; END Behavior; Rys. 2c. Podprogram kodu procesora.

41 LIBRARY ieee; USE ieee.std_logic_1164.all; ENTITY dec3to8 IS PORT ( W : IN STD_LOGIC_VECTOR(2 DOWNTO 0); En : IN STD_LOGIC; Y : OUT STD_LOGIC_VECTOR(0 TO 7)); END dec3to8; ARCHITECTURE Behavior OF dec3to8 IS BEGIN PROCESS (W, En) BEGIN IF En = 1 THEN CASE W IS WHEN "000" => Y <= " "; WHEN "001" => Y <= " "; WHEN "010" => Y <= " "; WHEN "011" => Y <= " "; WHEN "100" => Y <= " "; WHEN "101" => Y <= " "; WHEN "110" => Y <= " "; WHEN "111" => Y <= " "; END CASE; ELSE Y <= " "; END IF; END PROCESS; END Behavior; LIBRARY ieee; USE ieee.std_logic_1164.all; ENTITY regn IS GENERIC (n : INTEGER := 16); PORT ( R : IN STD_LOGIC_VECTOR(n-1 DOWNTO 0); Rin, Clock : IN STD_LOGIC; Q : BUFFER STD_LOGIC_VECTOR(n-1 DOWNTO 0)); END regn; ARCHITECTURE Behavior OF regn IS

42 BEGIN BEGIN PROCESS (Clock) IF Clock EVENT AND Clock = 1 THEN IF Rin = 1 THEN Q <= R; END IF; END IF; END PROCESS; END Behavior; Rys. 2d. Podprogram kodu procesora. Rys. 3. Symulacja procesora. 4. Część czwarta. W tej części zaprojektuj układ przedstawiony na rysunku 4, w którym dołączono moduł pamięci oraz licznik do układu poprzedniego. Licznik jest używany do odczytu adresu instrukcji w pamięci i zapewnia procesorowi potokowy dopływ instrukcji. Dla uproszczenia projektowania i testowania układu użyjemy oddzielnych sygnałów zegarowych PClock i MClock dla procesora i pamięci.

43 Rys. 4. Połączenia procesora z pamięcią i licznikiem. 1. Utwórz nowy projekt. 2. Napisz top-level plik VHDL konkretyzujacy procesor, pamięć i licznik. Użyj MegaWizard Plug-In Manager do stworzenia pamięci ALTSYNCRAM. 16 bitowa pamięć powinna posiadać głębokość 32 słów. Pierwszy ekran Wizard pokazano na rysunku 5. Ponieważ pamięć posiada tylko port odczytu, jest to zatem synchroniczna pamięć ROM, zawierająca bufor sygnału adresowego. W celu umieszczenia instrukcji w pamięci potrzebujesz zdefiniowania jej wartości początkowej, która zostanie załadowana podczas programowania FPGA. Można to zrobić z zastosowaniem modułu Wizard. Rys. 5. Konfiguracja ALTSYNCRAM. Odpowiedni ekran MegaWizard Plug-In Manager przedstawiono na rysunku 6.

44 Rys. 6. Specyfikacja pliku inicjującego RAM. Wybraliśmy plik o nazwie inst_mem.mif, który będzie utworzony w katalogu projektu. Przeczytaj on-line Help opisujący format pliku MIF. Utwórz taki plik, zawierający instrukcje do testowania procesora. 3. Zastosuj symulację funkcjonalną do przetestowania układu. Upewnij się, iż poprawnie pobiera on dane z pamięci ROM i wykonuje przez procesor. 4. Dołącz do układu niezbędne nazwy portów i przypisania pinów. Użyj SW 17 jako sygnału Run, KEY0 jako Reset, KEY1 jako MClock, KEY2 jako PClock. Połącz magistralę z LEDR 15-0 oraz LEDR 17 z Done. 5. Skompiluj układ i załaduj FPGA. 6. Przetestuj jego pracę manipulując przełącznikami i obserwując diody.

45 Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 6a (3h) Implementacja interfejsu SPI w strukturze programowalnej (absolwenci specjalności Teleiformatyka i Optoelektronika) Instrukcja pomocnicza do laboratorium z przedmiotu Programowalne Układy Cyfrowe studiów dziennych II stopnia kierunku: Elektronika i Telekomunikacja specjalność Telekomunikacja Kod przedmiotu: TS2D Instrukcję opracował: dr inż. Marian Gilewski Białystok 2017

46 1. Cel ćwiczenia Celem ćwiczenia jest implementacja trójprzewodowego interfejsu SPI do obsługi potencjometru cyfrowego. 2. Część pierwsza podstawy funkcjonowania magistrali SPI SPI (Serial Peripheral Interface) jest to przemysłowym standardem szeregowej synchronicznej transmisji systemów wbudowanych. Układ z magistralą SPI może pracować jako master i slave. Obecnie magistrala używana do obsługi min: układów zegarowych czasu rzeczywistego, szeregowych pamięci EEPROM, przetworników AC i CA, sterowników LCD i wielokanałowych sterowników LED. Uzyskiwane szybkości transmisji wynoszą powyżej 10 Mbps. Do transmisji w SPI używane są trzy sygnały: SCK (CLK, SCLK) sygnał zegarowy, SDI (DI,SI,MISO) dane wejściowe, SDO (DO,SO,MOSI) szeregowe dane wyjściowe, CS sygnał zezwolenia układu. Transmisja danych odbywa się w takt sygnału SCK - jeden bit informacji przypada na okres SCK. Transmisja danych może następować w trybie full duplex, czyli może odbywać się w obu kierunkach jednocześnie liniami SDI i SDO. Transmisja jest typu master - slave, z jednym sterującym układem master. Sygnały SDI, SDO i SCK są typowymi wejściami/wyjściami cyfrowymi. SDO układu slave najczęściej jest bramką trójstanową. Długość słów transmitowanych może być większa niż 8 bitów. Układ slave nie potrzebuje unikalnego adresu, jest wybierany poprzez sygnał chip select (CS). W systemie nie ma potwierdzania poprawności transmisji (master nie wie czy slave odbiera poprawnie informacje). Urządzenie slave korzysta z sygnału CLK master. Większość nowych na rynku układów cyfrowych wyposażonych jest w sprzętowy interfejs SPI oparty na rejestrze przesuwnym, który może być skonfigurowany jako master lub slave. Sygnał MOSI (Master Output Slave Input), gdy układ pracuje jako master pełni role wyjścia, gdy skonfigurowany jest jako slave jest wejściem. Sygnał MISO (Master Input Slave Output) pełni odwrotne role.

47 Przykładem użycia interfejsu SPI może być obsługa 8-kanałowego przetwornika AC o rozdzielczości 12-bitów. Żeby zainicjować przetwarzanie określonego kanału pomiarowego oraz odczytać wynik pomiaru sterownik musi wysłać 3 bajty danych w formacie jak poniżej. Bit SGL/DIFF określa czy pomiar będzie różnicowy czy też odniesiony do masy analogowej, a bity D2, D1, D0 wyznaczają, który kanał analogowy został wybrany do pomiaru. Drugi i trzeci bajt przesłany z przetwornika zawiera informację o wyniku przetwarzania. Sygnał SCL interfejsu jest wykorzystywany nie tylko do komunikacji, ale również do taktowania układu przetwarzania. 3. Część druga opis obsługiwanego układu W niniejszym ćwiczeniu obsługiwanym układem z magistralą SPI będzie potencjometr cyfrowy 10kΩ typu MCP41010 Microchip. Układ może być zasilany napięciem od 3,3V do 7V przy częstotliwości sygnału zegarowego do 10 MHz. Na poniższym rysunku przedstawiono zależności czasowe sygnałów w układzie. Wartości czasowe sygnałów nie są krytyczne, wystarczy przyjąć iż zmiana sygnału SI może następować w połowie czasu trwania poziomu wysokiego sygnału zegarowego, zbocze opadające sygnału CS inicjujące transmisję może wystąpić również w połowie czasu trwania poziomu wysokiego sygnału zegarowego zaś zbocze narastające CS kończy transmisję. Szczegółowy opis parametrów potencjometru można znaleźć na stronie producenta Stronę analogową potencjometru należy polaryzować w sposób przedstawiony na rysunku niżej:

48 Znaczenie poszczególnych wyprowadzeń potencjometru przedstawia poniższa tabela : Obsługiwany potencjometr ustawia proporcjonalnie jedną z 256 wartości rezystancji w zależności od zawartości wysłanego bajtu danych (Data Byte), przy czym wartości " " odpowiada rezystancja wyjściowa PW0 równa 50 Ω zaś wartości " " rezystancja 10 kω. Obsługa potencjometr sprowadza się do: ustawienia sygnału CS w stan niski, wysłania 1 i 2 taktu zegarowego, wysłania bitów "01" w 3 i 4 takcie zagarowym (COMMAND Byte), wysłania 5 i 6 taktu zegarowego, wysłania bitów "01" w 7 i 8 takcie zegarowym (Channel Select Bits), wysłania bajtu wartości rezystancji (Data Byte) w 9 16 taktach zegarowych oraz zakończenie transmisji w wyniku podniesienia sygnału CS do poziomu wysokiego.

49 4. Część trzecia zadanie projektowe Realizacja ćwiczenia odbywa się w następujących krokach: 1. Należy przygotować aplikację sterującą potencjometrem w strukturze FPGA, wprowadzając sygnały sterujące na złącze GPIO modułu DE2. 2. Układ należy skompilować i przebadać symulacyjnie. 3. Przed podłączeniem potencjometru należy oscyloskopem zbadać sygnały na odpowiednich pinach GPIO. 4. Układ scalony należy połączyć ze złączem GPIO DE2 w sposób następujący: - masę układu V SS (Pin 4) należy połączyć z masą GPIO, - wejścia sygnałów sterujących CS, SCK i SI z odpowiednimi portami IO GPIO, - zasilanie układu V DD z wyprowadzeniem VCC33 GPIO, - PA0 potencjometru z VCC33 GPIO, - PB0 potencjometru z masą GPIO. 5. Pomiędzy piny PW0 i PB0 potencjometru należy włączyć woltomierz. 6. Należy zdjąć charakterystykę napięcia wyjściowego potencjometru w funkcji wartości nastaw Data Byte. Literatura: 1. Barski M., Jędruch W.: Układy cyfrowe, podstawy projektowania i opisu w języku VHDL, Wydawnictwo Politechniki Gdańskiej, Łuba T.: Synteza układów cyfrowych, WKiŁ, Warszawa, Mano M.M., Kime Ch.R.: Podstawy projektowania układów logicznych i komputerów, NT, Warszawa Skahill K.: Język VHDL Projektowanie programowalnych układów logicznych, WNT, Warszawa, 2001.

50 Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 6b (3h) Transmisja pomiędzy układami FPGA za pośrednictwem Bluetooth. (absolwenci specjalności Aparatura Elektroniczna) Instrukcja pomocnicza do laboratorium z przedmiotu Programowalne Układy Cyfrowe studiów dziennych II stopnia kierunku: Elektronika i Telekomunikacja specjalność Telekomunikacja Kod przedmiotu: TS2D Opracował: dr inż. Marian Gilewski Białystok 2017

51 1. Cel ćwiczenia. Celem ćwiczenia jest realizacja transmisji szeregowej za pośrednictwem Bluetooth Wireles RS232 pomiędzy układami firmy Xilinx. Dodatkowym elementem jest doskonalenie umiejętności syntezy projektów w układach FPGA w środowisku Vivado Web Pack. 2. Część pierwsza. Zrealizuj projekt transmisji dwukierunkowej za pośrednictwem modułów Bluetooth przyjmując szybkość transmisji 9600 bps. Dokonaj transmisji pojedyńczych znaków zadawanych za pomocą przełączników i wyświetlanych na diodach LED modułów prototypowych FPGA z dołączonymi modułami Bluetooth. W tym celu wykonaj następujące kroki: 1. Utwórz nowy projekt. 2. Napisz w języku VHDL moduły obsługujące transmisję. Wysyłana/odbierana ramka danych powinna zawierać bit startu, bajt danych, bity stopu oraz parzystości. 3. Skompiluj i dokonaj symulacji funkcjonalnej poszczególnych modułów. 4. Połącz elementy składowe stanowiska laboratoryjnego. Przypisz wymagane numery pinów FPGA poszczególnych elementów składowych, takich jak moduł IrDA, przełączniki i wyświetlacze. Projekt końcowy skompiluj i załaduj FPGA. 5. Dokonaj badań transmisji w sposób następujący. Ustaw zaprojektowany układ w tryb nadajnika, ustaw bajt transmitowanych danych, wyświetlanych na diodach LED, wciśnij przycisk START. Po stronie odbiorczej, w sąsiednim zespole studenckim, układ powinien być ustawiony w tryb odbioru. Odebrane informacje powinny być wyświetlone na diodach LED po stronie odbiorczej. W kolejnym kroku należy zamienić kierunek transmisji i sprawdzić pracę układów. W końcowej fazie należy przebadać transmisję dwukierunkową (duplex). 3. Część druga. Płyta prototypowa Nexys4 zawiera przełączniki mono- i bistabilne, które w bieżącym ćwiczeniu będą wykorzystywane do zadawania bitów kodu wysyłanych znaków oraz 8 diod LED służących do wyświetlania odbieranych danych. Ponadto zamontowane są gniazda do których należy przyłączyć moduł Bluetooth, przyłączenie będzie realizowane za pośrednictwem kabla ignorującego handshaking, przedstawionego poniżej: Rys. 1. Schemat połączenia gniazda DB9 z modułem Bluetooth Szczegółowe dane katalogowe płyty Nexys4 znajdują się w laboratorium.

52 4. Część trzecia. Bluetooth RS232 jest urządzeniem, którym można połączyć dwa urządzenia wykorzystując port RS232. Urządzenie jest przydatne tam, gdzie nie da się zrealizować połączenia kablowego. Rys. 5. Widok modułów Bluetooth. Podstawowe parametry modułu są następujące: - standard Bluetooth v1.1, - częstotliwość pracy 2,4 2,4835 GHz, - moc 13 dbm, - czułość od 88 dbm do 0,1% BER, - prędkość transmisji od 9600 do bit/s, - maksymalny zasięg 100 m, - wbudowana antena, - zasilanie 7,5V lub przez złącze RS, - diody sygnalizujące status pracy modułu, - złącze RS232 DTE/DCE. Do konfiguracji modułu stosowane jest specjalne oprogramowanie. Jest ono zainstalowane w laboratorium. Widoki ekranu wybranych funkcji przedstawiono poniżej: 5. Część czwarta.

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 8 (3h) Implementacja pamięci RAM w FPGA.

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 8 (3h) Implementacja pamięci RAM w FPGA. Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 8 (3h) Implementacja pamięci RAM w FPGA. Instrukcja pomocnicza do laboratorium z przedmiotu Synteza układów cyfrowych

Bardziej szczegółowo

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 2 (3h) Przełączniki, wyświetlacze, multipleksery - implementacja i obsługa w VHDL Instrukcja pomocnicza do laboratorium

Bardziej szczegółowo

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 4 (3h) Przerzutniki, zatrzaski i rejestry w VHDL

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 4 (3h) Przerzutniki, zatrzaski i rejestry w VHDL Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 4 (3h) Przerzutniki, zatrzaski i rejestry w VHDL Instrukcja pomocnicza do laboratorium z przedmiotu Synteza układów

Bardziej szczegółowo

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 3 (4h) Konwersja i wyświetlania informacji binarnej w VHDL Instrukcja do zajęć laboratoryjnych z przedmiotu Synteza

Bardziej szczegółowo

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: SYNTEZA UKŁADÓW CYFROWYCH ES2D100005

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: SYNTEZA UKŁADÓW CYFROWYCH ES2D100005 Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: SYNTEZA UKŁADÓW CYFROWYCH ES2D100005 Ćwiczenie Nr 8 Implementacja prostego

Bardziej szczegółowo

Projekt prostego procesora

Projekt prostego procesora Projekt prostego procesora Opracowany przez Rafała Walkowiaka dla zajęć z PTC 2012/2013 w oparciu o Laboratory Exercise 9 Altera Corporation Rysunek 1 przedstawia schemat układu cyfrowego stanowiącego

Bardziej szczegółowo

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 8 (3h) Implementacja pamięci ROM w FPGA

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 8 (3h) Implementacja pamięci ROM w FPGA Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 8 (3h) Implementacja pamięci ROM w FPGA Instrukcja pomocnicza do laboratorium z przedmiotu Programowalne Struktury

Bardziej szczegółowo

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 7 (2h) Obsługa urządzenia peryferyjnego z użyciem pamięci w VHDL. Instrukcja do zajęć laboratoryjnych z przedmiotu

Bardziej szczegółowo

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 9 (3h) Projekt struktury hierarchicznej układu cyfrowego w FPGA. Instrukcja pomocnicza do laboratorium z przedmiotu

Bardziej szczegółowo

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 10 (3h) Implementacja interfejsu SPI w strukturze programowalnej Instrukcja pomocnicza do laboratorium z przedmiotu

Bardziej szczegółowo

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: SYNTEZA UKŁADÓW CYFROWYCH ES2D100005

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: SYNTEZA UKŁADÓW CYFROWYCH ES2D100005 Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: SYNTEZA UKŁADÓW CYFROWYCH ES2D100005 Ćwiczenie Nr 9 Procesor złożony Opracował:

Bardziej szczegółowo

Politechnika Białostocka

Politechnika Białostocka Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: ELEKTRONIKA 2 Kod: ES1C400 026 ZASTOSOWANIA WYBRANYCH UKŁADÓW SCALONYCH

Bardziej szczegółowo

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 1 (3h) Wprowadzenie do obsługi platformy projektowej Quartus II Instrukcja pomocnicza do laboratorium z przedmiotu

Bardziej szczegółowo

WOJSKOWA AKADEMIA TECHNICZNA im. Jarosława Dąbrowskiego LABORATORIUM UKŁADÓW PROGRAMOWALNYCH I SPECJALIZOWANYCH

WOJSKOWA AKADEMIA TECHNICZNA im. Jarosława Dąbrowskiego LABORATORIUM UKŁADÓW PROGRAMOWALNYCH I SPECJALIZOWANYCH WOJSKOWA AKADEMIA TECHNICZNA im. Jarosława Dąbrowskiego LABORATORIUM UKŁADÓW PROGRAMOWALNYCH I SPECJALIZOWANYCH SPRAWOZDANIE Temat: Projekt notesu elektronicznego w języku VHDL przy użyciu układów firmy

Bardziej szczegółowo

Systemy Czasu Rzeczywistego FPGA

Systemy Czasu Rzeczywistego FPGA 01. Systemy Czasu Rzeczywistego FPGA 1 Systemy Czasu Rzeczywistego FPGA laboratorium: 05 autor: mgr inż. Mateusz Baran 01. Systemy Czasu Rzeczywistego FPGA 2 1 Spis treści FPGA... 1 1 Spis treści... 2

Bardziej szczegółowo

Projektowanie Urządzeń Cyfrowych

Projektowanie Urządzeń Cyfrowych Projektowanie Urządzeń Cyfrowych Laboratorium 2 Przykład prostego ALU Opracował: mgr inż. Leszek Ciopiński Wstęp: Magistrale: Program MAX+plus II umożliwia tworzenie magistral. Magistrale są to grupy przewodów

Bardziej szczegółowo

LABORATORIUM TECHNIKA CYFROWA. Pamięci. Rev.1.35

LABORATORIUM TECHNIKA CYFROWA. Pamięci. Rev.1.35 LABORATORIUM TECHNIKA CYFROWA Pamięci Rev.1.35 1. Cel ćwiczenia Praktyczna weryfikacja wiedzy teoretycznej z projektowania modułów sterowania oraz kontroli pamięci 2. Kolokwium Kolokwium wstępne sprawdzające

Bardziej szczegółowo

Altera Quartus II. Opis niektórych komponentów dostarczanych razem ze środowiskiem. Opracował: mgr inż. Leszek Ciopiński

Altera Quartus II. Opis niektórych komponentów dostarczanych razem ze środowiskiem. Opracował: mgr inż. Leszek Ciopiński Altera Quartus II Opis niektórych komponentów dostarczanych razem ze środowiskiem Opracował: mgr inż. Leszek Ciopiński Spis treści Opis wybranych zagadnień obsługi środowiska Altera Quartus II:...1 Magistrale:...

Bardziej szczegółowo

Systemy Czasu Rzeczywistego FPGA

Systemy Czasu Rzeczywistego FPGA 01. Systemy Czasu Rzeczywistego FPGA 1 Systemy Czasu Rzeczywistego FPGA laboratorium: 04 autor: mgr inż. Mateusz Baran 01. Systemy Czasu Rzeczywistego FPGA 2 1 Spis treści FPGA... 1 1 Spis treści... 2

Bardziej szczegółowo

Spis treści 1. Wstęp 2. Ćwiczenia laboratoryjne LPM

Spis treści 1. Wstęp 2. Ćwiczenia laboratoryjne LPM Spis treści 1. Wstęp... 9 2. Ćwiczenia laboratoryjne... 12 2.1. Środowisko projektowania Quartus II dla układów FPGA Altera... 12 2.1.1. Cel ćwiczenia... 12 2.1.2. Wprowadzenie... 12 2.1.3. Przebieg ćwiczenia...

Bardziej szczegółowo

Układy sekwencyjne. Podstawowe informacje o układach cyfrowych i przerzutnikach (rodzaje, sposoby wyzwalania).

Układy sekwencyjne. Podstawowe informacje o układach cyfrowych i przerzutnikach (rodzaje, sposoby wyzwalania). Ćw. 10 Układy sekwencyjne 1. Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z sekwencyjnymi, cyfrowymi blokami funkcjonalnymi. W ćwiczeniu w oparciu o poznane przerzutniki zbudowane zostaną układy rejestrów

Bardziej szczegółowo

Ćw. 7: Układy sekwencyjne

Ćw. 7: Układy sekwencyjne Ćw. 7: Układy sekwencyjne Wstęp Celem ćwiczenia jest zapoznanie się z sekwencyjnymi, cyfrowymi blokami funkcjonalnymi. W ćwiczeniu w oparciu o poznane przerzutniki zbudowane zostaną następujące układy

Bardziej szczegółowo

Organizacja pamięci VRAM monitora znakowego. 1. Tryb pracy automatycznej

Organizacja pamięci VRAM monitora znakowego. 1. Tryb pracy automatycznej Struktura stanowiska laboratoryjnego Na rysunku 1.1 pokazano strukturę stanowiska laboratoryjnego Z80 z interfejsem częstościomierza- czasomierz PFL 21/22. Rys.1.1. Struktura stanowiska. Interfejs częstościomierza

Bardziej szczegółowo

Systemy Czasu Rzeczywistego FPGA

Systemy Czasu Rzeczywistego FPGA 01. Systemy Czasu Rzeczywistego FPGA 1 Systemy Czasu Rzeczywistego FPGA laboratorium: 03 autor: mgr inż. Mateusz Baran 01. Systemy Czasu Rzeczywistego FPGA 2 1 Spis treści FPGA... 1 1 Spis treści... 2

Bardziej szczegółowo

Programowalne Układy Cyfrowe Laboratorium

Programowalne Układy Cyfrowe Laboratorium Zdjęcie opracowanej na potrzeby prowadzenia laboratorium płytki przedstawiono na Rys.1. i oznaczono na nim najważniejsze elementy: 1) Zasilacz i programator. 2) Układ logiki programowalnej firmy XILINX

Bardziej szczegółowo

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. Automaty stanów

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. Automaty stanów Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 6 (2h) Automaty stanów Instrukcja do zajęć laboratoryjnych z przedmiotu Synteza układów cyfrowych studia niestacjonarne,

Bardziej szczegółowo

Badanie układów średniej skali integracji - ćwiczenie Cel ćwiczenia. 2. Wykaz przyrządów i elementów: 3. Przedmiot badań

Badanie układów średniej skali integracji - ćwiczenie Cel ćwiczenia. 2. Wykaz przyrządów i elementów: 3. Przedmiot badań adanie układów średniej skali integracji - ćwiczenie 6. Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z podstawowymi układami SSI (Średniej Skali Integracji). Przed wykonaniem ćwiczenia należy zapoznać

Bardziej szczegółowo

Sposoby projektowania systemów w cyfrowych

Sposoby projektowania systemów w cyfrowych Sposoby projektowania systemów w cyfrowych Top-down Idea całości projektu Dekompozycja na mniejsze bloki Projekt i rafinacja podbloków Łączenie bloków w całość PRZYKŁAD (sumator kaskadowy) zdefiniowanie

Bardziej szczegółowo

Bezpieczeństwo informacji oparte o kryptografię kwantową

Bezpieczeństwo informacji oparte o kryptografię kwantową WYŻSZA SZKOŁA BIZNESU W DĄBROWIE GÓRNICZEJ WYDZIAŁ ZARZĄDZANIA INFORMATYKI I NAUK SPOŁECZNYCH Instrukcja do laboratorium z przedmiotu: Bezpieczeństwo informacji oparte o kryptografię kwantową Instrukcja

Bardziej szczegółowo

Projektowania Układów Elektronicznych CAD Laboratorium

Projektowania Układów Elektronicznych CAD Laboratorium Projektowania Układów Elektronicznych CAD Laboratorium ĆWICZENIE NR 3 Temat: Symulacja układów cyfrowych. Ćwiczenie demonstruje podstawowe zasady analizy układów cyfrowych przy wykorzystaniu programu PSpice.

Bardziej szczegółowo

4. Karta modułu Slave

4. Karta modułu Slave sygnały na magistralę. Można wyróżnić trzy typy układów scalonych takie jak bramki o otwartym kolektorze wyjściowym, bramki trójstanowe i bramki o przeciwsobnym wzmacniaczu wyjściowym. Obciążalność prądową

Bardziej szczegółowo

Krótkie wprowadzenie do ModelSim i Quartus2

Krótkie wprowadzenie do ModelSim i Quartus2 Krótkie wprowadzenie do ModelSim i Quartus2 wersja 04.2011 1 Plan Oprogramowanie Pliki źródłowe Scenariusze użycia 2 Programy Programy w wersji darmowej do pobrania ze strony www.altera.com ModelSim-Altera

Bardziej szczegółowo

dokument DOK 02-05-12 wersja 1.0 www.arskam.com

dokument DOK 02-05-12 wersja 1.0 www.arskam.com ARS3-RA v.1.0 mikro kod sterownika 8 Linii I/O ze zdalną transmisją kanałem radiowym lub poprzez port UART. Kod przeznaczony dla sprzętu opartego o projekt referencyjny DOK 01-05-12. Opis programowania

Bardziej szczegółowo

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja. do ćwiczeń laboratoryjnych z przedmiotu: SYSTEMY CYFROWE 1.

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja. do ćwiczeń laboratoryjnych z przedmiotu: SYSTEMY CYFROWE 1. Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: SYSTEMY CYFROWE 1 PAMIĘCI SZEREGOWE EEPROM Ćwiczenie 3 Opracował: dr inŝ.

Bardziej szczegółowo

Programowanie Układów Logicznych kod kursu: ETD6203 W dr inż. Daniel Kopiec. Pamięć w układach programowalnych

Programowanie Układów Logicznych kod kursu: ETD6203 W dr inż. Daniel Kopiec. Pamięć w układach programowalnych Programowanie Układów Logicznych kod kursu: ETD623 Pamięć w układach programowalnych W6 6.4.26 dr inż. Daniel Kopiec Plan wykładu Pamięć w układach programowalnych Zasada działania, podział pamięci Miara

Bardziej szczegółowo

Specyfika projektowania Mariusz Rawski

Specyfika projektowania Mariusz Rawski CAD Specyfika projektowania Mariusz Rawski rawski@tele.pw.edu.pl http://rawski.zpt.tele.pw.edu.pl/ System cyfrowy pierwsze skojarzenie Urządzenia wprowadzania danych: klawiatury czytniki urządzenia przetwarzania

Bardziej szczegółowo

Ćwiczenie 01 - Strona nr 1 ĆWICZENIE 01

Ćwiczenie 01 - Strona nr 1 ĆWICZENIE 01 ĆWICZENIE 01 Ćwiczenie 01 - Strona nr 1 Polecenie: Bez użycia narzędzi elektronicznych oraz informatycznych, wykonaj konwersje liczb z jednego systemu liczbowego (BIN, OCT, DEC, HEX) do drugiego systemu

Bardziej szczegółowo

Liczniki, rejestry lab. 07 Układy sekwencyjne cz. 1

Liczniki, rejestry lab. 07 Układy sekwencyjne cz. 1 Liczniki, rejestry lab. 07 Układy sekwencyjne cz. 1 PODSTAWY TECHNIKI CYFROWEJ I MIKROPROCESOROWEJ EIP KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII WWW.KEIASPE.AGH.EDU.PL AKADEMIA

Bardziej szczegółowo

Lista tematów na kolokwium z wykładu z Techniki Cyfrowej w roku ak. 2013/2014

Lista tematów na kolokwium z wykładu z Techniki Cyfrowej w roku ak. 2013/2014 Lista tematów na kolokwium z wykładu z Techniki Cyfrowej w roku ak. 2013/2014 Temat 1. Algebra Boole a i bramki 1). Podać przykład dowolnego prawa lub tożsamości, które jest spełnione w algebrze Boole

Bardziej szczegółowo

1. Poznanie właściwości i zasady działania rejestrów przesuwnych. 2. Poznanie właściwości i zasady działania liczników pierścieniowych.

1. Poznanie właściwości i zasady działania rejestrów przesuwnych. 2. Poznanie właściwości i zasady działania liczników pierścieniowych. Ćwiczenie 9 Rejestry przesuwne i liczniki pierścieniowe. Cel. Poznanie właściwości i zasady działania rejestrów przesuwnych.. Poznanie właściwości i zasady działania liczników pierścieniowych. Wprowadzenie.

Bardziej szczegółowo

Projektowanie Systemów Wbudowanych

Projektowanie Systemów Wbudowanych Projektowanie Systemów Wbudowanych Podstawowe informacje o płycie DE2 Autorzy: mgr inż. Dominik Bąk i mgr inż. Leszek Ciopiński 1. Płyta DE2 Rysunek 1. Widok płyty DE2 z zaznaczonymi jej komponentami.

Bardziej szczegółowo

Modelowanie liczników w języku Verilog i ich implementacja w strukturze FPGA

Modelowanie liczników w języku Verilog i ich implementacja w strukturze FPGA Modelowanie liczników w języku Verilog i ich implementacja w strukturze FPGA Licznik binarny Licznik binarny jest najprostszym i najpojemniejszym licznikiem. Kod 4 bitowego synchronicznego licznika binarnego

Bardziej szczegółowo

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: PROGRAMOWALNE STRUKTURY LOGICZNE

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: PROGRAMOWALNE STRUKTURY LOGICZNE Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: PROGRAMOWALNE STRUKTURY LOGICZNE ES1C420 300 Ćwiczenie Nr 9 REALIZACJA

Bardziej szczegółowo

LABORATORIUM ELEKTRONIKI I TEORII OBWODÓW

LABORATORIUM ELEKTRONIKI I TEORII OBWODÓW POLITECHNIKA POZNAŃSKA FILIA W PILE LABORATORIUM ELEKTRONIKI I TEORII OBWODÓW numer ćwiczenia: data wykonania ćwiczenia: data oddania sprawozdania: OCENA: 6 21.11.2002 28.11.2002 tytuł ćwiczenia: wykonawcy:

Bardziej szczegółowo

Bramki logiczne Instrukcja do ćwiczeń laboratoryjnych

Bramki logiczne Instrukcja do ćwiczeń laboratoryjnych Bramki logiczne Instrukcja do ćwiczeń laboratoryjnych. WSTĘP Celem ćwiczenia jest zapoznanie się z podstawowymi sposobami projektowania układów cyfrowych o zadanej funkcji logicznej, na przykładzie budowy

Bardziej szczegółowo

Technika cyfrowa projekt: Sumator 4 bitowy równoległy

Technika cyfrowa projekt: Sumator 4 bitowy równoległy Technika cyfrowa projekt: Sumator 4 bitowy równoległy Autorzy: Paweł Bara Robert Boczek Przebieg prac projektowych: Zadany układ dostaje na wejściu dwie czterobitowe liczby naturalne, sumuje je, po czym

Bardziej szczegółowo

Tranzystor JFET i MOSFET zas. działania

Tranzystor JFET i MOSFET zas. działania Tranzystor JFET i MOSFET zas. działania brak kanału v GS =v t (cutoff ) kanał otwarty brak kanału kanał otwarty kanał zamknięty w.2, p. kanał zamknięty Co było na ostatnim wykładzie? Układy cyfrowe Najczęściej

Bardziej szczegółowo

3.2. Zegar/kalendarz z pamięcią statyczną RAM 256 x 8

3.2. Zegar/kalendarz z pamięcią statyczną RAM 256 x 8 3.2. Zegar/kalendarz z pamięcią statyczną RAM 256 x 8 Układ PCF 8583 jest pobierającą małą moc, 2048 bitową statyczną pamięcią CMOS RAM o organizacji 256 x 8 bitów. Adresy i dane są przesyłane szeregowo

Bardziej szczegółowo

Systemy Czasu Rzeczywistego FPGA

Systemy Czasu Rzeczywistego FPGA 01. Systemy Czasu Rzeczywistego FPGA 1 Systemy Czasu Rzeczywistego FPGA laboratorium: 06 autor: mgr inż. Mateusz Baran 01. Systemy Czasu Rzeczywistego FPGA 2 1 Spis treści FPGA... 1 1 Spis treści... 2

Bardziej szczegółowo

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 1 (3h) Wprowadzenie do systemu Quartus II

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 1 (3h) Wprowadzenie do systemu Quartus II Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 1 (3h) Wprowadzenie do systemu Quartus II Instrukcja pomocnicza do laboratorium z przedmiotu Synteza układów cyfrowych

Bardziej szczegółowo

Ćwiczenie 31 Temat: Analogowe układy multiplekserów i demultiplekserów. Układ jednostki arytmetyczno-logicznej (ALU).

Ćwiczenie 31 Temat: Analogowe układy multiplekserów i demultiplekserów. Układ jednostki arytmetyczno-logicznej (ALU). Ćwiczenie 31 Temat: Analogowe układy multiplekserów i demultiplekserów. Układ jednostki arytmetyczno-logicznej (ALU). Cel ćwiczenia Poznanie własności analogowych multiplekserów demultiplekserów. Zmierzenie

Bardziej szczegółowo

Ćwiczenie MMLogic 002 Układy sekwencyjne cz. 2

Ćwiczenie MMLogic 002 Układy sekwencyjne cz. 2 Ćwiczenie MMLogic 002 Układy sekwencyjne cz. 2 TECHNIKA MIKROPROCESOROWA 3EB KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII WWW.KEIASPE.AGH.EDU.PL AKADEMIA GÓRNICZO-HUTNICZA WWW.AGH.EDU.PL

Bardziej szczegółowo

1.2 Schemat blokowy oraz opis sygnałów wejściowych i wyjściowych

1.2 Schemat blokowy oraz opis sygnałów wejściowych i wyjściowych Dodatek A Wyświetlacz LCD. Przeznaczenie i ogólna charakterystyka Wyświetlacz ciekłokrystaliczny HY-62F4 zastosowany w ćwiczeniu jest wyświetlaczem matrycowym zawierającym moduł kontrolera i układ wykonawczy

Bardziej szczegółowo

Zestaw przedłużacza, 4K HDMI HDBaseT, 70 m

Zestaw przedłużacza, 4K HDMI HDBaseT, 70 m Zestaw przedłużacza, 4K HDMI HDBaseT, 70 m Instrukcja obsługi DS-55503 Przed instalacją i obsługą urządzenia należy dokładnie zapoznać się z poniższymi zaleceniami dotyczącymi bezpieczeństwa: 1. Należy

Bardziej szczegółowo

Zestaw przedłużacza, 4K HDMI HDBaseT, 100 m

Zestaw przedłużacza, 4K HDMI HDBaseT, 100 m Zestaw przedłużacza, 4K HDMI HDBaseT, 100 m Instrukcja obsługi DS-55504 Przed instalacją i obsługą urządzenia należy dokładnie zapoznać się z poniższymi zaleceniami dotyczącymi bezpieczeństwa: 1. Należy

Bardziej szczegółowo

Ćwiczenie 27 Temat: Układy komparatorów oraz układy sumujące i odejmujące i układy sumatorów połówkowych i pełnych. Cel ćwiczenia

Ćwiczenie 27 Temat: Układy komparatorów oraz układy sumujące i odejmujące i układy sumatorów połówkowych i pełnych. Cel ćwiczenia Ćwiczenie 27 Temat: Układy komparatorów oraz układy sumujące i odejmujące i układy sumatorów połówkowych i pełnych. Cel ćwiczenia Poznanie zasad budowy działania komparatorów cyfrowych. Konstruowanie komparatorów

Bardziej szczegółowo

Lista zadań nr 1. Zagadnienia stosowanie sieci Petriego (ang. Petri net) jako narzędzia do modelowania algorytmów sterowania procesami

Lista zadań nr 1. Zagadnienia stosowanie sieci Petriego (ang. Petri net) jako narzędzia do modelowania algorytmów sterowania procesami Warsztaty Koła Naukowego SMART dr inż. Grzegorz Bazydło G.Bazydlo@iee.uz.zgora.pl, staff.uz.zgora.pl/gbazydlo Lista zadań nr 1 Zagadnienia stosowanie sieci Petriego (ang. Petri net) jako narzędzia do modelowania

Bardziej szczegółowo

Sterownik Spid Pant 8 i Ant 8. Podręcznik użytkowania

Sterownik Spid Pant 8 i Ant 8. Podręcznik użytkowania Sterownik Spid Pant 8 i Ant 8 Podręcznik użytkowania Spis treści Spis treści...2 Wprowadzenie...3 Komplet...3 Dane techniczne...3 Panel sterujący...4 Panel tylny...5 Obsługa sterownika...6 Zmiana trybu

Bardziej szczegółowo

Parametryzacja przetworników analogowocyfrowych

Parametryzacja przetworników analogowocyfrowych Parametryzacja przetworników analogowocyfrowych wersja: 05.2015 1. Cel ćwiczenia Celem ćwiczenia jest zaprezentowanie istoty działania przetworników analogowo-cyfrowych (ADC analog-to-digital converter),

Bardziej szczegółowo

Laboratorium z podstaw techniki cyfrowej Studia inżynierskie niestacjonarne/stacjonarne, II rok III semestr, 2016/2017. W ramach laboratorium używamy:

Laboratorium z podstaw techniki cyfrowej Studia inżynierskie niestacjonarne/stacjonarne, II rok III semestr, 2016/2017. W ramach laboratorium używamy: Laboratorium z podstaw techniki cyfrowej Studia inżynierskie niestacjonarne/stacjonarne, II rok III semestr, 2016/2017 W ramach laboratorium używamy: - oprogramowanie: QUARTUS 13.0 sp1 firmy Altera i -

Bardziej szczegółowo

Podstawowe układy cyfrowe

Podstawowe układy cyfrowe ELEKTRONIKA CYFROWA SPRAWOZDANIE NR 4 Podstawowe układy cyfrowe Grupa 6 Prowadzący: Roman Płaneta Aleksandra Gierut CEL ĆWICZENIA Celem ćwiczenia jest zapoznanie się z podstawowymi bramkami logicznymi,

Bardziej szczegółowo

Inwerter logiczny. Ilustracja 1: Układ do symulacji inwertera (Inverter.sch)

Inwerter logiczny. Ilustracja 1: Układ do symulacji inwertera (Inverter.sch) DSCH2 to program do edycji i symulacji układów logicznych. DSCH2 jest wykorzystywany do sprawdzenia architektury układu logicznego przed rozpoczęciem projektowania fizycznego. DSCH2 zapewnia ergonomiczne

Bardziej szczegółowo

LABORATORIUM ENERGOOSZCZĘDNEGO BUDYNKU

LABORATORIUM ENERGOOSZCZĘDNEGO BUDYNKU LABORATORIUM ENERGOOSZCZĘDNEGO BUDYNKU Ćwiczenie 9 STEROWANIE ROLETAMI POPRZEZ TEBIS TS. WYKORZYSTANIE FUNKCJI WIELOKROTNEGO ŁĄCZENIA. 2 1. Cel ćwiczenia. Celem ćwiczenia jest nauczenie przyszłego użytkownika

Bardziej szczegółowo

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: TECHNIKA CYFROWA 2 TS1C300 020

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: TECHNIKA CYFROWA 2 TS1C300 020 Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: TECHNIKA CYFROWA 2 TS1C300 020 Ćwiczenie Nr 12 PROJEKTOWANIE WYBRANYCH

Bardziej szczegółowo

DPS-3203TK-3. Zasilacz laboratoryjny 3kanałowy. Instrukcja obsługi

DPS-3203TK-3. Zasilacz laboratoryjny 3kanałowy. Instrukcja obsługi DPS-3203TK-3 Zasilacz laboratoryjny 3kanałowy Instrukcja obsługi Specyfikacje Model DPS-3202TK-3 DPS-3203TK-3 DPS-3205TK-3 MPS-6005L-2 Napięcie wyjściowe 0~30V*2 0~30V*2 0~30V*2 0~60V*2 Prąd wyjściowy

Bardziej szczegółowo

Ćw. 9 Przerzutniki. 1. Cel ćwiczenia. 2. Wymagane informacje. 3. Wprowadzenie teoretyczne PODSTAWY ELEKTRONIKI MSIB

Ćw. 9 Przerzutniki. 1. Cel ćwiczenia. 2. Wymagane informacje. 3. Wprowadzenie teoretyczne PODSTAWY ELEKTRONIKI MSIB Ćw. 9 Przerzutniki 1. Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z podstawowymi elementami sekwencyjnymi, czyli przerzutnikami. Zostanie przedstawiona zasada działania przerzutników oraz sposoby

Bardziej szczegółowo

Ćwiczenie Digital Works 003 Układy sekwencyjne i kombinacyjne

Ćwiczenie Digital Works 003 Układy sekwencyjne i kombinacyjne 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

Bardziej szczegółowo

interfejs szeregowy wyświetlaczy do systemów PLC

interfejs szeregowy wyświetlaczy do systemów PLC LDN SBCD interfejs szeregowy wyświetlaczy do systemów PLC SEM 08.2003 Str. 1/5 SBCD interfejs szeregowy wyświetlaczy do systemów PLC INSTRUKCJA OBSŁUGI Charakterystyka Interfejs SBCD w wyświetlaczach cyfrowych

Bardziej szczegółowo

LABORATORIUM ELEKTRONIKA Projektowanie koderów, transkoderów i dekoderów w języku VHDL

LABORATORIUM ELEKTRONIKA Projektowanie koderów, transkoderów i dekoderów w języku VHDL LABORATORIUM ELEKTRONIKA Projektowanie koderów, transkoderów i dekoderów w języku VHDL 1. Cel ćwiczenia W ćwiczeniu student projektuje i implementuje w strukturze układu FPGA (Field Programmable Gate Array)

Bardziej szczegółowo

Ćwiczenie 29 Temat: Układy koderów i dekoderów. Cel ćwiczenia

Ćwiczenie 29 Temat: Układy koderów i dekoderów. Cel ćwiczenia Ćwiczenie 29 Temat: Układy koderów i dekoderów. Cel ćwiczenia Poznanie zasad działania układów koderów. Budowanie koderów z podstawowych bramek logicznych i układu scalonego Czytanie schematów elektronicznych,

Bardziej szczegółowo

Podział układów cyfrowych. rkijanka

Podział układów cyfrowych. rkijanka Podział układów cyfrowych rkijanka W zależności od przyjętego kryterium możemy wyróżnić kilka sposobów podziału układów cyfrowych. Poniżej podam dwa z nich związane ze sposobem funkcjonowania układów cyfrowych

Bardziej szczegółowo

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780 Dane techniczne : Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780 a) wielkość bufora znaków (DD RAM): 80 znaków (80 bajtów) b) możliwość sterowania (czyli podawania kodów znaków) za pomocą

Bardziej szczegółowo

1. ISE WebPack i VHDL Xilinx ISE Design Suite 10.1 VHDL Tworzenie projektu Project Navigator Xilinx ISE Design Suite 10.1 File

1. ISE WebPack i VHDL Xilinx ISE Design Suite 10.1 VHDL Tworzenie projektu Project Navigator Xilinx ISE Design Suite 10.1 File 1. ISE WebPack i VHDL Celem ćwiczenia jest szybkie zaznajomienie się ze środowiskiem projektowym Xilinx ISE Design Suite 10.1 oraz językiem opisu sprzętu VHDL. Tworzenie projektu Uruchom program Project

Bardziej szczegółowo

Temat: Projektowanie i badanie liczników synchronicznych i asynchronicznych. Wstęp:

Temat: Projektowanie i badanie liczników synchronicznych i asynchronicznych. Wstęp: Temat: Projektowanie i badanie liczników synchronicznych i asynchronicznych. Wstęp: Licznik elektroniczny - układ cyfrowy, którego zadaniem jest zliczanie wystąpień sygnału zegarowego. Licznik złożony

Bardziej szczegółowo

1 Badanie aplikacji timera 555

1 Badanie aplikacji timera 555 1 Badanie aplikacji timera 555 Celem ćwiczenia jest zapoznanie studenta z podstawowymi aplikacjami układu 555 oraz jego działaniem i właściwościami. Do badania wybrane zostały trzy podstawowe aplikacje

Bardziej szczegółowo

Ćwiczenie D2 Przerzutniki. Wydział Fizyki UW

Ćwiczenie D2 Przerzutniki. Wydział Fizyki UW Wydział Fizyki UW Pracownia fizyczna i elektroniczna (w tym komputerowa) dla Inżynierii Nanostruktur (1100-1INZ27) oraz Energetyki i Chemii Jądrowej (1100-1ENFIZELEK2) Ćwiczenie 2 Przerzutniki Streszczenie

Bardziej szczegółowo

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: TECHNIKA CYFROWA 2 TS1C300 020

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: TECHNIKA CYFROWA 2 TS1C300 020 Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: TEHNIKA YFOWA 2 T1300 020 Ćwiczenie Nr 6 EALIZAJA FUNKJI EJETOWYH W TUKTUAH

Bardziej szczegółowo

Ćwiczenie 25 Temat: Interfejs między bramkami logicznymi i kombinacyjne układy logiczne. Układ z bramkami NOR. Cel ćwiczenia

Ćwiczenie 25 Temat: Interfejs między bramkami logicznymi i kombinacyjne układy logiczne. Układ z bramkami NOR. Cel ćwiczenia Ćwiczenie 25 Temat: Interfejs między bramkami logicznymi i kombinacyjne układy logiczne. Układ z bramkami NOR. Cel ćwiczenia Zapoznanie się z techniką połączenia za pośrednictwem interfejsu. Zbudowanie

Bardziej szczegółowo

Elementy struktur cyfrowych. Magistrale, układy iterowane w przestrzeni i w czasie, wprowadzanie i wyprowadzanie danych.

Elementy struktur cyfrowych. Magistrale, układy iterowane w przestrzeni i w czasie, wprowadzanie i wyprowadzanie danych. Elementy struktur cyfrowych Magistrale, układy iterowane w przestrzeni i w czasie, wprowadzanie i wyprowadzanie danych. Magistrale W układzie bank rejestrów do przechowywania danych. Wybór źródła danych

Bardziej szczegółowo

Układy reprogramowalne i SoC Język VHDL (część 4)

Układy reprogramowalne i SoC Język VHDL (część 4) Język VHDL (część 4) Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka bez ograniczeń - zintegrowany rozwój Politechniki

Bardziej szczegółowo

UKŁADY CYFROWE. Układ kombinacyjny

UKŁADY CYFROWE. Układ kombinacyjny UKŁADY CYFROWE Układ kombinacyjny Układów kombinacyjnych są bramki. Jedną z cech układów kombinacyjnych jest możliwość przedstawienia ich działania (opisu) w postaci tabeli prawdy. Tabela prawdy podaje

Bardziej szczegółowo

Rok akademicki: 2013/2014 Kod: EEL s Punkty ECTS: 2. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne

Rok akademicki: 2013/2014 Kod: EEL s Punkty ECTS: 2. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne Nazwa modułu: Technika mikroprocesorowa Rok akademicki: 2013/2014 Kod: EEL-1-616-s Punkty ECTS: 2 Wydział: Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej Kierunek: Elektrotechnika Specjalność:

Bardziej szczegółowo

WFiIS CEL ĆWICZENIA WSTĘP TEORETYCZNY

WFiIS CEL ĆWICZENIA WSTĘP TEORETYCZNY WFiIS LABORATORIUM Z ELEKTRONIKI Imię i nazwisko: 1. 2. TEMAT: ROK GRUPA ZESPÓŁ NR ĆWICZENIA Data wykonania: Data oddania: Zwrot do poprawy: Data oddania: Data zliczenia: OCENA CEL ĆWICZENIA Ćwiczenie

Bardziej szczegółowo

ZL4PIC. Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

ZL4PIC. Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC ZL4PIC uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC (v.1.0) ZL4PIC Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC 1 Zestaw jest przeznaczony dla elektroników zajmujących się aplikacjami

Bardziej szczegółowo

Podstawy działania układów cyfrowych...2 Systemy liczbowe...2 Kodowanie informacji...3 Informacja cyfrowa...4 Bramki logiczne...

Podstawy działania układów cyfrowych...2 Systemy liczbowe...2 Kodowanie informacji...3 Informacja cyfrowa...4 Bramki logiczne... Podstawy działania układów cyfrowych...2 Systemy liczbowe...2 Kodowanie informacji...3 Informacja cyfrowa...4 Bramki logiczne...4 Podział układów logicznych...6 Cyfrowe układy funkcjonalne...8 Rejestry...8

Bardziej szczegółowo

ĆWICZENIE 7. Wprowadzenie do funkcji specjalnych sterownika LOGO!

ĆWICZENIE 7. Wprowadzenie do funkcji specjalnych sterownika LOGO! ćwiczenie nr 7 str.1/1 ĆWICZENIE 7 Wprowadzenie do funkcji specjalnych sterownika LOGO! 1. CEL ĆWICZENIA: zapoznanie się z zaawansowanymi możliwościami mikroprocesorowych sterowników programowalnych na

Bardziej szczegółowo

Układy sekwencyjne. 1. Czas trwania: 6h

Układy sekwencyjne. 1. Czas trwania: 6h Instytut Fizyki oświadczalnej UG Układy sekwencyjne 1. Czas trwania: 6h 2. Cele ćwiczenia Poznanie zasad działania podstawowych typów przerzutników: RS, -latch,, T, JK-MS. Poznanie zasad działania rejestrów

Bardziej szczegółowo

Układy logiczne układy cyfrowe

Układy logiczne układy cyfrowe Układy logiczne układy cyfrowe Jak projektować układy cyfrowe (systemy cyfrowe) Układy arytmetyki rozproszonej filtrów cyfrowych Układy kryptograficzne X Selektor ROM ROM AND Specjalizowane układy cyfrowe

Bardziej szczegółowo

Laboratorium 10 Temat: Zaawansowane jednostki testowe. Operacje na plikach. Funkcje.

Laboratorium 10 Temat: Zaawansowane jednostki testowe. Operacje na plikach. Funkcje. Laboratorium 10 Temat: Zaawansowane jednostki testowe. Operacje na plikach. Funkcje. 1. W języku VHDL zdefiniowano mechanizm odczytywania i zapisywania danych z i do plików. Pliki te mogą być wykorzystywane

Bardziej szczegółowo

Elementy struktur cyfrowych. Magistrale, układy iterowane w przestrzeni i w czasie, wprowadzanie i wyprowadzanie danych.

Elementy struktur cyfrowych. Magistrale, układy iterowane w przestrzeni i w czasie, wprowadzanie i wyprowadzanie danych. Elementy struktur cyfrowych Magistrale, układy iterowane w przestrzeni i w czasie, wprowadzanie i wyprowadzanie danych. PTC 2015/2016 Magistrale W układzie cyfrowym występuje bank rejestrów do przechowywania

Bardziej szczegółowo

Programowalne układy logiczne

Programowalne układy logiczne Programowalne układy logiczne Układy synchroniczne Szymon Acedański Marcin Peczarski Instytut Informatyki Uniwersytetu Warszawskiego 26 października 2015 Co to jest układ sekwencyjny? W układzie sekwencyjnym,

Bardziej szczegółowo

2. Architektura mikrokontrolerów PIC16F8x... 13

2. Architektura mikrokontrolerów PIC16F8x... 13 Spis treści 3 Spis treœci 1. Informacje wstępne... 9 2. Architektura mikrokontrolerów PIC16F8x... 13 2.1. Budowa wewnętrzna mikrokontrolerów PIC16F8x... 14 2.2. Napięcie zasilania... 17 2.3. Generator

Bardziej szczegółowo

Ćwiczenie 23. Temat: Własności podstawowych bramek logicznych. Cel ćwiczenia

Ćwiczenie 23. Temat: Własności podstawowych bramek logicznych. Cel ćwiczenia Temat: Własności podstawowych bramek logicznych. Cel ćwiczenia Ćwiczenie 23 Poznanie symboli własności. Zmierzenie parametrów podstawowych bramek logicznych TTL i CMOS. Czytanie schematów elektronicznych,

Bardziej szczegółowo

Struktura i działanie jednostki centralnej

Struktura i działanie jednostki centralnej Struktura i działanie jednostki centralnej ALU Jednostka sterująca Rejestry Zadania procesora: Pobieranie rozkazów; Interpretowanie rozkazów; Pobieranie danych Przetwarzanie danych Zapisywanie danych magistrala

Bardziej szczegółowo

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne Spis treści 5 Spis treœci Co to jest mikrokontroler? Wprowadzenie... 11 Budowa systemu komputerowego... 12 Wejścia systemu komputerowego... 12 Wyjścia systemu komputerowego... 13 Jednostka centralna (CPU)...

Bardziej szczegółowo

RSD Uniwersalny rejestrator danych Zaprojektowany do pracy w przemyśle

RSD Uniwersalny rejestrator danych Zaprojektowany do pracy w przemyśle Uniwersalny rejestrator danych pochodzących z portu szeregowego RS 232 Uniwersalny rejestrator danych Zaprojektowany do pracy w przemyśle - UNIWERSALNY REJESTRATOR DANYCH Max. 35 GB pamięci! to nowoczesne

Bardziej szczegółowo

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej Politechnika Łódzka Instytut Systemów Inżynierii Elektrycznej Laboratorium komputerowych systemów pomiarowych Ćwiczenie 8 Wykorzystanie modułów FieldPoint w komputerowych systemach pomiarowych 1. Wprowadzenie

Bardziej szczegółowo

LABORATORIUM TECHNIKA CYFROWA LICZNIKI I REJESTRY. Rev.1.1

LABORATORIUM TECHNIKA CYFROWA LICZNIKI I REJESTRY. Rev.1.1 LABORATORIUM TECHNIKA CYFROWA LICZNIKI I REJESTRY Rev.1.1 1. Cel ćwiczenia Praktyczna weryfikacja wiedzy teoretycznej z zakresu projektowania układów kombinacyjnych oraz arytmetycznych 2. Projekty Przy

Bardziej szczegółowo

Automatyzacja i robotyzacja procesów produkcyjnych

Automatyzacja i robotyzacja procesów produkcyjnych Automatyzacja i robotyzacja procesów produkcyjnych Instrukcja laboratoryjna Technika cyfrowa Opracował: mgr inż. Krzysztof Bodzek Cel ćwiczenia. Celem ćwiczenia jest zapoznanie studenta z zapisem liczb

Bardziej szczegółowo