| |
Unikátní hardwarový real-time emulátor mikrokontrolérů PIC - EPIC16A je koncipován tak, aby přinesl maximální efektivitu práce při vývoji programů pro nejužívanější mikrokontroléry Microchip PIC.
Unikátní konstrukce emulátoru nepoužívající běžný emulační čip, ale moderní programovatelné logické obvody Xilinx, umožnila dosáhnout všech standardních funkcí, a navíc řady vlastností, z nichž mnohé nejsou obvykle nebo principiálně dostupné ani u emulátorů podstatně vyšší cenové kategorie:
- i za plného běhu emulovaného procesoru lze pozorovat nebo modifikovat veškeré registry (tj. File registry i speciální interní registry jako např. PC, STACK, PORT, TRIS, LATCH, OPTION, PRESCALER, WREG, ...)
- rozsahlé možnosti zastavení procesoru (Break) na základě mnoha různých podmínek - nejen obvyklé libovolně nastavitelné breaky v paměti kódu, ale i breaky v datové paměti (s doplňkovou volbou pro přístup k registru, zápis do registru a zápis hodnoty omezené maskou) a speciální breaky: přetečení časovače, přetečení trasovacího bufferu, přetečení WDT, přetečení/podtečení stacku, break z externí sondy emulátoru (s volbou náběžné nebo sestupné hrany)
- mimořádně flexibilní nastavení hodinové frekvence emulovaného procesoru v rozsahu 25 kHz až 20 MHz s krokem asi 40 Hz pomocí interního frekvenčního syntezátoru
- aplikační napájecí napětí od 3 do 6 V - uživatel tedy není nucen používat pouze napětí 5 V
- na emulátoru je k dispozici i stabilizovaný zdroj napětí 5 V s proudovým omezením při 100 mA pro napájení periferií emulovaného procesoru
- režim off-line: po opuštění řídícího programu může emulátor pokračovat nezávisle v činnosti
- přehledná indikace režimu pomocí různobarevných LED pro sledování činnosti emulátoru (i v off-line režimu): oranžová LED - power on / emulační hradlové pole nakonfigurováno, červená LED - Halted, žlutá LED - Break, zelená LED - Run/Step, modrá LED - Sleep
- je-li emulátor v činnosti při spuštění ovládacího software, nastaví se prostředí do stavu, ve kterém bylo před jeho opuštěním. Informace o tomto stavu se ukládají do speciální paměti přímo v hardware emulátoru, ne pouze do konfiguračního souboru v PC.
- možnost zapnutí nebo potlačení resetu z pinu -MCLR a od poklesu napajecího napětí pod asi 2 V, detekce i kratkého resetu
- flexibilní trasování - vypnuto, zapnuto, nebo trasovaní pouze vybraných částí programu (lze např. potlačit trasování čekacích smyček, a trasovat pouze průběh hlavního programu). Kapacita trasovacího bufferu je 32 kB, tj. 8192 instrukcí.
- osm sond pro volitelné trasování externích signálů synchronně se čtením I/O pinu emulovaného procesoru
- výstup CLKOUT má spravnou frekvenci i fázi podle nastaveného režimu
- korektní emulace přetečení čítačů Watchdogu, TMR0 (RTCC) a zápisu do interní EEPROM (PIC16C8x) v režimu Halted/Step, kdy se příslušné čítače pozastavují mimo platný instrukční cyklus
- flexibilita interních obvodů emulátoru umožňuje softwarové upgrady hardware emulátoru (např. prostřednictvím Internetu), eventuálně individuální modifikace podle přání uživatele
Emulace jednotlivých typů PIC je řešena nezávislými softwarovými moduly - drivery. V ceně emulátoru jsou drivery pro všechny podporované součástky.
Aby bylo možné dosáhnout nízké ceny emulátoru, je nutný kompromis mezi velikostí programovatelného logického pole, v němž jsou funkce emulátoru integrovány, a jeho cenou. Byla zvolena taková součástka, do níž je možné implementovat všechny jednodušší typy. U některých typů s bohatšími perifériemi, kde nemohlo být dosaženo všech funkcí současně a při plné rychlosti, jsou k dispozici dvě verze, každá určitým způsobem omezená tak, aby celkově pokrývaly všechny podstatné funkce.
Emulátor je dodáván s následujícími drivery:
- PIC16C5x - plná verze, do 20 MHz
- PIC12C50x - plná verze, do 12 MHz
- PIC16C55x - bez trasování, Write-Value Breaku a Brown-Out resetu, do 20MHz
- PIC16C61 - plná verze, do 20 MHz
- PIC16C71 - dvě verze:
- 71S - bez trasování, do 12 MHz
- 71F - bez trasování, Oscillator Start-up Timeru a Write-Value Breaku, do 20 MHz
- PIC16C711 - bez trasování, Oscillator Start-up Timeru a Write-Value Breaku, do 20 MHz
- PIC16F84 - bez trasování, do 12 MHz
Download software a dokumentace
Integrované prostředí pro emulátor EPIC16A
Podporuje externí překladač MPASM od firmy Microchip.
Instalace
- Vytvořte pracovní adresář (např. C:\EPIC) a rozzipujte do něj epic.zip (656 733 byte).
- Pod tímto adresářem vytvořte podadresář MPASM (celá cesta je tedy např. C:\EPIC\MPASM). Jméno je nutné dodržet! Do něj pak rozzipujte mpasm.zip (107 335 byte).
- Přepněte se do pracovního adresáře.
- Chcete-li použít jiný port než LPT1, změňte nastavení v S.BAT.
- Spusťte S.BAT.
Dokumentace
dpiccz.pdf (826 688 byte) - čeština
dpicus.pdf (791 195 byte) - angličtina
Doplňující informace k manuálu
1. Externí překladač
Software podporuje originální překladač Microchip MPASM. Tato možnost je v menu Options -> Compiler nastavena jako výchozí, proto je nutné pro práci s původním assemblerem zrušit zatržení Use External Compiler, jinak bude překladač hlásit chyby.
Pro nové projekty doporučujeme používat MPASM, protože původní kompilátor již nebudeme dále rozvíjet a v nových produktech podporovat.
2. Podpora PIC12C50x
U emulační hlavice EH08A pro PIC12C50x je nutné při nastavení pinů GP3 a
GP4 - 5 procesoru v menu Option -> Chip Options nastavit současně i DIP
switche na hlavici.
GP3 = I/O pin GP3 = MCLR
+-----------------+ +-----------------+
| +----------+ | | +----------+ |
| 1 |XXX| |ON| | 1 | |XXX|ON|
| +----------+ | | +----------+ |
+-----------------+ +-----------------+
GP4-5 = I/O piny GP4-5 = oscilator
+-----------------+ +-----------------+
| +----------+ | | +----------+ |
| 2 |XXX| |ON| | 2 | |XXX|ON|
| +----------+ | | +----------+ |
+-----------------+ +-----------------+
| |