Perspectives of Using Motorola 8-bit Microcontrollers for
Transkript
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
datový registr paměti – slouží k uložení informací (dat nebo instrukcí)
přenášených mezi hlavní pamětí a CPU,
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í.
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ý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...
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...
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...
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...
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, ...
I. LIGA roč. 2009 – 2010 3. kolo
--------------------------------------------------------------------------------------------------------------V utkání zvítězil domácí celek : BC Development N. Lískovec Brno