PROGRAMÁTOR "WinProg-1" Návod k obsluze 1
1.Úvod. Programátor "WinProg-1" slouží k programování 8-bitových mikrořadičů Winbond řady W78... i W77... (s vyjímkou obvodů typu ISP). Programátor "WinProg-1", ve spolupráci s libovolným programátorem paměti EPROM, umožňuje kopírování programů z paměti EPROM (27C512) umístěné v patici ZIF28 do paměti flash ROM mikrořadiče umístěného v patici ZIF40. Programátor "WinProg-1" zpřístupňuje užívateli funkce automatického zabezpečení naprogramovaného mikrořadiče, volitelné jumpery SEC1 a SEC2. Díky funkci automatického rozpoznání typu mikrořadiče, obsluha programátoru se zjednodušila do tří tlačítek. POWER 9V OFF ON SEC1 SEC2 W78LE812-24 ZIF28 ZIF40 OK BUSY DET ERR PROG P601 P600 ERASE BLANK Pohled na desku programátoru "WinProg-1" s náhledem základních komponentů. Na desce programátoru lze označit následující klíčové komponenty: - Kontrolka LED "OK" - informuje o správném ukončení poslední operace. Nyní lze vyměňovat obvody v obou paticích ZIF. - Kontrolka LED "BUSY" aktuální operace je právě prováděna. Nyní NELZE vyměňovat obvody v obou paticích ZIF. (!!!). - Kontrolka LED "DET" informuje o chybě čtení programového identifikátoru mikrořadiče v patici ZIF40. Možné události: pokus programovat nepodporovaný obvod, programovaný obvod je poškozen, programovaný obvod není vložen. Nyní lze vyměňovat obvody v obou paticích ZIF. - Kontrolka LED "ERR" informuje o chybném provedení poslední operace. Možné události: chyba identifikace mikrořadiče, nepovedený pokus programování (chyba verifikace), nepovedený pokus vymazání (chyba verifikace), nepovedený pokus "BLANK CHECK" kontrola čistoty paměti flash mikrořadiče - obvod není vymazán, obsahuje údaje. Nyní lze vyměňovat obvody v obou paticích ZIF. - Tlačítko "PROG" - jednotlivé stlačení a uvolnění způsobí spuštění procesu programování mikrořadiče v patici ZIF40. - Tlačítko "ERASE" - jednotlivé stlačení a uvolnění způsobí spuštění funkce mazání mikrořadiče v patici ZIF40. 2
- Tlačítko "BLANK" - jednotlivé stlačení a uvolnění způsobí kontrolu čistoty paměti flash ROM mikrořadiče uloženého v patici ZIF40. - Patice ZIF40 slouží k uložení mikrořadiče určeného k programování nebo mazání. - Patice ZIF28 - slouží k uložení paměti EPROM (27C512) se zdrojovým kódem k programování mikrořadiče. - Zástrčka "POWER" - napájení programátoru. Polarizace: "plus uprostřed". Nestabilizovaný stejnosměrný napáječ o napětí 9 V a max. zat. proudu 300 ma. - Přepínač "ON-OFF" zapnutí/vypnutí napájení programátoru. Po každém zapnutí je proveden test kontrolek programátoru. Krátkou chvíli svítí všechny LED diody. - Potenciometr "P600" - slouží k nastavení programovacího napětí (viz: "Servisní režim"). - Potenciometr "P601" - slouží k nastavení mazacího napětí (viz: "Servisní režim"). - Jumper "SEC1" - skratovaný nastavuje režim automatické aktivace všech zabezpečujících bitů paměti flash ROM programovaného mikrořadiče (viz. Zabezpečení programu ). - Jumper "SEC2" zapíná výběr kopirování stavů zabezpečujících bitů z paměti EPROM do paměti flash ROM programovaného mikrořadiče (viz. Zabezpečení programu ). 2. Programování. Programátor "WinProg-1" umožňuje programovat následující typy obvodů: Typ obvodu Rozsah paměti flash ROM Zabezpečující bity Adres bajtu zabezpečení W78E51B $0000H - $0FFFH B2 B1 B0 $FFFFH W78LE51B $0000H - $0FFFH B2 B1 B0 $FFFFH W78E52B $0000H - $1FFFH B2 B1 B0 $FFFFH W78LE52B $0000H - $1FFFH B2 B1 B0 $FFFFH W78IE52 $0000H - $1FFFH B2 B1 B0 $FFFFH W78E54B $0000H - $3FFFH B2 B1 B0 $FFFFH W78LE54 $0000H - $3FFFH B2 B1 B0 $FFFFH W78IE54 $0000H - $3FFFH B2 B1 B0 $FFFFH W78E58 $0000H - $7FFFH B1 B0 $FFFFH W77E58 $0000H - $7FFFH B2 B1 B0 $FFFFH W77LE58 $0000H - $7FFFH B2 B1 B0 $FFFFH W77E468 $0000H - $7FFFH B2 B1 B0 $FFFFH W77IE58 $0000H - $7FFFH B2 B1 B0 $FFFFH Programování je spouštěno tlačítkem "PROG". V průběhu programování je z paměti EPROM do paměti flash mikrořadiče kopírován prostor údajů odpovídající prostoru přístupné paměti programovaného mikrořadiče (viz: tabulka). Každý bajt, po naprogramování, je verifikován. Procedura programování není spuštěna, jestliže: 3
- chybí obvod v patici ZIF40; - nebyl přečten identifikátor obvodu; - paměť mikrořadiče je již naplněna údaji různými od FFH; Programování je úspěšně ukončeno, pokud verifikace programovaných buněk (porovnání s obsahem paměti EPROM) je úspěšná. 3. Mazání. Mazání paměti mikrořadiče je spouštěno tlačítkem "ERASE". Mazání paměti flash mikrořadiče má za úkol vrátit všem bitům této paměti stav "1". V průběhu programování programátor kontroluje správnost vymazání všech přístupných buněk paměti vloženého mikrořadiče. Paměť flash ROM mikrořadiče není vymazána, jestliže: - chybí obvod v patici ZIF40; - nebyl přečten identifikátor obvodu; - paměť mikrořadiče již byla vymazána a neobsahuje žádné údaje; Mazání je úspěšně ukončeno, pokud verifikace mazaných buněk (porovnání s hodnotou FFH) je úspěšná. 4. Blank check. Funkce kontroly čistoty paměti flash ROM mikrořadiče je spouštěná tlačítkem "BLANK". Všechny buňky z dostupného rozsahu paměti v kontrolovaném mikrořadiči jsou porovnány s hodnotou $FFH. Test je ukončen chybovým hlášením jestliže: - chybí obvod v patici ZIF40; - nebyl přečten identifikátor obvodu; - paměť mikrořadiče není vymazána a je naplněna údají různými od FFH; 5. Zabezpečení programu. Přístupné jsou tři typy zabezpečení programu v naprogramovaném mikrořadiči volitelné nastavením jumperů "SEC1" a "SEC2": Volba č.1: Automatické zabezpečení po naprogramování (vložen jumper "SEC1"). Programátor automaticky nastavuje všechny ochranné bity paměti flash mikrořadiče (nuluje bity B1, B2 a B3 u všech mikrořadičů) a nuluje bajty "SEED0" a "SEED1" u mikrořadičů řady W77... Ochrana ta je provedena ihned po naprogramování mikrořadiče. Volba č.2: Režim nastavení uživatele (vložen jumper "SEC2"). Programátor kopíruje nastavení bitů zabezpečujících a kontrolních z paměti EPROM do paměti flash mikrořadiče. Uživatelské údaje je nutno umístit v buňkách paměti EPROM na adresách shodných s adresami odpovídajících bajtů v paměti flash mikrořadiče. 4
příklad: v průběhu programování mikrořadiče W77E58 chceme do bajtů SEED0 a SEED1 zapsat hodnotu A7H a zapojit Lock bit a MOVC inhibit bit. Na konci programu uživatele (assembler) je potřeba dopsat: cseg at 0FF3FH ;adresa bajtu SEED1 DB 0A7H ; údaje k naprogramování cseg at 0FF7FH ;adresa bajtu SEED0 DB 0A7H ;údaje k naprogramování cseg at 0FFFFH ;adresa zabezpečujicího bajtu DB 0FCH ;vynulované bity :B0 ( LOCK ) a B1 ;( MOVC ), ;ostatní bity ve stavu 1. END Volba č.3: Bez zabezpečení. Není-li vložen žáden jumper, programátor neprovádí zabezpečení paměti Flash programovaného mikrořadiče. 6. Servisní režim. Servisní režim slouží ke kontrole úrovně všech signálů objevujících se na paticích ZIF. Přechod do tohoto režimu je zapnutím napájení při současném stlačení kláves PROG a BLANK. Přístupné jsou dva servisní kroky přepínatelné klávesou BLANK. Patice ZIF včetně číslování vývodů 1 28 2 27 3 26 4 25 5 24 6 23 7 22 8 ZIF28 21 9 20 10 19 11 18 12 17 13 16 14 15 1 40 2 39 3 38 4 37 5 36 6 35 7 34 8 33 9 32 10 31 ZIF40 11 30 12 29 13 28 14 27 15 26 16 25 17 24 18 23 19 22 20 21 Krok č.1: Signalizován je blikáním diody ERR. Slouží k regulaci programovacího napětí (vývod č. 31, ZIF40) a kontrole ostatních napětí na paticích ZIF. Programovací napětí lze samostatně nastavit potenciometrem P600. Hodnoty všech napětí na ZIF jsou uvedeny v tabulce. 5
ZIF 28 (servisní krok č. 1) 1 min. 2.4V 8 min. 2.4 V 15 min. 2.4 V 22 min. 2.4 V 2 min. 2.4V 9 min. 2.4 V 16 min. 2.4 V 23 min. 2.4 V 3 min. 2.4V 10 min. 2.4 V 17 min. 2.4 V 24 min. 2.4 V 4 min. 2.4V 11 min. 2.4 V 18 min. 2.4 V 25 min. 2.4 V 5 min. 2.4V 12 min. 2.4 V 19 min. 2.4 V 26 min. 2.4 V 6 min. 2.4V 13 min. 2.4 V 20 min. 2.4 V 27 min. 2.4 V 7 min. 2.4V 14 GND 21 min. 2.4 V 28 5V ± 5% ZIF 40 (servisní krok č. 1) 1 min. 2.4 V 11 max. 0.8 V 21 min. 2.4 V 31 12.5V ± 0.25V 2 min. 2.4 V 12 max. 0.8 V 22 min. 2.4 V 32 min. 2.4 V 3 min. 2.4 V 13 min. 2.4 V 23 min. 2.4 V 33 min. 2.4 V 4 min. 2.4 V 14 x 24 min. 2.4 V 34 min. 2.4 V 5 min. 2.4 V 15 x 25 min. 2.4 V 35 min. 2.4 V 6 min. 2.4 V 16 min. 2.4 V 26 min. 2.4 V 36 min. 2.4 V 7 min. 2.4 V 17 min. 2.4 V 27 min. 2.4 V 37 min. 2.4 V 8 min. 2.4 V 18 x 28 min. 2.4 V 38 min. 2.4 V 9 min. 2.4 V 19 max. 0.8 V 29 min. 2.4 V 39 min. 2.4 V 10 min. 2.4 V 20 GND 30 max. 0.8 V 40 5V ± 5% Krok č.2: Signalizován je blikáním diody DET. Slouží k regulaci mazacího napětí (vývod č. 31, ZIF 40) a kontrole ostatních napětí na paticích ZIF. Mazací napětí lze samostatně nastavit potenciometrem P601. Hodnoty všech napětí na ZIF jsou uvedeny v tabulce. ZIF 40 (servisní krok č. 2) 1 max. 0.8 V 11 max. 0.8 V 21 max. 0.8 V 31 14.5V ± 0.25V 2 max. 0.8 V 12 max. 0.8 V 22 max. 0.8 V 32 max. 0.8 V 3 max. 0.8 V 13 max. 0.8 V 23 max. 0.8 V 33 max. 0.8 V 4 max. 0.8 V 14 x 24 max. 0.8 V 34 max. 0.8 V 5 max. 0.8 V 15 x 25 max. 0.8 V 35 max. 0.8 V 6 max. 0.8 V 16 max. 0.8 V 26 max. 0.8 V 36 max. 0.8 V 7 max. 0.8 V 17 max. 0.8 V 27 max. 0.8 V 37 max. 0.8 V 8 max. 0.8 V 18 x 28 max. 0.8 V 38 max. 0.8 V 9 min. 2.4 V 19 max. 0.8 V 29 min. 2.4 V 39 max. 0.8 V 10 max. 0.8 V 20 GND 30 max. 0.8 V 40 5V ± 5% ZIF 28 (servisní krok č. 2) 1 max. 0.8 V 8 max. 0.8 V 15 max. 0.8 V 22 max. 0.8 V 2 max. 0.8 V 9 max. 0.8 V 16 max. 0.8 V 23 max. 0.8 V 3 max. 0.8 V 10 max. 0.8 V 17 max. 0.8 V 24 max. 0.8 V 4 max. 0.8 V 11 max. 0.8 V 18 max. 0.8 V 25 max. 0.8 V 5 max. 0.8 V 12 max. 0.8 V 19 max. 0.8 V 26 max. 0.8 V 6 max. 0.8 V 13 max. 0.8 V 20 max. 0.8 V 27 max. 0.8 V 7 max. 0.8 V 14 max. 0.8 V 21 max. 0.8 V 28 5V ± 5% 6