Rev 331 Rev 381
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2 <html> 2 <html>
3 <head> 3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
5 <title> PICPGR301A </title> 5 <title> PICPGR301A </title>
6 <meta name="keywords" content="stavebnice MLAB programátor procesrů PIC Microchip"> 6 <meta name="keywords" content="stavebnice MLAB programátor procesrů PIC Microchip">
7 <meta name="description" content="Projekt MLAB, Programátor PICPGR"> 7 <meta name="description" content="Projekt MLAB, Programátor PICPGR">
8 <!-- AUTOINCLUDE START "Page/Head.cs.ihtml" DO NOT REMOVE --> 8 <!-- AUTOINCLUDE START "Page/Head.cs.ihtml" DO NOT REMOVE -->
9 <link rel="StyleSheet" href="../../../../../Web/CSS/MLAB.css" type="text/css" title="MLAB základní styl"> 9 <link rel="StyleSheet" href="../../../../../Web/CSS/MLAB.css" type="text/css" title="MLAB základní styl">
-   10 <link rel="StyleSheet" href="../../../../../Web/CSS/MLAB_Print.css" type="text/css" media="print">
10 <link rel="shortcut icon" type="image/x-icon" href="../../../../../Web/PIC/MLAB.ico"> 11 <link rel="shortcut icon" type="image/x-icon" href="../../../../../Web/PIC/MLAB.ico">
11 <script type="text/javascript" src="../../../../../Web/JS/MLAB_Menu.js"></script> 12 <script type="text/javascript" src="../../../../../Web/JS/MLAB_Menu.js"></script>
12 <!-- AUTOINCLUDE END --> 13 <!-- AUTOINCLUDE END -->
13 </head> 14 </head>
14   15  
15 <body lang="cs"> 16 <body lang="cs">
16   17  
17 <!-- AUTOINCLUDE START "Page/Header.cs.ihtml" DO NOT REMOVE --> 18 <!-- AUTOINCLUDE START "Page/Header.cs.ihtml" DO NOT REMOVE -->
18 <!-- ============== HLAVICKA ============== --> 19 <!-- ============== HLAVICKA ============== -->
19 <div class="Header"> 20 <div class="Header">
20 <script type="text/javascript"> 21 <script type="text/javascript">
21 <!-- 22 <!--
22 SetRelativePath("../../../../../"); 23 SetRelativePath("../../../../../");
23 DrawHeader(); 24 DrawHeader();
24 // --> 25 // -->
25 </script> 26 </script>
26 <noscript> 27 <noscript>
27 <p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p> 28 <p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p>
28 </noscript> 29 </noscript>
29 </div> 30 </div>
30 <!-- AUTOINCLUDE END --> 31 <!-- AUTOINCLUDE END -->
31   32  
32 <!-- AUTOINCLUDE START "Page/Menu.cs.ihtml" DO NOT REMOVE --> 33 <!-- AUTOINCLUDE START "Page/Menu.cs.ihtml" DO NOT REMOVE -->
33 <!-- ============== MENU ============== --> 34 <!-- ============== MENU ============== -->
34 <div class="Menu"> 35 <div class="Menu">
35 <script type="text/javascript"> 36 <script type="text/javascript">
36 <!-- 37 <!--
37 SetRelativePath("../../../../../"); 38 SetRelativePath("../../../../../");
38 DrawMenu(); 39 DrawMenu();
39 // --> 40 // -->
40 </script> 41 </script>
41 <noscript> 42 <noscript>
42 <p><b> Pro zobrazení (vložení) menu je potřeba JavaScript </b></p> 43 <p><b> Pro zobrazení (vložení) menu je potřeba JavaScript </b></p>
43 </noscript> 44 </noscript>
44 </div> 45 </div>
45 <!-- AUTOINCLUDE END --> 46 <!-- AUTOINCLUDE END -->
46   47  
47 <!-- ============== TEXT ============== --> 48 <!-- ============== TEXT ============== -->
48 <div class="Text"> 49 <div class="Text">
49 <p class="Title"> 50 <p class="Title">
50 Programátor procesorů PIC 51 Programátor procesorů PIC
51 </p> 52 </p>
52 <p class=Autor> 53 <p class=Autor>
53 Milan Horkel 54 Milan Horkel
54 </p> 55 </p>
55 <p class="Subtitle"> 56 <p class="Subtitle">
56 Programátor PICPGR3 je malý vývojový programátor pro programování 57 Programátor PICPGR3 je malý vývojový programátor pro programování
57 procesorů PIC firmy MICROCHIP. Umožňuje programované zařízení spustit 58 procesorů PIC firmy MICROCHIP. Umožňuje programované zařízení spustit
58 bez odpojování programátoru a může jej resetovat i napájet. 59 bez odpojování programátoru a může jej resetovat i napájet.
59 </p> 60 </p>
60 <p class="Subtitle"> 61 <p class="Subtitle">
61 <img width="454" height="412" src="Pictures/image001.jpg" 62 <img width="454" height="412" src="Pictures/image001.jpg"
62 alt="Deska programátoru"> 63 alt="Deska programátoru">
63 </p> 64 </p>
64 <p> 65 <p>
65 <a href="../PICPGR301A.cs.pdf"><img class="NoBorder" 66 <a href="../PICPGR301A.cs.pdf"><img class="NoBorder"
66 src="../../../../../Web/PIC/FileIco_PDF.ico" 67 src="../../../../../Web/PIC/FileIco_PDF.ico"
67 alt="Acrobat">&nbsp;PDF verze</a> 68 alt="Acrobat">&nbsp;PDF verze</a>
68 </p> 69 </p>
69   70  
70 <h1> Technické parametry </h1> 71 <h1> Technické parametry </h1>
71   72  
72 <table> 73 <table>
73 <tr> 74 <tr>
74 <th> Parametr </th> 75 <th> Parametr </th>
75 <th> Hodnota </th> 76 <th> Hodnota </th>
76 <th> Poznámka </th> 77 <th> Poznámka </th>
77 </tr> 78 </tr>
78 <tr> 79 <tr>
79 <td> Napájení </td> 80 <td> Napájení </td>
80 <td> +15V </td> 81 <td> +15V </td>
81 <td> Ochrana proti přepólování </td> 82 <td> Ochrana proti přepólování </td>
82 </tr> 83 </tr>
83 <tr> 84 <tr>
84 <td> Spotřeba </td> 85 <td> Spotřeba </td>
85 <td> 80mA / 100mA </td> 86 <td> 80mA / 100mA </td>
86 <td> Bez připojené aplikace / při programování </td> 87 <td> Bez připojené aplikace / při programování </td>
87 </tr> 88 </tr>
88 <tr> 89 <tr>
89 <td> Rozměry </td> 90 <td> Rozměry </td>
90 <td> 71 x 61 x 20 </td> 91 <td> 71 x 61 x 20 </td>
91 <td> Výška nad upevňovací deskou, bez přečnívajícího konektoru </td> 92 <td> Výška nad upevňovací deskou, bez přečnívajícího konektoru </td>
92 </tr> 93 </tr>
93 </table> 94 </table>
94   95  
95 <h1> Popis konstrukce </h1> 96 <h1> Popis konstrukce </h1>
96   97  
97 <h2> Úvodem </h2> 98 <h2> Úvodem </h2>
98   99  
99 <p> 100 <p>
100 Programátor PICPGR3 vychází ze starších verzí programátoru, je s nimi 101 Programátor PICPGR3 vychází ze starších verzí programátoru, je s nimi
101 funkčně kompatibilní a na rozdíl od nich je mechanicky řešen jako modul 102 funkčně kompatibilní a na rozdíl od nich je mechanicky řešen jako modul
102 pro stavebnici. 103 pro stavebnici.
103 </p> 104 </p>
104   105  
105 <p> 106 <p>
106 Programátor umožňuje programovat vybrané procesory PIC v režimu 107 Programátor umožňuje programovat vybrané procesory PIC v režimu
107 standardního programování (používá k tomu programovací napětí 12V). 108 standardního programování (používá k tomu programovací napětí 12V).
108 Sortiment podporovaných procesorů není dán konstrukcí hardwaru ale tím, 109 Sortiment podporovaných procesorů není dán konstrukcí hardwaru ale tím,
109 co podporuje software. 110 co podporuje software.
110 </p> 111 </p>
111   112  
112 <p> 113 <p>
113 Programátor umožňuje aplikace s procesory PIC nejen programovat v 114 Programátor umožňuje aplikace s procesory PIC nejen programovat v
114 zapojení ale i přímo spouštět, resetovat i pouze napájet napájecím 115 zapojení ale i přímo spouštět, resetovat i pouze napájet napájecím
115 napětím +5V a to bez odpojování programovacích vodičů (to kupodivu 116 napětím +5V a to bez odpojování programovacích vodičů (to kupodivu
116 neumí zdaleka každý programátor ale vývojář programů to velmi ocení). 117 neumí zdaleka každý programátor ale vývojář programů to velmi ocení).
117 </p> 118 </p>
118   119  
119 <h2> Zapojení modulu </h2> 120 <h2> Zapojení modulu </h2>
120   121  
121 <p> 122 <p>
122 <img width="420" height="864" src="Pictures/image002.gif" 123 <img width="420" height="864" src="Pictures/image002.gif"
123 alt="Schéma zapojení"> 124 alt="Schéma zapojení">
124 <img width="142" height="582" src="Pictures/image003.gif" 125 <img width="142" height="582" src="Pictures/image003.gif"
125 alt="Schéma zapojení zdroje"> 126 alt="Schéma zapojení zdroje">
126 </p> 127 </p>
127   128  
128 <p> 129 <p>
129 Napájecí napětí programátoru (konektor J1) by mělo být +15V aby byl 130 Napájecí napětí programátoru (konektor J1) by mělo být +15V aby byl
130 programátor schopen generovat programovací napětí VPP o hodnotě +12.5V. 131 programátor schopen generovat programovací napětí VPP o hodnotě +12.5V.
131 Tato hodnota je vyžadována pro programování procesorů s OTP pamětí. 132 Tato hodnota je vyžadována pro programování procesorů s OTP pamětí.
132 Procesory s pamětí FLASH nejsou tak striktní co se týká velikosti VPP 133 Procesory s pamětí FLASH nejsou tak striktní co se týká velikosti VPP
133 protože VPP používají pouze pro aktivaci programovacího režimu a stačí, 134 protože VPP používají pouze pro aktivaci programovacího režimu a stačí,
134 pokud je podstatně větší než základní napájecí napětí VDD (pozor, 135 pokud je podstatně větší než základní napájecí napětí VDD (pozor,
135 neplatí to pro některé starší procesory, které měli starší provedení 136 neplatí to pro některé starší procesory, které měli starší provedení
136 FLASH či EEPROM paměti). 137 FLASH či EEPROM paměti).
137 </p> 138 </p>
138   139  
139 <p> 140 <p>
140 Napájecí napětí +5V pro elektroniku programátoru se získává ve 141 Napájecí napětí +5V pro elektroniku programátoru se získává ve
141 stabilizátoru U1 a je používáno i pro napájení cílové aplikace. Spínání 142 stabilizátoru U1 a je používáno i pro napájení cílové aplikace. Spínání
142 napájení pro cílovou aplikaci zajišťují tranzistory Q1 a Q2 a ruční 143 napájení pro cílovou aplikaci zajišťují tranzistory Q1 a Q2 a ruční
143 spínač SW1. 144 spínač SW1.
144 </p> 145 </p>
145   146  
146 <p> 147 <p>
147 Programovací napětí VPP o hodnotě +12.5V stabilizuje U2 a spínají Q3 a 148 Programovací napětí VPP o hodnotě +12.5V stabilizuje U2 a spínají Q3 a
148 Q4. Tranzistor Q5 aktivuje MCLR# (RESET) procesoru. Vzhledem k tomu, že 149 Q4. Tranzistor Q5 aktivuje MCLR# (RESET) procesoru. Vzhledem k tomu, že
149 signál MCLR# i programovací napětí VPP sdílejí společný vývod procesoru 150 signál MCLR# i programovací napětí VPP sdílejí společný vývod procesoru
150 MCLR#/VPP, musí být zajištěno, že nedojde k aktivaci signálu MCLR# 151 MCLR#/VPP, musí být zajištěno, že nedojde k aktivaci signálu MCLR#
151 současně s programovacím napětím VPP. To zajišťuje ochranná logika, 152 současně s programovacím napětím VPP. To zajišťuje ochranná logika,
152 která je realizována v obvodu GAL U3. 153 která je realizována v obvodu GAL U3.
153 </p> 154 </p>
154   155  
155 <p> 156 <p>
156 V obvodu GAL je kromě ochranné logiky realizován i třístavový budič 157 V obvodu GAL je kromě ochranné logiky realizován i třístavový budič
157 řídících signálů. Volné vývody obvodu GAL jsou připraveny pro budoucí 158 řídících signálů. Volné vývody obvodu GAL jsou připraveny pro budoucí
158 rozšíření. Odpory R14, R15 a R16 zajišťují klidový stav na vstupech 159 rozšíření. Odpory R14, R15 a R16 zajišťují klidový stav na vstupech
159 obvodu GAL tak, aby programátor byl v neaktivním stavu pokud není 160 obvodu GAL tak, aby programátor byl v neaktivním stavu pokud není
160 připojen k počítači PC. <i>Na rychlosti obvodu GAL nezáleží, vyhoví 161 připojen k počítači PC. <i>Na rychlosti obvodu GAL nezáleží, vyhoví
161 kterýkoli GAL16V8 v pouzdru DIL.</i> 162 kterýkoli GAL16V8 v pouzdru DIL.</i>
162 </p> 163 </p>
163   164  
164 <p> 165 <p>
165 Propojovací kabel mezi PC a PICPGR3 je zapojen 1:1 samec-samec. 166 Propojovací kabel mezi PC a PICPGR3 je zapojen 1:1 samec-samec.
166 </p> 167 </p>
167   168  
168 <h2> Mechanická konstrukce </h2> 169 <h2> Mechanická konstrukce </h2>
169   170  
170 <p> 171 <p>
171 Programátor je proveden jako standardní stavebnicový modul. 172 Programátor je proveden jako standardní stavebnicový modul.
172 </p> 173 </p>
173   174  
174 <h2> Zapojení obvodu GAL </h2> 175 <h2> Zapojení obvodu GAL </h2>
175 176
176 <p> 177 <p>
177 Verze GAL4.EQN a jeho schématický ekvivalent. 178 Verze GAL4.EQN a jeho schématický ekvivalent.
178 </p> 179 </p>
179   180  
180 <p> 181 <p>
181 <img width="363" height="358" src="Pictures/image004.gif" 182 <img width="363" height="358" src="Pictures/image004.gif"
182 alt="Zapojení obvodu GAL"> 183 alt="Zapojení obvodu GAL">
183 </p> 184 </p>
184   185  
185 <h2> Programátorský model </h2> 186 <h2> Programátorský model </h2>
186 187
187 <p> 188 <p>
188 Programátor se připojuje na LPT port PC. Bázové adresy řídících 189 Programátor se připojuje na LPT port PC. Bázové adresy řídících
189 registrů LPT portů ukládá BIOS počítače do paměti na adresy 0:408H 190 registrů LPT portů ukládá BIOS počítače do paměti na adresy 0:408H
190 (hodnota 16 bitů) a obvykle bývá 3BCH, 378H nebo 278H. 191 (hodnota 16 bitů) a obvykle bývá 3BCH, 378H nebo 278H.
191 </p> 192 </p>
192 193
193 <p> 194 <p>
194 Používá se nejzákladnější jednosměrný režim LPT portu. Řídící registry 195 Používá se nejzákladnější jednosměrný režim LPT portu. Řídící registry
195 LPT mají pak tento význam: 196 LPT mají pak tento význam:
196 </p> 197 </p>
197   198  
198 <ul> 199 <ul>
199 <li> 3BCH/378H/278H Data směrem do tiskárny (v programátoru signály D0 až D7) </li> 200 <li> 3BCH/378H/278H Data směrem do tiskárny (v programátoru signály D0 až D7) </li>
200 <li> 201 <li>
201 <ul> 202 <ul>
202 <li> bit 0 – signál D0 - DATA </li> 203 <li> bit 0 – signál D0 - DATA </li>
203 <li> bit 1 – signál D1 – DATA output anable </li> 204 <li> bit 1 – signál D1 – DATA output anable </li>
204 <li> bit 2 – signál D2 – CLOCK </li> 205 <li> bit 2 – signál D2 – CLOCK </li>
205 <li> bit 3 – signál D3 – CLOCK output enable </li> 206 <li> bit 3 – signál D3 – CLOCK output enable </li>
206 <li> bit 4 – signál D4 – VCCON </li> 207 <li> bit 4 – signál D4 – VCCON </li>
207 <li> bit 5 – signál D5 – VPPON (lze jen spolu s VCCON) </li> 208 <li> bit 5 – signál D5 – VPPON (lze jen spolu s VCCON) </li>
208 <li> bit 6 – signál D5 – RESET (lze jen není-li VPPON) </li> 209 <li> bit 6 – signál D5 – RESET (lze jen není-li VPPON) </li>
209 <li> bit 7 – signál D7 – musí být 0 aby byl programátor aktivní </li> 210 <li> bit 7 – signál D7 – musí být 0 aby byl programátor aktivní </li>
210 </ul> 211 </ul>
211 </li> 212 </li>
212 <li> 3BEH/37AH/27AH Řízení tiskárny (v programátoru se nepoužívá) </li> 213 <li> 3BEH/37AH/27AH Řízení tiskárny (v programátoru se nepoužívá) </li>
213 <li> 3BDH/379H/279H Čtení stavu tiskárny (používá se jen 1 signál) <li> 214 <li> 3BDH/379H/279H Čtení stavu tiskárny (používá se jen 1 signál) <li>
214 <li> 215 <li>
215 <ul> 216 <ul>
216 <li> bit 6 – signál ACK – čtená data DQ alias DATA </li> 217 <li> bit 6 – signál ACK – čtená data DQ alias DATA </li>
217 </ul> 218 </ul>
218 </li> 219 </li>
219 </ul> 220 </ul>
220   221  
221 <h1> Osazení a oživení </h1> 222 <h1> Osazení a oživení </h1>
222   223  
223 <h2> Osazení </h2> 224 <h2> Osazení </h2>
224   225  
225 <p> 226 <p>
226 <img width="117" height="94" src="Pictures/image005.gif" 227 <img width="117" height="94" src="Pictures/image005.gif"
227 alt="Programovací konektor"> 228 alt="Programovací konektor">
228 </p> 229 </p>
229   230  
230 <p> 231 <p>
231 <img width="353" height="371" src="Pictures/image006.jpg" 232 <img width="353" height="371" src="Pictures/image006.jpg"
232 alt="Osazovák"> 233 alt="Osazovák">
233 </p> 234 </p>
234   235  
235 <table class="Soupiska"> 236 <table class="Soupiska">
236 <tr> 237 <tr>
237 <th> Reference </th> 238 <th> Reference </th>
238 <th> Název </th> 239 <th> Název </th>
239 </tr> 240 </tr>
240 <tr> 241 <tr>
241 <th colspan="2"> Odpory </th> 242 <th colspan="2"> Odpory </th>
242 </tr> 243 </tr>
243 <tr> 244 <tr>
244 <td> R9,R10,R11,R12 </td> 245 <td> R9,R10,R11,R12 </td>
245 <td> 100 </td> 246 <td> 100 </td>
246 </tr> 247 </tr>
247 <tr> 248 <tr>
248 <td> R4,R13 </td> 249 <td> R4,R13 </td>
249 <td> 470 </td> 250 <td> 470 </td>
250 </tr> 251 </tr>
251 <tr> 252 <tr>
252 <td> R1,R2,R3,R5,R6,R7 </td> 253 <td> R1,R2,R3,R5,R6,R7 </td>
253 <td> 1k </td> 254 <td> 1k </td>
254 </tr> 255 </tr>
255 <tr> 256 <tr>
256 <td> R8,R14,R15,R16 </td> 257 <td> R8,R14,R15,R16 </td>
257 <td> 4k7 </td> 258 <td> 4k7 </td>
258 </tr> 259 </tr>
259 <tr> 260 <tr>
260 <th colspan="2"> Kondenzátory </th> 261 <th colspan="2"> Kondenzátory </th>
261 </tr> 262 </tr>
262 <tr> 263 <tr>
263 <td> C2,C3,C5,C6 </td> 264 <td> C2,C3,C5,C6 </td>
264 <td> M1 </td> 265 <td> M1 </td>
265 </tr> 266 </tr>
266 <tr> 267 <tr>
267 <td> C4 </td> 268 <td> C4 </td>
268 <td> 10uF/35V </td> 269 <td> 10uF/35V </td>
269 </tr> 270 </tr>
270 <tr> 271 <tr>
271 <td> C1 </td> 272 <td> C1 </td>
272 <td> 220uF/25V </td> 273 <td> 220uF/25V </td>
273 </tr> 274 </tr>
274 <tr> 275 <tr>
275 <th colspan="2"> Diody </th> 276 <th colspan="2"> Diody </th>
276 </tr> 277 </tr>
277 <tr> 278 <tr>
278 <td> D1 </td> 279 <td> D1 </td>
279 <td> 1N4007 </td> 280 <td> 1N4007 </td>
280 </tr> 281 </tr>
281 <tr> 282 <tr>
282 <td> D2 </td> 283 <td> D2 </td>
283 <td> 1N4148 </td> 284 <td> 1N4148 </td>
284 </tr> 285 </tr>
285 <tr> 286 <tr>
286 <td> D3 </td> 287 <td> D3 </td>
287 <td> LED3mm, zelená </td> 288 <td> LED3mm, zelená </td>
288 </tr> 289 </tr>
289 <tr> 290 <tr>
290 <td> D4 </td> 291 <td> D4 </td>
291 <td> LED3mm, červená </td> 292 <td> LED3mm, červená </td>
292 </tr> 293 </tr>
293 <tr> 294 <tr>
294 <td> D5 </td> 295 <td> D5 </td>
295 <td> BZX85V006.2 </td> 296 <td> BZX85V006.2 </td>
296 </tr> 297 </tr>
297 <tr> 298 <tr>
298 <th colspan="2"> Tranzistory </th> 299 <th colspan="2"> Tranzistory </th>
299 </tr> 300 </tr>
300 <tr> 301 <tr>
301 <td> Q1,Q3,Q5 </td> 302 <td> Q1,Q3,Q5 </td>
302 <td> BC337 </td> 303 <td> BC337 </td>
303 </tr> 304 </tr>
304 <tr> 305 <tr>
305 <td> Q2,Q4 </td> 306 <td> Q2,Q4 </td>
306 <td> BC640 </td> 307 <td> BC640 </td>
307 </tr> 308 </tr>
308 <tr> 309 <tr>
309 <th colspan="2"> Integrované obvody </th> 310 <th colspan="2"> Integrované obvody </th>
310 </tr> 311 </tr>
311 <tr> 312 <tr>
312 <td> U1 </td> 313 <td> U1 </td>
313 <td> LM7805T </td> 314 <td> LM7805T </td>
314 </tr> 315 </tr>
315 <tr> 316 <tr>
316 <td> U2 </td> 317 <td> U2 </td>
317 <td> LM78L12Z </td> 318 <td> LM78L12Z </td>
318 </tr> 319 </tr>
319 <tr> 320 <tr>
320 <td> U3 </td> 321 <td> U3 </td>
321 <td> GAL16V8 </td> 322 <td> GAL16V8 </td>
322 </tr> 323 </tr>
323 <tr> 324 <tr>
324 <th colspan="2"> Mechanické součásti </th> 325 <th colspan="2"> Mechanické součásti </th>
325 </tr> 326 </tr>
326 <tr> 327 <tr>
327 <td> J1 </td> 328 <td> J1 </td>
328 <td> K375A </td> 329 <td> K375A </td>
329 </tr> 330 </tr>
330 <tr> 331 <tr>
331 <td> J2 </td> 332 <td> J2 </td>
332 <td> DB25F_90 </td> 333 <td> DB25F_90 </td>
333 </tr> 334 </tr>
334 <tr> 335 <tr>
335 <td> J3 </td> 336 <td> J3 </td>
336 <td> JUMP3 </td> 337 <td> JUMP3 </td>
337 </tr> 338 </tr>
338 <tr> 339 <tr>
339 <td> J4 </td> 340 <td> J4 </td>
340 <td> PIC_ISP </td> 341 <td> PIC_ISP </td>
341 </tr> 342 </tr>
342 <tr> 343 <tr>
343 <td> J5 </td> 344 <td> J5 </td>
344 <td> JUMP2 </td> 345 <td> JUMP2 </td>
345 </tr> 346 </tr>
346 <tr> 347 <tr>
347 <td> SW1 </td> 348 <td> SW1 </td>
348 <td> P-B143 </td> 349 <td> P-B143 </td>
349 </tr> 350 </tr>
350 </table> 351 </table>
351   352  
352 <h2> Oživení </h2> 353 <h2> Oživení </h2>
353   354  
354 <p> 355 <p>
355 Pokud jsou použité správné součástky (obvod GAL musí být naprogramovaný 356 Pokud jsou použité správné součástky (obvod GAL musí být naprogramovaný
356 !) a není chyba v zapojení (zkraty či jiné chyby) bude programátor 357 !) a není chyba v zapojení (zkraty či jiné chyby) bude programátor
357 fungovat na první zapojení. 358 fungovat na první zapojení.
358 </p> 359 </p>
359   360  
360 <p> 361 <p>
361 Základní oživení se provádí pomocí laboratorního zdroje. Nejprve 362 Základní oživení se provádí pomocí laboratorního zdroje. Nejprve
362 přesuneme vypínač SW1 do vypnutého stavu (směrem k LED indikátorům). 363 přesuneme vypínač SW1 do vypnutého stavu (směrem k LED indikátorům).
363 Při postupném zvyšování napájecího napětí kontrolujeme, zda 364 Při postupném zvyšování napájecího napětí kontrolujeme, zda
364 stabilizátor U1 stabilizuje napětí +5V a zda stabilizátor U2 365 stabilizátor U1 stabilizuje napětí +5V a zda stabilizátor U2
365 stabilizuje na cca +12.7V. Spotřeba programátoru by měla být řádu do 366 stabilizuje na cca +12.7V. Spotřeba programátoru by měla být řádu do
366 100mA (konkrétní hodnota záleží na tom, jakou spotřebu má použitý obvod 367 100mA (konkrétní hodnota záleží na tom, jakou spotřebu má použitý obvod
367 GAL. 368 GAL.
368 </p> 369 </p>
369   370  
370 <p> 371 <p>
371 K dalšímu oživování používáme testovací program TSTPGR.EXE, který 372 K dalšímu oživování používáme testovací program TSTPGR.EXE, který
372 umožňuje postupnou aktivaci jednotlivých signálů a jejich kombinací. 373 umožňuje postupnou aktivaci jednotlivých signálů a jejich kombinací.
373 Jednotlivé položky testu vypisují jednak co program nastavil a 374 Jednotlivé položky testu vypisují jednak co program nastavil a
374 informaci o tom, co by se mělo objevit na jednotlivých pinech 375 informaci o tom, co by se mělo objevit na jednotlivých pinech
375 programovacího konektoru. 376 programovacího konektoru.
376 </p> 377 </p>
377   378  
378 <p> 379 <p>
379 Stav H je napětí kolem +4V, stav L je obvykle napětí pod +0.1V a stav X 380 Stav H je napětí kolem +4V, stav L je obvykle napětí pod +0.1V a stav X
380 je napětí kolem +3V s tím, že po připojení odporu 10k na zem nebo na 381 je napětí kolem +3V s tím, že po připojení odporu 10k na zem nebo na
381 napájení +5V dostaneme napětí 0V nebo +5V. Pro testování, zda funguje 382 napájení +5V dostaneme napětí 0V nebo +5V. Pro testování, zda funguje
382 vstup PGD se na tento pin připojuje GND a VDD přes odpor 10k. 383 vstup PGD se na tento pin připojuje GND a VDD přes odpor 10k.
383 </p> 384 </p>
384   385  
385 <p> 386 <p>
386 Napětí VDD by mělo být v rozmezí +4.5V až +5.5V a VPP v rozmezí +12V až 387 Napětí VDD by mělo být v rozmezí +4.5V až +5.5V a VPP v rozmezí +12V až
387 +13V 388 +13V
388 </p> 389 </p>
389   390  
390 <h1> Programové vybavení </h1> 391 <h1> Programové vybavení </h1>
391   392  
392 <h2> Uživatelský návod PICPGR.EXE </h2> 393 <h2> Uživatelský návod PICPGR.EXE </h2>
393   394  
394 <p> 395 <p>
395 Program PICPGR.EXE je DOS program a přímo ovládá zadaný LPT port. V 396 Program PICPGR.EXE je DOS program a přímo ovládá zadaný LPT port. V
396 případě procesorů s pamětí FLASH je možné spouštět jej i z DOS okna pod 397 případě procesorů s pamětí FLASH je možné spouštět jej i z DOS okna pod
397 Windows 95/98. Program při spuštění bez parametrů vypíše nápovědu 398 Windows 95/98. Program při spuštění bez parametrů vypíše nápovědu
398 včetně úplného seznamu podporovaných procesorů a možností nastavení 399 včetně úplného seznamu podporovaných procesorů a možností nastavení
399 přepínačů. 400 přepínačů.
400 </p> 401 </p>
401   402  
402 <p> 403 <p>
403 Program zpracovává jednak standardní HEX soubor (takový, který generují 404 Program zpracovává jednak standardní HEX soubor (takový, který generují
404 obvyklé překladače pro procesor PIC) a alternativně textový soubor, 405 obvyklé překladače pro procesor PIC) a alternativně textový soubor,
405 který je výhodný zejména při ladění (vyčtení stavu, vizuální kontrola, 406 který je výhodný zejména při ladění (vyčtení stavu, vizuální kontrola,
406 definování parametrů v EEPROM paměti a podobně). Součástí datového 407 definování parametrů v EEPROM paměti a podobně). Součástí datového
407 souboru mohou být data pro paměť programu, pro paměť EEPROM, pro 408 souboru mohou být data pro paměť programu, pro paměť EEPROM, pro
408 testovací pole i pro konfigurační slovo. Nastavení konfiguračního slova 409 testovací pole i pro konfigurační slovo. Nastavení konfiguračního slova
409 lze (pouze pro procesory s pamětí FLASH) změnit uvedením přepínačů. 410 lze (pouze pro procesory s pamětí FLASH) změnit uvedením přepínačů.
410 Různé procesory mají různé přepínače. 411 Různé procesory mají různé přepínače.
411 </p> 412 </p>
412   413  
413 <p> 414 <p>
414 Pro většinu akcí je nutné uvést typ procesoru a případně i formát 415 Pro většinu akcí je nutné uvést typ procesoru a případně i formát
415 vstupního či výstupního souboru (přepínač HEX nebo TXT). Na pořadí 416 vstupního či výstupního souboru (přepínač HEX nebo TXT). Na pořadí
416 přepínačů nezáleží. 417 přepínačů nezáleží.
417 </p> 418 </p>
418   419  
419 <h3> Nápověda </h3> 420 <h3> Nápověda </h3>
420   421  
421 <p> 422 <p>
422 <samp>PICPGR</samp> 423 <samp>PICPGR</samp>
423 </p> 424 </p>
424   425  
425 <p> 426 <p>
426 Vypíše úplnou nápovědu včetně seznamu všech podporovaných procesorů, 427 Vypíše úplnou nápovědu včetně seznamu všech podporovaných procesorů,
427 jejich vlastností a přepínačů. 428 jejich vlastností a přepínačů.
428 </p> 429 </p>
429   430  
430 <p> 431 <p>
431 <samp>PICPGR &lt;procesor&gt;</samp> 432 <samp>PICPGR &lt;procesor&gt;</samp>
432 </p> 433 </p>
433   434  
434 <p> 435 <p>
435 Nápověda vypíše vlastnosti procesoru a jeho sady přepínačů pro 436 Nápověda vypíše vlastnosti procesoru a jeho sady přepínačů pro
436 předefinování stavu konfiguračních přepínačů. 437 předefinování stavu konfiguračních přepínačů.
437 </p> 438 </p>
438   439  
439 <h3> Mazání procesoru </h3> 440 <h3> Mazání procesoru </h3>
440   441  
441 <p> 442 <p>
442 <samp>PICPGR ERASE &lt;procesor&gt;</samp> 443 <samp>PICPGR ERASE &lt;procesor&gt;</samp>
443 </p> 444 </p>
444   445  
445 <p> 446 <p>
446 Smaže obsah všech pamětí procesoru i v případě, že je procesor zamčený. 447 Smaže obsah všech pamětí procesoru i v případě, že je procesor zamčený.
447 Funguje pouze pro procesory s pamětí FLASH. 448 Funguje pouze pro procesory s pamětí FLASH.
448 </p> 449 </p>
449   450  
450 <h3> Čtení procesoru </h3> 451 <h3> Čtení procesoru </h3>
451   452  
452 <p> 453 <p>
453 <samp>PICPGR READ &lt;soubor&gt; HEX &lt;procesor&gt;</samp> 454 <samp>PICPGR READ &lt;soubor&gt; HEX &lt;procesor&gt;</samp>
454 </p> 455 </p>
455   456  
456 <p> 457 <p>
457 <samp>PICPGR READ &lt;soubor&gt; TXT &lt;procesor&gt;</samp> 458 <samp>PICPGR READ &lt;soubor&gt; TXT &lt;procesor&gt;</samp>
458 </p> 459 </p>
459   460  
460 <p> 461 <p>
461 Přečte obsah všech pamětí procesoru a uloží je do výsledného HEX nebo 462 Přečte obsah všech pamětí procesoru a uloží je do výsledného HEX nebo
462 TXT souboru. 463 TXT souboru.
463 </p> 464 </p>
464   465  
465 <h3> Programování procesoru a verifikace </h3> 466 <h3> Programování procesoru a verifikace </h3>
466   467  
467 <p> 468 <p>
468 <samp>PICPGR PROGAM &lt;soubor&gt; HEX &lt;procesor&gt;</samp> 469 <samp>PICPGR PROGAM &lt;soubor&gt; HEX &lt;procesor&gt;</samp>
469 </p> 470 </p>
470   471  
471 <p> 472 <p>
472 <samp>PICPGR VERIFY &lt;soubor&gt; HEX &lt;procesor&gt;</samp> 473 <samp>PICPGR VERIFY &lt;soubor&gt; HEX &lt;procesor&gt;</samp>
473 </p> 474 </p>
474   475  
475 <p> 476 <p>
476 Provede naprogramování a kontrolu naprogramování procesoru dle zadaného 477 Provede naprogramování a kontrolu naprogramování procesoru dle zadaného
477 souboru (HEX nebo TXT). Programování automaticky provádí i kontrolu a 478 souboru (HEX nebo TXT). Programování automaticky provádí i kontrolu a
478 vypisuje případné nesrovnalosti. 479 vypisuje případné nesrovnalosti.
479 </p> 480 </p>
480   481  
481 <p> 482 <p>
482 V případě potřeby je možné změnit nastavení konfiguračního slova. Níže 483 V případě potřeby je možné změnit nastavení konfiguračního slova. Níže
483 uvedený příklad provede naprogramování procesoru PIC16F873 obsahem 484 uvedený příklad provede naprogramování procesoru PIC16F873 obsahem
484 souboru TEST.HEX ve formátu HEX s tím, že změní konfigurační bit CP 485 souboru TEST.HEX ve formátu HEX s tím, že změní konfigurační bit CP
485 (Code Protection) do stavu zapnuto a pole FOSC v konfiguračním slově 486 (Code Protection) do stavu zapnuto a pole FOSC v konfiguračním slově
486 (konfigurace oscilátoru) nastaví do stavu 01. 487 (konfigurace oscilátoru) nastaví do stavu 01.
487 </p> 488 </p>
488   489  
489 <p> 490 <p>
490 <samp>PICPGR PROGRAM TEST.HEX HEX PIC16F873 CP_ON FOSC_01</samp> 491 <samp>PICPGR PROGRAM TEST.HEX HEX PIC16F873 CP_ON FOSC_01</samp>
491 </p> 492 </p>
492   493  
493 <h3> Spouštění aplikace </h3> 494 <h3> Spouštění aplikace </h3>
494   495  
495 <p> 496 <p>
496 <samp>PICPGR RUN</samp> 497 <samp>PICPGR RUN</samp>
497 </p> 498 </p>
498   499  
499 <p> 500 <p>
500 <samp>PICPGR RESET</samp> 501 <samp>PICPGR RESET</samp>
501 </p> 502 </p>
502   503  
503 <p> 504 <p>
504 <samp>PICPGR STOP</samp> 505 <samp>PICPGR STOP</samp>
505 </p> 506 </p>
506   507  
507 <p> 508 <p>
508 Zapne napájení a spustí aplikaci, provede reset aplikace a vypne 509 Zapne napájení a spustí aplikaci, provede reset aplikace a vypne
509 napájení aplikace. Používá se při ladění aplikace při kterém se 510 napájení aplikace. Používá se při ladění aplikace při kterém se
510 neodpojuje programovací kabel od laděné aplikace. 511 neodpojuje programovací kabel od laděné aplikace.
511 </p> 512 </p>
512   513  
513 <h3> Konverze formátu datového souboru </h3> 514 <h3> Konverze formátu datového souboru </h3>
514   515  
515 <p> 516 <p>
516 <samp>PICPGR CONVERT &lt;vstup&gt; &lt;vystup&gt; HEX 517 <samp>PICPGR CONVERT &lt;vstup&gt; &lt;vystup&gt; HEX
517 &lt;procesor&gt;</samp> 518 &lt;procesor&gt;</samp>
518 </p> 519 </p>
519   520  
520 <p> 521 <p>
521 <samp>PICPGR CONVERT &lt;vstup&gt; &lt;vystup&gt; TXT 522 <samp>PICPGR CONVERT &lt;vstup&gt; &lt;vystup&gt; TXT
522 &lt;procesor&gt;</samp> 523 &lt;procesor&gt;</samp>
523 </p> 524 </p>
524   525  
525 <p> 526 <p>
526 Převede soubor ve formátu HEX na TXT nebo naopak. Uváděný typ procesoru 527 Převede soubor ve formátu HEX na TXT nebo naopak. Uváděný typ procesoru
527 slouží ke kontrole rozsahu. 528 slouží ke kontrole rozsahu.
528 </p> 529 </p>
529   530  
530 <h2> Popis programu </h2> 531 <h2> Popis programu </h2>
531   532  
532 <p> 533 <p>
533 Program je napsaný v jazyce Turbo Pascal verze 6 a vznikl postupným 534 Program je napsaný v jazyce Turbo Pascal verze 6 a vznikl postupným
534 rozšiřováním původního jednoduchého programu pro programování obvodů 535 rozšiřováním původního jednoduchého programu pro programování obvodů
535 PIC16F84. Zdrojové texty jsou dostupné a komentované. 536 PIC16F84. Zdrojové texty jsou dostupné a komentované.
536 </p> 537 </p>
537   538  
538 <p> 539 <p>
539 Program podporuje kromě programátoru PICPGR i profesionální programátor 540 Program podporuje kromě programátoru PICPGR i profesionální programátor
540 ALL-03. 541 ALL-03.
541 </p> 542 </p>
542   543  
543 </div> 544 </div>
544   545  
545 <!-- AUTOINCLUDE START "Page/Footer.cs.ihtml" DO NOT REMOVE --> 546 <!-- AUTOINCLUDE START "Page/Footer.cs.ihtml" DO NOT REMOVE -->
546 <!-- ============== PATIČKA ============== --> 547 <!-- ============== PATIČKA ============== -->
547 <div class="Footer"> 548 <div class="Footer">
548 <script type="text/javascript"> 549 <script type="text/javascript">
549 <!-- 550 <!--
550 SetRelativePath("../../../../../"); 551 SetRelativePath("../../../../../");
551 DrawFooter(); 552 DrawFooter();
552 // --> 553 // -->
553 </script> 554 </script>
554 <noscript> 555 <noscript>
555 <p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p> 556 <p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p>
556 </noscript> 557 </noscript>
557 </div> 558 </div>
558 <!-- AUTOINCLUDE END --> 559 <!-- AUTOINCLUDE END -->
559   560  
560 </body> 561 </body>
561 </html> 562 </html>