PROTOTYPOWANIE UKŁADÓW ELEKTRONICZNYCH Programowalne układy logiczne FPGA Maciej Rosół, Katedra Automatyki AGH, e-mail: mr@ia.agh.edu.



Podobne dokumenty
Bezpieczeństwo informacji oparte o kryptografię kwantową

Język opisu sprzętu VHDL

Projektowanie z użyciem softprocesora picoblaze w układach programowalnych firmy Xilinx

Projektowanie z użyciem bloków funkcjonalnych w układach programowalnych firmy Xilinx

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

Programowalne Układy Cyfrowe Laboratorium

Układy reprogramowalne i SoC Implementacja w układach FPGA

Bezpieczeństwo informacji oparte o kryptografię kwantową

Parametryzacja przetworników analogowocyfrowych

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

LABORATORIUM UKŁADÓW PROGRAMOWALNYCH Wydziałowy Zakład Metrologii Mikro- i Nanostruktur SEMESTR LETNI 2017

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

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

Konfigurowanie modułu BK9050 firmy Beckhoff wprowadzenie

dokument DOK wersja 1.0

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

Lista zadań nr 5. Ścieżka projektowa Realizacja każdego z zadań odbywać się będzie zgodnie z poniższą ścieżką projektową (rys.

Wygląd okna aplikacji Project Navigator.

PROGRAMOWALNE STEROWNIKI LOGICZNE

Laboratorium. Szyfrowanie algorytmami Vernam a oraz Vigenere a z wykorzystaniem systemu zaimplementowanego w układzie

Projektowanie z użyciem procesora programowego Nios II

Ćwiczenie 1. Symulacja układu napędowego z silnikiem DC i przekształtnikiem obniżającym.

Konfiguracja i programowanie sterownika GE Fanuc VersaMax z modelem procesu przepływów i mieszania cieczy

Ćwiczenia z S S jako Profinet-IO Controller. FAQ Marzec 2012

Programowalne układy logiczne Wydziałowy Zakład Nanometrologii SEMESTR LETNI

LABORATORIUM PRZEMYSŁOWYCH SYSTEMÓW STEROWANIA

Programowanie Układów Logicznych kod kursu: ETD6203. Szczegóły realizacji projektu indywidualnego W dr inż.

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Systemy Wbudowane. Założenia i cele przedmiotu: Określenie przedmiotów wprowadzających wraz z wymaganiami wstępnymi: Opis form zajęć

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

Pracownia Transmisji Danych, Instytut Fizyki UMK, Toruń. Instrukcja do ćwiczenia nr 10. Transmisja szeregowa sieciami energetycznymi

Ćwiczenia z S Komunikacja S z miernikiem parametrów sieci PAC 3200 za pośrednictwem protokołu Modbus/TCP.

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

PRZEWODNIK PO PRZEDMIOCIE

SYSTEMY CZASU RZECZYWISTEGO (SCR)

Badanie właściwości wysokorozdzielczych przetworników analogowo-cyfrowych w systemie programowalnym FPGA. Autor: Daniel Słowik

Ukªady Kombinacyjne - cz ± I

ZL19PRG. Programator USB dla układów PLD firmy Altera

Przywracanie parametrów domyślnych. Przycisnąć przycisk STOP przez 5 sekund. Wyświetlanie naprzemienne Numer parametru Wartość parametru

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

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

1. Synteza układów opisanych w języku VHDL Xilinx ISE Design Suite 10.1 VHDL 2. Obsługa przetwornika CA Project Add source...

Electronic Infosystems

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

Konfigurowanie sterownika BX9000 firmy Beckhoff wprowadzenie. 1. Konfiguracja pakietu TwinCAT do współpracy ze sterownikiem BX9000

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

Bramki logiczne Instrukcja do ćwiczeń laboratoryjnych

Ćwiczenie 7: WYKONANIE INSTALACJI kontroli dostępu jednego Przejścia REGIONALNE CENTRUM EDUKACJI ZAWODOWEJ W BIŁGORAJU

Konfigurowanie sterownika CX9000 firmy Beckhoff wprowadzenie

Sterowniki programowalne Programmable Controllers. Energetyka I stopień Ogólnoakademicki. przedmiot kierunkowy

Projekt procesora NIOSII w strukturze programowalnego układu logicznego CYCLONEII EP2C35F672C6 podłączenie i obsługa wyświetlacza LCD.

Tango-RedPitaya. Tango device server for RedPitaya multi-instrument board. Grzegorz Kowalski 31 sierpnia 2015

Systemy Czasu Rzeczywistego FPGA

Ćwiczenie 4: Eksploatacja systemu kontroli dostępu jednego Przejścia REGIONALNE CENTRUM EDUKACJI ZAWODOWEJ W BIŁGORAJU

Konfigurowanie sterownika CX1000 firmy Beckhoff wprowadzenie. 1. Konfiguracja pakietu TwinCAT do współpracy z sterownikiem CX1000

Laboratorium Komputerowe Systemy Pomiarowe

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

Konfigurowanie sterownika CP6601 firmy Beckhoff wprowadzenie

Konfigurowanie sterownika BC8150 firmy Beckhoff wprowadzenie

Konfiguracja i programowanie sterownika GE Fanuc VersaMax z modelem procesu przepływów i mieszania cieczy. Przebieg ćwiczenia

Laboratorium Komputerowe Systemy Pomiarowe

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

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

PRZEWODNIK PO PRZEDMIOCIE

Przemysłowe Systemy Automatyki ĆWICZENIE 2

Sterowniki PLC. Elektrotechnika II stopień Ogólno akademicki. przedmiot kierunkowy. Obieralny. Polski. semestr 1

Aktualizacja oprogramowania sprzętowego bezprzewodowych pilotów zdalnego sterowania WR-1/WR-R10

1. Wprowadzenie Programowanie mikrokontrolerów Sprzęt i oprogramowanie... 33

Schemat blokowy karty

Elektronika i techniki mikroprocesorowe

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

LABORATORIUM ENERGOOSZCZĘDNEGO BUDYNKU

IC200UDR002 ASTOR GE INTELLIGENT PLATFORMS - VERSAMAX NANO/MICRO

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

WARIATOR WYPRZEDZENIA ZAPŁONU WARIATOR USTAWIENIA

Aktualizacja oprogramowania sprzętowego bezprzewodowych pilotów zdalnego sterowania WR-R10

Tworzenie nowego projektu w asemblerze dla mikroprocesora z rodziny 8051

Programator Kart Master - klient

Wykorzystanie standardu JTAG do programowania i debugowania układów logicznych

Politechnika Białostocka. Wydział Elektryczny. Katedra Automatyki i Elektroniki. Kod przedmiotu: TS1C

ZL6PLD zestaw uruchomieniowy dla układów FPGA z rodziny Spartan 3 firmy Xilinx

Badanie napędu z silnikiem bezszczotkowym prądu stałego

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

Laboratorium Procesorów Sygnałowych

Projektowanie Systemów Wbudowanych

NIEZAWODNE ROZWIĄZANIA SYSTEMÓW AUTOMATYKI. asix. Aktualizacja pakietu asix 4 do wersji 5 lub 6. Pomoc techniczna

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

Laboratorium Analogowych Układów Elektronicznych Laboratorium 6

1.Wstęp. 2.Generowanie systemu w EDK

1 Badanie aplikacji timera 555

ZL10PLD. Moduł dippld z układem XC3S200

Instrukcja instalacji systemu. CardioScan 10, 11 i 12

Internet bezprzewodowy

Aktualizacja oprogramowania sprzętowego przekaźnika bezprzewodowego WT 7

IIPW_SML3_680 (Z80) przewodnik do ćwiczeń laboratoryjnych

Modułowy programowalny przekaźnik czasowy firmy Aniro.

E-E-A-1008-s6. Sterowniki PLC. Elektrotechnika I stopień Ogólno akademicki. kierunkowy (podstawowy / kierunkowy / inny HES)

SYSTEMY CZASU RZECZYWISTEGO (SCR)

Transkrypt:

DATA: Ćwiczenie nr 4 PROTOTYPOWANIE UKŁADÓW ELEKTRONICZNYCH Programowalne układy logiczne FPGA Maciej Rosół, Katedra Automatyki AGH, e-mail: mr@ia.agh.edu.pl 1. Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z możliwością wykorzystania programowalnych układów logicznych FPGA do akwizycji danych z urządzeń pomiarowych z cyfrowym interfejsem wyjściowym oraz generacji sygnałów sterujących dla urządzeń wykonawczych z cyfrowym interfejsem wejściowym (np. PWM). 2. Wstęp W ramach ćwiczenia należy zrealizować projekt logiki generujący sygnały wejściowe dla sterownika mocy PWM. Wejściowe sygnały sterownika mocy podłączane są do wybranych końcówek układu FPGA (rodzina Spartan II) znajdującego się na zestawie uruchomieniowym firmy Memec. Projekt logiki dla układu FPGA należy wykonać w pakiecie WebPack. Pakiet WebPack dostępny jest bezpłatnie w Internecie wraz z modułem symulacyjnym pod adresem URL http://www.xilinx.com/sxpresso/webpack.htm. W ramach zajęć laboratoryjnych grupy studenckie otrzymują szablonowy projekt logiki zawierający plik konfiguracyjny dotyczący parametrów pracy układu i specyfikacji wyprowadzeń. Ten fragment projektu nie jest merytorycznie związany z wykonywanym ćwiczeniem i nie będzie omawiany w niniejszym opisie. 3. Wykorzystanie pakietu WebPack do generacji projektów logiki Projekt logiki programującej układ FPGA zrealizowany jest za pomocą pakietu WebPack. Pakiet wykorzystywany jest do tworzenia tzw. bitstream-ów (plików o rozszerzeniu bit). Dodatkowy program pozwala tworzyć pliki w formacie SVF umożliwiającym programowanie układu FPGA za pośrednictwem protokołu JTAG. Programowanie odbywa się poprzez port równoległy i nie jest w tym celu wymagany żaden dodatkowy sprzęt.??? Problemy do samodzielnego rozwiązania przez studentów Jaka jest zasada pracy protokołu JTAG? W trakcie zajęć grupy studenckie otrzymują szablonowy projekt logiki zawarty w pliku pue2004.npl. 3.1. Uruchomienie programu WebPack Główny program pakietu WebPack zawarty jest w pliku webpack.exe. Jest on związany z ikoną przedstawioną na Rys.1. 1

Rys.1. Ikona głównego programu pakietu WebPack. Rys.2. Okno nawigatora projektów. Uruchomienie programu powoduje otwarcie okna nawigatora projektu (Rys. 2). Zawiera on następujące cztery podokna: 1. Sources in Project zawiera nazwę projektu (PUE2004), określenie typu układu FPGA który poddany zostanie programowaniu oraz informację, że będzie on programowany w języku VHDL (xc2s100-5pq208-xst VHDL) oraz listę plików wchodzących w skład projektu (PUE2004.sch; PUE2004.ucf). Studenci mogą zmieniać jedynie plik GenerPWM.vhd. W przypadku realizacji generatora sygnału PWM jako schematu należy plik GenerPWM.vhd usunąć, 2. Processes for Source lista operacji, które można przeprowadzić w aktualnym projekcie. W celu wygenerowania nowej wersji logiki należy dwukrotnie kliknąć opcję Generate Programming File po uprzednim zaznaczeniu pola PUE2004.sch w oknie Sources in Project, 3. Okno edytora plików źródłowych znajduje się w prawej-górnej części okna nawigatora. Zawiera edytowany program w języku VHDL. Program przywołuje się do edycji poprzez dwukrotne naciśnięcie myszy na odpowiednim pliku w oknie Sources in Project, 4. Okno komunikatów znajduje się w dolnej części okna nawigatora. Zawiera komunikaty związane z wykonywanymi operacjami, a w szczególności komunikaty błędów dotyczące tworzonych w języku VHDL programów. 2

3.2. Programowanie układu FPGA Na podstawie projektów pakietu WebPack tworzone są pliki, które mogą zostać wykorzystane do programowania struktury logicznej układu FPGA. Docelowe programowanie układu FPGA odbywa się poprzez protokół JTAG z wykorzystaniem pliku typu BIT. Pliki typu BIT tworzone są przez nawigator projektów po dwukrotnym naciśnięciu myszy na polu Generate Programming File w oknie Processes for Source po uprzednim zaznaczeniu pola PUE2004.sch w oknie Sources in Project. W oknie komunikatów pojawiają się komunikaty o aktualnie wykonywanych fazach operacji generowania plików typu BIT. Ewentualne błędu w dowolnej fazie sygnalizowane są za pomocą komunikatów w języku czerwonym. Komunikaty błędów zwykle dotyczą błędnych instrukcji w plikach źródłowych języka VHDL. Programowanie układu Spartan 2 wchodzącego w skład systemu uruchomieniowego odbywa się za pomocą portu równoległego. W celu dokonania operacji programowania należy dwukrotnie kliknąć opcję Configure Device (impact) z zakładki Generate Programming File w oknie Processes for Source. Otworzy się okno pokazane na Rys. 3. Rys. 3. Programowanie układu Spartan 2. W oknie tym należy zaznaczyć układ xc2s100 a następnie przycisnąć prawy przycisk myszy i wybrać opcję Program. Po kilku (kilkunastu) sekundach układ zostanie zaprogramowany. 3

4. Stanowisko laboratoryjne Stanowisko laboratoryjne składa się z: Komputera klasy PC wraz z oprogramowaniem WebPack, Zestawu uruchomieniowego firmy Memec zawierającej układ FPGA typu Spartan II, Sterownika mocy z wejściem sterującym typu PWM i silnika DC wykorzystanego jako obciążenie. Element mocy wykorzystywany w ćwiczeniu posiada trzy wejścia sterujące: PWM: właściwy sygnał sterujący mocą wydzielaną do obciążenia. Jest to sygnał o ustalonej częstotliwości i regulowanym współczynniku wypełnienia (patrz Rys. 5) DIR: sygnał zmiany kierunku przepływu prądu przez obciążenia (decyduje np. o zmianie kierunku obrotów silnika DC). BRAKE: sygnał odłączający obciążenie od sterownika mocy. Wszystkie sygnały wejściowe sterownika mocy posiadają optoizolację. Użyte układy optoizolatorów ograniczają maksymalną częstotliwość sygnału PWM do około 35 khz. Połączenie pomiędzy kartą pomiarowo-sterującą a sterownikiem mocy zrealizowano z wykorzystanie tzw. Wire Terminal a. Połączenie to nie powinno być zmieniane podczas ćwiczeń laboratoryjnych, aby nie uszkodzić układu FPGA. 5. Przebieg ćwiczenia W ramach zajęć laboratoryjnych należy w pakiecie WebPack zrealizować projekt generatora sygnałów sterujących dla kontrolera mocy w szczególności sygnału PWM (patrz Rys. 5) zgodnie ze schematem blokowym z Rys. 6. Projekt logiki może być utworzony w postaci komponentu napisanego w języku VHDL lub w postaci schematu złożonego z gotowych elementów bibliotecznych dostarczonych dla układu Spartan II. UWAGA!!! Etapy: projektowania, programowania układu FPGA i testowania powinny być przeprowadzane przy wyłączonym zasilaniu sterownika mocy. U [V] Podstawowy okres sygnału PWM Czas [s] 4

Rys. 5. Sygnał PWM Generator 40MHZ Programowalny dzielnik przez liczbę z zakresu 1 (2 16-1) Licznik 12 bitowy Dane z komputera Dzielnik częstotliwości podstawowej (rejestr) Stan licznika Czas trwania stanu wysokiego (rejestr) Komparator (8 lub 12 bitów) Sygnał PWM Rys. 6. Generator sygnału PWM Jeżeli generator sygnału PWM będzie realizowany z wykorzystaniem języka VHDL to wynikowy element biblioteczny wygenerowany na bazie pliku *.vhdl powinien mieć strukturę jak na Rys. 7. Rys. 7. Struktura bloku generatora PWM Znaczenie poszczególnych sygnałów jest następujące: CLK. Podstawowy zegar generatora podany na wejście bloku (na Rys. 6 oznaczony kolorem zielonym). Freq. Sygnał wejściowy decydujący o częstotliwości sygnału PWM (zawartości rejestru decydującego o dzielniku częstotliwości). Szerokość tego sygnału wynosi 1 bit. PWM. Sygnał wejściowy decydujący o czasie trwania stanu wysokiego sygnału PWM. PWM_OUT. Sygnał wyjściowy typu PWM z generatora. 5

Po zrealizowaniu projektu logiki należy wygenerować plik programujący zgodnie z opisem w rozdziale 3.2 i zaprogramować układ FPGA. Jeżeli wyniki testów przebiegną pomyślnie i zostaną zatwierdzone przez prowadzącego zajęcia należy podłączyć zasilanie do układu mocy i sterować dołączonym do niego silnikiem DC. 6. Literatura 1. Wrona W.: VHDL język opisu i projektowania układów cyfrowych, Wydawnictwo Pracowni Komputerowej Jacka Skalmierskiego, Gliwice, 1998. 2. Praca zbiorowa pod redakcją Józefa Kalisza: Język VHDL w praktyce, Wydawnictwo Komunikacji i Łączności, Warszawa, 2002. 3. Zbysiński Piotr, Pasierbiński Jerzy: Układy programowalne pierwsze kroki, Wydawnictwo BTC, Warszawa, 2002. 4. Shahill Kevin: Język VHDL. Projektowanie programowalnych układów logicznych, Wydawnictwo Naukowo-Techniczne, Warszawa, 2001. 5. IEEE Standard VHDL Language Reference Manual, IEEE Std. 1076-1987, Institute of Electrical and Elecronic Engineers, 1988. 6. IEEE Standard VHDL Language Reference Manual, ANSI/IEEE Std. 1076-1993, Institute of Electrical and Elecronic Engineers, 1984. 7. XILINX - opis pakietu WebPack, Internet. 8. XILINX - katalogi firmowe, Internet. 9. Navabi Z.: VHDL. Analysis and Modeling of Digital Systems, McGraw-Hill, New York, 1998. 10. Ashenden P.J.: The VHDL Cookbook. First Edition, Dept. Computer Science, University of Adelaide, South Australia, 1990, materiały dostępne w sieci Internet. 6