Wstęp Pojęcia podstawowe

Podobne dokumenty
Elektrotechnika II Stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny)

Zagadnienia egzaminacyjne AUTOMATYKA I ROBOTYKA. Stacjonarne I-go stopnia TYP STUDIÓW STOPIEŃ STUDIÓW SPECJALNOŚĆ

Kierunek Informatyka stosowana Studia stacjonarne Studia pierwszego stopnia

Szybkie prototypowanie w projektowaniu mechatronicznym

Specjalność: Komputerowe systemy sterowania i diagnostyki

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

Specjalność: Komputerowe systemy sterowania i diagnostyki. Strona 1 z 5

PRZEWODNIK PO PRZEDMIOCIE

ECTS - program studiów kierunku Automatyka i robotyka, Studia I stopnia, rok akademicki 2015/2016

ZASTOSOWANIA UKŁADÓW FPGA W ALGORYTMACH WYLICZENIOWYCH APPLICATIONS OF FPGAS IN ENUMERATION ALGORITHMS

Informatyka- studia I-go stopnia

JĘZYKI PROGRAMOWANIA STEROWNIKÓW

Katedra Mikroelektroniki i Technik Informatycznych


Bezpieczeństwo informacji oparte o kryptografię kwantową

2012/2013. PLANY STUDIÓW stacjonarnych i niestacjonarnych I-go stopnia prowadzonych na Wydziale Elektrotechniki, Automatyki i Informatyki

1 Programowanie urządzen mobilnych Sztuczna inteligencja i systemy 2 ekspertowe

Opracował: Jan Front

Adam Korzeniewski - p. 732 dr inż. Grzegorz Szwoch - p. 732 dr inż.

Język opisu sprzętu VHDL

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

