Návod k simulaci výukového přípravku v programu Hybrid Circuit Simulator (HyCiSim) verze 0.4 Ing. Tomáš Martinec Ph.D.
TECHNICKÁ UNIVERZITA V LIBERCI Fakulta mechatroniky, informatiky a mezioborových studií
Tento materiál vznikl v rámci projektu ESF CZ.1.07/2.2.00/07.0247 Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření, který je spolufinancován Evropským sociálním fondem a státním rozpočtem ČR
Simulace přípravku v programu HyCiSim Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
Program HyCiSim
Simulace přípravku v programu HyCiSim Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
Úvod Program Hybrid Circuit Simulator slouží pro simulaci obecných hybridních obvodů (obsahujících analogové i digitální součástky). Jeho vývoj s probíhá s podporou ESF a je primárně určen pro simulaci výukového přípravku pro předměty PMP a PHS. Je možné ho ale využít i pro jiné účely a doplnit i o další součástky. Pokud budete mít jakékoli dotazy, náměty nebo připomínky, pak neváhejte napsat na adresu
[email protected]. Stejně tak pokud by Vás program zaujal a měl by jste zájem podílet se na jeho vývoji formou projektu, diplomové nebo bakalářské práce.
Simulace přípravku v programu HyCiSim Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
Obsluha programu – práce se schématem Základní obsluha programu je velmi jednoduchá. Po spuštění programu se načte naposledy otevřené schéma, přednastavené je schéma přípravku, které je součástí distribuovaného balíčku a je uloženo v podadresáři TULPripravek. Pokud tomu tak není, pak pomocí menu File/Open ho můžete otevřít ručně.
Položka Autoreload on file change je určena pro automatické načítání nové verze schématu, pokud dochází k jeho změnám. Schéma nelze editovat přímo v simulátoru, ale tomuto účelu lze využít program Eeschema z volně šiřitelného balíku KiCad.
Simulace přípravku v programu HyCiSim Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
Obsluha programu – priorita a časová osa Simulace hybridních obvodů je poměrně náročná na strojový čas procesoru. Proto si uživatel může sám zvolit, na kolik dovolí simulaci maximálně zatížit procesor (v menu Priority). Simulace jednoduchých obvodů nebo programů běží v reálném čase a nevytěžuje počítač na nastavené maximum. Pokud je simulace složitější (např. velké množství změn na pinech procesoru), pak reálného času nelze dosáhnout. Proto se dole v informační liště zobrazuje reálný čas, simulovaný čas a aktuální výkon (poměr mezi těmito časy). Při nízké nastavené prioritě bude i tento výkon menší. Nastavení priority na maximální hodnotu může vést až k tomu, že operační systém přestane reagovat. Protože je ale simulátor pouze jednovláknová aplikace, nehrozí tento problém u vícejádrových procesorů. Skutečná priorita je pak nastavená hodnota dělená počtem jader (takže např. maximálně 50% u dvoujádrového procesoru).
Simulace přípravku v programu HyCiSim Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
Obsluha simulace Mimo nastavení priority simulátoru lze čas ovlivnit také pomocí jednoduchého měřítka, které se nachází přímo pod schématem. Pomocí tohoto nástroje lze zpomalit simulaci na 1/120tinu reálného času nebo jí naopak 50x zrychlit. Je ale nutné si uvědomit, že hlavním limitem je výkon počítače a proto se nemusí změna projevit vždy jen žádoucím způsobem. Velikost schématu je možné pomocí menu View přizpůsobit obrazovce. Přibližování a oddalování mění proporcionálně velikost celého schématu. Hned po spuštění nebo po otevření schématu je simulace spuštěná. V případě potřeby je možné použít tlačítko Pauza pro zastavení. Opět lze simulaci spustit tlačítkem Play. Tlačítko Reset souží pro vynulování simulace a její spuštění od začátku.
Simulace přípravku v programu HyCiSim Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
Model přípravku Přiložené schéma přípravku umožňuje simulovat procesor AT89C51CC03 a všechny připojené periférie. Většinu věcí lze sledovat a ovládat přímo v hlavním okně simulátoru. Klávesnici, tlačítka i resetovací tlačítko u procesoru lze ovládat kliknutím myši nebo stisknutím příslušné klávesy na klávesnici. Pomocí myši lze nastavovat hodnoty na posuvných ovladačích. Na reproduktoru lze nastavovat jeho hlasitost, u teplotního čidla lze simulovat různou okolní teplotu a na potenciometru lze volit napětí na vstupu AD převodníku (skutečná hodnota se zobrazuje na připojeném voltmetru). Ne vše se ale vejde na plochu se schématem. Proto některé součástky mají svůj vlastní dialog, který je možné zobrazit dvojklikem na příslušnou součástku. Následuje jejich popis.
Simulace přípravku v programu HyCiSim Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
Procesor Dvojklikem na ploše procesoru se zobrazí dialog pro ovládání modelu procesoru a sledování jeho stavu. Pomocí tlačítka Load File můžete zvolit soubor s programem (výstup z překladače, má příponu HEX nebo IHX). Lze zapnout i funkci automatického znovunačtení při jeho změně. Při tom dojde i k automatickému resetu procesoru. Dále je zde okno s disassemblovaným programem a pokud simulátor najde zdrojový text, tak se zde objeví i program v C. Je zde možné pomocí checkboxů nastavit způsob sledování programu a dvojklikem nastavit breakpoint (nesmí být zapnuto Move to actual instruction). Opětovné spuštění se provede pomocí tlačítka Play v hlavním okně simulátoru. Dole v okně se pak zobrazuje obsah nejdůležitějších registrů procesoru.
Simulace přípravku v programu HyCiSim Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
LCD displej Obsah LCD displeje se v textové podobě zobrazuje přímo na schématu. Zde ale není možné korektně zobrazit speciální znaky ani uživatelsky definované znaky. Proto má tento displej ještě svůj vlastní formulář, který se zobrazí dvojklikem na displej ve schématu. Na tomto formuláři je jednak graficky znázorněný obsah displeje (který podporuje i uživatelsky definované znaky), ale také obsah vnitřních registrů a obsah paměti znakového generátoru. I tento obsah podporuje i uživatelsky definované znaky. Najdete zde i tlačítko Reset display pro uvedení displeje do počátečního stavu. Display se totiž chová nezávisle na ostatních součástkách (proto např. reset procesoru nemá vliv na stav displeje, jak je tomu i ve skutečnosti).
Simulace přípravku v programu HyCiSim Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
Hodiny reálného času (RTC) Obvod reálného času (DS1338C) poskytuje aktuální datum a čas s rozlišením na jednu vteřinu. Tento obvod má také svůj dialog, který se aktivuje dvojklikem. Zde se zobrazuje aktuální obsah všech vnitřních registrů a je možné tento obsah vrátit do továrního nastavení nebo nastavit aktuální čas a datum z hostitelského počítače.
Simulace přípravku v programu HyCiSim Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
Terminál sériové linky (UART) Pro ladění komunikace po sériové lince je možné využít jednoduchý terminál, který je na schématu vlevo od procesoru. Formulář se zobrazí dvojklikem na příslušnou součástku. Zde je nutné správně nastavit parametry komunikace. Pak se v horní polovině zobrazují přicházející znaky od procesoru a ve spodní je možné psát znaky, které se ihned odesílají do procesoru. Lze zde také nastavit připojení na existují COM port a komunikovat například s externím zařízením. Případně lze využít program com0com, s ním vytvořit dva spojené virtuální sériové porty a ke druhému pak připojit nějaký jiný program nebo sofistikovanější terminál.
Simulace přípravku v programu HyCiSim Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
Závěr Program Hybrid Circuit Simulator je určený k podpoře výuky, v žádném případě ale nemůže být náhradou práce na cvičení. Umožňuje sice domácí přípravu a zkoušení vlastních programů i bez přípravků, ale není stoprocentní náhradou přípravku. I přes veškerou snahu není program bez chyb a také nelze modelovat dokonale vše. Simulátor se pouze přibližuje skutečnému přípravku (i když některé jeho vlastnosti umožňují ladění na lepší úrovni, než přípravek). Proto nelze semestrální práce odevzdávat v simulátoru, ale pouze na přípravku. Argumenty typu „v simulátoru mi to ale fungovalo dobře“ nebudou v žádném případě brány při hodnocení na zřetel (ať už se jedná o tento program, nebo o simulaci v prostředí uScope). Přesto doufám, že Vám tento program pomůže při Vašem studiu jak při cvičeních, tak třeba i při přípravě na zkoušku.