PIPGR0 Programátor procesorů PI Milan Horkel Programátor PIPGR je malý vývojový programátor pro programování procesorů PI firmy MIROHIP. Umožňuje programované zařízení spustit bez odpojování programátoru a může jej resetovat i napájet.. Technické parametry Parametr Hodnota Poznámka Napájení Ochrana proti přepólování Spotřeba 80m / 00m ez připojené aplikace / při programování Rozměry 7 x 6 x 0 Výška nad upevňovací deskou, bez přečnívajícího konektoru PIPGR0.doc / 008-0- / miho / http://www.mlab.cz / 8
PIPGR0. Popis konstrukce.. Úvodem Programátor PIPGR vychází ze starších verzí programátoru, je s nimi funkčně kompatibilní a na rozdíl od nich je mechanicky řešen jako modul pro stavebnici. Programátor umožňuje programovat vybrané procesory PI v režimu standardního programování (používá k tomu programovací napětí V). Sortiment podporovaných procesorů není dán konstrukcí hardwaru ale tím, co podporuje software. Programátor umožňuje aplikace s procesory PI nejen programovat v zapojení ale i přímo spouštět, resetovat i pouze napájet napájecím napětím a to bez odpojování programovacích vodičů (to kupodivu neumí zdaleka každý programátor ale vývojář programů to velmi ocení)... Zapojení modulu Napájecí napětí programátoru (konektor J) by mělo být aby byl programátor schopen generovat programovací napětí VPP o hodnotě +.5V. Tato hodnota je vyžadována pro programování procesorů s OTP pamětí. Procesory s pamětí FLSH nejsou tak striktní co se týká velikosti VPP protože VPP používají pouze pro aktivaci programovacího režimu a stačí, pokud je podstatně větší než základní napájecí napětí VDD (pozor, neplatí to pro některé starší procesory, které měli starší provedení FLSH či PROM paměti). Napájecí napětí pro elektroniku programátoru se získává ve stabilizátoru U a je používáno i pro napájení cílové aplikace. Spínání napájení pro cílovou aplikaci zajišťují tranzistory Q a Q a ruční spínač SW. Programovací napětí VPP o hodnotě +.5V stabilizuje U a spínají Q a Q4. Tranzistor Q5 aktivuje MLR# (RST) procesoru. Vzhledem k tomu, že signál MLR# i programovací napětí VPP sdílejí společný vývod procesoru MLR#/VPP, musí být zajištěno, že nedojde k aktivaci signálu MLR# současně s programovacím napětím VPP. To zajišťuje ochranná logika, která je realizována v obvodu GL U. V obvodu GL je kromě ochranné logiky realizován i třístavový budič řídících signálů. Volné vývody obvodu GL jsou připraveny pro budoucí rozšíření. Odpory R4, R5 a R6 zajišťují klidový stav na vstupech obvodu GL tak, aby programátor byl v neaktivním stavu pokud není připojen k počítači P. Na rychlosti obvodu GL nezáleží, vyhoví kterýkoli GL6V8 v pouzdru DIL. Propojovací kabel mezi P a PIPGR je zapojen : samec-samec... Mechanická konstrukce Programátor je proveden jako standardní stavebnicový modul. PIPGR0.doc / 008-0- / miho / http://www.mlab.cz / 8
PIPGR0 R6 4k7 Manual Power On Q 7 R 00 R 00 K D7 D6 D5 D4 D D D D0 ST R8 4k7 J5 JUMP Q4 640 R7 k +V Q 7 Q 640 R 470 4 5 6 7 8 9 U LK VDD D0 Q0 D Q D Q D Q D4 Q4 D5 Q5 D6 Q6 D7 Q7 GND O 0 GL6V8 0 9 8 7 6 5 4 Q5 7 J JUMP R5 k VDD 5 6 J4 PG PGD VDD GND MLR#/VPP PI_ISP PI_ISP R5 4k7 MIN LOK 6 M R4 4k7 Mode R k LK Printer Port D5 ZX85V006. R6 k SW P-4 D4 LDmm R0 00 R9 00 ISP PROG J 6 7 5 4 0 9 8 0 7 9 6 8 5 7 4 6 5 4 D5F_90 R k R4 470 DT VPP_MLR# D LDmm U IN OUT LM7805T GND POWR SUPPLY M D N448 4 0uF/5V +V R k J K75 0uF/5V 5 M U IN OUT LM78LZ GND Power 5V M D N4007 PIPGR0.doc / 008-0- / miho / http://www.mlab.cz / 8
PIPGR0.4. Zapojení obvodu GL Verze GL4.QN a jeho schématický ekvivalent. D7 - D6 - RS - 4 ND D5-4 VPPON - 8 ND D4-5 VON - 7 ND D - 6 D - 7 ND LOK - UF D - 8 D0-9 ND DT - UF DQ - 9 UF.5. Programátorský model Programátor se připojuje na LPT port P. ázové adresy řídících registrů LPT portů ukládá IOS počítače do paměti na adresy 0:408H (hodnota 6 bitů) a obvykle bývá H, 78H nebo 78H. Používá se nejzákladnější jednosměrný režim LPT portu. Řídící registry LPT mají pak tento význam: H/78H/78H Data směrem do tiskárny (v programátoru signály D0 až D7) - bit 0 signál D0 DT - bit signál D DT output anable - bit signál D LOK - bit signál D LOK output enable - bit 4 signál D4 VON - bit 5 signál D5 VPPON (lze jen spolu s VON) - bit 6 signál D5 RST (lze jen není-li VPPON) - bit 7 signál D7 musí být 0 aby byl programátor aktivní H/7H/7H Řízení tiskárny (v programátoru se nepoužívá) DH/79H/79H Čtení stavu tiskárny (používá se jen signál) - bit 6 signál K čtená data DQ alias DT PIPGR0.doc / 008-0- / miho / http://www.mlab.cz 4 / 8
PIPGR0. Osazení a oživení.. Osazení Reference Název Odpory R9,R0,R,R 00 R4,R 470 R,R,R,R5,R6,R7 k R8,R4,R5,R6 4k7 Kondenzátory,,5,6 M 4 0uF/5V 0uF/5V Diody D N4007 D N448 D LDmm, zelená D4 LDmm, červená D5 ZX85V006. Tranzistory Q,Q,Q5 7 Q,Q4 640 Integrované obvody U LM7805T U LM78LZ U GL6V8 Mechanické součásti J K75 J D5F_90 J JUMP J4 PI_ISP J5 JUMP SW P-4 PG PGD VDD GND VPP PI ISP PIPGR0.doc / 008-0- / miho / http://www.mlab.cz 5 / 8
PIPGR0.. Oživení Pokud jsou použité správné součástky (obvod GL musí být naprogramovaný!) a není chyba v zapojení (zkraty či jiné chyby) bude programátor fungovat na první zapojení. Základní oživení se provádí pomocí laboratorního zdroje. Nejprve přesuneme vypínač SW do vypnutého stavu (směrem k LD indikátorům). Při postupném zvyšování napájecího napětí kontrolujeme, zda stabilizátor U stabilizuje napětí a zda stabilizátor U stabilizuje na cca +.7V. Spotřeba programátoru by měla být řádu do 00m (konkrétní hodnota záleží na tom, jakou spotřebu má použitý obvod GL. K dalšímu oživování používáme testovací program TSTPGR.X, který umožňuje postupnou aktivaci jednotlivých signálů a jejich kombinací. Jednotlivé položky testu vypisují jednak co program nastavil a informaci o tom, co by se mělo objevit na jednotlivých pinech programovacího konektoru. Stav H je napětí kolem +4V, stav L je obvykle napětí pod +0.V a stav X je napětí kolem +V s tím, že po připojení odporu 0k na zem nebo na napájení dostaneme napětí 0V nebo. Pro testování, zda funguje vstup PGD se na tento pin připojuje GND a VDD přes odpor 0k. Napětí VDD by mělo být v rozmezí +4.5V až +5.5V a VPP v rozmezí +V až +V PIPGR0.doc / 008-0- / miho / http://www.mlab.cz 6 / 8
PIPGR0 4. Programové vybavení (MS DOS) Poznámka: Pod systémem Windows XP je možné použít program WinPic. Instalace a konfigurace tohoto programu je popsána v dokumentu PIPGR_WindowsXP.cs.html. 4.. Uživatelský návod PIPGR.X Program PIPGR.X je DOS program a přímo ovládá zadaný LPT port. V případě procesorů s pamětí FLSH je možné spouštět jej i z DOS okna pod Windows 95/98. Program při spuštění bez parametrů vypíše nápovědu včetně úplného seznamu podporovaných procesorů a možností nastavení přepínačů. Program zpracovává jednak standardní HX soubor (takový, který generují obvyklé překladače pro procesor PI) a alternativně textový soubor, který je výhodný zejména při ladění (vyčtení stavu, vizuální kontrola, definování parametrů v PROM paměti a podobně). Součástí datového souboru mohou být data pro paměť programu, pro paměť PROM, pro testovací pole i pro konfigurační slovo. Nastavení konfiguračního slova lze (pouze pro procesory s pamětí FLSH) změnit uvedením přepínačů. Různé procesory mají různé přepínače. Pro většinu akcí je nutné uvést typ procesoru a případně i formát vstupního či výstupního souboru (přepínač HX nebo TXT). Na pořadí přepínačů nezáleží. 4... Nápověda PIPGR Vypíše úplnou nápovědu včetně seznamu všech podporovaných procesorů, jejich vlastností a přepínačů. PIPGR <procesor> Nápověda vypíše vlastnosti procesoru a jeho sady přepínačů pro předefinování stavu konfiguračních přepínačů. 4... Mazání procesoru PIPGR RS <procesor> Smaže obsah všech pamětí procesoru i v případě, že je procesor zamčený. Funguje pouze pro procesory s pamětí FLSH. 4... Čtení procesoru PIPGR RD <soubor> HX <procesor> PIPGR RD <soubor> TXT <procesor> Přečte obsah všech pamětí procesoru a uloží je do výsledného HX nebo TXT souboru. 4..4. Programování procesoru a verifikace PIPGR PROGM <soubor> HX <procesor> PIPGR VRIFY <soubor> HX <procesor> PIPGR0.doc / 008-0- / miho / http://www.mlab.cz 7 / 8
PIPGR0 Provede naprogramování a kontrolu naprogramování procesoru dle zadaného souboru (HX nebo TXT). Programování automaticky provádí i kontrolu a vypisuje případné nesrovnalosti. V případě potřeby je možné změnit nastavení konfiguračního slova. Níže uvedený příklad provede naprogramování procesoru PI6F87 obsahem souboru TST.HX ve formátu HX s tím, že změní konfigurační bit P (ode Protection) do stavu zapnuto a pole FOS v konfiguračním slově (konfigurace oscilátoru) nastaví do stavu 0. PIPGR PROGRM TST.HX HX PI6F87 P_ON FOS_0 4..5. Spouštění aplikace PIPGR RUN PIPGR RST PIPGR STOP Zapne napájení a spustí aplikaci, provede reset aplikace a vypne napájení aplikace. Používá se při ladění aplikace při kterém se neodpojuje programovací kabel od laděné aplikace. 4..6. Konverze formátu datového souboru PIPGR ONVRT <vstup> <vystup> HX <procesor> PIPGR ONVRT <vstup> <vystup> TXT <procesor> Převede soubor ve formátu HX na TXT nebo naopak. Uváděný typ procesoru slouží ke kontrole rozsahu. 4.. Popis programu Program je napsaný v jazyce Turbo Pascal verze 6 a vznikl postupným rozšiřováním původního jednoduchého programu pro programování obvodů PI6F84. Zdrojové texty jsou dostupné a komentované. Program podporuje kromě programátoru PIPGR i profesionální programátor LL-0. PIPGR0.doc / 008-0- / miho / http://www.mlab.cz 8 / 8