REALIZACJA REGULATORA PID W UKŁADZIE FPGA

Slides:



Advertisements
Podobne prezentacje
VHDL Today, Verilog HDL is an accepted IEEE standard. In 1995, the original standard IEEE was approved. IEEE is the latest Verilog.
Advertisements

Inżynieria Systemów Programowalnych Część I
Podstawy układów logicznych
Życiorys mgr inż. Robert Piotrowski Katedra Systemów Mikroelektronicznych WETI PG Urodzony: r. Wykształcenie: studia doktoranckie na.
METODY ANALIZY PROGRAMÓW
Projektowanie cyfrowych systemów w oparciu o układy PLD (i VLSI)
Algorytmy – zapis struktur programowania
Filip Andrzejewski Remigiusz Chiluta
REGULATORY Adrian Baranowski Tomasz Wojna.
Skalowalny algorytm estymacji ruchu dla systemów rozproszonych
VHDL VHDL – akronim: VHSIC (Very High Speed Integrated Circuit) Hardware Description Language Inicjatywa Departamentu Obrony z 1980 Cel: osiągnąć znaczny.
CPU.
Instrukcje strukturalne
Nośniki sygnałów - przykład Nośniki sygnałów – przykład.
Turbo pascal – instrukcje warunkowe, iteracyjne,…
Wykład 9 Dedykowane procesory DSP oraz mikrokontrolery z jednostką DSP
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 7: Procedury i funkcje © Jan Kaczmarek.
Imperatywne modele obliczeń Copyright, 2001 © Jerzy R. Nawrocki Wprowadzenie do.
Programowanie imperatywne i granice obliczalności Copyright, 2004 © Jerzy R. Nawrocki
Rekursja Copyright, 2004 © Jerzy R. Nawrocki Teoretyczne podstawy informatyki.
Najczęściej popełniane błędy w VHDL’u
Magistrala & mostki PN/PD
Komputer, procesor, rozkaz.
SORTOWANIE (przykład zastosowania DMA)
Krótko o…. Historia Działanie Sterowniki a automatyka Dobór
1 Projektowanie systemów komputerowych System informatyczny (SI) System oprogramowania (software) Program1 Program2 ProgramN... Platforma sprzętowa (hardware)
1 Projektowanie systemów komputerowych System informatyczny (SI) System oprogramowania (software) Program1 Program2 ProgramN... Platforma sprzętowa (hardware)
Koncepcja realizacji testów jednostkowych w języku VHDL
Komputer a system komputerowy
Programowalny układ we-wy szeregowego 8251
przykładowy 8-bitowy mikroprocesor uniwersalny CISC
Programowalny układ we/wy równoległego.. Wyprowadzenia układu.
MCS51 - wykład 6.
Synteza układów sekwencyjnych z (wbudowanymi) pamięciami ROM
Mikrokontrolery PIC.
Dekompozycja metodą rachunku podziałów c.d.
Sekwencyjne bloki funkcjonalne
Zasada działania komputera
Dynamiczna rekonfiguracja układów FPGA
„Windup” w układach regulacji
Programowanie baz danych
Ogólna struktura programu w TP
Prezentacja Multimedialna
Pamięci RAM i ROM R. J. Baker, "CMOS Circuit Design, Layout, and Simulation", Wiley-IEEE Press, 2 wyd
Dekompozycja metodą rachunku podziałów c.d.
Układ sterowania modelu napędu dźwigowego na bazie programowalnych mikrokontrolerów Autor: Łukasz Gębarowski Opiekun: dr inż. Andrzej Ożadowicz
Testowanie metodą monitorowania prądu zasilania I DDQ.
Pamięć DRAM.
Struktura wewnętrzna mikrokontrolera zamkniętego
Układy i systemy mikroprocesorowe
1 UKŁADY LOGICZNE Prowadzi: Tadeusz ŁUBA, (GE pok. 483) Wykład dla kierunków: Elektronika, Telekomunikacja.
Programowalne układy cyfrowe, czyli fabryka na Twoim biurku
1 Tadeusz Łuba Mariusz Rawski Paweł Tomaszewicz Politechnika Warszawska Instytut Telekomunikacji Układy programowalne – nowe oblicze techniki cyfrowej.
Układy logiczne – układy cyfrowe
ZPT Evatronix Kontroler Ethernet MAC (Media Access Control) 10/100Mbit spełniający rolę rolę podstawowej arterii wymiany danych pomiędzy urządzeniami sterującymi.
ZPT 1 Dekompozycja nierozłączna Pojęcie r - przydatności Dekompozycja zrównoważona Dekompozycja równoległa.
Elementy cyfrowe i układy logiczne
VHDL Ernest Jamro, Paweł Russek C3 p. 504
VHDL Ernest Jamro, Paweł Russek C3 p. 504
Projektowanie systemów cyfrowych z wykorzystaniem języka VHDL Układy sekwencyjne.
Projektowanie systemów cyfrowych z wykorzystaniem języka VHDL Układy kombinacyjne.
Grzegorz Cygan Wprowadzenie do PLC
dr inż. Łukasz Więckowski Wydział EAIiIB
Systemy neuronowo – rozmyte
Układy logiczne – układy cyfrowe
Rejestry przesuwne, sumatory
Synteza logiczna w projektowaniu układów cyfrowych
Projektowanie systemów cyfrowych z wykorzystaniem języka VHDL
Układy regulacji automatycznej
Obiekty dyskretne w Układach Regulacji Automatycznej
Zapis prezentacji:

REALIZACJA REGULATORA PID W UKŁADZIE FPGA Zbigniew Kulesza Andrzej Koszewnik BIAŁYSTOK 2006

CEL PRACY Przedstawienie technologii FPGA Realizacja regulatora PID Opis wykonanego regulatora Podsumowanie

TECHNOLOGIA FPGA FPGA ( ang. Field Programmable Gate Arrays) – programowalne matryce bramkowe charakteryzujące się: szybkością działania, pojemnością, wygodą projektowania Ścieżki połączone są w traktaty poziome i pionowe a bloki logiczne są rozmieszczone matrycowo

TECHNOLOGIA FPGA Rys.1 Klasyfikacja układów programowalnych PLD

FPGA oparte o pamięć SRAM – wymaga każdorazowego programowania po wyłączeniu zasilania- wykorzystywana w aplikacjach wymagającej dużej pojemności logicznej FPGA oparte na Antifuse posiada fizycznie wypalone połączenia pomiędzy poszczególnymi ich komórkami (na stałe zaprogramowany)

FPGA oparte na pamięci Flash nie wymaga każdorazowego programowania po zaniku zasilania lub jego wyłączenia BUDOWA UKŁADÓW FPGA konfigurowalne bloki logiki ( ang. CLB - configurable logic blocks), bloki wejścia / wyjścia, elementy połączeń między blokami

Rys.2 Architektura układów FPGA

REKONFIGURACJA UKŁADÓW FPGA Celem rekonfiguracji jest dostosowanie struktury funkcjonalnej do wymagań jakie są stawiane przez realizowane algorytmy METODY REKONFIGURACJI System jednokontekstowy Rekonfiguracja częściowa

SYSTEM JEDNOKONTEKSTOWY Polega ona na szeregowym wprowadzaniu nowych danych konfiguracyjnych Wada: konieczność przerywania pracy całego układu, co prowadzi do obniżenia wydajności systemu.

REKONFIGURACJA CZĘŚCIOWA Polega na wyłączeniu z układu tylko tej części, która będzie podlegała rekonfiguracji bez „wyłączania” pozostałych części które temu procesowi nie podlegają. Zastosowanie tego typu rekonfiguracji daje krótszy średni czas rekonfiguracji układu

WADY I ZALETY FPGA Krótki cykl projektowania i wprowadzania na rynek Jednoczesne projektowanie i poprawianie błędów Łatwe unowocześnienie wcześniejszych projektów

WADY I ZALETY c.d. Programowanie i reprogramowanie w systemie (ang. ISP) Możliwe projektowanie grupowe Możliwa migracja do układów ASIC

WADY I ZALETY FPGA większy koszt jednostkowy w porównaniu z układami ASIC większe zużycie energii w porównaniu z układami ASIC trudniejsze projektowanie i wykrywanie błędów w porównaniu z rozwiązaniami programowymi (np. DSP)

REALIZACJA REGULATORA Algorytm podstawowy: gdzie: Algorytm przyrostowy:

W obu przypadkach należy przyjąć ograniczenia sygnału wyjściowego ui do wartości min umin i wartości max umax

Rys3. Schemat blokowy przyrostowego reg. PID

LISTINING PROGRAMU package int_t is constant n_rdx: integer := 10; constant w_rdx: integer := 24; subtype n_int is integer range -2**n_rdx to 2**n_rdx; subtype w_int is integer range -2**w_rdx to 2**w_rdx; constant n_int_min: n_int := -2**n_rdx; constant n_int_max: n_int := 2**n_rdx; end int_t;

use work.int_t.all; library ieee; use ieee.std_logic_1164.all; entity pid is port( clk: in std_ulogic; -- clock rst: in std_ulogic; -- reset we: in std_ulogic; -- write enable cs: in std_ulogic_vector(1 downto 0); -- chip select par: in n_int; -- wart. parametru sp: in n_int; -- wart. zadana pv: in n_int; -- wart. mierzona u: out n_int); -- wart. syg. ster. end pid;

architecture rtl of pid is begin p0: process(clk,rst) is variable uw: w_int; -- rej. syg. ster.(szeroki) variable un: n_int; -- rej. syg. ster. (wąski) variable e: n_int; -- rej. wart. uchybu variable e1: n_int; -- rej. pop. wart. uchybu variable e2: n_int; -- rej. wcz. wart. uchybu variable kp: n_int; -- rej. Kp variable ti: n_int; -- rej. Ti variable td: n_int; -- rej. Td

begin if (rst='1') then -- początk. wart. rejestrów kp:=2; ti:=1; td:=20; uw:=0; un:=0; e:=0; e1:=0; e2:=0; elsif (rising_edge(clk)) then if (we='1') then case cs is -- wybór rejestru do zapisu when "00" => kp:=par; when "01" => ti:=par; when "10" => td:=par; when others => null; end case; end if;

uw:=uw+kp*(e-e1)+ti*e+td*(e-e1-e1+e2); e2:=e1; e1:=e; e:=sp-pv; -- oblicz uchyb i syg. ster. uw:=uw+kp*(e-e1)+ti*e+td*(e-e1-e1+e2); e2:=e1; e1:=e; if (uw<n_int_min) then -- ogranicz syg. ster. un:=n_int_min; elsif (uw>n_int_max) then un:=n_int_max; else un:=uw; end if; u<=un; end process; end rtl;

Rys.4 Widok okna symulatora ModelSIm z wynikami symulacji regulatora PID

Rys.5 Przebiegi uchybu i sygnału sterującego w Matlabie

DZIĘKUJEMY ZA UWAGĘ