Zakład Układów Elektronicznych i Termografii ( Prezentacja bloków i przedmiotów wybieralnych

Współczesne techniki informacyjne

Urządzenia Elektroniki Morskiej Systemy Elektroniki Morskiej

Elektronika cyfrowa i mikroprocesory. Dr inż. Aleksander Cianciara

Automatyka i metrologia

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

Większe możliwości dzięki LabVIEW 2009: programowanie równoległe, technologie bezprzewodowe i funkcje matematyczne w systemach czasu rzeczywistego

SPECJALNOŚĆ ELEKTRONIKA PRZEMYSŁOWA

Tematy prac dyplomowych w Katedrze Awioniki i Sterowania. Studia: I stopnia (inżynierskie)

Systemy wbudowane. Paweł Pełczyński

Podstawy techniki cyfrowej i mikroprocesorowej - opis przedmiotu

Efekty kształcenia dla kierunku Elektronika i Telekomunikacja studia I stopnia profil ogólnoakademicki

Testowanie systemów informatycznych Kod przedmiotu

Informatyka Studia II stopnia

Systemy na Chipie. Robert Czerwiński

Bezpieczeństwo informacji oparte o kryptografię kwantową

Zakład Układów Elektronicznych i Termografii

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

Sterowniki Programowalne (SP)

INFORMATYKA. PLAN STUDIÓW STACJONARNYCH INŻYNIERSKICH 1-go STOPNIA STUDIA ROZPOCZYNAJĄCE SIĘ W ROKU AKADEMICKIM 2019/2020.

Elektrotechnika I stopień Ogólno akademicki. kierunkowy (podstawowy / kierunkowy / inny HES)

Oferta badawcza Politechniki Gdańskiej dla przedsiębiorstw

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

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

PLAN STUDIÓW. efekty kształcenia

PLANY STUDIÓW stacjonarnych i niestacjonarnych I-go stopnia prowadzonych na Wydziale Elektrotechniki, Automatyki i Informatyki.

Katedra Systemów Cyfrowego Przetwarzania Sygnałów

INFORMATYKA. PLAN STUDIÓW STACJONARNYCH INŻYNIERSKICH 1-go STOPNIA STUDIA ROZPOCZYNAJĄCE SIĘ W ROKU AKADEMICKIM 2018/19.

PROGRAM KSZTAŁCENIA dla kierunku automatyka i robotyka studiów pierwszego stopnia o profilu ogólnoakademickim

Tematy prac dyplomowych w Katedrze Awioniki i Sterowania Studia I stopnia (inżynierskie)

Mechatronika Uniwersytet Rzeszowski

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

Kurs wybieralny: Zastosowanie technik informatycznych i metod numerycznych w elektronice

Dostawa oprogramowania. Nr sprawy: ZP /15

EFEKTY KSZTAŁCENIA DLA KIERUNKU STUDIÓW: ELEKTRONIKA i TELEKOMUNIKACJA STUDIA PIERWSZEGO STOPNIA PROFIL OGÓLNOAKADEMICKI

Elektronika i techniki mikroprocesorowe

Plan studiów dla kierunku:

Nazwa przedmiotu. 1 Matematyka. 2 Fizyka. 3 Informatyka. 4 Rysunek techniczny. 12 Język angielski. 14 Podstawy elektroniki. 15 Architektura komputerów

Informatyka w medycynie Punkt widzenia kardiologa

INFORMATYKA. PLAN STUDIÓW NIESTACJONARNYCH INŻYNIERSKICH 1-go STOPNIA STUDIA ROZPOCZYNAJĄCE SIĘ W ROKU AKADEMICKIM 2018/19.

Zał nr 4 do ZW. Dla grupy kursów zaznaczyć kurs końcowy. Liczba punktów ECTS charakterze praktycznym (P)

Nazwa przedmiotu. Załącznik nr 1 do Uchwały nr 70/2016/2017 Rady Wydziału Elektrycznego Politechniki Częstochowskiej z dnia r.

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

W RAMACH STUDIÓW NIESTACJONARNYCH NA KIERUNKU ELEKTROTECHNIKA NA WYDZIALE ELEKTRYCZNYM POLITECHNIKI WARSZAWSKIEJ

E-4EZA1-10-s7. Sterowniki PLC

Zakład Sterowania Systemów

Pytania egzaminacyjne dla Kierunku Elektrotechnika. studia II stopnia stacjonarne i niestacjonarne

Efekty kształcenia na kierunku AiR drugiego stopnia - Wiedza Wydziału Elektrotechniki, Automatyki i Informatyki Politechniki Opolskiej

PROJEKT WSPÓŁFINANSOWANY ZE ŚRODKÓW UNII EUROPEJSKIEJ W RAMACH EUROPEJSKIEGO FUNDUSZU SPOŁECZNEGO OPIS PRZEDMIOTU. Sieci i sterowniki przemysłowe

Implementacja Gigabitowego Ethernetu na układach FPGA dla eksperymentów fizycznych

Zagadnienia egzaminacyjne INFORMATYKA. stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

Zagadnienia egzaminacyjne ELEKTRONIKA I TELEKOMUNIKACJA studia rozpoczynające się przed r.

Plan studiów dla kierunku: ELEKTRONIKA I TELEKOMUNIKACJA Załącznik nr 10 Studia stacjonarne inżynierskie Cyfrowe przetwarzanie sygnałów

Katedra Systemów Decyzyjnych. Kierownik: prof. dr hab. inż. Zdzisław Kowalczuk

ZAJĘCIA WYBIERALNE KIERUNEK ELEKTRONIKA I TELEKOMUNIKACJA STUDIA NIESTACJONARNE

PROGRAMOWALNE STEROWNIKI LOGICZNE

Efekty kształcenia dla studiów o profilu praktycznym na kierunku elektronika i telekomunikacja

Ochrona własności intelektualnej projektów w układach FPGA poprzez szyfrowanie danych konfiguracyjnych

Zakres rozmów kwalifikacyjnych obowiązujących kandydatów na studia drugiego stopnia w roku akademickim 2018/2019 WYDZIAŁ MECHANICZNY

Tematy prac dyplomowych w Katedrze Awioniki i Sterowania Studia II stopnia (magisterskie)

Praca dyplomowa magisterska

Komputerowe systemy pomiarowe. Dr Zbigniew Kozioł - wykład Mgr Mariusz Woźny - laboratorium

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE

Urządzenia automatyki przemysłowej Kod przedmiotu

Kierunek:Informatyka- - inż., rok I specjalność: Grafika komputerowa

2) opisu i analizy działania systemów elektronicznych, w tym systemów zawierających układy programowalne;

