PIprogUS0 ML Programátor pro procesory PI Milan Horkel,Miroslav Janás Modul US programátoru procesorů PI od firmy MIROHIP. Programátor je kompatibilní s programátorem PIkit od firmy MIROHIP. Modul nepotřebuje ke své činnoti napájení, je napájen z US portu. Modul umožňuje měnit napájecí napětí cílové aplikace, lze ho použít jako logický analyzátor, jako omezený převodník RS US, jako programátor eeprom. Programátorem nelze naprogramovat starší PI 6F84 (novější 6F84 již ano).. Technické parametry Parametr Hodnota Poznámka Napájení V Napájeno z US rozhraní Napájení cílového zařízení. - V z US lze nastavit pomocí SW Omezeno US portem Maximálně cca 90m Spotřeba cca 0m ez cílového zařízení Interface US., US.0 US kabel - Kompatibilita PIkit PKMD PIKit MS windows PKMD Linux, MS windows PIPROGUS0.doc / / Jakub Kákona / http://www.mlab.cz / 0
PIprogUS0 ML Rozměry 70x40x0mm Výška nad nosnou deskou. Popis konstrukce.. Úvodem Protože nové počítače a zejména notebooky již nemají oblíbený LPT port ke kterému se připojují různé jednoduché programátory procesorů, naklonovali jsme z dostupných pramenů tento programátor, který se připojuje přes všudypřítomnou US sběrnici. Konstrukce vychází konktrétně z PIkit User Guide, dokument.pdf, ze stránek Microchipu. V dokumentu je kompletní popis i schéma zapojení. by byla konstrukce jednodušší a univerzálnější, byly vynechány paměti eeprom a změněny některé součástky ( typ, pouzdro). Dále byl přidán přepínač, který odpojuje programovací piny při použítí programátoru jako logického analyzátoru a převodníku RS-US... Zapojení modulu Procesor a napájecí část. Do původního zapojení od microchipu je přídána pojistka F, konektory J a J. J vývod napájení z US portu, J vývod napájení pro cílovou aplikaci. Dále jsou vynechány eeprom paměti. V _ U S 4 p F O S X 0 M H z O S p F S _ M L R V P P _ F V D D _ T G T _ F I S P _ D T I S P _ L K U X M L R _ T G T O S O S L D _ U S Y V P P _ P U M P T G T _ a d j U 8 M L R # / V P P P I P G D / R 7 7 R 0 / N 0 P G / R 6 6 4 R / N P G M / R R / N / V R F - R 4 4 6 R / N / V R F + P / R 7 R 4 / T 0 K I I N T / R 8 R / N 4 / S S # / L V D I N I N T / R 9 G N D I N T 0 / R 0 0 0 O S / L K I V D D 9 O S / L K O / R 6 G N D 8 R 0 / T O S O / T K I D T / R X / R 7 7 R / T O S I / P K / T X / R 6 6 4 R / P D + / V P / R V _ U S D - / V M / R 4 _ P I 8 F 0 8 _ P I N 4 7 0 n F V _ U S 6 0 0 n F S _ P G D S _ P G T L V D D _ T G T _ P V D D _ T G T _ N V P P _ O N U S _ D P U S _ D M 6 J M M U S 0 V U S D M U S D P G N D 4 U S _ D M U S _ D P F R X 0 7 _ S M D 0 0 n F 0 u F / 6 V R 4 k 7 V _ U S J J U M P X V _ U S J J U M P X V D D _ T G T PIPROGUS0.doc / / Jakub Kákona / http://www.mlab.cz / 0
PIprogUS0 ML LD, tlačítko SW, programovací konektory. Tlačítko SW je použito pro funkci abort trigger při použití programátoru jako logického analyzátoru. D, červená LD, indikuje činnost programátoru. D, žlutá LD, nás informuje o tom, že je použito výstupní napětí tgt power. D, zelená LD, znamená přítomnost US napětí. S e l f I S P V _ U S L D _ U S Y V _ U S V _ U S S e l f _ I S P P G P G D V D D J 4 G N D M L R # / V P P P I _ I S P 6 S _ P G S _ P G D S _ M L R P U S H 0 0 x 0 0 S W R T L R 4 7 0 D R R 4 7 0 V D D _ T G T _ P D Y R 4 7 0 D G T _ L K T _ D T V D D _ T G T T _ M L R 6 T a r g e t I S P J T a r g e t _ I S P P G P G D V D D G N D M L R # / V P P P I _ I S P Generátor napětí pro MLR. Osazuje se pouze jedna cívka. uď L nebo L. Zapojení je nezměněmo oproti originálu. V _ T G T 9 0 u F / 6 V L # L 6 8 0 u H 7 4 7 u F / V R 7 0 0 k R 4 k Q 7 8 7 S M D V P P _ P U M P D 6 V P P _ F T 4 8 S M D R 9 k 7 R 4 k 7 R 7 0 k V P P _ O N Q 8 8 7 S M D R 0 k M L R _ T G T R 8 0 k Q 6 8 0 7 S M D Q 9 8 7 S M D R 6 0 0 T _ M L R PIPROGUS0.doc / / Jakub Kákona / http://www.mlab.cz / 0
S Schéma zapojení pro tvorgu napětí tgt power (V_TGT) pro cílovou aplikaci. Oproti původnímu zapojení je použit jiný typ operačního zesilovače. T G T _ a d j V _ U S V _ T G T M P 6 0 0 T - I / O T G R 8 U 0 k 4 O R 9 0 0 G Q S 0 S M D V _ U S 0 0 0 n F 0 0 n F R 0 0 k R 0 k D 0 0 n F S D D S PIprogUS0 ML V _ U S R 0 k 0 u F / 6 V Spínač tgt power, převodník napětí a přepínač SW. Na následujícím schématu, levá část, je tranzistorový spínač napětí tgt power (V_TGT). V originálním schématu je použita součástka, která sdružuje v sobě dva fet tranzistory Q a Q. Dostupnější jsou ale tranzistory každý zvlášť. Odpory R, R4 a R jsou použity jako propojky v P. Deska je díky nim jednostranná. V pravé části s diodou D je jednoduchý převodník napětí, tvořen s tranzistory Q, Q4 a Q0. Přepínač SW přepíná funkci datových signálů buď do programovacího konektoru ISP, nebo do oddělených konektorů J7 a J8. V _ U S V _ T G T V D D _ T G T _ F V D D _ T G T V D D _ T G T _ P R 0 k R 9 k 7 8 0 0 n F R 0 G R 0 Q S 0 S M D D 4 T 4 8 S M D R 8 4 k 7 I S P _ L K R 6 0 Q 8 0 7 S M D R 7 R 0 4 k 7 S W - s w i t c h J 7 T _ L K J U M P X V D D _ T G T _ N R 4 0 k G R k Q S 7 0 S M D R 4 0 R 8 0 D N 4 4 8 S M D I S P _ D T R 0 Q 4 8 0 7 S M D R R 6 4 k 7 S W - s w i t c h 4 6 T _ D T J 8 J U M P X U X R 0 0 R J 6 U X Q 0 8 0 7 S M D PIPROGUS0.doc / / Jakub Kákona / http://www.mlab.cz 4 / 0
PIprogUS0 ML.. Mechanická konstrukce Modul je navržen jako standardní modul do stavebnice ML s upevňovacími sloupky v rozích. J je US konektor pro připojení k počítači P J US power - napájecí napětí z US portu J tgt power - napájecí napětí pro cílovou aplikaci (.V až V) J4 self ISP konektor pro prvotní naprogramování firmware J je ISP programovací konektor SW abort trigger - tlačítko logického analyzátoru SW přepíná programovací piny mezi ISP konektorem a konektry J6, J7, J8 PIPROGUS0.doc / / Jakub Kákona / http://www.mlab.cz / 0
PIprogUS0 ML. Osazení a oživení.. Osazení Modul je navržen na jednostranné desce.při osatování je potřeba značné dávky trpělivosti a hodně času. I přesto, že jseme chtěli navrhnout jednoduchý a univerzální programátor, má modul 88 součástek a to při osazení, kdy hledáme co kam patří zabere více času. Deska při pohledu ze strany součástek Deska při pohledu ze strany spojů PIPROGUS0.doc / / Jakub Kákona / http://www.mlab.cz 6 / 0
PIprogUS0 ML PIPROGUS0.doc / / Jakub Kákona / http://www.mlab.cz 7 / 0
PIprogUS0 ML Seznam použitých součástek Quantity Reference Part P Footprint 6,6,8,0,, 00nF 080,9, 0uF/6V LYT 470nF 080 4, pf 080 7 47uF/V LYT D R LD D Y LD D G LD D6,D4 T48SMD MINIMLF D N448SMD SOD87 F RX07_SMD F8 J US 0 US 0 J,J JUMPX JUMPX J4 Self_ISP PI_ISP J Target_ISP PI_ISP J6 UX JUMPX J7,J8 JUMPX JUMPX L 680uH L0_MIJ L axialni GM 6-0 LL00 4 M,M,M,M4 HOL_M HOL_M M,M6 FIDU FIDU M7,M8 FIDU_PST FIDU_PST Q,Q S0SMD P-FT SOT 4 Q,Q4,Q6,Q0 807SMD PNP SOT Q S70SMD N-FT SOT Q7,Q8,Q9 87SMD NPN SOT R,R,R 470 R080 R4,R9,R9 k7 R080 8 R,R4,R0,R,R,R,R7,R8 0k R080 R6,R,R0 0 R080 4 R7,R,R,R R080 4 R8,R0,R6,R 4k7 R080 R4,R k R080 R 80 R080 R7 00k R080 R8 0k R06 R6,R9 00 R080 R,R4,R 0 R06 SW P-70 P-70 SW switch SW-XDPDT U _PI8F0 8_PIN SO8_00 U MP600T-I/OTG SOT- X0MHz XTL00 PIPROGUS0.doc / / Jakub Kákona / http://www.mlab.cz 8 / 0
PIprogUS0 ML.. Oživení Pokud je deska dobře osazená, zbývá jen do procesoru nahrát firmware. Potřebujeme externí programátor, který zvládne naprogramovat procesor PI 8F0. Nyní je pro programátor firmware..0. Soubor firmaware, v době psaní tohoto dukumentu, se jmenoval PKV000.hex. Po naprogramování lze kdykoli provést upgrade firmware, bez nutnosti znovu programovat procesor externím programátorem.... Nahrání procesoru v programátoru Do konektoru Self ISP (J4) zasuneme programovací kabel a nahrajeme do procesru PI 8F0 aktuální firmware. (nyní PKV000.hex). Před programováním je dobré, si rozmyslet, jak budeme programátor napájet. Pokud externí programátor potřebuje externí napájení, můžeme náš nový modul zasunout do US kabelu k P. Napájení se tak bude brát z našeho modulu. 4. Programové vybavení S programátorem můžeme pracovat v Linuxu i v MS windows. Pro windows je program PIkit. Práce s programátorem je uživatelsky příjemnější. Pro Linux lze použít PKMD. Jedná se o ovládání programátoru příkazovým řádkem. xistuje PKMD i pro příkazovou řádku pro MS windows. Nelze použít MS DOS. Ten nemá podporu US. 4.. Použití programátoru v programu PIkit Náš programátor se po připojení k P nahlásí jako zařízení US HID. Nyní spustíme program PIkit a můžeme začít programovat. Pokud je připojen cílový procesor, programátor ho pozná a je připraven s ním komunikovat. Klávesovou zkratkou ctr+i vybereme náš hex soubor a tlačítkem write cílový procesor naprogramujeme. Pokud ladíme cílovou aplikaci a potřebujeme často překládat zdrojový program, použijeme tlačítko uto Import HX + Write Device. Nyní se po každé změně hex souboru, například přeložením zrojového kodu, automaticky naprogramuje procesor, aniž bychom museli někde něco odkliknout nebo spustit. V programu PIkit, můžeme volbou Tools/URT tool... použít náš programátor jako jednoduchý převodník US RS. Dále volbou Tools/Logic tool... lze programátor přepnout do režimu logic I/O nebo analyzer. V těchto režimech lze sledovat logické úrovně třeba naší laděné cílové aplikace. Další možnosti jsou popsány v nápovědě a v samotném dokumentu PIkit User Guide. Poznamenám, že po nainstalování lze v textovém souboru PIkit Readme.txt rychle najít co lze naprogramovat, jsou tam uvedeny i paměti eeprom a další. 4.. Použití s programem PKMD Jedná se o požití programátoru s příkazovým řádkem. Jak v Linuxu, tak v MS windows. Příkaz PKMD /? Zobrazí nápovědu. V linuxu můžeme místo lomítka / použít mínus -. PIPROGUS0.doc / / Jakub Kákona / http://www.mlab.cz 9 / 0
PIprogUS0 ML Příkaz PKMD /PPI6F88 /FPROGRM.HX /M /. naprogramuje náš zvolený procesor PI6F88 hex souborem PROGRM.HX. /M znamená smazání a naprogramování, /. nastaví tgt power na.v. Další možnosti jsou uvedeny v dokumentu Readme For PKMD.txt, nebo právě v nápovědě. PIPROGUS0.doc / / Jakub Kákona / http://www.mlab.cz 0 / 0