Tyto produkty již nedodáváme!


ASIX Home

Používejte emulátor

  2003-08-13  

Technický pokrok čas od času přináší novinky, které mají zásadní význam pro další rozvoj civilizace. Po myšlence, její realizaci v "laboratorních" podmínkách a využitím ve špičkových odvětvích vědy a techniky nastává (často i po desítkách let) další fáze, kdy se praktické výsledky objevu (především cenově) zpřístupní komerčnímu využití ve formě standardního produktu. Pak (už velice rychle) nastává poslední fáze, kdy se produkt stává samozřejmostí, bez níž se nelze obejít, aniž by to znamenalo závažná omezení a finanční ztráty. Díky tomu má pak např. každá sekretářka výkonnější počítač, než jakým bylo řízeno přistání prvních lidí na Měsíci.

Pro vývoj aplikací s mikrokontroléry je hardwarový emulátor ideální prostředek. Ušetří Vám stovky hodin práce. Chová se úplně stejně jako skutečný PIC, a navíc lze vše uvnitř PIC vidět a měnit i za běhu, zastavit při dané podmínce, prohlédnout si, kudy před zastavením program probíhal a s jakými hodnotami pracoval, krokovat, ...

Do současné doby panoval názor, že emulátor je sice výborná věc, ale je drahý - tisíc(e) dolarů. To ale už není pravda.

Emulátory MU Alpha a MU Beta firmy ASIX jsou podstatně lepší než dosavadní emulátory, a jsou za zlomek jejich ceny!

Co je, a co není emulátor >>>

Bližší informace o MU Alpha/Beta >>>

Výhody práce s hardwarovým emulátorem

Emulátor je jediný opravdu plnohodnotný ladící prostředek

  • Softwarové simulace nepracují v reálném čase a s reálným prostředím, vyžadují tvorbu dat pro buzení vstupů (pracné, někdy až nemožné, potenciální zdroj další chyby), výsledky simulace nelze přímo konfrontovat se skutečností
  • Měřícími metodami není vidět dovnitř PIC, jsou pracné, nepohodlné a náročné na vybavení
  • Hardwarové In-Circuit Debuggery využívají pro sebe část hardware PIC (piny, paměť, zásobník), vyžadují zásahy do laděného programu, za běhu není vidět nic, některá data nejdou změnit ani po zastavení. Navíc jsou dražší než MU Alpha!

Při emulaci často jediným rychlým pohledem do okénka uživatelských proměnných nebo registrů PIC objevíte chybu programu, kterou byste jinak hledali řadu hodin! I u aplikace, která zdánlivě funguje, objevíte chyby, které se momentálně neprojevují, a které žádným jiným způsobem nemůžete zjistit (nesprávná hodnota proměnné, přetečení zásobníku, časovače, reset WDT, ...). Aplikaci vyvinutou na emulátoru mnohem klidněji dodáte svým odběratelům, protože riziko chyby v programu je sníženo na minimum.

Pro začínající uživatele i špičkové profesinály

Extrémně nízká cena v kombinaci s mnoha důmyslnými funkcemi emulátorů MU Alpha a MU Beta znamená průlom na trhu emulátorů PIC. Technika emulace je nyní zpřístupněna nejen profesionálům, ale i studentům a amatérům. Emulátor je velmi vhodný i jako velice účinná studijní pomůcka. Začátečník, který se s PIC teprve začíná seznamovat a právě napsal svůj první program se třemi instrukcemi, je schopen prakticky okamžitě využít toho, že pomocí emulátoru ihned vidí, jaký mají "jeho" instrukce na PIC dopad, a zdali vykonávají to, co si od nich slibuje. Zapíše-li např. hodnotu 05h do registru Option, okamžitě na obrazovce vidí, zda má to, co chtěl, tj. předělič přiřazen časovači TMR0, časování interními hodinami, dělící poměr 1:64 a aktivovány interní odpory pull-up. Pokud vidí, že vše souhlasí, až na dělicí poměr (který je 1:128), rychle si uvědomí, že si omylem spletl tabulku pro TMR0 a pro watchdog; pokud vidí, že nesouhlasí prakticky nic, může velice snadno vypátrat příčinu (např. nesprávné zvolení banky 0 namísto 1). Ověřit tato fakta měřením trvá řádově deset minut a vyžaduje úpravu programu. Tedy emulátor podporuje systematický postup cíleně zaměřený na nalezení chyby v co nejkratším čase, namísto krkolomného postupu a tápání. Na rozdíl od slabikáře, který po jeho osvojení každé dítě odloží a už se k němu nevrátí, emulatory MU nadále slouží uživateli na libovolné úrovni - jak vzrůstají jeho znalosti, je postupně schopen ocenit důmyslné funkce emulátorů MU, které se ze studijní pomůcky stávají opravdovým (a nejvýkonnějším) ladícím prostředkem.

Emulátor za cenu downloaderu