Ukªady Kombinacyjne - cz ± I

METODY ZINTEGROWANEGO PROJEKTOWANIA SPRZĘTU I OPROGRAMOWANIA Z WYKORZYSTANIEM NOWOCZESNYCH UKŁADÓW PROGRAMOWALNYCH

Procesory sygnałowe Digital Signal Processors. Informatyka II stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

WPROWADZENIE Mikrosterownik mikrokontrolery

OBSZARY BADAŃ NAUKOWYCH

Rok akademicki: 2013/2014 Kod: JIS s Punkty ECTS: 5. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Tematy prac dyplomowych w Katedrze Awioniki i Sterowania. Studia: II stopnia (magisterskie)

Inżynieria Bezpieczeństwa I stopień (I stopień / II stopień) ogólnoakademicki (ogólnoakademicki / praktyczny)

Przetwarzanie sygnałów z zastosowaniem procesorów sygnałowych - opis przedmiotu

PRZEWODNIK PO PRZEDMIOCIE

Automatyka i Robotyka studia stacjonarne drugiego stopnia

Opisy efektów kształcenia dla modułu

Transkrypt:

Wstęp Pojęcia podstawowe Pojęcie czasu rzeczywistego ma wiele znaczeń i funkcjonuje w takich dziedzinach, jak: nauki humanistyczne, matematyka, informatyka, technika. W technice, a zwłaszcza w inżynierii systemów sterowania, systemem czasu rzeczywistego jest taki system komputerowy, w którym obliczenia są prowadzone równolegle z przebiegiem zewnętrznego procesu i mają na celu nadzorowanie, sterowanie lub terminowe reagowanie na zachodzące w procesie zdarzenia [23, 87]. System czasu rzeczywistego charakteryzuje się zatem określonymi wymaganiami, dotyczącymi dopuszczalnego czasu wykonania obliczeń oraz dopuszczalnych czasów reakcji na zdarzenia zewnętrzne. Naruszenie tych wymagań prowadzi najczęściej do skokowego i nieakceptowalnego wzrostu strat, np. awarii urządzenia [23, 87]. Systemy czasu rzeczywistego są budowane w oparciu o określone rozwiązania sprzętowe, które definiują strukturę systemu komputerowego współpracującego z danym procesem zewnętrznym. Struktura sprzętowa (rodzaj i liczba urządzeń obliczeniowych, sposób prowadzenia obliczeń, rodzaj i liczba sygnałów wejściowych i wyjściowych itp.) zależy bardzo ściśle od rodzaju procesu zewnętrznego i jest dostosowana do jego wymagań. W celu podkreślenia zależności struktury sprzętowej systemów czasu rzeczywistego od procesu sterowanego systemy takie nazywa się systemami wbudowanymi [23]. Systemem wbudowanym jest zatem taki system czasu rzeczywistego, który jest częścią większego systemu komputerowego, wykonuje istotną część jego funkcji oraz ma strukturę sprzętową dostosowaną do wymagań sterowanego procesu. Przykładem systemu wbudowanego może być komputer pokładowy samolotu lub komputer sterujący szybką koleją miejską [23]. W niniejszym podręczniku zaprezentowano wybrane systemy wbudowane, a mianowicie sterowniki czasu rzeczywistego tworzone w programowalnych układach logicznych PLD i FPGA. Układy programowalne PLD (ang. programmable logic device) i FPGA (ang. field programmable gate array) są to takie cyfrowe układy scalone, których struktura wewnętrzna, a co za tym idzie właściwości funkcjonalne, są ustalane (programowane) przez końcowego użytkownika, a nie przez producenta tych układów. W odróżnieniu od mikroprocesorów układy te umożliwiają tworzenie 1

