o: ActiveSupport::Cache::Entry :@compressedF:@value"ɧ"§
| PICPGR301A.html | ||
|---|---|---|
| 3 | 3 |
<html> |
| 4 | 4 |
|
| 5 | 5 |
<head> |
| 6 |
<meta http-equiv=Content-Type content="text/html; charset=windows-1250">
|
|
| 6 |
<meta http-equiv=Content-Type content="text/html; charset=utf-8">
|
|
| 7 | 7 |
<title> PICPGR301A </title> |
| 8 | 8 |
<link rel="StyleSheet" href="../../../../Web/CSS/MLAB.css" type="text/css" title="druhy_styl"> |
| 9 | 9 |
<script type="text/javascript" src="../../../../Web/JS/MLAB_Menu.js"></script> |
| ... | ... | |
| 21 | 21 |
</script> |
| 22 | 22 |
<noscript> |
| 23 | 23 |
<p> |
| 24 |
<b>Pro zobrazen? (vlo?en?) hlavi?ky je pot?eba JavaScript</b>
|
|
| 24 |
<b>Pro zobrazení (vložení) hlavičky je potřeba JavaScript</b>
|
|
| 25 | 25 |
</p> |
| 26 | 26 |
</noscript> |
| 27 | 27 |
</div> |
| ... | ... | |
| 35 | 35 |
</script> |
| 36 | 36 |
<noscript> |
| 37 | 37 |
<p> |
| 38 |
<b> Pro zobrazen? (vlo?en?) menu je pot?eba JavaScript </b>
|
|
| 38 |
<b> Pro zobrazení (vložení) menu je potřeba JavaScript </b>
|
|
| 39 | 39 |
</p> |
| 40 | 40 |
</noscript> |
| 41 | 41 |
</div> |
| ... | ... | |
| 43 | 43 |
<!-- ============== TEXT STRANKY ============== --> |
| 44 | 44 |
<div class=Section1> |
| 45 | 45 |
<p class=Titul> |
| 46 |
Program?tor procesor? PIC
|
|
| 46 |
Programátor procesorů PIC
|
|
| 47 | 47 |
</p> |
| 48 | 48 |
<p class=Autor> |
| 49 | 49 |
Milan Horkel |
| 50 | 50 |
</p> |
| 51 | 51 |
<p class=MsoSubtitle> |
| 52 |
Program?tor PICPGR3 je mal? v?vojov? program?tor pro programov?n? procesor?
|
|
| 53 |
PIC firmy MICROCHIP. Umo??uje programovan? za??zen? spustit bez odpojov?n?
|
|
| 54 |
program?toru a m??e jej resetovat i nap?jet.
|
|
| 52 |
Programátor PICPGR3 je malý vývojový programátor pro programování procesorů
|
|
| 53 |
PIC firmy MICROCHIP. Umožňuje programované zařízení spustit bez odpojování
|
|
| 54 |
programátoru a může jej resetovat i napájet.
|
|
| 55 | 55 |
</p> |
| 56 | 56 |
<p class="center"> |
| 57 | 57 |
<img width=454 height=412 src="PICPGR301A_soubory/image001.jpg" |
| 58 |
alt="Obr?zek program?toru">
|
|
| 58 |
alt="Obrázek programátoru">
|
|
| 59 | 59 |
</p> |
| 60 | 60 |
|
| 61 |
<h1>1. Technick? parametry</h1>
|
|
| 61 |
<h1>1. Technické parametry</h1>
|
|
| 62 | 62 |
<table> |
| 63 |
<caption> Testovac? tabulka </caption>
|
|
| 63 |
<caption> Testovací tabulka </caption>
|
|
| 64 | 64 |
<tr> |
| 65 |
<th> Polo?ka </th>
|
|
| 65 |
<th> Položka </th>
|
|
| 66 | 66 |
<th> Hodnota </th> |
| 67 | 67 |
</tr> |
| 68 | 68 |
<tr> |
| 69 |
<td> Hru?ka <br> Bluma </td>
|
|
| 70 |
<td> <p style="color: blue"> Modr? </p> <p style="color: brown"> Hn?d? </p> </td>
|
|
| 69 |
<td> Hruška <br> Bluma </td>
|
|
| 70 |
<td> <p style="color: blue"> Modrá </p> <p style="color: brown"> Hnědá </p> </td>
|
|
| 71 | 71 |
</tr> |
| 72 | 72 |
<tr> |
| 73 | 73 |
<td> Jablko </td> |
| 74 | 74 |
<td> Barvy jako seznam: |
| 75 |
<ol > <li> ?erven? <br> Oran?ov? </li>
|
|
| 76 |
<li> Zelen? </li>
|
|
| 77 |
<li> Modr? </li>
|
|
| 75 |
<ol > <li> Červené <br> Oranžové </li>
|
|
| 76 |
<li> Zelené </li>
|
|
| 77 |
<li> Modré </li>
|
|
| 78 | 78 |
</ol> |
| 79 |
Barvy ??slovan?:
|
|
| 80 |
<ul > <li> ?erven? <br> Oran?ov? </li>
|
|
| 81 |
<li> Zelen? </li>
|
|
| 82 |
<li> Modr? </li>
|
|
| 79 |
Barvy číslovaně:
|
|
| 80 |
<ul > <li> Červené <br> Oranžové </li>
|
|
| 81 |
<li> Zelené </li>
|
|
| 82 |
<li> Modré </li>
|
|
| 83 | 83 |
</ul> |
| 84 | 84 |
</td> |
| 85 | 85 |
</tr> |
| 86 | 86 |
<tr> |
| 87 |
<td> Samotn? bu?ka </td>
|
|
| 87 |
<td> Samotná buňka </td>
|
|
| 88 | 88 |
</tr> |
| 89 | 89 |
<tr> |
| 90 |
<td colspan="2"> Slou?en? bu?ka </td>
|
|
| 90 |
<td colspan="2"> Sloučená buňka </td>
|
|
| 91 | 91 |
</tr> |
| 92 | 92 |
</table> |
| 93 | 93 |
|
| ... | ... | |
| 95 | 95 |
<tr> |
| 96 | 96 |
<th> Parametr </th> |
| 97 | 97 |
<th> Hodnota </th> |
| 98 |
<th> Pozn?mka </th>
|
|
| 98 |
<th> Poznámka </th>
|
|
| 99 | 99 |
</tr> |
| 100 | 100 |
<tr> |
| 101 |
<td> Nap?jen? </td>
|
|
| 101 |
<td> Napájení </td>
|
|
| 102 | 102 |
<td> +15V </td> |
| 103 |
<td> Ochrana proti p?ep?lov?n? </td>
|
|
| 103 |
<td> Ochrana proti přepólování </td>
|
|
| 104 | 104 |
</tr> |
| 105 | 105 |
<tr> |
| 106 |
<td> Spot?eba </td>
|
|
| 106 |
<td> Spotřeba </td>
|
|
| 107 | 107 |
<td> 80mA / 100mA </td> |
| 108 |
<td> Bez p?ipojen? aplikace / p?i programov?n? </td>
|
|
| 108 |
<td> Bez připojené aplikace / při programování </td>
|
|
| 109 | 109 |
</tr> |
| 110 | 110 |
<tr> |
| 111 |
<td> Rozm?ry </td>
|
|
| 112 |
<td> 71 x 61 x? 20 </td> |
|
| 113 |
<td> V??ka nad upev?ovac? deskou, bez p?e?n?vaj?c?ho konektoru </td>
|
|
| 111 |
<td> Rozměry </td>
|
|
| 112 |
<td> 71 x 61 x?? 20 </td>
|
|
| 113 |
<td> Výška nad upevňovací deskou, bez přečnívajícího konektoru </td>
|
|
| 114 | 114 |
</tr> |
| 115 | 115 |
</table> |
| 116 | 116 |
|
| 117 | 117 |
<h1>2. Popis konstrukce</h1> |
| 118 |
<h2>2.1. ?vodem</h2>
|
|
| 118 |
<h2>2.1. Úvodem</h2>
|
|
| 119 | 119 |
<p> |
| 120 |
Program?tor PICPGR3 vych?z? ze star??ch verz? program?toru, je s nimi
|
|
| 121 |
funk?n? kompatibiln? a na rozd?l od nich je mechanicky ?e?en jako modul
|
|
| 120 |
Programátor PICPGR3 vychází ze starších verzí programátoru, je s nimi
|
|
| 121 |
funkčně kompatibilní a na rozdíl od nich je mechanicky řešen jako modul
|
|
| 122 | 122 |
pro stavebnici. |
| 123 | 123 |
</p> |
| 124 | 124 |
<p> |
| 125 |
Program?tor umo??uje programovat vybran? procesory PIC v re?imu standardn?ho
|
|
| 126 |
programov?n? (pou??v? k tomu programovac? nap?t? 12V). Sortiment
|
|
| 127 |
podporovan?ch procesor? nen? d?n konstrukc? hardwaru ale t?m, co podporuje software.
|
|
| 125 |
Programátor umožňuje programovat vybrané procesory PIC v režimu standardního
|
|
| 126 |
programování (používá k tomu programovací napětí 12V). Sortiment
|
|
| 127 |
podporovaných procesorů není dán konstrukcí hardwaru ale tím, co podporuje software.
|
|
| 128 | 128 |
</p> |
| 129 | 129 |
<p> |
| 130 |
Program?tor umo??uje aplikace s procesory PIC nejen programovat v
|
|
| 131 |
zapojen? ale i p??mo spou?t?t, resetovat i pouze nap?jet nap?jec?m nap?t?m
|
|
| 132 |
+5V a to bez odpojov?n? programovac?ch vodi?? (to kupodivu neum? zdaleka
|
|
| 133 |
ka?d? program?tor ale v?voj?? program? to velmi ocen?).
|
|
| 130 |
Programátor umožňuje aplikace s procesory PIC nejen programovat v
|
|
| 131 |
zapojení ale i přímo spouštět, resetovat i pouze napájet napájecím napětím
|
|
| 132 |
+5V a to bez odpojování programovacích vodičů (to kupodivu neumí zdaleka
|
|
| 133 |
každý programátor ale vývojář programů to velmi ocení).
|
|
| 134 | 134 |
</p> |
| 135 | 135 |
|
| 136 |
<h2>2.2. Zapojen? modulu</h2>
|
|
| 136 |
<h2>2.2. Zapojení modulu</h2>
|
|
| 137 | 137 |
<p> |
| 138 |
Nap?jec? nap?t? program?toru (konektor J1) by m?lo b?t +15V? aby byl program?tor
|
|
| 139 |
schopen generovat programovac? nap?t? VPP o hodnot? +12.5V. Tato hodnota je
|
|
| 140 |
vy?adov?na pro programov?n? procesor? s OTP pam?t?. Procesory s
|
|
| 141 |
pam?t? FLASH nejsou tak striktn? co se t?k? velikosti VPP proto?e VPP pou??vaj?
|
|
| 142 |
pouze pro aktivaci programovac?ho re?imu a sta??, pokud je podstatn? v?t?? ne?
|
|
| 143 |
z?kladn? nap?jec? nap?t? VDD (pozor, neplat? to pro n?kter? star?? procesory,
|
|
| 144 |
kter? m?li star?? proveden? FLASH ?i EEPROM pam?ti).
|
|
| 138 |
Napájecí napětí programátoru (konektor J1) by mělo být +15V aby byl programátor
|
|
| 139 |
schopen generovat programovací napětí VPP o hodnotě +12.5V. Tato hodnota je
|
|
| 140 |
vyžadována pro programování procesorů s OTP pamětí. Procesory s
|
|
| 141 |
pamětí FLASH nejsou tak striktní co se týká velikosti VPP protože VPP používají
|
|
| 142 |
pouze pro aktivaci programovacího režimu a stačí, pokud je podstatně větší než
|
|
| 143 |
základní napájecí napětí VDD (pozor, neplatí to pro některé starší procesory,
|
|
| 144 |
které měli starší provedení FLASH či EEPROM paměti).
|
|
| 145 | 145 |
</p> |
| 146 | 146 |
<p> |
| 147 |
Nap?jec? nap?t? +5V pro elektroniku program?toru se z?sk?v? ve stabiliz?toru
|
|
| 148 |
U1 a je pou??v?no i pro nap?jen? c?lov? aplikace. Sp?n?n? nap?jen? pro c?lovou
|
|
| 149 |
aplikaci zaji??uj? tranzistory Q1 a Q2 a ru?n? sp?na? SW1.
|
|
| 147 |
Napájecí napětí +5V pro elektroniku programátoru se získává ve stabilizátoru
|
|
| 148 |
U1 a je používáno i pro napájení cílové aplikace. Spínání napájení pro cílovou
|
|
| 149 |
aplikaci zajišťují tranzistory Q1 a Q2 a ruční spínač SW1.
|
|
| 150 | 150 |
</p> |
| 151 | 151 |
<p> |
| 152 |
Programovac? nap?t? VPP o hodnot? +12.5V stabilizuje U2 a sp?naj? Q3 a Q4.
|
|
| 153 |
Tranzistor Q5 aktivuje MCLR# (RESET) procesoru. Vzhledem k tomu, ?e
|
|
| 154 |
sign?l MCLR# i programovac? nap?t? VPP sd?lej? spole?n? v?vod procesoru
|
|
| 155 |
MCLR#/VPP, mus? b?t zaji?t?no, ?e nedojde k aktivaci sign?lu MCLR#
|
|
| 156 |
sou?asn? s programovac?m nap?t?m VPP. To zaji??uje ochrann? logika,
|
|
| 157 |
kter? je realizov?na v obvodu GAL U3.
|
|
| 152 |
Programovací napětí VPP o hodnotě +12.5V stabilizuje U2 a spínají Q3 a Q4.
|
|
| 153 |
Tranzistor Q5 aktivuje MCLR# (RESET) procesoru. Vzhledem k tomu, že
|
|
| 154 |
signál MCLR# i programovací napětí VPP sdílejí společný vývod procesoru
|
|
| 155 |
MCLR#/VPP, musí být zajištěno, že nedojde k aktivaci signálu MCLR#
|
|
| 156 |
současně s programovacím napětím VPP. To zajišťuje ochranná logika,
|
|
| 157 |
která je realizována v obvodu GAL U3.
|
|
| 158 | 158 |
</p> |
| 159 | 159 |
<p> |
| 160 |
V obvodu GAL je krom? ochrann? logiky realizov?n i t??stavov? budi?
|
|
| 161 |
??d?c?ch sign?l?. Voln? v?vody obvodu GAL jsou p?ipraveny pro budouc? roz???en?.
|
|
| 162 |
Odpory R14, R15 a R16 zaji??uj? klidov? stav na vstupech obvodu GAL tak, aby
|
|
| 163 |
program?tor byl v neaktivn?m stavu pokud nen? p?ipojen k po??ta?i PC.
|
|
| 164 |
<i>Na rychlosti obvodu GAL nez?le??, vyhov? kter?koli GAL16V8 v pouzdru
|
|
| 160 |
V obvodu GAL je kromě ochranné logiky realizován i třístavový budič
|
|
| 161 |
řídících signálů. Volné vývody obvodu GAL jsou připraveny pro budoucí rozšíření.
|
|
| 162 |
Odpory R14, R15 a R16 zajišťují klidový stav na vstupech obvodu GAL tak, aby
|
|
| 163 |
programátor byl v neaktivním stavu pokud není připojen k počítači PC.
|
|
| 164 |
<i>Na rychlosti obvodu GAL nezáleží, vyhoví kterýkoli GAL16V8 v pouzdru
|
|
| 165 | 165 |
DIL.</i> |
| 166 | 166 |
</p> |
| 167 | 167 |
<p> |
| 168 |
Propojovac? kabel mezi PC a PICPGR3 je zapojen 1:1 samec-samec.
|
|
| 168 |
Propojovací kabel mezi PC a PICPGR3 je zapojen 1:1 samec-samec.
|
|
| 169 | 169 |
</p> |
| 170 | 170 |
|
| 171 |
<h2>2.3. Mechanick? konstrukce</h2>
|
|
| 171 |
<h2>2.3. Mechanická konstrukce</h2>
|
|
| 172 | 172 |
<p> |
| 173 |
Program?tor je proveden jako standardn? stavebnicov? modul.
|
|
| 173 |
Programátor je proveden jako standardní stavebnicový modul.
|
|
| 174 | 174 |
</p> |
| 175 | 175 |
<p> |
| 176 | 176 |
<img width=420 height=864 src="PICPGR301A_soubory/image002.gif" |
| 177 |
alt="Sch?ma">
|
|
| 177 |
alt="Schéma">
|
|
| 178 | 178 |
<img width=142 height=582 src="PICPGR301A_soubory/image003.gif" |
| 179 |
alt="Sch?ma zdroje">
|
|
| 179 |
alt="Schéma zdroje">
|
|
| 180 | 180 |
</p> |
| 181 | 181 |
|
| 182 |
<h2>2.4. Zapojen? obvodu GAL</h2>
|
|
| 182 |
<h2>2.4. Zapojení obvodu GAL</h2>
|
|
| 183 | 183 |
<p> |
| 184 |
Verze GAL4.EQN a jeho sch?matick? ekvivalent.
|
|
| 184 |
Verze GAL4.EQN a jeho schématický ekvivalent.
|
|
| 185 | 185 |
</p> |
| 186 | 186 |
<p> |
| 187 | 187 |
<img width=363 height=358 src="PICPGR301A_soubory/image004.gif" |
| 188 |
alt="Sch?ma obvodu GAL">
|
|
| 188 |
alt="Schéma obvodu GAL">
|
|
| 189 | 189 |
</p> |
| 190 | 190 |
|
| 191 |
<h2>2.5. Program?torsk? model</h2>
|
|
| 191 |
<h2>2.5. Programátorský model</h2>
|
|
| 192 | 192 |
<p> |
| 193 |
Program?tor se p?ipojuje na LPT port PC. B?zov? adresy ??d?c?ch registr? LPT
|
|
| 194 |
port? ukl?d? BIOS po??ta?e do pam?ti na adresy 0:408H (hodnota 16 bit?) a
|
|
| 195 |
obvykle b?v? 3BCH, 378H nebo 278H.
|
|
| 193 |
Programátor se připojuje na LPT port PC. Bázové adresy řídících registrů LPT
|
|
| 194 |
portů ukládá BIOS počítače do paměti na adresy 0:408H (hodnota 16 bitů) a
|
|
| 195 |
obvykle bývá 3BCH, 378H nebo 278H.
|
|
| 196 | 196 |
</p> |
| 197 | 197 |
<p> |
| 198 |
Pou??v? se nejz?kladn?j?? jednosm?rn? re?im LPT portu. ??d?c? registry LPT maj?
|
|
| 199 |
pak tento v?znam:
|
|
| 198 |
Používá se nejzákladnější jednosměrný režim LPT portu. Řídící registry LPT mají
|
|
| 199 |
pak tento význam:
|
|
| 200 | 200 |
</p> |
| 201 | 201 |
<p> |
| 202 |
3BCH/378H/278H????? Data sm?rem do tisk?rny (v program?toru sign?ly D0 a? D7)
|
|
| 203 |
<br> - bit 0 ? sign?l D0 ? DATA
|
|
| 204 |
<br> - bit 1 ? sign?l D1 ? DATA output anable
|
|
| 205 |
<br> - bit 2 ? sign?l D2 ? CLOCK
|
|
| 206 |
<br> - bit 3 ? sign?l D3 ? CLOCK output enable
|
|
| 207 |
<br> - bit 4 ? sign?l D4 ? VCCON
|
|
| 208 |
<br> - bit 5 ? sign?l D5 ? VPPON (lze jen spolu s VCCON)
|
|
| 209 |
<br> - bit 6 ? sign?l D5 ? RESET (lze jen nen?-li VPPON)
|
|
| 210 |
<br> - bit 7 ? sign?l D7 ? mus? b?t 0 aby byl program?tor aktivn?
|
|
| 202 |
3BCH/378H/278H Data směrem do tiskárny (v programátoru signály D0 až D7)
|
|
| 203 |
<br> - bit 0 – signál D0 – DATA
|
|
| 204 |
<br> - bit 1 – signál D1 – DATA output anable
|
|
| 205 |
<br> - bit 2 – signál D2 – CLOCK
|
|
| 206 |
<br> - bit 3 – signál D3 – CLOCK output enable
|
|
| 207 |
<br> - bit 4 – signál D4 – VCCON
|
|
| 208 |
<br> - bit 5 – signál D5 – VPPON (lze jen spolu s VCCON)
|
|
| 209 |
<br> - bit 6 – signál D5 – RESET (lze jen není-li VPPON)
|
|
| 210 |
<br> - bit 7 – signál D7 – musí být 0 aby byl programátor aktivní
|
|
| 211 | 211 |
</p> |
| 212 | 212 |
<p> |
| 213 |
3BEH/37AH/27AH???? ??zen? tisk?rny (v program?toru se nepou??v?)
|
|
| 213 |
3BEH/37AH/27AH Řízení tiskárny (v programátoru se nepoužívá)
|
|
| 214 | 214 |
</p> |
| 215 | 215 |
<p> |
| 216 |
3BDH/379H/279H????? ?ten? stavu tisk?rny (pou??v? se jen 1 sign?l)
|
|
| 217 |
<br> - bit 6 ? sign?l ACK ? ?ten? data DQ alias DATA
|
|
| 216 |
3BDH/379H/279H Čtení stavu tiskárny (používá se jen 1 signál)
|
|
| 217 |
<br> - bit 6 – signál ACK – čtená data DQ alias DATA
|
|
| 218 | 218 |
</p> |
| 219 | 219 |
|
| 220 |
<h1>3. Osazen? a o?iven?</h1>
|
|
| 221 |
<h2>3.1. Osazen?</h2>
|
|
| 220 |
<h1>3. Osazení a oživení</h1>
|
|
| 221 |
<h2>3.1. Osazení</h2>
|
|
| 222 | 222 |
<p> |
| 223 | 223 |
<img width=117 height=94 src="PICPGR301A_soubory/image005.gif" |
| 224 |
alt="Programovac? konektor">
|
|
| 224 |
alt="Programovací konektor">
|
|
| 225 | 225 |
</p> |
| 226 | 226 |
<p> |
| 227 | 227 |
<img width=353 height=371 src="PICPGR301A_soubory/image006.jpg" |
| 228 |
alt="Osazov?k">
|
|
| 228 |
alt="Osazovák">
|
|
| 229 | 229 |
</p> |
| 230 | 230 |
|
| 231 | 231 |
<table class="Soupiska"> |
| 232 | 232 |
<tr> |
| 233 | 233 |
<th> Reference </th> |
| 234 |
<th> N?zev </th>
|
|
| 234 |
<th> Název </th>
|
|
| 235 | 235 |
</tr> |
| 236 | 236 |
<tr> |
| 237 | 237 |
<th colspan="2"> Odpory </th> |
| ... | ... | |
| 253 | 253 |
<td> 4k7 </td> |
| 254 | 254 |
</tr> |
| 255 | 255 |
<tr> |
| 256 |
<th colspan="2"> Kondenz?tory </th>
|
|
| 256 |
<th colspan="2"> Kondenzátory </th>
|
|
| 257 | 257 |
</tr> |
| 258 | 258 |
<tr> |
| 259 | 259 |
<td> C2,C3,C5,C6 </td> |
| ... | ... | |
| 280 | 280 |
</tr> |
| 281 | 281 |
<tr> |
| 282 | 282 |
<td> D3 </td> |
| 283 |
<td> LED3mm, zelen? </td>
|
|
| 283 |
<td> LED3mm, zelená </td>
|
|
| 284 | 284 |
</tr> |
| 285 | 285 |
<tr> |
| 286 | 286 |
<td> D4 </td> |
| 287 |
<td> LED3mm, ?erven? </td>
|
|
| 287 |
<td> LED3mm, červená </td>
|
|
| 288 | 288 |
</tr> |
| 289 | 289 |
<tr> |
| 290 | 290 |
<td> D5 </td> |
| ... | ... | |
| 302 | 302 |
<td> BC640 </td> |
| 303 | 303 |
</tr> |
| 304 | 304 |
<tr> |
| 305 |
<th colspan="2"> Integrovan? obvody </th>
|
|
| 305 |
<th colspan="2"> Integrované obvody </th>
|
|
| 306 | 306 |
</tr> |
| 307 | 307 |
<tr> |
| 308 | 308 |
<td> U1 </td> |
| ... | ... | |
| 317 | 317 |
<td> GAL16V8 </td> |
| 318 | 318 |
</tr> |
| 319 | 319 |
<tr> |
| 320 |
<th colspan="2"> Mechanick? sou??sti </th>
|
|
| 320 |
<th colspan="2"> Mechanické součásti </th>
|
|
| 321 | 321 |
</tr> |
| 322 | 322 |
<tr> |
| 323 | 323 |
<td> J1 </td> |
| ... | ... | |
| 345 | 345 |
</tr> |
| 346 | 346 |
</table> |
| 347 | 347 |
|
| 348 |
<h2>3.2. O?iven?</h2>
|
|
| 348 |
<h2>3.2. Oživení</h2>
|
|
| 349 | 349 |
<p> |
| 350 |
Pokud jsou pou?it? spr?vn? sou??stky (obvod GAL mus? b?t naprogramovan? !)
|
|
| 351 |
a nen? chyba v zapojen? (zkraty ?i jin? chyby) bude program?tor fungovat
|
|
| 352 |
na prvn? zapojen?.
|
|
| 350 |
Pokud jsou použité správné součástky (obvod GAL musí být naprogramovaný !)
|
|
| 351 |
a není chyba v zapojení (zkraty či jiné chyby) bude programátor fungovat
|
|
| 352 |
na první zapojení.
|
|
| 353 | 353 |
</p> |
| 354 | 354 |
<p> |
| 355 |
Z?kladn? o?iven? se prov?d? pomoc? laboratorn?ho zdroje. Nejprve p?esuneme
|
|
| 356 |
vyp?na? SW1 do vypnut?ho stavu (sm?rem k LED indik?tor?m). P?i postupn?m
|
|
| 357 |
zvy?ov?n? nap?jec?ho nap?t? kontrolujeme, zda stabiliz?tor U1 stabilizuje
|
|
| 358 |
nap?t? +5V a zda stabiliz?tor U2 stabilizuje na cca +12.7V. Spot?eba
|
|
| 359 |
program?toru by m?la b?t ??du do 100mA (konkr?tn? hodnota z?le?? na tom,
|
|
| 360 |
jakou spot?ebu m? pou?it? obvod GAL.
|
|
| 355 |
Základní oživení se provádí pomocí laboratorního zdroje. Nejprve přesuneme
|
|
| 356 |
vypínač SW1 do vypnutého stavu (směrem k LED indikátorům). Při postupném
|
|
| 357 |
zvyšování napájecího napětí kontrolujeme, zda stabilizátor U1 stabilizuje
|
|
| 358 |
napětí +5V a zda stabilizátor U2 stabilizuje na cca +12.7V. Spotřeba
|
|
| 359 |
programátoru by měla být řádu do 100mA (konkrétní hodnota záleží na tom,
|
|
| 360 |
jakou spotřebu má použitý obvod GAL.
|
|
| 361 | 361 |
</p> |
| 362 | 362 |
<p> |
| 363 |
K dal??mu o?ivov?n? pou??v?me testovac? program TSTPGR.EXE, kter? umo??uje
|
|
| 364 |
postupnou aktivaci jednotliv?ch sign?l? a jejich kombinac?. Jednotliv? polo?ky
|
|
| 365 |
testu vypisuj? jednak co program nastavil a informaci o tom, co by se m?lo
|
|
| 366 |
objevit na jednotliv?ch pinech programovac?ho konektoru.
|
|
| 363 |
K dalšímu oživování používáme testovací program TSTPGR.EXE, který umožňuje
|
|
| 364 |
postupnou aktivaci jednotlivých signálů a jejich kombinací. Jednotlivé položky
|
|
| 365 |
testu vypisují jednak co program nastavil a informaci o tom, co by se mělo
|
|
| 366 |
objevit na jednotlivých pinech programovacího konektoru.
|
|
| 367 | 367 |
</p> |
| 368 | 368 |
<p> |
| 369 |
Stav H je nap?t? kolem +4V, stav L je obvykle? nap?t? pod +0.1V a stav X je nap?t?
|
|
| 370 |
kolem +3V s t?m, ?e po p?ipojen? odporu 10k na zem nebo na nap?jen? +5V
|
|
| 371 |
dostaneme nap?t? 0V nebo +5V. Pro testov?n?, zda funguje vstup PGD se na tento
|
|
| 372 |
pin p?ipojuje GND a VDD p?es odpor 10k.
|
|
| 369 |
Stav H je napětí kolem +4V, stav L je obvykle napětí pod +0.1V a stav X je napětí
|
|
| 370 |
kolem +3V s tím, že po připojení odporu 10k na zem nebo na napájení +5V
|
|
| 371 |
dostaneme napětí 0V nebo +5V. Pro testování, zda funguje vstup PGD se na tento
|
|
| 372 |
pin připojuje GND a VDD přes odpor 10k.
|
|
| 373 | 373 |
</p> |
| 374 | 374 |
<p> |
| 375 |
Nap?t? VDD by m?lo b?t v rozmez? +4.5V a? +5.5V a VPP v rozmez?
|
|
| 376 |
+12V a? +13V.
|
|
| 375 |
Napětí VDD by mělo být v rozmezí +4.5V až +5.5V a VPP v rozmezí
|
|
| 376 |
+12V až +13V.
|
|
| 377 | 377 |
</p> |
| 378 | 378 |
|
| 379 |
<h1>4. Programov? vybaven?</h1>
|
|
| 380 |
<h2>4.1. U?ivatelsk? n?vod PICPGR.EXE</h2>
|
|
| 379 |
<h1>4. Programové vybavení</h1>
|
|
| 380 |
<h2>4.1. Uživatelský návod PICPGR.EXE</h2>
|
|
| 381 | 381 |
<p> |
| 382 |
Program PICPGR.EXE je DOS program a p??mo ovl?d? zadan? LPT port. V p??pad?
|
|
| 383 |
procesor? s pam?t? FLASH je mo?n? spou?t?t jej i z DOS okna pod
|
|
| 384 |
Windows 95/98. Program p?i spu?t?n? bez parametr? vyp??e n?pov?du v?etn?
|
|
| 385 |
?pln?ho seznamu podporovan?ch procesor? a mo?nost? nastaven? p?ep?na??.
|
|
| 382 |
Program PICPGR.EXE je DOS program a přímo ovládá zadaný LPT port. V případě
|
|
| 383 |
procesorů s pamětí FLASH je možné spouštět jej i z DOS okna pod
|
|
| 384 |
Windows 95/98. Program při spuštění bez parametrů vypíše nápovědu včetně
|
|
| 385 |
úplného seznamu podporovaných procesorů a možností nastavení přepínačů.
|
|
| 386 | 386 |
</p> |
| 387 | 387 |
<p> |
| 388 |
Program zpracov?v? jednak standardn? HEX soubor (takov?, kter? generuj? obvykl?
|
|
| 389 |
p?eklada?e pro procesor PIC) a alternativn? textov? soubor, kter? je v?hodn?
|
|
| 390 |
zejm?na p?i lad?n? (vy?ten? stavu, vizu?ln? kontrola, definov?n? parametr?
|
|
| 391 |
v EEPROM pam?ti a podobn?). Sou??st? datov?ho souboru mohou b?t data
|
|
| 392 |
pro pam?? programu, pro pam?? EEPROM, pro testovac? pole i pro konfigura?n?
|
|
| 393 |
slovo. Nastaven? konfigura?n?ho slova lze (pouze pro procesory s pam?t?
|
|
| 394 |
FLASH) zm?nit uveden?m p?ep?na??. R?zn? procesory maj? r?zn? p?ep?na?e.
|
|
| 388 |
Program zpracovává jednak standardní HEX soubor (takový, který generují obvyklé
|
|
| 389 |
překladače pro procesor PIC) a alternativně textový soubor, který je výhodný
|
|
| 390 |
zejména při ladění (vyčtení stavu, vizuální kontrola, definování parametrů
|
|
| 391 |
v EEPROM paměti a podobně). Součástí datového souboru mohou být data
|
|
| 392 |
pro paměť programu, pro paměť EEPROM, pro testovací pole i pro konfigurační
|
|
| 393 |
slovo. Nastavení konfiguračního slova lze (pouze pro procesory s pamětí
|
|
| 394 |
FLASH) změnit uvedením přepínačů. Různé procesory mají různé přepínače.
|
|
| 395 | 395 |
</p> |
| 396 | 396 |
<p> |
| 397 |
Pro v?t?inu akc? je nutn? uv?st typ procesoru a p??padn? i form?t vstupn?ho
|
|
| 398 |
?i v?stupn?ho souboru (p?ep?na? HEX nebo TXT). Na po?ad? p?ep?na?? nez?le??.
|
|
| 397 |
Pro většinu akcí je nutné uvést typ procesoru a případně i formát vstupního
|
|
| 398 |
či výstupního souboru (přepínač HEX nebo TXT). Na pořadí přepínačů nezáleží.
|
|
| 399 | 399 |
</p> |
| 400 |
<h3>4.1.1. N?pov?da</h3>
|
|
| 400 |
<h3>4.1.1. Nápověda</h3>
|
|
| 401 | 401 |
<p> |
| 402 | 402 |
<samp> |
| 403 | 403 |
PICPGR |
| 404 | 404 |
</samp> |
| 405 | 405 |
</p> |
| 406 | 406 |
<p> |
| 407 |
Vyp??e ?plnou n?pov?du v?etn? seznamu v?ech podporovan?ch procesor?, jejich
|
|
| 408 |
vlastnost? a p?ep?na??.
|
|
| 407 |
Vypíše úplnou nápovědu včetně seznamu všech podporovaných procesorů, jejich
|
|
| 408 |
vlastností a přepínačů.
|
|
| 409 | 409 |
</p> |
| 410 | 410 |
<p> |
| 411 | 411 |
<samp> |
| ... | ... | |
| 413 | 413 |
</samp> |
| 414 | 414 |
</p> |
| 415 | 415 |
<p> |
| 416 |
N?pov?da vyp??e vlastnosti procesoru a jeho sady p?ep?na?? pro p?edefinov?n?
|
|
| 417 |
stavu konfigura?n?ch p?ep?na??.
|
|
| 416 |
Nápověda vypíše vlastnosti procesoru a jeho sady přepínačů pro předefinování
|
|
| 417 |
stavu konfiguračních přepínačů.
|
|
| 418 | 418 |
</p> |
| 419 |
<h3>4.1.2. Maz?n? procesoru</h3>
|
|
| 419 |
<h3>4.1.2. Mazání procesoru</h3>
|
|
| 420 | 420 |
<p> |
| 421 | 421 |
<samp> |
| 422 | 422 |
PICPGR ERASE <procesor> |
| 423 | 423 |
</samp> |
| 424 | 424 |
</p> |
| 425 | 425 |
<p> |
| 426 |
Sma?e obsah v?ech pam?t? procesoru i v p??pad?, ?e je procesor zam?en?.
|
|
| 427 |
Funguje pouze pro procesory s pam?t? FLASH.
|
|
| 426 |
Smaže obsah všech pamětí procesoru i v případě, že je procesor zamčený.
|
|
| 427 |
Funguje pouze pro procesory s pamětí FLASH.
|
|
| 428 | 428 |
</p> |
| 429 |
<h3>4.1.3. ?ten? procesoru</h3>
|
|
| 429 |
<h3>4.1.3. Čtení procesoru</h3>
|
|
| 430 | 430 |
<p> |
| 431 | 431 |
<samp> |
| 432 | 432 |
PICPGR READ <soubor> HEX <procesor> |
| ... | ... | |
| 435 | 435 |
</samp> |
| 436 | 436 |
</p> |
| 437 | 437 |
<p> |
| 438 |
P?e?te obsah v?ech pam?t? procesoru a ulo?? je do v?sledn?ho HEX nebo TXT
|
|
| 438 |
Přečte obsah všech pamětí procesoru a uloží je do výsledného HEX nebo TXT
|
|
| 439 | 439 |
souboru. |
| 440 | 440 |
</p> |
| 441 |
<h3>4.1.4. Programov?n? procesoru a verifikace</h3>
|
|
| 441 |
<h3>4.1.4. Programování procesoru a verifikace</h3>
|
|
| 442 | 442 |
<p> |
| 443 | 443 |
<samp> |
| 444 | 444 |
PICPGR PROGAM <soubor> HEX <procesor> |
| ... | ... | |
| 447 | 447 |
</samp> |
| 448 | 448 |
</p> |
| 449 | 449 |
<p> |
| 450 |
Provede naprogramov?n? a kontrolu naprogramov?n? procesoru dle zadan?ho souboru
|
|
| 451 |
(HEX nebo TXT). Programov?n? automaticky prov?d? i kontrolu a vypisuje p??padn?
|
|
| 450 |
Provede naprogramování a kontrolu naprogramování procesoru dle zadaného souboru
|
|
| 451 |
(HEX nebo TXT). Programování automaticky provádí i kontrolu a vypisuje případné
|
|
| 452 | 452 |
nesrovnalosti. |
| 453 | 453 |
</p> |
| 454 | 454 |
<p> |
| 455 |
V p??pad? pot?eby je mo?n? zm?nit nastaven? konfigura?n?ho slova. N??e
|
|
| 456 |
uveden? p??klad provede naprogramov?n? procesoru PIC16F873 obsahem souboru
|
|
| 457 |
TEST.HEX ve form?tu HEX s t?m, ?e zm?n? konfigura?n? bit CP (Code
|
|
| 458 |
Protection) do stavu zapnuto a pole FOSC v konfigura?n?m slov? (konfigurace
|
|
| 459 |
oscil?toru) nastav? do stavu 01.
|
|
| 455 |
V případě potřeby je možné změnit nastavení konfiguračního slova. Níže
|
|
| 456 |
uvedený příklad provede naprogramování procesoru PIC16F873 obsahem souboru
|
|
| 457 |
TEST.HEX ve formátu HEX s tím, že změní konfigurační bit CP (Code
|
|
| 458 |
Protection) do stavu zapnuto a pole FOSC v konfiguračním slově (konfigurace
|
|
| 459 |
oscilátoru) nastaví do stavu 01.
|
|
| 460 | 460 |
</p> |
| 461 | 461 |
<p> |
| 462 | 462 |
<samp> |
| 463 | 463 |
PICPGR PROGRAM TEST.HEX HEX PIC16F873 CP_ON FOSC_01 |
| 464 | 464 |
</samp> |
| 465 | 465 |
</p> |
| 466 |
<h3>4.1.5. Spou?t?n? aplikace</h3>
|
|
| 466 |
<h3>4.1.5. Spouštění aplikace</h3>
|
|
| 467 | 467 |
<p> |
| 468 | 468 |
<samp> |
| 469 | 469 |
PICPGR RUN |
| ... | ... | |
| 474 | 474 |
</samp> |
| 475 | 475 |
</p> |
| 476 | 476 |
<p> |
| 477 |
Zapne nap?jen? a spust? aplikaci, provede reset aplikace a vypne nap?jen?
|
|
| 478 |
aplikace. Pou??v? se p?i lad?n? aplikace p?i kter?m se neodpojuje programovac?
|
|
| 479 |
kabel od lad?n? aplikace.
|
|
| 477 |
Zapne napájení a spustí aplikaci, provede reset aplikace a vypne napájení
|
|
| 478 |
aplikace. Používá se při ladění aplikace při kterém se neodpojuje programovací
|
|
| 479 |
kabel od laděné aplikace.
|
|
| 480 | 480 |
</p> |
| 481 |
<h3>4.1.6. Konverze form?tu datov?ho souboru</h3>
|
|
| 481 |
<h3>4.1.6. Konverze formátu datového souboru</h3>
|
|
| 482 | 482 |
<p> |
| 483 | 483 |
<samp> |
| 484 | 484 |
PICPGR CONVERT <vstup> <vystup> HEX <procesor> |
| ... | ... | |
| 487 | 487 |
</samp> |
| 488 | 488 |
</p> |
| 489 | 489 |
<p> |
| 490 |
P?evede soubor ve form?tu HEX na TXT nebo naopak. Uv?d?n? typ procesoru slou??
|
|
| 490 |
Převede soubor ve formátu HEX na TXT nebo naopak. Uváděný typ procesoru slouží
|
|
| 491 | 491 |
ke kontrole rozsahu. |
| 492 | 492 |
</p> |
| 493 | 493 |
<h2>4.2. Popis programu</h2> |
| 494 | 494 |
<p> |
| 495 |
Program je napsan? v jazyce Turbo Pascal verze 6 a vznikl postupn?m
|
|
| 496 |
roz?i?ov?n?m p?vodn?ho jednoduch?ho programu pro programov?n? obvod? PIC16F84.
|
|
| 497 |
Zdrojov? texty jsou dostupn? a komentovan?.
|
|
| 495 |
Program je napsaný v jazyce Turbo Pascal verze 6 a vznikl postupným
|
|
| 496 |
rozšiřováním původního jednoduchého programu pro programování obvodů PIC16F84.
|
|
| 497 |
Zdrojové texty jsou dostupné a komentované.
|
|
| 498 | 498 |
</p> |
| 499 | 499 |
<p> |
| 500 |
Program podporuje krom? program?toru PICPGR i profesion?ln? program?tor ALL-03.
|
|
| 500 |
Program podporuje kromě programátoru PICPGR i profesionální programátor ALL-03.
|
|
| 501 | 501 |
</p> |
| 502 | 502 |
</div> |
| 503 | 503 |
|
| ... | ... | |
| 505 | 505 |
<div class=xFooter> |
| 506 | 506 |
<script type="text/javascript"> |
| 507 | 507 |
<!-- |
| 508 |
DrawFooter("Pati?ka");
|
|
| 508 |
DrawFooter("Patička");
|
|
| 509 | 509 |
// --> |
| 510 | 510 |
</script> |
| 511 | 511 |
<noscript> |
| 512 | 512 |
<p> |
| 513 |
<b> Pro zobrazen? (vlo?en?) pati?ky je pot?eba JavaScript </b>
|
|
| 513 |
<b> Pro zobrazení (vložení) patičky je potřeba JavaScript </b>
|
|
| 514 | 514 |
</p> |
| 515 | 515 |
</noscript> |
| 516 | 516 |
</div> |