<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3c.org/TR/html4/strict.dtd"><html><head><meta http-equiv=Content-Type content="text/html; charset=windows-1250"><title> PICPGR301A </title><link rel="StyleSheet" href="styl2.css" type="text/css" title="druhy_styl"><script language="JavaScript" type="text/javascript" src="menu.js"></script></head><body lang=CS><!-- -------------- HLAVICKA -------------- --><div class=xHeader><script type="text/javascript"><!--DrawHeader(); // mozno zmenit nadpis v hlavicce// --></script><noscript><b> Pro zobrazení (vloení) hlavièky je potøeba JavaScript </b></noscript></div><!-- -------------- MENU -------------- --><div class=xHeader><script type="text/javascript"><!--DrawMenu();// --></script><noscript><b> Pro zobrazení (vloení) menu je potøeba JavaScript </b></noscript></div><!-- -------------- TEXT STRANKY -------------- --><div class=Section1><p class=Titul>Programátor procesorù PIC</p><p class=Autor>Milan Horkel</p><p class=MsoSubtitle>Programátor PICPGR3 je malý vývojový programátor pro programování procesorùPIC firmy MICROCHIP. Umoòuje programované zaøízení spustit bez odpojováníprogramátoru a mùe jej resetovat i napájet.</p><p class="center"><img width=454 height=412 src="PICPGR301A_soubory/image001.jpg"></p><h1>1. Technické parametry</h1><table><tr>Testovací tabulka<th> Poloka </th><th> Hodnota </th></tr><tr><td> Hruka <br> Bluma </td><td> <p style="color: blue"> Modrá </p> <p style="color: brown"> Hnìdá </p> </td></tr><tr><td> Jablko </td><td> Barvy jako seznam:<ol > <li> Èervené <br> Oranové </li><li> Zelené </li><li> Modré </li></ol>Barvy èíslovanì:<ul > <li> Èervené <br> Oranové </li><li> Zelené </li><li> Modré </li></ul></td></tr><tr><td> Samotná buòka </td></tr><tr><td colspan="2"> Slouèená buòka </td></tr></table><table><tr><th> Parametr </td><th> Hodnota </td><th> Poznámka </td></tr><tr><td> Napájení </td><td> +15V </td><td> Ochrana proti pøepólování </td></tr><tr><td> Spotøeba </td><td> 80mA / 100mA </td><td> Bez pøipojené aplikace / pøi programování </td></tr><tr><td> Rozmìry </td><td> 71 x 61 x 20 </td><td> Výka nad upevòovací deskou, bez pøeènívajícího konektoru </td></tr></table><h1>2. Popis konstrukce</h1><h2>2.1. Úvodem</h2><p>Programátor PICPGR3 vychází ze starích verzí programátoru, je s nimifunkènì kompatibilní a na rozdíl od nich je mechanicky øeen jako modulpro stavebnici.</p><p>Programátor umoòuje programovat vybrané procesory PIC v reimu standardníhoprogramování (pouívá k tomu programovací napìtí 12V). Sortimentpodporovaných procesorù není dán konstrukcí hardwaru ale tím, co podporuje software.</p><p>Programátor umoòuje aplikace s procesory PIC nejen programovat v zapojení ale i pøímo spoutìt, resetovat i pouze napájet napájecím napìtím+5V a to bez odpojování programovacích vodièù (to kupodivu neumí zdalekakadý programátor ale vývojáø programù to velmi ocení).</p><h2>2.2. Zapojení modulu</h2><p>Napájecí napìtí programátoru (konektor J1) by mìlo být +15V aby byl programátorschopen generovat programovací napìtí VPP o hodnotì +12.5V. Tato hodnota jevyadována pro programování procesorù s OTP pamìtí. Procesory s pamìtí FLASH nejsou tak striktní co se týká velikosti VPP protoe VPP pouívajípouze pro aktivaci programovacího reimu a staèí, pokud je podstatnì vìtí nezákladní napájecí napìtí VDD (pozor, neplatí to pro nìkteré starí procesory,které mìli starí provedení FLASH èi EEPROM pamìti).</p><p>Napájecí napìtí +5V pro elektroniku programátoru se získává ve stabilizátoruU1 a je pouíváno i pro napájení cílové aplikace. Spínání napájení pro cílovouaplikaci zajiují tranzistory Q1 a Q2 a ruèní spínaè SW1.</p><p>Programovací napìtí VPP o hodnotì +12.5V stabilizuje U2 a spínají Q3 a Q4.Tranzistor Q5 aktivuje MCLR# (RESET) procesoru. Vzhledem k tomu, esignál MCLR# i programovací napìtí VPP sdílejí spoleèný vývod procesoruMCLR#/VPP, musí být zajitìno, e nedojde k aktivaci signálu MCLR#souèasnì s programovacím napìtím VPP. To zajiuje ochranná logika,která je realizována v obvodu GAL U3.</p><p>V obvodu GAL je kromì ochranné logiky realizován i tøístavový budièøídících signálù. Volné vývody obvodu GAL jsou pøipraveny pro budoucí rozíøení.Odpory R14, R15 a R16 zajiují klidový stav na vstupech obvodu GAL tak, abyprogramátor byl v neaktivním stavu pokud není pøipojen k poèítaèi PC.<i>Na rychlosti obvodu GAL nezáleí, vyhoví kterýkoli GAL16V8 v pouzdruDIL.</i></p><p>Propojovací kabel mezi PC a PICPGR3 je zapojen 1:1 samec-samec.</p><h2>2.3. Mechanická konstrukce</h2><p>Programátor je proveden jako standardní stavebnicový modul.</p><p><img width=420 height=864 src="PICPGR301A_soubory/image002.gif"><img width=142 height=582 src="PICPGR301A_soubory/image003.gif"></p><h2>2.4. Zapojení obvodu GAL</h2><p>Verze GAL4.EQN a jeho schématický ekvivalent.</p><p><img width=363 height=358 src="PICPGR301A_soubory/image004.gif"></p><h2>2.5. Programátorský model</h2><p>Programátor se pøipojuje na LPT port PC. Bázové adresy øídících registrù LPTportù ukládá BIOS poèítaèe do pamìti na adresy 0:408H (hodnota 16 bitù) aobvykle bývá 3BCH, 378H nebo 278H.</p><p>Pouívá se nejzákladnìjí jednosmìrný reim LPT portu. Øídící registry LPT majípak tento význam:</p><p>3BCH/378H/278H Data smìrem do tiskárny (v programátoru signály D0 a D7)<br /> - bit 0 signál D0 DATA<br /> - bit 1 signál D1 DATA output anable<br /> - bit 2 signál D2 CLOCK<br /> - bit 3 signál D3 CLOCK output enable<br /> - bit 4 signál D4 VCCON<br /> - bit 5 signál D5 VPPON (lze jen spolu s VCCON)<br /> - bit 6 signál D5 RESET (lze jen není-li VPPON)<br /> - bit 7 signál D7 musí být 0 aby byl programátor aktivní</p>3BEH/37AH/27AH Øízení tiskárny (v programátoru se nepouívá)</p><p>3BDH/379H/279H Ètení stavu tiskárny (pouívá se jen 1 signál)<br />- bit 6 signál ACK ètená data DQ alias DATA</p><h1>3. Osazení a oivení</h1><h2>3.1. Osazení</h2><p><img width=117 height=94 src="PICPGR301A_soubory/image005.gif"></p><p><img width=353 height=371 src="PICPGR301A_soubory/image006.jpg"></p><table class="Soupiska"><tr><th> Reference </td><th> Název </td></tr><tr><th colspan="2"> Odpory </th></tr><tr><td> R9,R10,R11,R12 </td><td> 100 </td></tr><tr><td> R4,R13 </td><td> 470 </td></tr><tr><td> R1,R2,R3,R5,R6,R7 </td><td> 1k </td></tr><tr><td> R8,R14,R15,R16 </td><td> 4k7 </td></tr><tr><th colspan="2"> Kondenzátory </th></tr><tr><td> C2,C3,C5,C6 </td><td> M1 </td></tr><tr><td> C4 </td><td> 10uF/35V </td></tr><tr><td> C1 </td><td> 220uF/25V </td></tr><tr><th colspan="2"> Diody </th></tr><tr><td> D1 </td><td> 1N4007 </td></tr><tr><td> D2 </td><td> 1N4148 </td></tr><tr><td> D3 </td><td> LED3mm, zelená </td></tr><tr><td> D4 </td><td> LED3mm, èervená </td></tr><tr><td> D5 </td><td> BZX85V006.2 </td></tr><tr><th colspan="2"> Tranzistory </th></tr><tr><td> Q1,Q3,Q5 </td><td> BC337 </td></tr><tr><td> Q2,Q4 </td><td> BC640 </td></tr><tr><th colspan="2"> Integrované obvody </th></tr><tr><td> U1 </td><td> LM7805T </td></tr><tr><td> U2 </td><td> LM78L12Z </td></tr><tr><td> U3 </td><td> GAL16V8 </td></tr><tr><th colspan="2"> Mechanické souèásti </th></tr><tr><td> J1 </td><td> K375A </td></tr><tr><td> J2 </td><td> DB25F_90 </td></tr><tr><td> J3 </td><td> JUMP3 </td></tr><tr><td> J4 </td><td> PIC_ISP </td></tr><tr><td> J5 </td><td> JUMP2 </td></tr><tr><td> SW1 </td><td> P-B143 </td></tr></table><h2>3.2. Oivení</h2><p>Pokud jsou pouité správné souèástky (obvod GAL musí být naprogramovaný !)a není chyba v zapojení (zkraty èi jiné chyby) bude programátor fungovatna první zapojení.</p><p>Základní oivení se provádí pomocí laboratorního zdroje. Nejprve pøesunemevypínaè SW1 do vypnutého stavu (smìrem k LED indikátorùm). Pøi postupnémzvyování napájecího napìtí kontrolujeme, zda stabilizátor U1 stabilizujenapìtí +5V a zda stabilizátor U2 stabilizuje na cca +12.7V. Spotøebaprogramátoru by mìla být øádu do 100mA (konkrétní hodnota záleí na tom,jakou spotøebu má pouitý obvod GAL.</p><p>K dalímu oivování pouíváme testovací program TSTPGR.EXE, který umoòujepostupnou aktivaci jednotlivých signálù a jejich kombinací. Jednotlivé polokytestu vypisují jednak co program nastavil a informaci o tom, co by se mìloobjevit na jednotlivých pinech programovacího konektoru.</p><p>Stav H je napìtí kolem +4V, stav L je obvykle napìtí pod +0.1V a stav X je napìtíkolem +3V s tím, e po pøipojení odporu 10k na zem nebo na napájení +5Vdostaneme napìtí 0V nebo +5V. Pro testování, zda funguje vstup PGD se na tentopin pøipojuje GND a VDD pøes odpor 10k.</p><p>Napìtí VDD by mìlo být v rozmezí +4.5V a +5.5V a VPP v rozmezí+12V a +13V.</p><h1>4. Programové vybavení</h1><h2>4.1. Uivatelský návod PICPGR.EXE</h2><p>Program PICPGR.EXE je DOS program a pøímo ovládá zadaný LPT port. V pøípadìprocesorù s pamìtí FLASH je moné spoutìt jej i z DOS okna podWindows 95/98. Program pøi sputìní bez parametrù vypíe nápovìdu vèetnìúplného seznamu podporovaných procesorù a moností nastavení pøepínaèù.</p><p>Program zpracovává jednak standardní HEX soubor (takový, který generují obvyklépøekladaèe pro procesor PIC) a alternativnì textový soubor, který je výhodnýzejména pøi ladìní (vyètení stavu, vizuální kontrola, definování parametrùv EEPROM pamìti a podobnì). Souèástí datového souboru mohou být datapro pamì programu, pro pamì EEPROM, pro testovací pole i pro konfiguraèníslovo. Nastavení konfiguraèního slova lze (pouze pro procesory s pamìtíFLASH) zmìnit uvedením pøepínaèù. Rùzné procesory mají rùzné pøepínaèe.</p><p>Pro vìtinu akcí je nutné uvést typ procesoru a pøípadnì i formát vstupníhoèi výstupního souboru (pøepínaè HEX nebo TXT). Na poøadí pøepínaèù nezáleí.</p><h3>4.1.1. Nápovìda</h3><p><samp>PICPGR</samp></p><p>Vypíe úplnou nápovìdu vèetnì seznamu vech podporovaných procesorù, jejichvlastností a pøepínaèù.</p><p><samp>PICPGR <procesor></samp></p><p>Nápovìda vypíe vlastnosti procesoru a jeho sady pøepínaèù pro pøedefinovánístavu konfiguraèních pøepínaèù.</p><h3>4.1.2. Mazání procesoru</h3><p><samp>PICPGR ERASE <procesor></samp></p><p>Smae obsah vech pamìtí procesoru i v pøípadì, e je procesor zamèený.Funguje pouze pro procesory s pamìtí FLASH.</p><h3>4.1.3. Ètení procesoru</h3><p><samp>PICPGR READ <soubor> HEX <procesor><br>PICPGR READ <soubor> TXT <procesor></samp></p><p>Pøeète obsah vech pamìtí procesoru a uloí je do výsledného HEX nebo TXTsouboru.</p><h3>4.1.4. Programování procesoru a verifikace</h3><p><samp>PICPGR PROGAM <soubor> HEX <procesor><br>PICPGR VERIFY <soubor> HEX <procesor></samp></p><p>Provede naprogramování a kontrolu naprogramování procesoru dle zadaného souboru(HEX nebo TXT). Programování automaticky provádí i kontrolu a vypisuje pøípadnénesrovnalosti.</p><p>V pøípadì potøeby je moné zmìnit nastavení konfiguraèního slova. Níeuvedený pøíklad provede naprogramování procesoru PIC16F873 obsahem souboruTEST.HEX ve formátu HEX s tím, e zmìní konfiguraèní bit CP (CodeProtection) do stavu zapnuto a pole FOSC v konfiguraèním slovì (konfiguraceoscilátoru) nastaví do stavu 01.</p><p><samp>PICPGR PROGRAM TEST.HEX HEX PIC16F873 CP_ON FOSC_01</samp></p><h3>4.1.5. Spoutìní aplikace</h3><p><samp>PICPGR RUN<br>PICPGR RESET<br>PICPGR STOP</samp></p><p>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.</p><h3>4.1.6. Konverze formátu datového souboru</h3><p><samp>PICPGR CONVERT <vstup> <vystup> HEX <procesor><br>PICPGR CONVERT <vstup> <vystup> TXT <procesor></samp></p><p>Pøevede soubor ve formátu HEX na TXT nebo naopak. Uvádìný typ procesoru slouíke kontrole rozsahu.</p><h2>4.2. Popis programu</h2><p>Program je napsaný v jazyce Turbo Pascal verze 6 a vznikl postupnýmroziøováním pùvodního jednoduchého programu pro programování obvodù PIC16F84.Zdrojové texty jsou dostupné a komentované.</p><p>Program podporuje kromì programátoru PICPGR i profesionální programátor ALL-03.</p></div><!-- -------------- PATICKA -------------- --><div class=xFooter><script type="text/javascript"><!--DrawFooter("Patièka");// --></script><noscript><b> Pro zobrazení (vloení) patièky je potøeba JavaScript </b></noscript></div></body></html>