Jste zde

MU Alpha - emulátor PIC16F84

MU Alpha - bohatě vybavený hardwarový emulátor PIC16F84 Vám ušetří stovky hodin práce při vývoji Vašich aplikací. Emulátor se chová stejně jako PIC, a navíc lze vše uvnitř PIC vidět a měnit i za běhu, zastavit při dané podmínce, krokovat apod.

Základní parametry


  • Emulace v reálném čase až do maximální rychlosti emulovaného procesoru (20 MHz). 
  • Emulátor nevkládá žádné čekací stavy, nespotřebovává paměť programu ani paměť dat ani úrovně zásobníku. 
  • Registry lze číst i modifikovat i za plného běhu aplikace bez nutnosti zastavení. 
  • Rozsah napájecího napětí aplikace typicky od 2.0 do 5.5 V. 
  • Softwarově nastavitelný syntezátor hodinového kmitočtu
  • Trasovací paměť s libovolným výběrem trasovaných a ignorovaných instrukcí. 
  • Flexibilní logika zastavení (BREAK). V paměti programu BREAK BEFORE MAKE - zastavení ještě před provedením instrukce. 
  • Řada dalších breaků - na základě čtení nebo zápisu do registrů a dalších podmínek. 
  • Externí signály TriggerIn a TriggerOut
     

Co to je Hardwarový emulátor


Hardwarový emulátor je zařízení, které mimořádně účinně pomáhá při vývoji aplikací s mikroprocesory a jednočipovými mikrokontroléry. Ačkoli je možné vyvinout a odladit aplikaci i bez něho, přináší použití emulátoru tolik výhod, že ten, kdo už práci s tímto zařízením vyzkoušel, se bez něho obejde jen velice nerad.
Hlavní předností emulátoru je zcela podstatné zkrácení doby vývoje aplikace a zcela zásadní zvýšení komfortu práce vývojáře. I začátečník je schopen prakticky okamžitě využít toho, že do aplikace "vidí" a může ji účinně ovlivňovat (zastavovat, spouštět, krokovat, zjišťovat a měnit obsah registrů, ...). Pokročilejší uživatel pak rád využije velké množství dalších užitečných funkcí, které emulátor nabízí.
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.
 

Software


Součástí dodávky emulátoru je integrované vývojové prostředí, které obsahuje vlastní ladicí program, překladač (assembler) a editor zdrojového textu. Software je koncipován tak, aby jeho použití bylo maximálně efektivní - s ohledem na to, že vývojář ladí svou aplikaci a nechce být zdržován ovládáním emulátoru. Většinu funkcí lze tedy vyvolat stiskem jediné klávesové zkratky, ostatní funkce vyžadují stisk maximálně dvou po sobě následujících kláves.
 

Ladění programu ve zdrojovém tvaru : Registry a Chip view :
Přehled vybraných registrů překrytý výběrovým oknem : Výpis trasovací paměti :

Čím se liší MU Alpha od produktů ve stejné cenové kategorii



MU Alpha je plnohodnotný emulátor a to je jediný opravdu plnohodnotný ladící prostředek, protože :

  • softwarové simulace nepracují v reálném čase a s reálným prostředím, vyžadují tvorbu dat pro buzení vstupů (pracné, možný 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), 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 souboru 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.

Extrémně nízká cena v kombinaci s mnoha důmyslnými funkcemi MU Alpha 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í, MU Alpha nadále slouží uživateli na libovolné úrovni - jak vzrůstají jeho znalosti, je postupně schopen ocenit důmyslné funkce. Emulátor se tak ze studijní pomůcky stává opravdovým (a nejvýkonnějším) ladícím prostředkem.

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 (podle typu programátoru), č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í. To vede k tomu, že uživatel si nemůže dovolit přeprogramovávat PIC tak často, jak by bylo pro postup vývoje žádoucí - musí volit kompromis, který ale snižuje efektivitu jeho práce. U emulátoru se uživatel o nahrávání nemusí vůbec starat - provádí se automaticky, a trvá zlomek sekundy. Přitom při vývoji jednoho složitějšího programu se provádí typicky stovky až tisíce takovýchto programovacích cyklů. 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 MU Alpha vrátí po několika dnech až několika málo týdnech.

