PIID0 In ircuit Debugger pro procesory PI Milan Horkel Modul PIID je jednoduchý programátor a ID pro procesory PI firmy MIROHIP. Modul je kompatibilní s MPLB ID firmy MIROHIP a je jej také možno použít s překladačem PW firmy S. Umožňuje programování zapájených procesorů PI, krokování programů, nastavování BreakPointu a čtení a zápis z a do vnitřních pamětí laděného procesoru PI.. Technické údaje Parametr Hodnota Poznámka Napájení.0 až 5.5V Napájí se z cílového systému Spotřeba Max. cca50m Interface RS (900Bd až 500Bd) Kabel : samice DB9 Kompatibilita MPLB ID MPLB 5.x (řada PIF) S PW.x (řada PIF a PIF) Rozměry 5x50x0mm Výška nad nosnou deskou PIID0.doc / 005-- / miho / http://www.mlab.cz / 9
PIID0. Popis konstrukce.. Úvodem Konstrukce modulu přímo vychází z MPLB ID firmy MIROHIP tak, jak je popsán v dokumentu DS54 a s dodatkem v dokumentu ETN#. Podle informací nalezených na WWW má původní konstrukce potíže s generováním programovacího napětí, proto byla tato část poněkud modifikována tak, aby bylo zajištěno správné programovací napětí v plném rozmezí dovolených napájecích napětí... Zapojení modulu Modul ID je napájen z cílového systému (prostřednictvím ISP konektoru). Napájecí napětí může být v rozsahu V až 5V. Programovací napětí si ID vyrábí sám pomocí měniče. Základem ID je procesor U PILF7, který komunikuje s počítačem P prostřednictvím sériové linky a řídí obvody pro programování procesorů prostřednictvím ISP konektoru. Samotný procesor se poprvé programuje prostřednictvím jeho ISP konektoru J, další přeprogramování si již procesor provádí sám. Může se ale stát, že si uživatel nahraje do procesoru nesprávný firmware a pak je třeba použít opět vnějšího programátoru na naprogramování. R0 R R R R5 R0 R R R TEST VPP TEST PG IN VREF IN PGD IN PGM OUT VPP ON VPP GEN PG OUT R K U MLR#/VPP PI PGD/RB7 7 R0/N0 PG/RB 4 R/N RB5 5 5 R/N/VREF- RB4 4 R/N/VREF+ PGM/RB 7 R4/T0KI RB R5/N4/SS# RB 9 INT/RB0 0 0 OS/LKIN 9 OS/LKOUT R0/TOSO/TKI DT/RX/R7 7 R/TOSI/P K/TX/R 4 R/P SDO/R5 5 R/SK/SL SD/SDI/R4 PILF7-04/SO 00nF TS RTS LED PGM OUT RESET PGD OUT RB5 RB4 RB RB RX TX R5 R4 MLR X.4MHz B pf pf ID PROESSOR R 00 R 00 R4 00 5 J PG PGD MLR#/VPP PGM PI_ISP_ID PI_ISP_ID PIID0.doc / 005-- / miho / http://www.mlab.cz / 9
PIID0 Komunikace s počítačem P zajišťuje obvod U MX, který převádí napěťové úrovně mezi TTL a RS. Pokud se provozuje ID s napájecím napětím menším než asi 4V je třeba ověřit maximální komunikační rychlost, která ještě bude správně pracovat. Za příznivých podmínek může fungovat rychlost 500Bd i při napájecím napětí V. 4 00nF RB5 TX RX RB4 5 00nF 00nF U + M+ 4 5 0 9 + - - TIN TIN ROUT ROUT V 5 MLR M- TOUT TOUT RIN RIN MXSMD RS INTERFE 4 7 D N44SMD 7 00nF 00nF R5 00 R 00 R7 00 R 00 R9 k D N44SMD REQUIRES RS BLE : DB9F-DB9F J DD DSR RXD 7 RTS TXD TS 4 DTR 9 RI 5 RS RSDB9M 0 ílové zařízení se připojuje prostřednictvím ISP konektoru J. Pokud se použije funkce monitoru použije se i vývod označený PGM, jinak může zůstat volný. ID je z cílového systému napájen. Zenerova dioda D0 je ochrana před přepětím a přepólováním. LED dioda D slouží současně jako indikační a jako zdroj referenčního napětí pro hrubé měření napájecího napětí. Přesnost je pochybná ale programové vybavení s tímto řešením počítá. Zdroj programovacího napětí získává napětí v měniči s tranzistorem Q, který je řízen z PWM výstupu procesoru U. Obvod měniče byl modifikován tak, aby poskytoval stabilní napětí +V v plném rozmezí napájení ID. Byla zmenšena indukčnost cívky L čímž byl zvýšen výkon měniče. Byla doplněna zpětná vazba Zenerovou diodou D4/D mezi kolektor a bázi tranzistoru, tím je omezeno generované napětí měniče právě na +V. Dále byla změněna vazba báze tranzistoru Q s procesorem na střídavou vazbu aby nemohlo dojít k fatálnímu stavu zaseknutí procesoru U v okamžiku, kdy je na PWM výstupu stav H (pak by byl Q sepnutý a zkratoval by napájení a procesor by nebyl schopen provést RESET a mohl by Q nebo L shořet). Za měničem následuje standardní lineární stabilizátor s U podepřený diodou D7 tak, aby výsledné napětí za stabilizátorem bylo cca. +.7V. PIID0.doc / 005-- / miho / http://www.mlab.cz / 9
PIID0 RB R0 R R R5 R4 VPP R7 0k R R9 0k R0 R 0k R TRGET ISP 5 4 47uF/5V J PG PGD MLR#/VPP PGM PI_ISP_ID PI_ISP_ID D0 BZV555.SMD RB R 00 R R D LEDmm VREF SOURE 0 00nF L 00uH R 9 00nF R0 k R 0k D4 N44SMD D BZV55SMD B D5 BT4SMD E D N44SMD Q B7-5SMD +V 47uF/5V U LM7LM_SO IN OUT 00nF 7 D7 N44SMD 00nF +V POWER SOURE Posledním obvodem je obvod pro spínání programovacího napětí a aktivaci signálu RESET. Tranzistory Q a Q spínají VPP (cca. +.7V) a tranzistor Q4 aktivuje RESET. Odpory R a R jsou ochranné, odpor R a dioda D9 zajišťují stav H na vývodu #MLR cílového systému. Odporový dělič R/R4 slouží k měření (kontrole) velikost napětí VPP. Odporový dělič R5/R slouží k měření napájecího napětí. PIID0.doc / 005-- / miho / http://www.mlab.cz 4 / 9
PIID0 D9 N44SMD Q B07-5SMD E R B +V R 4k7 VPP R7 0k R 0k R 00 R4 0k R 0k R R R4 0k B R5 0k E Q B7-5SMD R5 R9 0k B R0 0k E Q4 B7-5SMD R k R5 4k7 R0 VPP SWITH RESET SWITH TEST VOLTGE.. Mechanická konstrukce Modul je proveden standardním způsobem. V rozích má šrouby a sloupky pro připevnění na nosnou desku. PIID0.doc / 005-- / miho / http://www.mlab.cz 5 / 9
PIID0. Osazení a oživení.. Osazení Dioda D5 byla do zapojení přidána dodatečně a nejsou pro ni plošky na plošném spoji. Snadno se vejde vedle R. Odpory SMD R R, R, R4, R5, R, R7, R, R, R R, R, R0, R 00 R9, R0, R k R, R5 4k7 R, R4,R5, R, R7, R9, R0, R4, R, R7, R9, R R 0k K Kondenzátory keramické SMD, pf, 4, 5,, 7,, 9, 0,, 00nF Kondenzátory elektrolytické drátové, 4 47uF/5V Tlumivky axiální L uh Krystaly X.4MHz PIID0.doc / 005-- / miho / http://www.mlab.cz / 9
PIID0 Diody SMD D, D, D4, D, D7, D9 D5 D0 D N44SMD BT4SMD BZV555.SMD BZV55SMD Diody LED D LEDmm Tranzistory SMD Q, Q, Q4 B7-5SMD Q B07-5SMD Integrované obvody U U U PILF7-04/SO MXSMD LM7LM_SO Mechanické součástky J RSDB9M J, J JUMP PIID0.doc / 005-- / miho / http://www.mlab.cz 7 / 9
PIID0.. Oživení Do procesoru U je třeba naprogramovat nějaký vhodný firmware. Vhodnými kandidáty jsou firmwary jednak firmy MIROHIP (z balíku MPLB verze 5.x) a dále firmy S (z balíku překladače PW nebo IS). Je třeba dát pozor na to, který firmware použít. Tento hardware je kompatibilní s ID firmy MIROHIP a má procesor PILF7 a krystal.4mhz. Kabel RS je zapojen : (tedy odpovídající si piny jsou spojeny, není to křížený kabel).... Oživení pro MIROHIP MPLB Do procesoru U se externím programátorem naprogramuje firmware ze souboru MPL7.HEX z instalačního adresáře balíku MIROHIP MPLB verze 5.x. Firmware umožňuje komunikaci jen rychlostí 900Bd a 5700Bd.... Oživení pro S PW Nejsnazší je naprogramovat do U externím programátorem zavaděč, který se nachází v instalačním adresáři překladače PW (stačí i demoverze) v souboru BOOLOD.HEX. Pak je již ID funkční a při prvním použití v programu PW nám program nabídne provedení aktualizaca firmwaru. K aktualizaci již není potřeba externí programátor. Místo zavaděče může být naprogramován i firmware pro MPLB. Při aktualizaci vybereme variantu MIROHIP MPLB ID a variantu firmwaru pro programování požadované řady procesorů PI (PIF a PIF mají samostatné varianty firmwaru). V případě potřeby je možné nahrát do ID firmware pro MPLB ID (soubor MPL7.HEX z instalačního adresáře balíku MPLB verze 5.x). Poku Pokud do ID nahrajeme chybnou verzi firmwaru (například firmware pro jinou frekvenci krystalu) nezbývá než opět použít externí programátor a přehrát firmware U z vnějšku. Po výměně krystalu je možné použít i firmware pro kmitočet 0MHz ale pak ID nebude pracovat při sníženém napájecím napětí. Pak nahráváme firmware pro ID-S pro 0MHz.... Kontrola Po naprogramování firmwaru je vhodné zkontrolovat funkčnost ID s reálným procesorem a aplikací. Závěrem je vhodné zkontrolovat, zda měnič vyrábí správné programovací napětí. Kontroluje se napětí na vodiči +V zda má +V. Toto napětí se negeneruje trvale ale generuje se například během programování. PIID0.doc / 005-- / miho / http://www.mlab.cz / 9
PIID0 4. Programové vybavení Programové vybavení za nás napsaly firmy MIROHIP a S. Jedná se o balíky MIROHIP MPLB verze 5.x (starší verze, volná verze) a překladač jazyka firmy S PW (a program pro programování procesorů S ID-S, komerční program, ID funguje i v demoverzi). Podpora ID je k dispozici jen u novějších procesorů PI. HW podpora ID zahrnuje hardware, který umožňuje provádět tyto ladící zásahy: Krokovat program po instrukcích Spustit program s nastavenou jednou zarážkou (BreakPoint registr je jen ) Zastavit běžící program Vše ostatní již zajišťuje kousek programu, který se musí přidat k cílové aplikaci (zabere pár buněk paměti RM, řádově dvě stovky instrukcí a jednu úroveň zásobníku). Přidání správného obslužného programu do aplikace zajišťuje software sám (volbou aktivace ID). Na první adrese programu musí být instrukce NOP. Hardwarová podpora ID procesorů PIF je popsána v dokumentu MIROHIP DS54. 5. hyby a náměty Dioda D5 byla do zapojení přidána dodatečně a nejsou pro ni plošky na plošném spoji. Na plošném spoji by se hodil napájecí hřebínek. Kabel RS by byl šikovnější, kdyby byl křížený (null-modem) protože takový kabel je nejběžnější a nejužitečnější. PIID0.doc / 005-- / miho / http://www.mlab.cz 9 / 9