Emulátor tak šetří uživateli čas v mnoha ohledech - při studiu, při tvorbě programu (tam jsou časové úspory zdaleka nejvýraznější) a dokonce i při zdánlivě tak okrajové záležitosti, jako je "nahrávání" programu: do PIC může vlastní programování trvat i desítky sekund, případně i déle než minutu (podle typu PIC, velikosti použité paměti a podle typu programátoru), ne vždy aplikace umožňuje programování na osazené desce, často se musí fyzicky manipulovat se součástkou (přesun PIC z aplikace do programátoru a zpět, fyzické opotřebení pinů PIC a patic), navíc PIC dovoluje pouze omezený počet přeprogramování. U typů PIC12C5xx, PIC16C5x, PIC16C711 apod. je tento problém ještě mnohem větší - nelze jej elektricky reprogramovat, musí se mazat UV zářením, snesou desetkrát menší počet cyklů mazání/zápis než typy s pamětí Flash, mazatelné provedení PIC12C5xx je přibližně desetkrát dražší než OTP. To vede k tomu, že si uživatel nemůže dovolit přeprogramovávat PIC tak často, jak by bylo pro postup vývoje žádoucí - musí volit kompromis, čímž se ale snižuje efektivita práce. Přitom při vývoji jednoho složitějšího programu je potřeba provést typicky stovky až tisíce takovýchto programovacích cyklů. U emulátoru se uživatel o nahrávání nemusí vůbec starat - provádí se automaticky, a trvá zlomek sekundy. Konstruují se i jiná zařízení, která mají tuto výhodu – takzvané downloadery. Ty ale nemají žádné ladící funkce, "pouze" se chovají jako PIC. Přesto jsou dražší než MU Alpha!

Jak ladit PIC, který MU Beta nepodporuje? Přece pomocí MU Beta!

Kdo jednou zakusil výhody emulátoru MU, nadále se bez něho obejde jen velice nerad. Velmi neblaze na takového uživatele působí vědomí, že chybu, kterou hledá už několik hodin (nebo dokonce už druhý den), by s emulátorem objevil během pěti minut.

Cena MU Alpha a MU Beta je natolik atraktivní, že se vyplatí je používat i k emulaci aplikací určených pro jiný typ PIC, pro který si nehodláme pořizovat emulátor (např. za 1500 dolarů). V těchto případech se s výhodou využije skutečnost, že programy pro různé typy PIC jsou na úrovni zdrojového programu velmi dobře přenositelné a že výsledný program se typicky skládá z nezávislých procedur, které na MU odladíme postupně (nakolik nám to počet pinů, velikosti pamětí dovolí), a do finálního typu PIC je implementujeme už odladěné. K flexibilnímu propojení pinů emulátoru k aplikaci si každý může zkonstruovat vlastní emulační koncovku podle potřeby (uvedený obrázek je pro PIC16F876 – 28 pinů). Tak můžeme dosáhnout stavu, že sice zbývají případné procedury pracující s periferiemi, které MU Beta nemá, ale velkou část programu máme odladěnu se všemi výhodami, které emulace přináší.

  [Uživatelská koncovka]
     Větší obrázek

Jak ladit PIC, který má více než 18 pinů? Přece pomocí MU Beta!

"Případ chybějících pinů" může mít ještě lepší řešení použitím externích expandérů:

Pro rozšíření počtu I/O lze s výhodou využít standardní obvody 4094 (pro výstupy) a 4021 (pro vstupy). Každý obvod za přibližně 5 Kč poskytne 8 paralelních pinů a na dvou komunikačních drátech jich lze řadit neomezené množství. Analogové vstupy (např. pro A/D) lze rozšířit obvodem 4051. Po odladění pak uživatel může aplikaci velmi jednoduše zkonvertovat do finálního PIC s více piny bez použití externích expandérů.

Někdy je levnější takovýto "chipset" ponechat i pro výrobu. Příkladem je klávesnice s 24 klávesami na 6 I/O pinů PIC12C508A. Dalšími dvěma kusy 4094 lze realizovat ovladač 8 motorů s 8 indikačními LED, při celkové ceně PIC a expandérů nižší než 40 Kč.

A co když chybí jen dva nebo tři piny?

Příklad: potřebujeme 16 I/O, krystalový oscilátor a tlačítko Reset. Kvůli počtu pinů hodláme použít PIC16F873, emulátoru MU Beta "chybí" tři piny. Přesto můžeme s MU Beta aplikaci odladit: na PIC16F628 v režimu interního resetu a interního RC oscilátoru. Interní RC oscilátor emulátoru je schopen (na rozdíl od reálného PIC) pracovat na libovolně zadané frekvenci, a navíc s krystalovou přesností. Chybějící piny připojíme na -MCLR (reset lze provést z klávesnice PC) a místo krystalu. V tomto případě je následná konverze nutná.

Rychlá návratnost

Díky časovým úsporám (stále vzrůstající cena lidské práce) a ostatním uvedeným výhodám se investice do emulátoru MU vrátí po několika dnech až několika málo týdnech.



© ASIX s.r.o., 1991-2012. All rights reserved.