Rev Author Line No. Line
1336 miho 1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2 <html>
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
5 <title> ATprogISPUSB01A </title>
6 <meta name="keywords" content="stavebnice MLAB ISP USB programátor ATMELL AVR">
7 <meta name="description" content="Projekt MLAB, ISP USB programátor procesorů ATMEL AVR">
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">
10 <link rel="StyleSheet" href="../../../../../Web/CSS/MLAB_Print.css" type="text/css" media="print">
11 <link rel="shortcut icon" type="image/x-icon" href="../../../../../Web/PIC/MLAB.ico">
12 <script type="text/javascript" src="../../../../../Web/JS/MLAB_Menu.js"></script>
13 <!-- AUTOINCLUDE END -->
14 </head>
15  
16 <body lang="cs">
17  
18 <!-- AUTOINCLUDE START "Page/Header.cs.ihtml" DO NOT REMOVE -->
19 <!-- ============== HLAVICKA ============== -->
20 <div class="Header">
21 <script type="text/javascript">
22 <!--
23 SetRelativePath("../../../../../");
24 DrawHeader();
25 // -->
26 </script>
27 <noscript>
28 <p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p>
29 </noscript>
30 </div>
31 <!-- AUTOINCLUDE END -->
32  
33 <!-- AUTOINCLUDE START "Page/Menu.cs.ihtml" DO NOT REMOVE -->
34 <!-- ============== MENU ============== -->
35 <div class="Menu">
36 <script type="text/javascript">
37 <!--
38 SetRelativePath("../../../../../");
39 DrawMenu();
40 // -->
41 </script>
42 <noscript>
43 <p><b> Pro zobrazení (vložení) menu je potřeba JavaScript </b></p>
44 </noscript>
45 </div>
46 <!-- AUTOINCLUDE END -->
47  
48 <!-- ============== TEXT ============== -->
49 <div class="Text">
50 <p class="Title">
51 Programátor pro procesory AVR
52 </p>
53 <p class=Autor>
54 Miroslav Janás
55 </p>
56 <p class="Subtitle">
57 Modul USB programátoru procesorů AVR s&nbsp;šestipinovým ISP rozhraním.
58 Programátor je kompatibilní s&nbsp;„AVR studio 4“ (programátor&nbsp;
59 STK500 nebo AVRISP) a s „avrdude“ (programátor STK500v2). Programátor
60 obsahuje tlačítko RESET pro resetování cílového procesoru a přepínač
61 VTG pro napájení cílového zařízení napětím 5V z&nbsp;USB nebo 3.3V
62 z&nbsp;vnitřního stablizátoru.
63 </p>
64 <p class="Subtitle">
65 <img width="624" height="319" src="Pictures/image001.jpg"
66 alt="Obrázek programátoru">
67 </p>
68 <p>
69 <a href="../ATprogISPUSB01A.cs.pdf"><img class="NoBorder"
70 src="../../../../../Web/PIC/FileIco_PDF.ico"
71 alt="Acrobat">&nbsp;PDF verze</a>
72 </p>
73  
74 <h1> Technické parametry </h1>
75  
76 <table>
77 <tr>
78 <th> Parametr </th>
79 <th> Hodnota </th>
80 <th> Poznámka </th>
81 </tr>
82 <tr>
83 <td> Napájení </td>
84 <td> 5V </td>
85 <td> Napájeno z&nbsp;USB rozhraní </td>
86 </tr>
87 <tr>
88 <td> Napájení cílového zařízení </td>
89 <td> 5V z&nbsp;USB<br>
90 3.3V z&nbsp;vlastního stabilizátoru </td>
91 <td> Omezeno USB zdrojem<br>
92 Maximálně cca 90mA </td>
93 </tr>
94 <tr>
95 <td> Spotřeba </td>
96 <td> cca 10mA </td>
97 <td> Bez cílového zařízení </td>
98 </tr>
99 <tr>
100 <td> Interface </td>
101 <td> USB 1.1, USB 2.0 </td>
102 <td> USB kabel A-B </td>
103 </tr>
104 <tr>
105 <td> Kompatibilita </td>
106 <td> AVR Studio 4<br>
107 AVRDUDE </td>
108 <td> STK500<br>
109 STK500v2 </td>
110 </tr>
111 <tr>
112 <td> Rozměry </td>
113 <td> 65x25x20mm </td>
114 <td> Výška nad nosnou deskou </td>
115 </tr>
116 </table>
117  
118 <h1> Popis konstrukce </h1>
119  
120 <h2> Úvodem </h2>
121  
122 <p>
123 Modul byl navrhnut pro programování AVR procesorů přes USB rozhraní,
124 pro nedostupnost&nbsp; sériového a paralelního rozhraní na dnešních PC.
125 Konstrukce vychází z&nbsp;dostupných inforamcí na internetových
126 stránkách, zejména z&nbsp;EVERTOOL – combinet AVR programmer and
127 debugger. Pro složitost nahrání firmware do modulu, byl vytvořen soubor
128 stk500.hex, který se externím programátorem nahraje do modulu. Pokud
129 jsou dobře nastaveny konfigurační pojistky je programátor připraven k
130 programování.
131 </p>
132  
133 <h2> Zapojení modulu </h2>
134  
135 <p>
136 Základní procesor U1 ATmega8535 zajišťuje veškerou programovací
137 činnost. S&nbsp;PC komunikuje prostřednitvím sériového rozhraní. O
138 seriového rozhraní se stará IO U2, známý převodník USB-rs232
139 FT323RL.&nbsp; Často se vyskytuje situace, programovat při nižším
140 napětí, než 5V. Proto byl programátor osazen i stabilizátorm 3,3V
141 LE33DE U3. Na rozhraní ISP byly přidány ochranné rezistory
142 s&nbsp;hodnotou 100 ohmů a dále možnost vypnout napájení cílového
143 zařízení přes přepínač SW2 (VTG enable). Jumper J7 (ISP
144 &nbsp;select)&nbsp; se použije jen při prvním nahrání HEX souboru a
145 pojistek do programátoru &nbsp;(poloha 1-2 ISPmega8538). V&nbsp;poloze
146 2-3 normal AVRISP je modul připraven programovat. Zapojení obsahuje
147 tlačítko reset, kterým se resetuje cílový procesor. (Neresetuje se
148 programátor!!!) a je nutné toto tlačítko osadit na desce. Zelená&nbsp;
149 LED dioda D2 značí připravenost programátoru, červená LED dioda D1
150 oznamuje právě probíhající programování.
151 </p>
152  
153 <p>
154 <img width="1070" height="620" src="Pictures/image002.png"
155 alt="Zapojení procesorové části">
156 </p>
157  
158 <p>
159 Srdce programátoru – ATmega8535.
160 </p>
161  
162 <p>
163 <img width="978" height="531" src="Pictures/image003.png"
164 alt="Zapojení USB rozhraní">
165 </p>
166  
167 <p>
168 USB interface s&nbsp;převodníkem USB-rs232 FT232RL. Standardní
169 katalogové zapojení doplněno o stabilizátor U3 LE33D. Stabilizátor
170 vytváří napětí 3,3V. Jumprem J3 se volí programovací napětí.
171 </p>
172  
173 <h2> Mechanická konstrukce </h2>
174  
175 <p>
176 Modul je navrhnut pro připevnění na standardní nosou desku (deska
177 s&nbsp;provrtanými díramy 3,2mm&nbsp; v&nbsp;ose x a y&nbsp;po 400
178 milsů) . V&nbsp;rozích jsou šroubky a sloupky s&nbsp;rozpětím 5x2cm
179 (2000x800mils).
180 </p>
181  
182 <h1> Osazení a oživení </h1>
183  
184 <h2> Osazení </h2>
185  
186 <p>
187 Modul je navrhnut na jednostranné desce a obsahuje dvě propojky. Jedna
188 propojka je realizována prostřednistvím tlačítka reset.Tudíž se
189 neosazuje, ale samo tlačítko tuto propojku realizuje.Tlačítko reset je
190 nutné osadit. Druhá propojka se nachází u konektoru J7 (sel ISP).
191 </p>
192  
193 <p>
194 Deska z&nbsp;pohledu strany součástek
195 </p>
196  
197 <p>
198 <img width="701" height="356" src="Pictures/image004.png"
199 alt="Osazení desky ze strany součástek">
200 </p>
201  
202 <p>
203 Deska z&nbsp;pohledu strany spojů
204 </p>
205  
206 <p>
207 <img width="700" height="352" src="Pictures/image005.png"
208 alt="Osazení desky ze strany spojů">
209 </p>
210  
211 <p>
212 Seznam použitých součástek
213 </p>
214  
215 <table class="Soupiska">
216 <tr>
217 <th> Počet </th>
218 <th> Reference </th>
219 <th> Hodnota </th>
220 <th> Pouzdro </th>
221 </tr>
222 <tr>
223 <th colspan="4"> Odpory SMD </th>
224 </tr>
225 <tr>
226 <td> 8 </td>
227 <td> R1, R6, R7, R8, R9, R10, R11, R14 </td>
228 <td> 10k </td>
229 <td> R0805 </td>
230 </tr>
231 <tr>
232 <td> 1 </td>
233 <td> R2 </td>
234 <td> 68k </td>
235 <td> R0805 </td>
236 </tr>
237 <tr>
238 <td> 1 </td>
239 <td> R3 </td>
240 <td> 33k </td>
241 <td> R0805 </td>
242 </tr>
243 <tr>
244 <td> 2 </td>
245 <td> R4, R5 </td>
246 <td> 1k5 </td>
247 <td> R0805 </td>
248 </tr>
249 <tr>
250 <td> 1 </td>
251 <td> R13 </td>
252 <td> 4k7 </td>
253 <td> R0805 </td>
254 </tr>
255 <tr>
256 <td> 4 </td>
257 <td> R12, R15, R16, R17 </td>
258 <td> 100 </td>
259 <td> R0805 </td>
260 </tr>
261 <tr>
262 <th colspan="4"> Keramické kondenzátory SMD </th>
263 </tr>
264 <tr>
265 <td> 10 </td>
266 <td> C1, C4, C5, C6, C7, C8, C12, C13, C14, C15 </td>
267 <td> 100n </td>
268 <td> C0805 </td>
269 </tr>
270 <tr>
271 <td> 2 </td>
272 <td> C2, C3 </td>
273 <td> 22p </td>
274 <td> C0805 </td>
275 </tr>
276 <tr>
277 <td> 1 </td>
278 <td> C10 </td>
279 <td> 10n </td>
280 <td> C0805 </td>
281 </tr>
282 <tr>
283 <td> 1 </td>
284 <td> C16 </td>
285 <td> 2.2uF lze i elektrolyt </td>
286 <td> C0805 </td>
287 </tr>
288 <tr>
289 <th colspan="4"> Elektrolytické kondenzátory SMD </th>
290 </tr>
291 <tr>
292 <td> 2 </td>
293 <td> C9, C11 </td>
294 <td> 4.7uF/6.3V </td>
295 <td> ELYTB </td>
296 </tr>
297 <tr>
298 <th colspan="4"> Indukčnosti SMD </th>
299 </tr>
300 <tr>
301 <td> 1 </td>
302 <td> L1 </td>
303 <td> ferrite_bead </td>
304 <td> R0805 </td>
305 </tr>
306 <tr>
307 <th colspan="4"> Diody </th>
308 </tr>
309 <tr>
310 <td> 1 </td>
311 <td> D1 </td>
312 <td> red </td>
313 <td> LED3 </td>
314 </tr>
315 <tr>
316 <td> 1 </td>
317 <td> D2 </td>
318 <td> green </td>
319 <td> LED3 </td>
320 </tr>
321 <tr>
322 <td> 1 </td>
323 <td> D3 </td>
324 <td> 1N4007SMD </td>
325 <td> MELF </td>
326 </tr>
327 <tr>
328 <th colspan="4"> Integrované obvody </th>
329 </tr>
330 <tr>
331 <td> 1 </td>
332 <td> U1 </td>
333 <td> ATmega8535_TQ44 </td>
334 <td> TQFP44 </td>
335 </tr>
336 <tr>
337 <td> 1 </td>
338 <td> U2 </td>
339 <td> FT232RL </td>
340 <td> SSO28_210 </td>
341 </tr>
342 <tr>
343 <td> 1 </td>
344 <td> U3 </td>
345 <td> LE33D </td>
346 <td> SO8_150 </td>
347 </tr>
348 <tr>
349 <th colspan="4"> Krystaly </th>
350 </tr>
351 <tr>
352 <td> 1 </td>
353 <td> X1 </td>
354 <td> 3.6864MHz </td>
355 <td> XTAL050 </td>
356 </tr>
357 <tr>
358 <th colspan="4"> Pojistky SMD </th>
359 </tr>
360 <tr>
361 <td> 1 </td>
362 <td> FUSE </td>
363 <td> 0.5A </td>
364 <td> R1206 </td>
365 </tr>
366 <tr>
367 <th colspan="4">
368 <span class='c1'>Mechanické součástky</span>
369 </th>
370 </tr>
371 <tr>
372 <td> 1 </td>
373 <td> J1 </td>
374 <td> JUMP2X3 </td>
375 <td> JUMP2X3 </td>
376 </tr>
377 <tr>
378 <td> 1 </td>
379 <td> J2 </td>
380 <td> JUMP2x3 </td>
381 <td> JUMP2x3/B </td>
382 </tr>
383 <tr>
384 <td> 1 </td>
385 <td> J3 </td>
386 <td> JUMP2 </td>
387 <td> JUMP2 </td>
388 </tr>
389 <tr>
390 <td> 1 </td>
391 <td> J4 </td>
392 <td> USB_B_01 </td>
393 <td> USB_B_01 </td>
394 </tr>
395 <tr>
396 <td> 1 </td>
397 <td> J7 </td>
398 <td> JUMP3 </td>
399 <td> JUMP3 </td>
400 </tr>
401 <tr>
402 <td> 1 </td>
403 <td> SW1 </td>
404 <td> TARGET_RESET </td>
405 <td> PUSH050x050 </td>
406 </tr>
407 <tr>
408 <td> 1 </td>
409 <td> SW2 </td>
410 <td> SW_P-B143 </td>
411 <td> P-B143 </td>
412 </tr>
413 <tr>
414 <th colspan="4"> Konstrukční součástky </th>
415 </tr>
416 <tr>
417 <td> 2 </td>
418 <td> Jumper propojka </td>
419 <td> &nbsp; </td>
420 <td> &nbsp; </td>
421 </tr>
422 <tr>
423 <td> 4 </td>
424 <td> Sloupek M3x5mm </td>
425 <td> &nbsp; </td>
426 <td> &nbsp; </td>
427 </tr>
428 <tr>
429 <td> 4 </td>
430 <td> Šroub M3x12 křížový s&nbsp;válcovou hlavou </td>
431 <td> &nbsp; </td>
432 <td> &nbsp; </td>
433 </tr>
434 <tr>
435 <td> 4 </td>
436 <td> Podložka M3 </td>
437 <td> &nbsp; </td>
438 <td> &nbsp; </td>
439 </tr>
440 <tr>
441 <td> 2 </td>
442 <td> Konektor 6 pinů NDR-06 s piny </td>
443 <td> &nbsp; </td>
444 <td> &nbsp; </td>
445 </tr>
446 </table>
447  
448 <h2> Oživení </h2>
449  
450 <p>
451 Pokud je deska dobře osazená, zbývá jen do procesoru nahrát firmware.
452 Aby se zjednodušila konstrukce, byl vynechán pomocný procesor, který
453 firmware nahrával do programátoru. Nicméně do pomocného procesoru se
454 muselo stejně nahrát další firmaware, který pak už komunikoval
455 s&nbsp;aplikaci AVR studio. Do našeho programátoru tedy nahrajeme jen
456 patřičný HEX soubor s&nbsp;pojistkami pomocí externího programátoru a
457 už se o nic nestaráme. Jen nemáme možnost automatické upgrade firmware.
458 Pro upgrade je nutné zase použít externí programátor.
459 </p>
460  
461 <p>
462 Postup nahrání pojistek a firmware pro avrdude je následující:
463 </p>
464  
465 <p>
466 Přepneme JUMPER J7 (sel ISP) do polohy 1-2 ISPmega8535 a připojíme
467 externí programátor do konektoru ISP(6pin). Pokud externí programátor
468 potřebuje ke své činnosti napájení ze cílového zařízení, přepneme
469 přepínač SW2 (VTG) do polohy on. Zvolíme programovací napětí pomocí
470 JUMPERU J3 (sel POWER) na 5V nebo 3,3V, dle externího programátoru.
471 Připojíme náš programátor na USB, tím se přivede napájení, a můžeme
472 nahrát pojistky a soubor stk500.hex.
473 </p>
474  
475 <p>
476 Pro pojistky:
477 </p>
478  
479 <p>
480 <samp>avrdude -p atmega8535 -P %PORT% -c %PRG% -U lfuse:w:<b>0xff</b>:m -U hfuse:w:<b>0xdb</b>:m</samp>
481 </p>
482  
483 <p>
484 Pro soubor stk500.hex
485 </p>
486  
487 <p>
488 <samp>avrdude -p atmega8535 -P %PORT% -c %PRG%&nbsp; -U flash:w:<b>stk500.hex</b>:a</samp>
489 </p>
490  
491 <p>
492 kde PRG je typ externího programátoru a PORT je sériový nebo paralelní
493 port externího programátoru.
494 </p>
495  
496 <p>
497 Po naprogramování se JUMPER J7 (sel ISP) vrátí do polohy 2-3 ISP
498 normal.
499 </p>
500  
501 <h1> Programové vybavení </h1>
502  
503 <p>
504 Pro uživatele WINDOWS XP je nutné ještě nainstalovat ovladače USB
505 převodníku FTDI.
506 </p>
507  
508 <h2> AVR Studio 4 </h2>
509  
510 <p>
511 Po spuštění aplikace vybereme na horní liště nástroje Tools – Program
512 AVR – Auto connect. A můžeme už programovat. Pokud auto connect nic
513 nenajde, zvolíme Tools – Program AVR –connect… a vybereme Platform:
514 STK500 or AVRISP Port: COM kde se náš programátor nachází.
515 </p>
516  
517 <h2> AVRDUDE </h2>
518  
519 <p>
520 Zde stačí do příkazové řádky zadat tyto patametry
521 </p>
522  
523 <p>
524 <samp>avrdude –p xxx <b>–c stk500v2 –P comx</b> – U flash:w:muj.hex:a</samp>
525 </p>
526  
527 <p>
528 xxx … typ cílového procesoru
529 <br>
530 comx … com port kde je náš programátor
531 </p>
532  
533 <p>
534 ostatní parametry viz příkaz avrdude –?, zde získáme nápovědu.
535 </p>
536  
537 </div>
538 <!-- AUTOINCLUDE START "Page/Footer.cs.ihtml" DO NOT REMOVE -->
539 <!-- ============== PATIČKA ============== -->
540 <div class="Footer">
541 <script type="text/javascript">
542 <!--
543 SetRelativePath("../../../../../");
544 DrawFooter();
545 // -->
546 </script>
547 <noscript>
548 <p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p>
549 </noscript>
550 </div>
551 <!-- AUTOINCLUDE END -->
552  
553 </body>
554 </html>