2 Spis treści algorytmów obliczeniowych na poziomie sprzętowym, przez wykonanie programowalnych połączeń elektrycznych pomiędzy określonymi, sprzętowymi jednostkami obliczeniowymi (takimi jak: bramki logiczne, sumatory, bloki mnożące, rejestry), definiowanymi wewnątrz układu programowalnego. Układy programowalne są programowane w językach opisu sprzętu (ang. hardware description language), takich jak: język VHDL, język Verilog. W układzie programowalnym można wybrać (zaprogramować) nie tylko rodzaj jednostek obliczeniowych, ale także sposób prowadzenia obliczeń czy będą to obliczenia na liczbach stało- czy zmiennoprzecinkowych, czy będą to obliczenia prowadzone sekwencyjnie, potokowo, systolicznie, czy też w pełni równolegle [12]. Dzięki temu, że obliczenia są wykonywane na poziomie sprzętowym, przy odpowiednio dobranym sposobie ich organizacji (np. potokowo lub równolegle), szybkość obliczeń może być kilkadziesiąt lub nawet kilkaset razy większa niż przy obliczeniach prowadzonych za pomocą mikroprocesorów, w tym także procesorów sygnałowych DSP (ang. digital signal processor). Przykładowo, sygnały wyjściowe kilkukanałowego cyfrowego regulatora PID (ang. proportionalintegral-derivative) utworzonego w układzie FPGA mogą być obliczane i aktualizowane z częstotliwością rzędu kilkudziesięciu lub nawet kilkuset MHz. Tak duże częstotliwości przetwarzania sprawiają, że sterowniki budowane w układach programowalnych mogą być stosowane do sterowania szybkich procesów, charakteryzujących się bardzo krókimi stałymi czasowymi. Dzięki temu mogą one w wymaganym czasie generować wyniki obliczeń oraz reagować na zdarzenia zachodzące w procesie sterowanym. Spełniają zatem podstawowe wymagania dotyczące sterowników czasu rzeczywistego szybkich procesów zewnętrznych. Zastosowania programowalnych układów logicznych Głównym zastosowaniem programowalnych układów logicznych PLD i FPGA jest szeroko pojęte cyfrowe przetwarzanie sygnałów, przebiegające w czasie rzeczywistym. W praktyce chodzi najczęściej o wykonywanie operacji logicznych lub arytmetycznych z bardzo wysokimi częstotliwościami przetwarzania. Poniżej podano tylko wybrane, najpopularniejsze zastosowania programowalnych układów logicznych PLD i FPGA. Obejmują one takie dziedziny nauki i techniki, jak [79, 135]: automatyka i robotyka, w tym: regulatory cyfrowe, np. regulatory PID [56, 88], regulatory ślizgowe [56], regulatory odporne [65, 66], regulatory ułamkowe [78], regulatory rozmyte [93, 103], regulatory predykcyjne [112], programowalne sterowniki logiczne PLC (ang. programmable logic controller) [75, 76, 84, 115], układy sterowania robotów [57, 61, 67, 73],