Cena MU Alpha je natolik atraktivní, že se vyplatí tento emulátor 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 Alpha odladíme postupně (nakolik nám to počet pinů a velikosti pamětí dovolí), a do finálního typu PIC je implementujeme už odladěné. Tak můžeme dosáhnout stavu, že sice zbývají procedury pracující s periferiemi, které PIC16F84 nemá, ale velkou část programu máme odladěnu se všemi výhodami, které emulace přináší.

Podrobné vlastnosti emulátoru


  • Podpora PIC16F84A - nejnovějšího zástupce nejpopulárnější řady PIC (začínající typem PIC16C84 a pokračující vylepšeným PIC16F84), připravují se další oblíbené součástky (PIC12C508/509 a PIC16C54/56). 
  • Real time do plné rychlosti podporovaných součástek - 20 MHz 
  • Uživatelská aplikace není potřebami emulátoru nijak omezována (tj. emulace nemá žádné nároky na I/O piny, paměti, zásobník, čas,…) 
  • Kromě všech standardních funkcí i řada dalších vlastností, které nejsou obvyklé nebo principiálně možné ani u emulátorů podstatně vyšší cenové kategorie (unikátní konstrukce emulátoru nepoužívá emulační čip, ale moderní programovatelné logické obvody) 
  • Flexibilita použitých programovatelných obvodů umožňuje snadný softwarový upgrade emulátoru (např. prostřednictvím Internetu). 
  • Napájecí napětí emulovaných PIC typicky od 2V do 5,5V! 
  • Všechny registry (včetně skrytých, jako např. Stack, Prescaler, Latch) mohou být zobrazovány a modifikovány za plného běhu 
  • Řídící funkce: Run, Halt, Step (Into, Over, Out, Multiple), Animate, Reset (Power up/MCLR), Goto (Cursor, Address) 
  • Výkonná a flexibilní logika break: na libovolné adrese v paměti programu i dat (čtení, zápis, zápis maskované hodnoty), stack under/overflow, trace buffer overflow, TMR0 overflow, break z externí sondy 
  • V paměti programu break before make - zastavení ještě před provedením instrukce 
  • Korektní emulace přetečení watchdogu, čítače TMR0 a ukončení zápisu do interní EEPROM i v režimu Step, … 
  • Softwarově programovatelné hodiny 20 kHz až 20 MHz s krokem ~ 40 Hz, nebo externí hodiny 
  • Hardwarový stopwatch (čítač pro více než 4 miliardy instrukčních cyklů) resetovatelný na základě různých podmínek 
  • Flexibilní volby: WDT (min., typ., max.), zdroj resetu, ClkOut, požadavek trasování, … 
  • Externí signály TriggerIn a TriggerOut 
  • Emulátor může vykonávat aplikační program i po opuštění řídícího programu PC, případně i po úplném odpojení emulátoru od počítače. Při opětovném spuštění řídící program korektně pokračuje 
  • Emulátor může být použit i bez připojení k uživatelské aplikaci (pracovat jako real-time softwarový simulátor) 
  • Integrované vývojové prostředí: manažer projektů, multi-file editor, makroassembler, disassembler, debugger (debug ve zdrojovém textu, režim background debug). Připojení překladače MPASM firmy Microchip. 
  • Software je určen pro DOS (verze 5.0 a vyšší) a pracuje bez problémů i v prostředí Windows (3.x, 95, 98 a ME) a OS/2. Pro Windows NT/2000 je potřeba nainstalovat speciální systémový ovladač - např. UserPort (zdarma). Více informací zde
  • Dodává se včetně komunikačního kabelu, emulační koncovky a napájecího adaptéru 


Závěr



MU Alpha je skutečný hardwarový emulátor. Díky použití nové technologie hradlových polí Xilinx se jedná o cenově velmi zajímavý produkt. Jedná se o výrobek firmy ASIX, můžete jej koupit i v našem obchod.HW.cz . Tam najdete také aktuální cenu emulátoru, v 09/2001 byla cena cca 5000 Kč. 

DOWNLOAD software  + odkazy


Z materiálů ASIXu vytvořil Jan Řehák
Hodnocení článku: