Perspectives of Using Motorola 8-bit Microcontrollers for

Transkript

Perspectives of Using Motorola 8-bit Microcontrollers for
48
XXVIII. ASR '2003 Seminar, Instruments and Control, Ostrava, May 6, 2003
Perspektivy použití osmibitových mikropočítačů Motorola
pro řízení procesů
DOSTÁLEK, Petr1, DOLINAY, Jan2 & VAŠEK, Vladimír3
1
Ing.,
IIT, UTB-Zlín, Náměstí T. G. Masaryka 275, Zlín, 762 72,
2
Ing.,
[email protected],
3
Doc. Ing. CSc,
[email protected]
[email protected],
Abstrakt: Tato práce se zabývá řízením technologických procesů pomocí osmi-bitových
mikropočítačů Motorola se zaměření na implementaci moderních metod řízení jako jsou
adaptivní regulátory. I přes omezený rozsah paměti a nižší výpočetní výkon mohou být
mikropočítače v této oblasti úspěšně využity přinést tak zvýšenou kvalitu regulace při úspoře
pořizovacích nákladů. Práce seznamuje s knihovnou programových modulů pro mikropočítač
Motorola HC11 určenou pro řízení a monitorování procesů a dále se softwarovým
konvertorem, který umožňuje využít programového vybavení napsaného v asembleru pro
HC11 i na nové, výkonnější řadě mikropočítačů - Motorola HC08. Jsou prezentovány
výsledky experimentů s řízením reálného systému pomocí adaptivních regulátorů
realizovaných mikropočítačem HC11 a srovnání výkonnosti těchto regulátorů na novém
mikropočítači HC08 po konverzi příslušných programových modulů s použitím konvertoru .
Klíčová slova: mikropočítač, Motorola, HC11, HC08, knihovna modulů, konvertor
1 Úvod
I když v průmyslu při řízení technologických procesů stále převažují zařízení založená na
klasických metodách, jako např. PID regulátory, je současné době patrný obecný trend
k širšímu praktickému využívání moderních metod teorie automatického řízení. Tento trend je
podpořen pokračujícím růstem výkonu a miniaturizací prostředků výpočetní techniky, která
umožňuje realizovat v reálném čase i algoritmy, u kterých to dříve nebylo myslitelné. Pro
průmyslové aplikace je k dispozici široké spektrum zařízení od jednoduchých
programovatelných automatů, přes mikropočítače až po výkonné průmyslové počítače. Role
mikropočítačů bývá v této hierarchii většinou chápána jako spíše podpůrné prostředky či
jednoduchá měřící a regulační zařízení. I když paměť mikropočítače bývá většinou omezena
na několik kB a výpočetní výkon je také relativně nízký, nabízejí na druhé straně velkou
univerzálnost při poměrně nízké ceně. S vývojem výpočetní techniky vzrostl výkon i u těch
nejjednodušších osmi-bitových mikropočítačů natolik, že je možno na nich implementovat
také složitější algoritmy řízení, jako například adaptivní regulátory, což může přinést všechny
očekávané výhody při podstatně nižších nákladech než např. při nasazení průmyslových
počítačů.
Tato práce ukazuje výsledky dosažené při implementaci moderních metod řízení se starším
typem mikropočítače Motorola HC11 a možnosti dalšího rozvoje s použitím nové, výkonnější
řady mikropočítačů, přičemž pokud možno bezbolestného přechodu na nový hardware je
možno docílit pomocí vyvinutého konvertoru programového vybavení, který dovolí použít
programy napsané pro HC11 i na novém mikropočítači s minimálními úpravami.
XXVIII. ASR '2003 Seminar, Instruments and Control, Ostrava, May 6, 2003
49
2 Knihovna modulů
Při programování mikropočítačů se v dnešní době většinou dává přednost tzv. vyšším
programovacím jazykům jako je C jazyk nebo Basic. Přesto je někdy nutné nebo vhodné
použít jazyka asembler, zvláště v situaci, kdy potřebujeme dosáhnout výkonu a využití paměti
na hranici možností daného zařízení. Při programování v asembleru se nicméně musíme smířit
s několika nevýhodami jako je prakticky nulová přenositelnost kódů a nebo nízká produktivita
práce. Pro zvýšení produktivity programování v asembleru je vhodné používat knihovny
programových modulů, které obsahují již hotový kód pro běžně se vyskytující činnosti
každého programu určeného k řízení či monitorování technologických procesů. To umožní
vytvořit nový program více méně jen sestavením existujících modulů. Další výhodou takové
knihovny je s ohledem na pedagogické využití mikropočítače také možnost vytváření
vlastních aplikací studenty aniž by museli mít hluboké znalosti programování v asembleru.
Taková knihovna programových modulů byla již dříve vytvořena na našem institutu pro
mikropočítač Motorola HC11, který je zde využíván mimo jiné při výuce teorie
automatického řízení.
2.1 Koncepce knihovny
Knihovna je napsána v jazyce asembler pro mikropočítač Motorola HC11 a je určena pro
usnadnění tvorby monitorovacích a řídících aplikací pro tento mikropočítač. Skládá se
z několika modulů realizujících běžné úkoly takových aplikací, jako je zajištění vstupů a
výstupů nebo realizace klasických diskrétních regulátorů. Počítá se i se složitějšími
aplikacemi, které obsahují několik regulovaných kanálů. Při návrhu knihovny byla zvolena
taková koncepce, že moduly nedostávají všechna data jako parametry od volajícího programu,
ale spíše dostávají indexy do příslušných globálních polí, ze kterých si sami získávají svá
data. V globálním poli má každá instance modulu vyhrazeny své prvky, takže je zajištěna
reentrantnost modulů.
2.2 Základní moduly
Knihovna obsahuje moduly pro binární vstupy a výstupy s možností ošetření běžných
požadavků jako je maskování nevyužitých vstupů, negace vybraných vstupů/výstupů atd.
Dále pak modul pro zpracování až osmi kanálů analogového vstupního signálu s využitím
A/D převodníku integrovaného na čipu mikropočítače. Součástí knihovny jsou také moduly
čtyř druhů regulátorů: třípolohový regulátor s penalizací, PSD regulátor, Takahashiho PSD
regulátor a obecný lineární regulátor. Nedávno byla navíc knihovna doplněna o několik
modulů implementujících algoritmy moderních metod řízení o kterých je podrobněji
pojednáno dále.
Kromě vlastních modulů jsou součástí knihovny také požadované datové struktury a několik
pomocných a podpůrných podprogramů.
2.3 Moduly moderních metod řízení
Pro ověření možnosti nasazení moderních metod řízení na daném mikropočítači bylo pro
knihovnu vytvořeno několik modulů z oblasti moderních metod řízení. Tyto moduly byly
vytvořeny tak, aby odpovídaly původní koncepci knihovny a bylo je možno použít ve
spolupráci s již existujícími částmi knihovny. Zde prezentované výsledky byly dosaženy
s použitím aplikací vyvinutých pomocí celé knihovny.
Adaptivní regulátory
Význam praktického využití adaptivních regulátorů vyplývá z jednoduchého faktu, že většina
reálných řízených procesů má stochastický charakter. Parametry reálných procesů lze proto
považovat za neměnné pouze s větší či menší mírou nepřesnosti. Změna parametrů procesu
bývá vyvolána mnoha okolnostmi jako je změna provozního režimu, vlastností surovin či
XXVIII. ASR '2003 Seminar, Instruments and Control, Ostrava, May 6, 2003
50
paliva nebo změna vlastností samotného zařízení způsobená např. stárnutím. Klasický
regulátor má pevně nastavené parametry a nemůže proto na podobnou změnu v řízeném
procesu reagovat. Kvalita řízení se pak zhoršuje, což má za následek energetické ztráty,
snížení životnosti zařízení a další negativní jevy. Perspektivní možností řešení této situace je
právě nasazení adaptivních systémů řízení.
Vzorem adaptivních systémů je chování živých organismů v přírodě, jejich schopnost
přizpůsobovat se změnám prostředí. Adaptivní systém lze definovat jako systém, který měří
ukazatele chování nastavitelného systému, porovnává je s požadovanými ukazateli a
modifikuje parametry nebo strukturu systému nebo generuje pomocný výstup tak, aby se
měřené ukazatele blížily žádaným. Ukazateli chování mohou být např. póly nebo nuly
přenosu, překmit přechodové charakteristiky, doba regulace, minimální hodnoty různých
integračních kritérií nebo frekvenční spektrum. Klasifikace adaptivních systémů není dosud
jednotná, zde je uvedena jedna z možností [x]:
• Adaptivní regulátory s heuristickým přístupem
• Samočinně se nastavující regulátory (STC)
• Systémy s referenčním modelem (MRAS)
• Systémy s proměnnou strukturou
V rámci této práce jsou prezentovány programy realizující samočinně se nastavující
regulátory. Tyto regulátory jsou založeny na průběžném odhadování vlastností soustavy a
poruch a jejich postupném upřesňování. Z těchto znalostí se pak vhodnými metodami
navrhuje optimální regulátor. To umožňuje zachytit změny parametrů soustavy, zlepšit
regulaci při přítomnosti poruch a také automaticky seřídit parametry regulátoru.
STC regulátory lze rozdělit na implicitní, které přímo počítají parametry regulátoru a
explicitní, které nejprve vypočtou odhady parametrů modelu řízeného systému a z těch
následně parametry regulátoru.
Moduly pro syntézu parametrů regulátorů
Pro syntézu parametrů regulátoru byly vytvořeny dva moduly. Jeden je založen na metodě
inverze dynamiky a druhý na přiřazení pólů.
Metoda inverze dynamiky je určena pro seřízení klasických (konvenčních) regulátorů.
Umožňuje seřídit číslicový nebo analogový regulátor tak, aby bylo dosaženo požadovaného
překmitu regulované veličiny při skokové změně polohy žádané veličiny nebo poruchové
veličiny působící na výstupu regulované soustavy. Oproti často používané Ziegler-Nicholsově
metodě je značně přesnější a univerzálnější při zachování stejné jednoduchosti (Vítečková
2000). Díky své jednoduchosti se tato metoda ukázala jako velmi vhodná pro realizaci
jednoduchého samočinně se nastavujícího regulátoru na daném mikropočítači. Modul syntézy
je velmi malý (200 B) a rychlý.
Regulátor založený na přiřazení pólů uzavřeného zpětnovazebního regulačního obvodu je
navržen tak, aby stabilizoval uzavřenou regulační smyčku, přičemž charakteristický polynom
má mít předem zadané póly. Mimo požadavku na stabilitu lze vhodnou konfigurací pólů
získat poměrně snadno průběh přechodového děje uzavřeného regulačního obvodu (jako např.
maximální překmit, tlumení apod.)
Pro jednorozměrové systémy se uvažuje klasický obvod regulace pouze se zpětnovazebním
regulátorem FB nebo obvod s přímou a zpětnovazební částí FBFW.
Pro obvod FB syntéza regulátoru spočívá v řešení diofantické rovnice
AFP + BQ = D
Kde F je jmenovatel přenosu žádané veličiny (referenčního signálu). Pro konstantní (nebo po
částech konstantní) signály představuje F integrační nebo sumační člen (F = s nebo F = 1-z-1).
XXVIII. ASR '2003 Seminar, Instruments and Control, Ostrava, May 6, 2003
51
Q
R
B
a
představují přenosy regulátorů a
opět identifikovaný přenos neznámé
P
P
A
soustavy. D je určující charakteristický polynom. Volbou kořenů tohoto polynomu
dosahujeme požadovaného rozložení pólů v přenosu řízení uzavřeného regulačního obvodu.
Podíly
Modul výpočtu parametrů regulátoru metodou přiřazení pólů realizuje řešení diofantické
rovnice (x). Modul předpokládá polynom D definovaný takto:
( )
D z −1 = 1 + d1 z −1 + d 2 z −2 + d 3 z −3 + d 4 z −4
Koeficienty d1 až d4 se zadávají před překladem do pole definovaného modulem. Úloha vede
na řešení systému rovnic, pro které je použito Gauss-Jordanovy eliminační metody. Tato
metoda je velmi rychlá a úsporná. Modul vyžaduje asi 1,2 kB paměti a typická doba výpočtu
je kolem 100 ms.
Modul průběžné identifikace
Pro implementaci STC regulátoru je kromě modulu syntézy parametrů regulátoru a modulu
realizujícího vlastní výpočet akčního zásahu nezbytný také modul pro průběžnou identifikaci
parametrů řízeného systému. Proto byl takový modul zahrnut i do popisované knihovny. Je
založen na rekurzivní verzi algoritmu metody nejmenších čtverců. U této verze se používají
nově naměřené hodnoty pouze pro opravu původních odhadů, čímž se snižuje výpočetní
náročnost identifikace a tedy i nároky na výkon řídícího počítače. Doplněním tohoto
algoritmu o tzv. směrové (adaptivní) zapomínání se pak ještě výrazně omezuje výskyt
krátkodobé nestability uzavřeného obvodu při adaptivním řízení. Směrové zapomínání
umožňuje dosáhnout vysoké numerické spolehlivosti i u nedostatečně vybuzených objektů
(soustav), snižuje citlivost algoritmu na zadání apriorní informace o systému a zvyšuje
adaptivitu algoritmu vzhledem k různým rychlostem časových změn parametrů (Bobál 1999).
3 Mikrořadiče Motorola 68HC11 a 68HC08
Původní verze knihovny je vytvořena pro mikropočítač HC11, který se už delší dobu používá
na našem institutu nejen pro praktické aplikace ale také pro výuku programování a teorie
automatického řízení. Nicméně v souladu s vývojem na trhu výpočetní techniky i s rostoucími
požadavky na výpočetní výkon je vhodné uvažovat o nasazení novější řady mikropočítačů.
Jedním z nejvhodnějších kandidátů se ukazuje nová řada osmibitových mikropočítačů firmy
Motorola, HC08.
3.1 Mikrořadiče MC68HC11
MC68HC11 jsou osmibitové jednočipové mikrořadiče firmy Motorola. Přímo na čipu jsou
poskytovány základní periferie jako je osmi-kanálový analogově digitální převodník s
rozlišením 8 bitů a rozhraní pro sériovou komunikaci. Instrukční soubor MC68HC11
obsahuje kromě všech instrukcí předchozích procesorů M6800 a M6801 mnoho nových
instrukcí. Jsou to především instrukce pro přidaný druhý indexový registr (Y), instrukce pro
bitové manipulace a 16-ti bitové aritmetické operace. MC68HC11 používá techniku
paměťově mapovaných I/O, tj. procesor nemá žádné speciální instrukce pro vstupně-výstupní
(I/O) operace a I/O porty jsou obsluhovány stejným způsobem jako paměť (Motorola 1991).
Mezi hlavní přednosti MC68HC11 patří:
• široký sortiment různých druhů periferií a pamětí přímo na čipu mikrořadiče
• mikroprocesorové jádro je von Neumannova typu, tedy se stejným způsobem přístupu
k datům ve všech druzích paměti. (Data i program jsou uloženy společně.)
XXVIII. ASR '2003 Seminar, Instruments and Control, Ostrava, May 6, 2003
•
•
•
•
52
volně dostupné a volně šiřitelné programové vybavení (freeware) pro podporu
aplikací: monitory, assemblery, jazyky typu C a Basic, systémy reálného času atd.
příznivá cena
dostupnost kvalitní literatury, která se zabývá problematikou aplikací těchto
mikropočítačů.
velký počet zdařilých aplikací i při řízení průmyslových technologických procesů v
nejtvrdších podmínkách.
3.2 Mikrořadiče MC68HC08
MC68HC08 patří do nové řady osmibitových mikrořadičů vyvinutých firmou Motorola pro
nasazení v současných průmyslových aplikacích. Vyznačuje se vysoce výkonnou plně
statickou von Neumannovou architekturou optimalizovanou pro překladače jazyka C. Je
směrem nahoru plně programově kompatibilní s rodinou mikrořadičů M6805, M146805 a
M68HC05 čímž je zaručena snadná přenositelnost programového vybavení. Díky mnoha
vylepšením v mikroprocesorovém jádru byla rozšířena původní instrukční sada o dalších 78
instrukcí. Novinkou je implementace FLASH paměti o kapacitě až 60KB, která podporuje
programování přímo v aplikaci (nemusíme tedy používat speciální jednoúčelové
programátory) a podstatně tím zkracuje dobu vývoje nového programového vybavení.
Obdobně jako u MC68HC11 jsou na čipu dle typu mikrořadiče integrovány následující
periferní obvody: 8 bitové A/D převodníky s postupnou aproximací vybavené analogovým
multiplexerem, modul časovačů s funkcemi zachycení vstupu a komparace výstupu,
EEPROM paměť mazatelnou a zapisovatelnou po 1B, statická paměť RAM o kapacitě až
2KB, watchdog časovač, obvody pro monitorování napájecího napětí a frekvence oscilátoru,
plně duplexní sériové komunikační rozhraní, synchronní sériové periferní rozhraní, řadič
CAN sběrnice, generátor hodinového kmitočtu s PLL (Motorola 2000).
Řada MC68HC08 AS
Mikropočítače řady AS mají implementovány pokročilý sběrnicový řadič pro sériovou
komunikaci odpovídající protokolu SAE J1850 třídy B. Typickou aplikací BLDC modulu je
automobilový průmysl, kde jednotlivé mikropočítače komunikují prostřednictvím jednoduché
nebo dvojité sběrnice s podporou diagnostiky.
Řada MC68HC08 GP
Tato řada je vhodná pro široký okruh víceúčelových aplikací, kde je vyžadována
programovatelná paměť typu FLASH, analogově/digitální převodník, asynchronní a
synchronní sériové rozhraní, 32kHz PLL jednotka a rozšířený systém časovačů s pulsně
šířkovou modulací. Integrace vstupně/výstupních jednotek s velkou proudovou zatížitelností,
programovatelných pullup rezistorů a rozhraní klávesnice umožňuje snížení nákladů na celé
zařízení.
Řada MC68HC08 JL a JK
Mikrořadiče řady JL a JK přináší vysoký výkon mikropočítačů 68HC08 do aplikací pro
všeobecné použití za nízkou cenu. Mají integrován analogově/digitální převodník, paměť
FLASH o kapacitě 1.5 nebo 4KB a stejné náklady na integraci do systému jako řada GP. Řada
JK je dodávána v pouzdru s 20 vývody, řada JL s 28 vývody.
Řada MC68HC08 MP a MR
Tyto řady mikropočítačů mají integrovány pokročilý 6 kanálový, 12 bitový systém pulsně
šířkových modulátorů, který v kombinaci se sériovým komunikačním rozhraním tvoří ideální
nástroj pro řízení 3 fázových motorů.
53
XXVIII. ASR '2003 Seminar, Instruments and Control, Ostrava, May 6, 2003
Řada MC68HC08 AZ
Řada AZ obsahuje integrovanou datovou sběrnici místní sítě, která umožňuje komunikaci v
CAN síti. CAN sběrnice nachází své uplatnění v automobilech a v systémech automatizace.
Speciální typy MC68HC08
Jsou typické svými méně obvyklými rozhraními jako je například USB a PS/2, které se běžně
používá u počítačů PC.
3.3 Porovnání architektury mikrořadičů MC68HC11 s MC68HC908
Mikrořadiče MC68HC08 mají zcela odlišnou centrální procesorovou jednotku, která má jen
jeden 8 bitový akumulátor A (68HC11 má dva akumulátory A a B s možností sloučení do
jednoho 16 bitového, který se označuje D) a dva 8 bitové registry H a X, které lze sloučit do
jednoho indexového registru (68HC11 má dva 16 bitové indexové registry IX a IY).
Programový čítač PC a ukazatel zásobníku SP mají oba mikrořadiče stejné, zcela odlišné je
umístění příznakových bitů v příznakovém registru (Motorola 2001). Tyto odlišnosti mají
samozřejmě za následek vzájemnou programovou nekompatibilitu těchto dvou typů
mikrořadičů. MC68HC08 nabízí všechna standardní rozhraní jako MC68HC11, jedinou jeho
velkou nevýhodou je absence externí adresové, datové a řídící sběrnice což znemožňuje
připojení standardních pamětí RAM, ROM, EPROM a jiných periferií. Vnější periferní
zařízení lze připojit prostřednictvím synchronního sériového periferního rozhraní, které
ovšem nemá tak velkou datovou propustnost jako sběrnicový subsystém u MC68HC11.
HC11
A
HC08
B
A
D
IX
H
X
IY
SP
SP
PC
CCR
PC
CCR
Obrázek 1 – Registry CPU mikrořadičů 68HC11 a 68HC08
Protože je knihovna a veškeré další již vytvořené programové vybavení napsáno v jazyce
asembler, tj. jazyce specifickém pro daný mikropočítač, je při přechodu na novou řadu
mikropočítačů nutno buď všechny programy přepsat, resp. znovu napsat pro nový
mikropočítač, nebo hledat jinou cestu jak již existující kód využít. Jednou z možností je i
použití softwarového konvertoru, který na úrovni instrukcí převádí kód z asembleru HC11 do
asembleru HC08.
4 Konverze programového vybavení
Konverzí programového vybavení se rozumí proces transformace instrukční sady, při kterém
se jednotlivé instrukce CPU mikrořadiče MC68HC11 nahrazují n instrukcemi CPU
mikrořadiče MC68HC08 s podmínkou, že tento nový blok instrukcí musí plně funkčně
zastoupit původní instrukci. Efektivita výsledného kódu může být vyšší nebo nižší v závislosti
na výkonu a architektuře cílového mikropočítače.
XXVIII. ASR '2003 Seminar, Instruments and Control, Ostrava, May 6, 2003
54
4.1 Popis funkce konvertoru
Konvertor čte zdrojový soubor postupně po jednotlivých programových řádcích. Každý řádek
je podroben analýze, jejíž účelem je rozdělit data na návěští, instrukci, operand a komentář.
Jestliže má instrukce operand, určí se podle jeho tvaru adresovací režim. Přímý, rozšířený a
bezprostřední adresovací režim mají přiřazen identifikátor 1, indexový s registrem IX
identifikátor 2, indexový s registrem IY identifikátor 3 a implicitní nemá přiřazen žádný
identifikátor. Nyní jsou známy všechny parametry instrukce a může se začít s jejím
vyhledáváním v instrukčním slovníku. Pokud je instrukce nalezena, začne se na základě údajů
z instrukčního slovníku generovat její náhrada. V opačném případě se činnost konvertoru
zastaví s výpisem chybového hlášení informujícím o čísle řádku, na kterém byla chyba
nalezena. Po vygenerování celého náhradního kódu odpovídajícího jedné instrukci, začne
konvertor zpracovávat další programový řádek. Celý cyklus se opakuje tak dlouho, dokud
není identifikován konec souboru.
HC11
zdrojový text
HC08
zdrojový text
Konvertor
Instrukční slovník
Obrázek 2 – Princip činnosti konvertoru
Instrukční slovník
Instrukční slovník je textový soubor obsahující náhrady všech instrukcí mikropočítače
MC68HC11. Instrukce s operandem jsou dále rozděleny na 3 skupiny podle adresovacího
režimu, instrukce bez operandu se dále rozlišovat nemusí, protože se u nich vždy jedná o
implicitní adresaci. Činnost konvertoru je řízena speciálními znaky viz tabulka 1.
Tabulka 1: Význam řídicích znaků
Znak
~
&
?n?
/
@
^
|
Význam
Označuje začátek a konec návěští instrukce s identifikátorem
Na místo tohoto znaku se vloží operand instrukce
Vygeneruje jedinečné interní návěští n
Vloží původní konvertovanou instrukci
Vloží masku (jen instrukce Bset, Bclr, Brset, Brclr)
Vloží adresu skoku (jen instrukce Bset, Bclr, Brset, Brclr)
Vloží parametr u pseudoinstrucí (Org, Equ, Fdb, Fcb, Rmb)
Vzhledem k menšímu počtu pracovních registrů mikropočítače MC68HC08, musí být
všechny registry nahrazeny proměnnými (dále nazvané jako virtuální registry) umístěnými v
1.stránce paměti RAM (rozsah adres $40-$FF). Seznam proměnných nutných pro správnou
funkci konvertovaného programu je uveden v tabulce 2.
Tabulka 2: Proměnné nutné pro správnou funkci překonvertovaného programu
Proměnná
reg_A
reg_B
reg_IX
reg_IY
xHCPDIV
Velikost
1B
1B
2B
2B
8B
Význam
Náhrada akumulátoru A
Náhrada akumulátoru B
Náhrada indexového registru IX
Náhrada indexového registru IY
Pracovní registr pro některé instrukce
XXVIII. ASR '2003 Seminar, Instruments and Control, Ostrava, May 6, 2003
55
Registr D je v mikrořadiči 68HC11 realizován spojením dvou 8 bitových akumulátorů A a B.
Stejným způsobem postupuje i konvertor – považuje virtuální registry reg_A a reg_B za jeden
16 bitový registr D. Pro správnou funkci je tedy nutné, aby proměnné reg_A a reg_B byly
umístěny v paměťovém prostoru bezprostředně za sebou a ve správném pořadí.
Jako příklad si uvedeme konverzi instrukce LDAB, která do 8 bitového akumulátoru B načte
obsah daný operandem:
Zápis instrukce v jazyce symbolických adres mikropočítače 68HC11:
ldab
data
;načti z adresy „data“ 8 bitový obsah do registru B
V instrukčním slovníku je pro danou instrukci uložen následující záznam:
~ldaa1~
lda
sta
&
reg_B
;zde se místo znaku & vloží operand instrukce
Po konverzi na základě instrukčního slovníku dostaneme:
lda
sta
data
reg_B
;načti do A 8 bitový obsah z adresy „data“
;ulož do virtuálního registru B
4.2 Postup při konverzi programového vybavení
Proces transformace programového vybavení není zcela automatický, protože se konvertuje
jen instrukční sada mikroprocesoru a volání vstupně/výstupních obvodů zůstává beze změn.
Aby byla konverze programu úspěšná, je nutné dodržet následující postup:
1. Upravit umístění programu v paměti dle požadavků použitého mikropočítače – zcela
nezbytné je umístění virtuálních registrů a pracovního registru do oblasti 1.stránky paměti
RAM ve správném pořadí.
2. Změnit adresy vstupně/výstupních obvodů dle konkrétního typu cílového mikrořadiče.
3. Čekací smyčky mohou být díky vyššímu hodinovému kmitočtu mikrořadiče MC68HC08
zpracovávány rychleji – je nutné upravit inicializační hodnoty počitadel.
4. Provést konverzi pomocí vytvořeného programu WinHC11conv (viz obrázek 3).
5. Aby byl zaručen správný obsah všech virtuálních registrů po návratu z obsluhy přerušení,
je nutné na začátek každé obsluhy přerušení vložit programový kód, který konvertor
automaticky zapisuje jako poznámku na začátek překonvertovaného programu. Stačí jej
překopírovat na příslušná místa obsluh přerušení a odstranit znaky uvozující komentáře.
6. Upravit obsah vektorů přerušení dle typu mikrořadiče a dané aplikace.
Obrázek 3: Konvertor programového vybavení
XXVIII. ASR '2003 Seminar, Instruments and Control, Ostrava, May 6, 2003
56
5 Praktické ověření
Praktické ověření zahrnovalo jednak testy modulů při řízení reálné tepelné soustavy pomocí
mikropočítače HC11 a jednak konverze a testy modulů na simulátoru a novém mikropočítači
HC08.
5.1 Moduly pro mikropočítač Motorola HC11
Kromě testování na simulátoru byly moduly ověřovány také v reálných aplikacích běžících na
mikropočítači Motorola HC11 v prostředí operačního systému RTMON. Byly vytvořeny tři
testovací aplikace a to: aplikace pro průběžnou identifikaci parametrů řízené soustavy,
aplikace pro řízení teploty soustavy s adaptivním regulátorem založeným na inverzi dynamiky
a aplikace pro řízení teploty soustavy založená na přiřazení pólů.
Aplikace pro průběžnou identifikaci je určena k ověření funkčnosti modulu identifikace.
Skládá se ze dvou procesů:
Proces identifikace: tento proces je spouštěn podle nastavené periody vzorkování (6 s). V
každém kroku provede přečtení aktuální hodnoty vstupu (teploty soustavy) a výpočet nových
odhadů parametrů soustavy. Identifikace je prováděna diskrétním modelem druhého řádu bez
dopravního zpoždění.
Proces akčního zásahu: tento proces je spouštěn s periodou 2 sekundy a realizuje požadovaný
akční zásah (vstup identifikované soustavy) podle daného algoritmu.
Aplikace obsahuje kromě modulu průběžné identifikace také modul pro čtení analogových
vstupů.
Obrázek 4 - Vývoj odhadů parametrů soustavy
Aplikace s regulátorem založeným na inverzi dynamiky slouží k ověření funkčnosti
modulu syntézy regulátoru metodou inverze dynamiky. Využívá také modul průběžné
identifikace, modul PSD regulátoru a modul analogových vstupů. Aplikace obsahuje dva
procesy operačního systému RTMON:
Proces regulace: tento proces je periodicky spouštěn s periodou vzorkování a při každém
spuštění provede:
• Změření aktuální hodnoty regulované veličiny.
XXVIII. ASR '2003 Seminar, Instruments and Control, Ostrava, May 6, 2003
57
• Identifikaci parametrů soustavy.
• Návrh parametrů regulátoru metodou inverze dynamiky.
• Výpočet akčního zásahu voláním modulu PSD regulátoru.
Akční zásah je omezen na rozsah 0 až 1.0 (tj. 0 až 100%).
Proces akce: tento proces je periodicky spouštěn s krátkou periodou (při testech bylo použito
periody 2 s) a realizuje vypočtený akční zásah pomocí šířkové modulace. Při každém spuštění
proces vyhodnotí aktuální akční zásah a na odpovídající dobu zapne topení (nastaví příslušný
bit výstupního portu). Toho je dosaženo tak, že se proces po nastavení výstupního bitu
pozastaví (uspí) na dobu tím delší, čím větší má být akční zásah. Po probuzení pak příslušný
bit vynuluje a tím ukončí výstupní impuls. Při stoprocentním akčním zásahu je topení trvale
zapnuto, při nulovém akčním zásahu trvale vypnuto.
Obrázek 5 - Inverze dynamiky (T = 6 s, Tw =27 s)
Aplikace s regulátorem založeným na přiřazení pólů byla vytvořena k ověření funkčnosti
modulu syntézy regulátoru metodou přiřazení pólů. Zároveň využívá a tedy i testuje také
modul průběžné identifikace, modul obecného lineárního regulátoru a modul analogových
vstupů.
Aplikace má stejnou strukturu jako aplikace pro testování pracující s metodou inverze
dynamiky. Obsahuje dva procesy operačního systému RTMON – proces regulace a proces
akce přičemž proces akce je stejný jako u předchozí aplikace.
Proces regulace se liší použitím jiných modulů. Proces je periodicky spouštěn s periodou
vzorkování a při každém spuštění provede:
• Změření aktuální hodnoty regulované veličiny.
• Identifikaci parametrů soustavy pomocí modulu.
• Návrh parametrů regulátoru přiřazení pólů (pole placement) pomocí příslušného
modulu knihovny.
• Výpočet akčního zásahu voláním modulu obecného lineárního regulátoru.
XXVIII. ASR '2003 Seminar, Instruments and Control, Ostrava, May 6, 2003
58
Obrázek 6 - Přiřazení pólů (T = 6 s, d1 = -0,5; d2 = -0,2)
5.2 Ověření funkce konvertoru
Konvertor byl odzkoušen ve dvou fázích. Nejprve byla ověřena správná funkce transformace
celé instrukční sady v simulátoru ICS08Z se současnou analýzou počtu strojových cyklů
mikroprocesoru nutných pro jejich zpracování. Teprve po odzkoušení správné funkce
jednotlivých instrukcí se provedla konverze programových modulů původně určených pro
mikrořadiče řady MC68HC11. V tabulce 3 jsou uvedeny výsledky analýzy rychlosti běhu
jednotlivých modulů na mikropočítači MC68HC08 při standardní hodinové frekvenci
sběrnice 8MHz v porovnání s MC68HC11 pracujícího na frekvenci sběrnice 2MHz.
Efektivita kódu nám udává jakou poměrnou rychlostí je vykonáván program po konverzi na
MC68HC08. Pokud je rovna 100%, znamená to, že program běží stejnou rychlostí jako na
MC68HC11. Paměťové požadavky modulů před a po konverzi jsou uvedeny v tabulce 4.
Tabulka 3: Vyhodnocení rychlosti běhu konvertovaných modulů na MC68HC08
Modul
Ident
PSD1
PSD2
Poleplac
Robust
Invdyn
Polreg
Obecreg
HC11 at 2MHz bus clock
t11[ms]
NT11
110000
55,00
3200
1,60
2680
1,34
98000
49,00
147000
73,50
11000
5,50
7800
3,90
8600
4,30
NT08
280000
7500
7700
245000
395000
20533
12525
15803
HC08 at 8MHz bus clock
t08[ms]
Efektivita kódu [%]
35,00
157,14
0,94
170,67
0,96
139,22
30,63
160,00
49,38
148,86
2,57
214,29
1,57
249,10
1,98
217,68
Popis symbolů použitých v tabulce:
NT11 – počet strojových cyklů nutných k vykonání modulu na MC68HC11
NT08 – počet strojových cyklů nutných k vykonání konvertovaného modulu na MC68HC08
t11 – celkový čas vykonávání modulu na MC68HC11
t08 – celkový čas vykonávání konvertovaného modulu na MC68HC08
XXVIII. ASR '2003 Seminar, Instruments and Control, Ostrava, May 6, 2003
59
Tabulka 4: Paměťové požadavky jednotlivých modulů
Modul
Ident
PSD1
PSD2
Poleplac
Robust
Invdyn
Polreg
Obecreg
HC11
Velikost [B]
2595
226
319
1222
3070
204
364
379
Velikost [B]
8752
964
1066
4558
10264
705
1062
1367
HC08
Nárůst velikosti kódu [%]
237
327
234
273
234
246
192
261
6 Závěr
V rámci knihovny programových modulů pro mikropočítač Motorola HC11 bylo vytvořeno
několik nových modulů implementujících moderní metody teorie řízení. Tyto moduly pak
byli otestovány při řízení reálného systému a potvrdilo se, že i na mikropočítačích je možné
realizovat moderní metody řízení a dosáhnout tak přínosů, které tyto metody nabízejí, jako je
jednoduchá aplikace či zlepšení kvality řízení. S ohledem na další rozvoj je vhodné uvažovat
o přechodu na novou, výkonnější řadu mikropočítačů jako je např. Motorola HC08. Pro
usnadnění takového přechodu bez nutnosti přepsat celé programové vybavení byl vytvořen
konvertor zdrojových textů. Tento konvertor byl následně úspěšně použit pro konverzi celé
knihovny programových modulů napsané původně pro HC11 na nový mikropočítač HC08.
Jak je prezentováno v této práci, i přesto, že se konverze může jevit neefektivní, dosahuje
konvertovaný kód na novém hardware lepších výsledků než původní kód na původním
hardware. Rezerva výpočetního výkonu se tedy zdá dostatečná, aby bylo v budoucnu možno
na daném mikropočítači implementovat i složitější algoritmy řízení.
Tato práce byla podporována Ministerstvem školství České republiky v rámci projektu MSM
281100001 a projektem 102/03/0625 Grantové agentury České republiky.
7 Literatura
VAŠEK, V. 1990. Teorie automatického řízení II. Skriptum FT VUT Zlín, 1990
VÍTEČKOVÁ, M. 2000. Seřízení regulátorů metodou inverze dynamiky. Skriptum VŠB –
Technická Univerzita Ostrava, 2000.
BOBÁL, V. aj. 1999. Praktické aspekty samočinně se nastavujících regulátorů, algoritmy a
implementace. VUT Brno, 1999.
MOTOROLA 1991. HC11 Reference Manual, firemní literatura Motorola,1991
MOTOROLA 2000, M68HC908GP32 HCMOS Microcontroller Unit, firemní literatura
Motorola, 2000
MOTOROLA 2001, CPU08 Central Processor Unit, firemní literatura Motorola, 2001

Podobné dokumenty

MIKROPOČÍTAČE

MIKROPOČÍTAČE datový registr paměti – slouží k uložení informací (dat nebo instrukcí) přenášených mezi hlavní pamětí a CPU,

Více

2 - Panasonic Service Network Europe

2 - Panasonic Service Network Europe ≥ K čištění nikdy nepoužívejte alkohol, ředidlo na barvy nebo benzen. ≥ Před použitím textilie napuštěné chemikálií si pozorně přečtěte pokyny k jejímu použití.

Více

16-bitový mikrokontrolér MC9S12NE64

16-bitový mikrokontrolér MC9S12NE64 Dále nalezneme na čipu 64 KB 16-bitové paměti programu Flash. Paměť EEPROM obvyklou u některých zástupců rodiny HCS12 mikrokontrolér MC9S12NE64 postrádá, ale část paměti Flash je možno programově p...

Více

Výroční zpráva o činnosti - Fakulta právnická

Výroční zpráva o činnosti - Fakulta právnická vystupoval v úzké spolupráci s proděkanem JUDr. Ing. Bohumilem Poláčkem, Ph.D., MBA, LL.M., který byl v souladu se Statutem a příslušnou vyhláškou jako nejstarší proděkan oprávněn zastupovat děkana...

Více

1 - Konto BARIÉRY

1 - Konto BARIÉRY proti bariérám přímo podílíme na tom, že roste počet kvalifikovaných a schopných lidí s handicapem. A nejen to, daří se nám měnit vztah firem a podnikatelů k jejich zaměstnávání. Stali jsme se spol...

Více

Témata k MZ – profilová část A4.E, C4.E

Témata k MZ – profilová část A4.E, C4.E - regulace s rozvětveným výstupem regulátoru - víceparametrová - optimální a extremální regulace - adaptivní, učící se systémy 22. Číslicové řízení (PAS 3) - základní princip diskrétního řízení, ma...

Více

Ing. Marek Šmíd - Curriculum Vitae

Ing. Marek Šmíd - Curriculum Vitae GIS ESRI ArcMap, JavaScript client map libraries, spatial databases (PostGIS), UMN MapServer, OpenStreetMap data. Semantic web Web Ontology Language (OWL), Protégé, RDF, Linked Data. Computing Math...

Více

Ke stažení

Ke stažení Stavebnice podporující logické myšlení zároveň rozvíjí šikovnost a trpělivost. Různě dlouhé stavební díly nabízí možnost postavit vše, co vaše fantazie vymyslí. Návod obsahuje předlohy pro modely, ...

Více

I. LIGA roč. 2009 – 2010 3. kolo

I. LIGA roč. 2009 – 2010 3. kolo --------------------------------------------------------------------------------------------------------------V utkání zvítězil domácí celek : BC Development N. Lískovec Brno

Více