Spis treści 3 układy sterowania obrabiarek [80, 111], układy sterowania aktywnych łożysk magnetycznych [59, 65, 66, 88, 91] układy przetwarzania sygnałów i obrazów, np. filtry o skończonej odpowiedzi impulsowej FIR (ang. finite impulse response), układy obliczania szybkiej transformaty Fouriera [37], układy obliczania transformaty falkowej [97], filtry Kalmana [68], sieci neuronowe [90], układy analizy spawów [77], układy radarowe [98], układy analizy ruchu [49, 81, 82, 105], układy rozpoznawania mowy [83], układy kompresji obrazu [32, 62]; energoelektronika, w tym: układy sterowania silników elektrycznych [34, 71, 78, 93, 112], układy przekształcania energii elektrycznej [38, 39, 48, 89]; lotnictwo, technika satelitarna i kosmiczna, technika wojskowa, w tym: układy awioniki pokładowej samolotów i innych statków powietrznych [33, 36, 47, 86], układy łączności wojskowej, układy sterowania pocisków, torped, rakiet, samolotów [113], układy sterowania, komunikacji, szyfrowania danych satelitów i statków kosmicznych [54, 74, 94, 104, 107]; biologia i medycyna, w tym: modelowanie procesów biologicznych, np. modele sieci neuronowych w badaniach choroby Parkinsona [114], układy analizy genomu [40, 44], układy analizy sekwencji białek i nukleotydów [31], biometria, np. rozpoznawanie odcisków palców [52], rozpoznawanie twarzy [69], rozpoznawanie sposobu poruszania się człowieka [55], układy diagnostyki medycznej, np. układy przetwarzania sygnałów elektrokardiograficznych ECG (ang. electrocardiography) [42, 45, 102], układy przetwarzania obrazów w radiologii i tomografii [41, 70, 95], diagnostyka endoskopowa [106], układy sterowania narzędzi chirurgicznych w endoskopii [58]; informatyka, w tym: kryptografia i układy szyfrowania danych [43, 50, 51, 60, 63, 64, 85, 100], obliczenia równoległe i rozproszone [8, 27, 92, 72, 110, 132, 133]

4 Spis treści akceleratory sprzętowe urządzeń sieciowych [108, 109, 131], akceleratory sprzętowe baz danych [99, 101]; telekomunikacja, w tym: układy komunikacji bezprzewodowej [1, 53, 64], przetwarzanie i szerokopasmowa transmisja wizji [35, 96, 116, 117], przetwarzanie i szerokopasmowa transmisja dźwięku; urządzenia pomiarowe, np. oscyloskopy, analizatory sygnałów dynamicznych; elektronika użytkowa, np. telefony komórkowe, telewizory, ramki cyfrowe do zdjęć, odtwarzacze multimedialne, konsole do gier. Czytelnik zainteresowany szczegółami konkretnych zastosowań układów PLD i FPGA powinien sięgnąć do bogatej literatury. Każdego roku na świecie ukazuje się kilkaset artykułów i opracowań naukowych o tej tematyce. Przykłady najnowszych pozycji literaturowych podano wyżej. W celu zaciekawienia czytelnika poniżej przedstawiono wybrane zastosowania układów programowalnych w Laboratorium Satelitarnych Aplikacji Układów FPGA Centrum Badań Kosmicznych Polskiej Akademii Nauk [130]. W laboratorium tym projektowane są zaawansowane układy cyfrowe w układach FPGA: komputery i sterowniki pokładowe, układy sterowania matrycami elementów światłoczułych CCD (ang. charge coupled device) i CMOS (ang. complementary metal oxide semiconductor), układy przetwarzania obrazów uzyskiwanych z tych matryc, układy DSP pozwalające na przetwarzanie sygnałów o częstotliwości ponad 1 GHz oraz zasilacze satelitarne. Układy te wykorzystano między innymi jako elementy aparatury pomiarowej w programach badawczych Europejskiej Agencji Kosmicznej ESA (ang. European Space Agency): Integral, Mars-Express, Herschel, Bepi-Colombo oraz w eksperymencie ASIM na Międzynarodową Stację Kosmiczną ISS (ang. International Space Shuttle). W laboratorium prowadzony jest obecnie projekt budowy pierwszego polskiego satelity naukowego BRITE-PL. W ramach tego projektu powstają następujące elementy satelity, projektowane w układach FPGA: główny komputer pokładowy, komputer ACS (ang. attitude control system) do sterowania orientacją satelity, komputer teleskopu, układ nadajnika i odbiornika komunikacyjnego, układ kontroli zasilania pokładowego oraz układ kontroli ładowania baterii. Organizacja podręcznika Podręcznik składa się z dwóch części. W części pierwszej (rozdz. 1-3) omówiono budowę, działanie i podstawowe bloki funkcjonalne układów programowalnych PLD i FPGA oraz płyt prototypowych wykorzystanych w części drugiej. Część druga (rozdz. 4-8) zawiera przykłady projektów sterowników opisanych w języku VHDL i uruchomionych w układach PLD i FPGA firmy Xilinx.

