Piotr Bubacz - Uniwersytet Zielonogórski

Transkrypt

Piotr Bubacz - Uniwersytet Zielonogórski
,POGFSFODKBOBVLPXB,/84
v*OGPSNBUZLBT[UVLBD[ZS[FNJPT’P
D[FSXDB$[PDIB
WYKORZYSTANIE UKŁADÓW REKONFIGUROWALNYCH
W REGULACJI ADAPTACYJNEJ
Piotr Bubacz
Instytut Informatyki i Elektroniki, Uniwersytet Zielonogórski
65-246 Zielona Góra, ul. Podgórna 50
e-mail: [email protected]
STRESZCZENIE
Praca przedstawia moĪliwoĞci wykorzystania reprogramowalnych układów cyfrowych
w regulacji adaptacyjnej. UjĊte w niej zostały informacje na temat regulacji adaptacyjnej jak
równieĪ układów rekonfigurowalnych. W pracy została zaproponowana architektura układu
adaptacyjnego w oparciu o układ rekonfigurowalny FPSLIC firmy Atmel.
1. WPROWADZENIE
Układy sterowania obecne są na kaĪdym kroku Īycia współczesnego człowieka. Począwszy
od sterowania zabawkami, a skoĔczywszy na sterowaniu sondy marsjaĔskiej. Dla prostych
obiektów moĪna znaleĨü proste algorytmy sterowania. Jednak dla niektórych obiektów trudno
jest znaleĨü algorytm, aby układ działał w sposób optymalny dla konkretnego obiektu i
zakłóceĔ, lub gdy obiekt zmienia siĊ i dane przyjĊte na etapie projektowania po pewnym
czasie przestają byü aktualne. W takim przypadku projektant okreĞla podstawowy algorytm
sterowania, ale dodatkowo okreĞla równieĪ pewne informacje, które są wykorzystywane do
stopniowego polepszania algorytmu podstawowego. Informacje te są równieĪ potrzebne do
podąĪania tego algorytmu za zmianami tzw. automatycznej regulacji.
Cyfrowa automatyczna regulacja dla obiektów o duĪych stałych czasowych nie jest trudna,
lecz gdy potrzeba jest szybkiej adaptacji istnieje koniecznoĞü wykorzystywania wydajnych
jednostek obliczeniowych. Nowoczesne układy typu System On a Programmable Chip
(SOPC) wydają siĊ najlepszym rozwiązaniem tego problemu. Ich moc obliczeniowa jest
bardzo duĪa, a moĪliwoĞü rekonfiguracji w czasie pracy układu umoĪliwia szybkie
dopasowanie do obiektu sterowanego.
23
2. REGULACJA ADAPTACYJNA
Regulacja adaptacyjna polega na automatycznym dopasowaniu parametrów regulatora do
zmieniających siĊ właĞciwoĞci obiektu regulacji i jego otoczenia tak, aby zapewniü wiĊkszą
odpornoĞü układu regulacji na zmiany. [4]
Algorytm sterowania w systemie adaptacyjnym składa siĊ z dwóch czĊĞci: algorytmu
podstawowego i algorytmu adaptacji, tzn. algorytmu poprawiającego algorytm podstawowy.
W systemie zatem moĪna wyróĪniü dwa poziomy (rys. 1): poziom niĪszy (poziom sterowania
podstawowego), na którym działa podstawowe urządzenie sterujące bezpoĞrednio
przyjmujące dane z obiektu i wyznaczające decyzje sterujące, oraz poziom wyĪszy (poziom
adaptacji), na którym działa adaptator. Zarówno do podstawowego urządzenia sterującego,
jak i do adaptatora wprowadza siĊ wyniki obserwacji obiektu i/lub otoczenia. [2]
adaptator
podstawowy algorytm
sterowania
obiekt sterowania
Rys. 1. Podstawowa idea adaptacji [2]
3. SYSTEMY REKONFIGUROWALNE
Głównym celem rekonfiguracji systemu jest dostosowanie struktury funkcjonalnej, dostĊpnej
w ramach jego architektury bazowej, do wymagaĔ realizowanych algorytmów. W przypadku
realizacji algorytmów, które nie „mieszczą” siĊ w całoĞci w strukturze systemu, zachodzi
koniecznoĞü ich rozłoĪenia na sekwencje podzadaĔ realizowanych kolejno w odpowiednich
konfiguracjach. Warunkiem niezbĊdnym do realizacji całego algorytmu jest zdolnoĞü systemu
rekonfigurowalnego do wymiany danych konfiguracyjnych wraz z przekazaniem wyników
uzyskanych w bieĪącej konfiguracji do kontynuowania obliczeĔ w nastĊpnej konfiguracji.
24
Taki sposób rekonfiguracji systemu podczas jego działania jest wyróĪniany terminem runtime.
Obecnie stosuje siĊ kilka metod rekonfiguracji układów FPGA. Najprostszym
implementacyjnie, ale niezbyt efektywnym sposobem rekonfiguracji, jest zmiana konfiguracji
(tzw. kontekstu) całej struktury programowalnej, polegająca na wprowadzeniu strumienia
nowych danych konfiguracyjnych. Wada tej metody jest koniecznoĞü przerwania pracy całego
układu, co w konsekwencji obniĪa wydajnoĞü całego systemu. Układy wyposaĪone w taki
mechanizm rekonfiguracji nazywane są jedno-kontekstowymi. WiĊkszoĞü obecnie
produkowanych układów FPGA moĪna uwaĪaü za układy jedno-kontekstowe o róĪnych
czasach rekonfiguracji (zazwyczaj 1..320ms).
Bardziej efektywnym sposobem rekonfiguracji jest czĊĞciowa rekonfiguracja. CzĊĞciowa
konfiguracja układu jest moĪliwa pod warunkiem przerwania jego pracy, podobnie jak w
przypadku układów jedno-kontekstowych, chociaĪ dziĊki moĪliwoĞci wymiany tylko
niezbĊdnej czĊĞci danych konfiguracyjnych Ğredni czas rekonfiguracji moĪe byü znacznie
krótszy, zaleĪnie od przyjĊtego sposobu przydziału zadaĔ. Podział zadania obliczeniowego na
„warstwy” konfiguracyjne wymaga szczegółowej analizy realizowanego algorytmu i
umiejĊtnej dekompozycji jego struktury. ĝredni czas rekonfiguracji pojedynczej komórki w
strukturach czĊĞciowo rekonfigurowanych, nie przekracza 200ns, dlatego są one szczególnie
przydatne do konstrukcji rekonfigurowanych systemów realizujących bardzo złoĪone
obliczenia.
Najbardziej przydatne w systemach rekonfigurowalnych sa układy wielo-kontekstowe. Tym
terminem okreĞlana jest grupa układów reprogramowalnych, tworzących strukturĊ o kilku
warstwach konfiguracyjnych – kontekstach. Warstwy są zorganizowane w taki sposób, ze
tylko jedna z nich jest aktywna, w tym czasie pozostałe mogą byü rekonfigurowane lub
pozostawaü w spoczynku. Tego typu struktury charakteryzują siĊ działaniem bez przerw,
poniewaĪ konfiguracja kaĪdej warstwy jest przygotowywana z pewnym wyprzedzeniem,
podczas działania innej warstwy, zaĞ operacja uaktywnienie kolejnej warstwy wymaga
zaledwie kilku cykli zegara. W zaleĪnoĞci od wersji układu moĪliwe jest sekwencyjne
uaktywnianie warstw w stałej kolejnoĞci lub dowolnie wybranej.
Aktualnie tylko dwie firmy wspierają w swoich systemach czĊĞciową i dynamiczną
rekonfiguracjĊ. Jednym z nich jest Atmel, produkuje on układy FPSLIC (Field Programmable
System Level Integrated Circuit). Układ zawiera procesor, pamiĊü i logikĊ programowalną w
jednym układzie zintegrowanym. FPSLIC wspiera czĊĞciową i dynamiczną rekonfiguracjĊ
poprzez przełączanie kontekstu [1]. Drugim jest firma Xilinx, oferująca rodzinĊ układów
Virtex, która równieĪ wspiera czĊĞciową i dynamiczną rekonfiguracjĊ. Rekonfiguracja jest
moĪliwa, poniewaĪ kaĪde z urządzeĔ moĪe byü adresowane indywidualnie. [5]
25
W pracy został wybrany układ FPSLIC, ze wzglĊdu na duĪą popularnoĞü na rynku, cenĊ, jak
równieĪ fakt posiadania układu FPSLIC na płytce testowej w Instytucie.
4. UKŁAD FPSLIC
Firma Atmel na bazie swoich bogatych doĞwiadczeĔ na polu rozwiązaĔ systemowych
opierających siĊ na mikrokontrolerach oraz pamiĊciach w szerokiej gamie zastosowaĔ,
wprowadziła do sprzedaĪy ciekawy produkt, bĊdący rozwiązaniem wielu dylematów
projektantów. Jeden układ scalony, łatwoĞü programowania, sprawnoĞü debugowania,
szybkoĞü wdroĪenia to cechy nowego kontrolera jednoukładowego serii FPSLIC™ (Atmel
AT94K series).
Na rys. 2 została przedstawiona struktura układu, a w szczególnoĞci układ zawiera:
ƒ szybki, rozbudowany rdzeĔ kontrolera 8-bit AVR RISC
ƒ
FPGA oparta na pamiĊci SRAM (do 40 000 bramek)
ƒ
do 36 kB dynamicznie alokowanej pamiĊci SRAM na dane i program
ƒ
sprzĊtowy multiplikator
ƒ
2 UARTy
ƒ
dwuprzewodowy interfejs szeregowy
ƒ
watchdog
ƒ
3 układy czasowe/liczniki
ƒ
zegar rzeczywisty
Up to 36K bytes of SRAM
30 MIPS - 8bit RISC MCU
8 Bit RISC
Configurable SRAM
AT40K FPGA
From 5K Up to 40K gates FPGA
Rys. 2. Struktura wewnĊtrzna układu FPSLIC [1]
WydajnoĞü układu jest na tyle wysoka (aktualnie ok. 30 MIPS @ 40 MHz), iĪ pozwala na
szerokie zastosowanie i niski koszt projektu. Atmel oferuje godne polecenia oprogramowanie
realizujące ideĊ ISP (In System Programming) wchodzące w skład pakietu System Designer.
26
5. WYKORZYSTANIE UKŁADU FPSLIC W REGULACJI ADAPTACYJNEJ
Układ FPSLIC moĪe byü bazą dla systemu regulacji adaptacyjnej. Na rys. 3 została
przedstawiona propozycja architektury takiego systemu. Algorytm podstawowy sterowania
jest realizowany sprzĊtowo w matrycy FPGA, natomiast adaptatorem jest mikroprocesor
AVR. PamiĊü jest dzielona pomiĊdzy oba elementy i słuĪy do wymiany informacji miĊdzy
nimi i rekonfiguracji matrycy.
Układ AVR
PamiĊü SRAM
matryca FPGA
AT40K
obiekt sterowania
Rys. 3. Wykorzystanie układu FPSLIC w regulacji adaptacyjnej
Podstawowy algorytm sterowania działa bardzo szybko, poniewaĪ jest to specjalizowany
układ sprzĊtowy zrealizowany w matrycy FPGA. Układ adaptatora zrealizowany jest jako kod
programu w procesorze AVR, dziĊki temu moĪna realizowaü nawet bardzo skomplikowane
algorytmy adaptacji. W momencie, w którym nastąpi decyzja o zmianie struktury matrycy
AVR procesor sprawdzi stan pracy układu, a nastĊpnie w odpowiednim momencie dokona
zmiany struktury dopasowując układ do zmienionych warunków pracy.
6. WNIOSKI I KIERUNKI DALSZYCH PRAC
Układy rekonfigurowalne, a w szczególnoĞci układ FPSLIC, nadają siĊ idealnie jako układy
regulacji adaptacyjnej. CzĊĞü sprzĊtowa – matryca FPGA wykonuje zadania sterowania,
podczas gdy mikrokontroler AVR działając jako adaptator dokonuje dynamicznej
rekonfiguracji matrycy. DziĊki wykorzystaniu mikrokontrolera moĪna stosowac nawet bardzo
zaawansowane i czasochłonne algorytmy adaptacji
27
W ramach dalszych prac zostaną przeprowadzone badania w systemie Matlab dotyczące
moĪliwoĞci zastosowania automatycznego przejĞcia z modelu do implementacji układy
FPSLIC. Zostanie zaprojektowany moduł w programie Simulink, podobny do Real-Time
Workshop Embedded Koder, bĊdzie on umoĪliwiał przejĞcie z opisu bloków funkcyjnych w
programie Simulink do kodu wykonywalnego w jĊzyku C lub asembler dla procesora AVR i
kodu VHDL dla matrycy FPGA.
LITERATURA
[1] ATMEL: Field Programmable System Level Integrated Circuits (FPSLIC),
http://www.atmel.com/products/FPSLIC/
[2] Z. Bubnicki: Teoria i algorytmy sterowania, PWN, 2002
[3] R. Hartenstein: A decade of reconfigurable computing: a visionary retrospective, Proc.
Design, Automation and Test in Europe (DATE '01), Munich, March 2001 pp. 642 –649
[4] A. NiederliĔski, J.MoĞciĔski, Z.Ogonowski: Regulacja adaptacyjna, PWN, 1995
[5] XILINX: Virtex series configuration architecture user guide,
http://www.xilinx.com/bvdocs/appnotes/xapp151.pdf
28