Spis treści 5 Przykłady z rozdziałów 4-6 mają charakter wprowadzający i są uruchamiane na płycie prototypowej XC2-XL (zob. rozdz. 3.1) w środowisku graficznym oprogramowania ISE Design Suite. Obejmują one projektowanie sterowników logicznych z wykorzystaniem: układów kombinacyjnych, układów synchronicznych, automatów stanu, prostego procesora ośmiobitowego. Przykłady z rozdziałów 7-8 są uruchamiane na płycie prototypowej Spartan- 3 Starter Kit Board (zob. podrozdz. 3.2) w środowisku wsadowym oprogramowania ISE Design Suite. Głównym celem tych zadań jest opanowanie umiejętności projektowania regulatorów o działaniu ciągłym, tworzonych w układach FPGA. Regulatory wykonują obliczenia na liczbach stałoprzecinkowych (stałopozycyjnych) z wykorzystaniem bloków mnożących dostępnych w układach FPGA Spartan-3. Każdy projekt zawiera opis słowny działania układu, kod źródłowy w języku VHDL oraz niezbędne wyjaśnienia, a także opis testowania w symulatorze programowym oraz opis uruchomienia w układzie programowalnym. Podano pełne kody źródłowe programów w języku VHDL: wszystkich jednostek projektowych, wymaganych komponentów i trudniejszych jednostek testujących, a także plików powiązań układów PLD i FPGA znajdujących się na płytach prototypowych. Zamieszczono niezbędne wyjaśnienia dotyczące użytych konstrukcji języka VHDL, trudniejszych fragmentów kodu itp. W rozdziałach 4.1 i 7.1 podano także skrócone opisy obsługi oprogramowania projektowego ISE Design Suite firmy Xilinx (w wersji interakcyjnej graficznej i w wersji nieinterakcyjnej wsadowej). W rozdziałach 7 oraz 8 wykorzystano przybornik Fixed Point Toolbox programu MATLAB do projektowania i testowania wersji zmiennoi stałoprzecinkowej (stałopozycyjnej) algorytmu regulatora PID oraz dyskretnego przekształcenia Fouriera. Podano niezbędne opisy i wyjaśnienia, a także pełne kody źródłowe wykorzystanych skryptów programu MATLAB. W rozdziale 7 zawarty jest również krótki opis programu ChipScope Pro, służącego do testowania układów utworzonych w docelowym układzie programowalnym. Zamieszczone przykłady charakteryzują się narastającym stopniem trudności. Czytelnicy znający podstawy automatyki, teorii sygnałów, układów cyfrowych oraz programowania w języku VHDL i w programie MATLAB nie powinni mieć trudności ze zrozumieniem podanych treści. Osoby zainteresowane pełnym kursem języka VHDL powinny sięgnąć do literatury, np. do [2, 3, 5, 7, 9, 13, 14, 19, 25, 30]. Podstawy języka MATLAB można znaleźć na przykład w [22, 26]. Kody źródłowe przykładowych projektów omawianych w niniejszym podręczniku są dostępne na stronie: http://wm.pb.edu.pl/podreczniki.