o: ActiveSupport::Cache::Entry :@compressedF: @value"©É"¢É
Web/CSS/MLAB.css
172 172
  padding:                    0.5ex;    /* vnitřní okraj */
173 173
}
174 174

  
175
code {
176
  font-family:        "Courier New";    /* neproporcionální písmo */
177
  background:             lightgrey;    /* zvýraznění barvou pozadí */
178
  display:                    table;    /* je to blok široký dle obsahu */
179
  _display:                   block;    /* IE6 blok ale široký přes celou stránku */
180
  white-space:                  pre;    /* dodrž formátování */
181
  margin-left:                  2em;    /* odsazení bloku*/
182
  padding:                    0.5ex;    /* vnitřní okraj */
183
}
184

  
175 185
.Samp {                                 /* k odlišení příkladů HTML objektů */
176 186
  margin-left:                  2em;    /* odsazení bloku jako u samp*/
177 187
}
......
776 786
  margin:              3px 0 0 20px;
777 787
}
778 788

  
779
code
789
xxcode
780 790
{
781 791
  white-space:                  pre;
782 792
}
Modules/AVR/AVRUSB01A/SW/fw_usbasp/Makefile
175 175

  
176 176
endef
177 177

  
178
ALL:
178
all:
179 179
	@$(foreach III,$(ALL_TARGETS),$(call EXEC,$(III)))
180 180
	@make cleantmp
Modules/AVR/AVRUSB01A/DOC/HTML/AVRUSB01A.cs.htm
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> AVRUSB01A </title>
6
    <meta name="keywords" content="stavebnice MLAB USB AVR USBasp I2C">
7
    <meta name="description" content="Projekt MLAB, Modul pro AVR procesory, převodník USB na I2C, programátor AVR ISP">
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

  
51
      <p class="Title">
52
        USB modul pro AVR
53
      </p>
54

  
55
      <p class=Autor>
56
        Milan Horkel
57
      </p>
58

  
59
      <p class="Subtitle">
60
        Potřeboval jsem rychle připojit I2C zařízení k Linuxovému počítači. Protože se mi nelíbilo
61
        "bastl" provedení USB rozhraní s procesorem ATmega, zkomponoval jsem tento modul. Může
62
        sloužit jako ISP programátor pro AVR procesory, jako převodník USB na I2C a na další pokusy
63
        se softwarovou realizací USB na procesorech řadu ATmega. Obsahuje také stabilizátor 3,3V.
64
      </p>
65
      
66
      <p class="Subtitle">
67
        <img width="630" height="319" src="AVRUSB01A_soubory/image001.jpg" alt="Obrázek modulu AVRUSB01A">
68
      </p>
69

  
70
      <p>
71
        <a href="../AVRUSB01A.cs.pdf"><img class="NoBorder"
72
           src="../../../../../Web/PIC/FileIco_PDF.ico"
73
           alt="Acrobat">&nbsp;PDF verze</a>
74
      </p>
75
      
76
      <h1> Technické parametry</h1>
77

  
78
      <table>
79
        <tr>
80
          <th> Parametr </th>
81
          <th> Hodnota </th>
82
          <th> Poznámka </th>
83
        </tr>
84
        <tr>
85
          <td> Rozhraní </td>
86
          <td> USB </td>
87
          <td> Low Speed </td>
88
        </tr>
89
        <tr>
90
          <td> Napájení </td>
91
          <td> +5V </td>
92
          <td> Z USB rozhraní </td>
93
        </tr>
94
        <tr>
95
          <td> Napájení vnitřní </td>
96
          <td> +5V / +3.3V </td>
97
          <td> Vlastní stabilizátor, max 800mA </td>
98
        </tr>
99
        <tr>
100
          <td> Funkce (dle firmwaru) </td>
101
          <td> USBasp<br>
102
               i2c-tiny-usb </td>
103
          <td> Programátor AVR<br>
104
               Převodník USB - I2C </td>
105
        </tr>
106
        <tr>
107
          <td> Rozměry </td>
108
          <td> 60&nbsp;x&nbsp;30&nbsp;x&nbsp;18&nbsp;mm </td>
109
          <td> Výška nad základnou </td>
110
        </tr>
111
      </table>
112

  
113
      <h1> Popis konstrukce </h1>
114

  
115
      <h2> Úvodem </h2>
116

  
117
      <p>
118
        Pro procesory AVR existuje knihovna (ne jedna, dokonce několik), která realizuje USB Low
119
        Speed (1.5Mbit/s) protokol čistě softwarovými prostředky. Jedná se o řešení kompromisní,
120
        protože obyčejné vývody procesorů AVR nesplňují elektrické parametry USB specifikace.
121
        Nicméně existuje spousta konstrukcí, které toto řešení používají a díky přeci jen laxnějším
122
        požadavkům pro Low Speed USB se jedná o řešení funkční.
123
      </p>
124

  
125
      <p>
126
        <i>Pozor, novější operační systémy v souladu s USB specifikací zakazují Bulk
127
        přenosy pro Low Speed USB zařízení. Takže některé firmwary nemusejí fungovat.</i>
128
      </p>
129

  
130
      <p>
131
        Původní řešení ve stavebnici MLAB bylo poněkud neelegantní. Posuďte sami:
132
      </p>
133

  
134
      <table>
135
        <tr>
136
          <td width="252">
137
            <p>
138
              <img width="288" height="320" src="AVRUSB01A_soubory/image002.jpg"
139
              alt="Nelegantní řešení">
140
            </p>
141
          </td>
142
          <td width="252">
143
            <p>
144
              <img width="190" height="96" src="AVRUSB01A_soubory/image003.jpg"
145
              alt="Nový modul">
146
            </p>
147
          </td>
148
        </tr>
149
      </table>
150

  
151
      <p>
152
        Modul tedy slouží pro běh standardních firmwarů, nebo pro tvorbu a testování vlastních.
153
        Dále poskytuje stabilizátor napětí 3.3V. Standardní firmwary poskytují tyto například
154
        tyto služby:
155
      </p>
156

  
157
      <ul>
158
        <li> Programování procesorů AVR (firmware USBasp,
159
             <a href="http://www.fischl.de/usbasp">http://www.fischl.de/usbasp</a>) </li>
160
        <li> Převodník USB na I2C (firmware i2c-tiny-usb,
161
             <a href="http://www.harbaum.org/till/i2c_tiny_usb">http://www.harbaum.org/till/i2c_tiny_usb</a>) </li>
162
        <li> a další... </li>
163
      </ul>
164

  
165
      <h2> Zapojení modulu </h2>
166

  
167
      <p>
168
        Zapojení vychází z předdefinovaného přiřazení vývodů USB knihovny <i>usbdrv</i>, různé
169
        firmwary mohou mít přiřazení (USB) vývodů odlišné a je třeba je před překladem přenastavit
170
        (a&nbsp;případně opravit, pokud autor nemá konfiguraci správně připravenou).
171
      </p>
172

  
173
      <p>
174
        První částí zapojení je napájecí zdroj. Umožňuje pomocí propojky J2 použít jak napětí +5V
175
        přímo z&nbsp;USB, tak i napětí +3.3V z vestavěného stabilizátoru. Na vstupu je ochranná
176
        pojistka, protože ji některá zařízení (v rozporu s USB specifikací) nemají a při případné
177
        zkratu by mohlo někde něco uhořet. <i>Pozor, osazujeme jen jednu pojistku
178
        (na plošném spoji leží přes sebe).</i>
179
      </p>
180

  
181
      <p>
182
        <img border="0" width="988" height="294" src="AVRUSB01A_soubory/image004.png"
183
        alt="Schéma, napájecí zdroj">
184
      </p>
185

  
186
      <p>
187
        Další částí je procesor ATmega88, který je připojen na USB konektor.
188
      </p>
189

  
190
      <p>
191
        <img border="0" width="988" height="454" src="AVRUSB01A_soubory/image005.png"
192
        alt="Schéma, procesor">
193
      </p>
194

  
195
      <p>
196
        Pro jeho vlastní programování se používá konektor J9 a je nutné zapojit propojku J6, která
197
        umožní programování.
198
      </p>
199

  
200
      <p>
201
        Po nahrání firmwaru "programátor AVR" je konektor J9 použit pro připojení cílového
202
        zařízení, které lze napájet napětím 3.3V z modulu přes spojku J10 a případně spojkou J2
203
        nastavit napětí +5V.
204
      </p>
205

  
206
      <p>
207
        <img border="0" width="494" height="254" src="AVRUSB01A_soubory/image006.png"
208
        alt="Schéma, konektor AVR ISP">
209
        <img border="0" width="334" height="254" src="AVRUSB01A_soubory/image007.png"
210
        alt="Schéma, konektor napájení">
211
      </p>
212

  
213
      <p>
214
        Po nahrání firmwaru "převodník I2C" je možné na konektor J8 připojit I2C sběrnici, případně
215
        povolit její napájení +3.3V přes J7 (J2 zapíná +5V z USB). K dispozici jsou dále LED diody
216
        D4 a D5 a případně vyvedené rozhraní RS232 (TTL úrovně).
217
      </p>
218

  
219
      <p>
220
        <img border="0" width="494" height="254" src="AVRUSB01A_soubory/image008.png"
221
        alt="Schéma, I2C konektor">
222
        <img border="0" width="334" height="254" src="AVRUSB01A_soubory/image009.png"
223
        alt="Schéma, diody LED">
224
        <img border="0" width="334" height="148" src="AVRUSB01A_soubory/image010.png"
225
        alt="Schéma, konektor RS232">
226
      </p>
227

  
228
      <h2> Seznam součástek </h2>
229

  
230
      <table class="Soupiska">
231
        <tr>
232
          <th> Počet </th>
233
          <th> Reference </th>
234
          <th> Název </th>
235
          <th> Pouzdro </th>
236
        </tr>
237
        <tr>
238
          <th colspan="4"> Odpory </th>
239
        </tr>
240
        <tr>
241
          <td> 10 </td>
242
          <td> R2, R3, R8, R9, R10, R11, R14, R15, R16, R17 </td>
243
          <td> 68 </td>
244
          <td> R0805 </td>
245
        </tr>
246
        <tr>
247
          <td> 1 </td>
248
          <td> R7 </td>
249
          <td> 330 </td>
250
          <td> R0805 </td>
251
        </tr>
252
        <tr>
253
          <td> 2 </td>
254
          <td> R5, R6 </td>
255
          <td> 470 </td>
256
          <td> R0805 </td>
257
        </tr>
258
        <tr>
259
          <td> 1 </td>
260
          <td> R1 </td>
261
          <td> 2k2 </td>
262
          <td> R0805 </td>
263
        </tr>
264
        <tr>
265
          <td> 3 </td>
266
          <td> R4, R12, R13 </td>
267
          <td> 4k7 </td>
268
          <td> R0805 </td>
269
        </tr>
270
        <tr>
271
          <th colspan="4"> Keramické kondenzátory </th>
272
        </tr>
273
        <tr>
274
          <td> 2 </td>
275
          <td> C4, C5 </td>
276
          <td> 22pF </td>
277
          <td> C0805 </td>
278
        </tr>
279
        <tr>
280
          <td> 2 </td>
281
          <td> C1, C6 </td>
282
          <td> 100nF </td>
283
          <td> C0805 </td>
284
        </tr>
285
        <tr>
286
          <td> 2 </td>
287
          <td> C2, C3 </td>
288
          <td> 10uF </td>
289
          <td> C0805 </td>
290
        </tr>
291
        <tr>
292
          <th colspan="4"> Diody </th>
293
        </tr>
294
        <tr>
295
          <td> 2 </td>
296
          <td> D1, D2 </td>
297
          <td> 1N4007SMD </td>
298
          <td> MELF </td>
299
        </tr>
300
        <tr>
301
          <th colspan="4"> Zenerovy diody </th>
302
        </tr>
303
        <tr>
304
          <td> 2 </td>
305
          <td> D6, D7 </td>
306
          <td> BZV55C3.6 </td>
307
          <td> MINIMELF </td>
308
        </tr>
309
        <tr>
310
          <th colspan="4"> Svítivé diody </th>
311
        </tr>
312
        <tr>
313
          <td> 2 </td>
314
          <td> D3, D4 </td>
315
          <td> HCL-1505-4(RED) </td>
316
          <td> LED1206REV </td>
317
        </tr>
318
        <tr>
319
          <td> 1 </td>
320
          <td> D5 </td>
321
          <td> HCL-1503-4(GREEN) </td>
322
          <td> LED1206REV </td>
323
        </tr>
324
        <tr>
325
          <th colspan="4"> Pojistky </th>
326
        </tr>
327
        <tr>
328
          <td> 1 </td>
329
          <td> F1A </td>
330
          <td> SR075-06 </td>
331
          <td> R0805 </td>
332
        </tr>
333
        <tr>
334
          <td> 0 </td>
335
          <td> F1B </td>
336
          <td> 1812L075PR </td>
337
          <td> F1812 </td>
338
        </tr>
339
        <tr>
340
          <th colspan="4"> Integrované obvody </th>
341
        </tr>
342
        <tr>
343
          <td> 1 </td>
344
          <td> U1 </td>
345
          <td> LT1117-3.3 </td>
346
          <td> SOT223 </td>
347
        </tr>
348
        <tr>
349
          <td> 1 </td>
350
          <td> U2 </td>
351
          <td> ATmega88-20AU </td>
352
          <td> TQFP32 </td>
353
        </tr>
354
        <tr>
355
          <th colspan="4"> Krystaly </th>
356
        </tr>
357
        <tr>
358
          <td> 1 </td>
359
          <td> X1 </td>
360
          <td> 12MHz </td>
361
          <td> XTAL050 </td>
362
        </tr>
363
        <tr>
364
          <th colspan="4">  Mechanické součástky </th>
365
        </tr>
366
        <tr>
367
          <td> 1 </td>
368
          <td> J1 </td>
369
          <td> USB_B_01 </td>
370
          <td> USB_B_01 </td>
371
        </tr>
372
        <tr>
373
          <td> 4 </td>
374
          <td> J2, J5, J7, J10 </td>
375
          <td> JUMP2 </td>
376
          <td> JUMP2 </td>
377
        </tr>
378
        <tr>
379
          <td> 1 </td>
380
          <td> J6 </td>
381
          <td> JUMP3 </td>
382
          <td> JUMP3 </td>
383
        </tr>
384
        <tr>
385
          <td> 2 </td>
386
          <td> J4, J3</td>
387
          <td> JUMP2X3 </td>
388
          <td> JUMP2X3 </td>
389
        </tr>
390
        <tr>
391
          <td> 1 </td>
392
          <td> J8 </td>
393
          <td> JUMP2X5 </td>
394
          <td> JUMP2X5 </td>
395
        </tr>
396
        <tr>
397
          <td> 1 </td>
398
          <td> J9 </td>
399
          <td> JUMP2x3 </td>
400
          <td> JUMP2x3/B </td>
401
        </tr>
402
        <tr>
403
          <th colspan="4"> Konstrukční součástky </th>
404
        </tr>
405
        <tr>
406
          <td> 4 </td>
407
          <td> &nbsp; </td>
408
          <td> Šroub M3x12 </td>
409
          <td> &nbsp; </td>
410
        </tr>
411
        <tr>
412
          <td> 4 </td>
413
          <td> &nbsp; </td>
414
          <td> Podložka M3 </td>
415
          <td> &nbsp; </td>
416
        </tr>
417
        <tr>
418
          <td> 4 </td>
419
          <td> &nbsp; </td>
420
          <td> Sloupek M3x5 </td>
421
          <td> &nbsp; </td>
422
        </tr>
423
        <tr>
424
          <td> 2 </td>
425
          <td> &nbsp; </td>
426
          <td> JUMPER </td>
427
          <td> &nbsp; </td>
428
        </tr>
429
        <tr>
430
          <td> 1 </td>
431
          <td> &nbsp; </td>
432
          <td> Plošný spoj </td>
433
          <td> &nbsp; </td>
434
        </tr>
435
      </table>
436

  
437
      <h2> Zapojení použitých IO </h2>
438

  
439
      <p>
440
        Použitý obvod ATmega88-20 v pouzdru TQFP je možné nahradit procesorem ATmega8, ale je třeba
441
        použít správnou variantu firmwaru přeloženou pro použitý procesor. Rychlost procesoru a
442
        krystal volíme dle požadavků firmwaru. USB knihovna podporuje jen vybrané kmitočty.
443
      </p>
444

  
445
      <p>
446
        Knihovna USB umožňuje připojení USB datových signálů k libovolnému portu procesoru, ale
447
        současně potřebuje, aby alespoň jeden signál vyvolával přerušení s dostatečně velkou
448
        prioritou. Zde je přerušovacím signálem INT0 na signálu D+ (vývod PD2).
449
      </p>
450

  
451
      <h2> Mechanická konstrukce </h2>
452

  
453
      <p>
454
        Jedná se o standardní modul pro stavebnici MLAB určený k přišroubování k základní desce.
455
      </p>
456

  
457
      <h1> Osazení a oživení </h1>
458

  
459
      <h2> Osazení </h2>
460

  
461
      <p>
462
        Na straně spojů nezapomeneme osadit drátové propojky (platí pro jednostranný plošný spoj).
463
      </p>
464

  
465
      <p>
466
        <img border="0" width="802" height="404" src="AVRUSB01A_soubory/image011.png"
467
        alt="Osazovací výkres, strana součástek">
468
      </p>
469

  
470
      <p>
471
        Na straně spojů jsou osazeny standardní SMD součástky, jen LED diody se osazují opačně,
472
        svítící stranou směrem do desky (je tam otvor velký tak akorát, aby se tam vešlo pouzdro
473
        standardní diody v pouzdru 1206).
474
      </p>
475

  
476
      <p>
477
        <img border="0" width="802" height="405" src="AVRUSB01A_soubory/image012.png"
478
        alt="Osazovací výkres, strana spojů">
479
      </p>
480

  
481
      <h2> Oživení </h2>
482

  
483
      <p>
484
        Oživení spočívá v optické kontrole na zkraty a v elektrické kontrole funkčnosti
485
        stabilizátoru +3.3V. Pak stačí externím programátorem nahrát příslušný firmware a ozkoušet
486
        jeho funkčnost.
487
      </p>
488

  
489
      <h1> Programové vybavení </h1>
490

  
491
      <p>
492
        Jednotlivé firmwary (nakonfigurované pro tento hardware) jsou součástí tohoto projektu
493
        spolu s jejich přeloženými binárními soubory v adresáři SW.
494
      </p>
495

  
496
      <p>
497
        Firmwary musejí být nakonfigurovány s těmito parametry:
498
      </p>
499

  
500
      <table>
501
        <tr>
502
          <th> Parametr </th>
503
          <th> Hodnota </th>
504
          <th> Poznámka </th>
505
        </tr>
506
        <tr>
507
          <td> USB D+ </td>
508
          <td> PD2/INT0 </td>
509
          <td> Je současně signálem externího přerušení INT0, obvyklé provedení programátoru USBasp používá port PB1. </td>
510
        </tr>
511
        <tr>
512
          <td> USB D- </td>
513
          <td> PD4 </td>
514
          <td> Obvyklé provedení programátoru USBasp používá port PB1. </td>
515
        </tr>
516
        <tr>
517
          <td> Přerušení </td>
518
          <td> PD2/INT0 </td>
519
          <td> Obvyklé provedení programátoru USBasp používá port PD2 spojený s portem PB1. </td>
520
        </tr>
521
        <tr>
522
          <td> Krystal </td>
523
          <td> 12.0MHz </td>
524
          <td> Obvyklá hodnota frekvence, nutno volit podle toho, jaké frekvence jsou podporované v
525
               USB knihovně (například 12.0MHz, 12.8MHz, 15.0MHz, 16.0MHz, 16.5MHz, 18.0MHz
526
               20.0MHz). </td>
527
        </tr>
528
        <tr>
529
          <td> Procesor </td>
530
          <td> ATmega88 </td>
531
          <td> Alternativně ATmega8 (nutný překlad firmwaru pro správně nastavený procesor). </td>
532
        </tr>
533
      </table>
534
      
535
    </div>
536

  
537
    <!-- AUTOINCLUDE START "Page/Footer.cs.ihtml" DO NOT REMOVE -->
538
    <!-- ============== PATIČKA ============== -->
539
    <div class="Footer">
540
      <script type="text/javascript">
541
      <!--
542
        SetRelativePath("../../../../../");
543
        DrawFooter();
544
      // -->
545
      </script>
546
      <noscript>
547
        <p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p>
548
      </noscript>
549
    </div>
550
    <!-- AUTOINCLUDE END -->
551

  
552
  </body>
553
</html>
Modules/AVR/AVRUSB01A/DOC/HTML/FW_USBasp.cs.html
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> USBasp </title>
6
    <meta name="keywords" content="USBasp AVRUSB01 MLAB firmware programátor">
7
    <meta name="description" content="Firnware USBasp pro modul AVRUSB01, ISP programátor pro procesory 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

  
51
      <p class="Title">
52
        Firmware USBasp pro modul AVRUSB
53
      </p>
54

  
55
      <p class=Autor>
56
        Milan Horkel
57
      </p>
58

  
59
      <p class="Subtitle">
60
        Firmware USBasp umožňuje použít modul AVRUSB jako ISP programátor procesorů
61
        řady AVR pod všemi běžnými operačními systémy.
62
      </p>
63

  
64
      <p class="Subtitle">
65
        <img width="504" height="255" src="FW_USBasp_soubory/image001.jpg"
66
        alt="Obrázek modulu AVRUSB01">
67
      </p>
68

  
69
      <p>
70
        <a href="../FW_USBasp.cs.pdf"><img class="NoBorder"
71
           src="../../../../../Web/PIC/FileIco_PDF.ico"
72
           alt="Acrobat">&nbsp;PDF verze</a>
73
      </p>
74
      
75
      <h1> Technické parametry </h1>
76

  
77
      <table>
78
        <tr>
79
          <th> Parametr </th>
80
          <th> Hodnota </th>
81
          <th> Poznámka </th>
82
        </tr>
83
        <tr>
84
          <td> Rozhraní </td>
85
          <td> USB </td>
86
          <td> Low Speed </td>
87
        </tr>
88
        <tr>
89
          <td> Protokol </td>
90
          <td> USBasp </td>
91
          <td> VENDOR ID&nbsp; 0x16c0<br>
92
               DEVICE ID&nbsp;&nbsp; 0x05dc </td>
93
        </tr>
94
        <tr>
95
          <td> Procesor </td>
96
          <td> ATmega8 ATmega88 </td>
97
          <td> Varianty překladu </td>
98
        </tr>
99
        <tr>
100
          <td> Podporované systémy </td>
101
          <td> WindowXP/7/8<br>
102
               Linux/Ubuntu/...<br>
103
               Android </td>
104
          <td> avrdude<br>
105
               avrdude<br>
106
               ZFlasher AVR </td>
107
        </tr>
108
      </table>
109

  
110
      <h1> Popis </h1>
111

  
112
      <p>
113
        Firmware USBasp je USB programátor pro procesory AVR s USB rozhraním realizovaným čistě
114
        programovými prostředky. Jako vhodný ovládací program lze použít rozšířený AVRDUDE.
115
        Firmware je přeložen ve variantách pro procesor ATmega8 a ATmega88.
116
      </p>
117

  
118
      <h2> Hardware </h2>
119

  
120
      <p>
121
        Konektor J9 slouží pro naprogramování firmwaru (při zapojené propojce J5, případně i J10),
122
        nebo pro připojení zařízení, které chceme programovat tímto USBasp programátorem. Zapojení
123
        je dle doporučení firmy Atmel (šestipinový ISP konektor).
124
      </p>
125

  
126
      <p>
127
        Programátor má vyvedeno USB napětí +5V na konektoru J3 (přes samoopravnou pojistku) a
128
        vnitřní napětí na J4 (+5V z USB pokud je zapojen J2, nebo +3.3V z vnitřního stabilizátoru).
129
        Toto vnitřní napětí je možné připojit na ISP konektor J9 pomocí propojky J10.
130
      </p>
131

  
132
      <p>
133
        Při programování cílového procesoru, který běží na nízkém kmitočtu je třeba snížit rychlost
134
        komunikace a toho lze docílit instalací propojky mezi piny 2 a 3 konektoru J6 (označené RX
135
        a GND).
136
      </p>
137

  
138
      <p>
139
        Červená LED indikuje přenos dat, zelená LED svítí jakmile se zařízení zapne.
140
      </p>
141

  
142
      <table>
143
        <tr>
144
          <th> Propojka </th>
145
          <th> Zapnuto </th>
146
          <th> Vypnuto </th>
147
        </tr>
148
        <tr>
149
          <td> J2 </td>
150
          <td> Napájení 5V z USB </td>
151
          <td> Napájení 3.3V ze stabilizátoru </td>
152
        </tr>
153
        <tr>
154
          <td> J5 </td>
155
          <td> Programování vlastního procesoru </td>
156
          <td> Funguje jako programátor </td>
157
        </tr>
158
        <tr>
159
          <td> J10 </td>
160
          <td> Napájení cílového zařízení </td>
161
          <td> Bez napájení cílového zařízení </td>
162
        </tr>
163
        <tr>
164
          <td> J6.2 - J6.3 </td>
165
          <td> Vnucený pomalý režim ISP </td>
166
          <td> Rychlost přenosu nastavuje program </td>
167
        </tr>
168
      </table>
169

  
170
      <h2> USBasp s Windows </h2>
171

  
172
      <p>
173
        Pod Windows je třeba nainstalovat driver libusb. Pro Windows7/8 jsou novější verze knihovny
174
        libusb podepsané a tak nepůsobí potíže. Drivery vybalíme z přiloženého originálního balíku,
175
        nebo stáhneme poslední verzi.
176
      </p>
177

  
178
      <p>
179
        <samp>SW/fw_usbasp/original/usbasp.2011-05-28.tar.gz</samp>
180
      </p>
181
      
182
      <p>
183
        Pokud používáte starší verzi programu avrdude, musíte použít starší verzi libusb (verze
184
        0.x) a pod Windows7/8 povolit použití nepodepsaných driverů. Nepodepsané drivery je možné
185
        povolit při startu systému pomocí volby F8 (při každém startu znova).
186
      </p>
187

  
188
      <p>
189
        Ověříme funkčnost (z příkazové řádky):
190
      </p>
191

  
192
      <code>C:\Users\miho&gt;avrdude -c USBasp -p ATmega88 -F
193
avrdude: AVR device initialized and ready to accept instructions
194
Reading | ################################################## | 100% 0.00s
195
avrdude: Device signature = 0x1e930a
196
avrdude: safemode: Fuses OK
197
avrdude done.&nbsp; Thank you.
198
C:\Users\miho&gt;</code>
199

  
200
      <h2> USBasp s Linuxem </h2>
201

  
202
      <p>
203
        Pod linuxem by vše mělo fungovat bez komplikací. Program avrdude spouštíme s root
204
        oprávněním, aby se dostal k USB zařízení. Případně je možné systému říci, že pro toto
205
        zařízení není třeba root oprávnění vytvořením souboru
206
        <samp>/etc/udev/rules.d/99-USBasp.rules</samp> s tímto obsahem (maso je jedna dlouhá
207
        řádka):
208
      </p>
209

  
210
      <code># USBasp - USB programmer for Atmel AVR controllers
211
# Copy this file to /etc/udev/rules.d so
212
&nbsp;
213
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", SYSFS{idVendor}=="16c0", SYSFS{idProduct}=="05dc", MODE="0666"</code>
214

  
215
      <p>
216
        Vzorový soubor opět nalezneme v přiloženém originálním balíku.
217
      </p>
218

  
219
      <p>
220
        <samp>SW/fw_usbasp/original/usbasp.2011-05-28.tar.gz</samp>
221
      </p>
222

  
223
      <p>
224
        Ověříme funkčnost (z terminálu):
225
      </p>
226

  
227
      <code>miho@bobik:~$ avrdude -c USBasp -p ATmega88 -F
228
avrdude: AVR device initialized and ready to accept instructions
229
Reading | ################################################## | 100% 0.01s
230
avrdude: Device signature = 0x1e930a
231
avrdude: safemode: Fuses OK
232
avrdude done.&nbsp; Thank you.
233
miho@bobik:~$</code>
234

  
235
      <h2> USBasp s Androidem </h2>
236

  
237
      <p>
238
        Do Android zařízení nakoupíme aplikaci ZFlasher&nbsp;AVR (je zdarma) a přes OTG-USB kabel
239
        připojíme programátor a je to.
240
      </p>
241

  
242
      <h1> Programování firmwaru </h1>
243

  
244
      <p>
245
        Do modulu AVRUSB musíme neprogramovat firmware. Děláme to jiným programátorem přes konektor
246
        J9. Nutno zapojit propojky J5 (povolení programování) a J10 (propojení napájení přes ISP
247
        konektor). Pokud neumí použitý programátor napájet cílovou aplikaci přes ISP konektor,
248
        musíme zapojit napájecí zdroj +3.3V nebo +5V na napájecí konektor J4, nebo připojit USB
249
        kabel.
250
      </p>
251

  
252
      <p>
253
        Dejte extra pozor při programování propojek ať si omylem nezakážete ISP programování.
254
        Raději dvakrát zkontrolujte typ procesoru a hodnotu propojek.
255
      </p>
256

  
257
      <p>
258
        Kdo nechce hledat parametry programu avrdude, tady je příklad pro procesor ATmega88 (je to
259
        1 dlouhá řádka a platí pro programátor picoweb na portu LPT1):
260
      </p>
261

  
262
      <p>
263
        <samp>avrdude -c picoweb -p ATmega88 -P lpt1 -u -U hfuse:w:0xDE:m -U lfuse:w:0xD7:m -U
264
        flash:w: usbasp_atmega88.hex</samp>
265
      </p>
266

  
267
      <table>
268
        <tr>
269
          <th> Procesor </th>
270
          <th> Soubor </th>
271
          <th> EFUSE </th>
272
          <th> HFUSE </th>
273
          <th> LFUSE </th>
274
        </tr>
275
        <tr>
276
          <td> ATmega8 </td>
277
          <td> usbasp_atmega8.hex </td>
278
          <td> &nbsp; </td>
279
          <td> HFUSE=0xC9 </td>
280
          <td> LFUSE=0x9F </td>
281
        </tr>
282
        <tr>
283
          <td> ATmega88 </td>
284
          <td> usbasp_atmega88.hex </td>
285
          <td> EFUSE=0xF9 </td>
286
          <td> HFUSE=0xDE </td>
287
          <td> LFUSE=0xD7 </td>
288
        </tr>
289
      </table>
290

  
291
      <h1> Překlad firmwaru </h1>
292

  
293
      <h2> Zdrojáky a úpravy </h2>
294

  
295
      <p>
296
        Zdojáky jsou z adresy <a href="http://www.fischl.de/usbasp">http://www.fischl.de/usbasp</a>
297
      </p>
298
      
299
      <p>
300
        Provedené úpravy spočívají v opravě definic IO vstupů a výstupů (důsledné použití definic
301
        pinů) a v doplnění překladu o automatický překlad všech variant firmwarů najednou.
302
      </p>
303

  
304
      <p>
305
        Pokud budete chtít upravovat zdroják pro jiný hardware, je třeba dát pozor na to, že
306
        definice hardwaru jsou rozstrkané do více zdrojáků. To jsem upravovat nechtěl, aby byla
307
        zachována co největší podobnost s původním stavem.
308
      </p>
309

  
310
      <p>
311
        Konfiguraci firmwaru shrnuje tabulka
312
      </p>
313

  
314
      <table>
315
        <tr>
316
          <th> Parametr </th>
317
          <th> Hodnota </th>
318
          <th> Poznámka </th>
319
        </tr>
320
        <tr>
321
          <td> USB D+ </td>
322
          <td> PD2 </td>
323
          <td> USB Data+, je současně signálem externího přerušení INT0 </td>
324
        </tr>
325
        <tr>
326
          <td> USB D- </td>
327
          <td> PD4 </td>
328
          <td> USB Data- </td>
329
        </tr>
330
        <tr>
331
          <td> LED Red </td>
332
          <td> PC0 </td>
333
          <td> Červená LED, aktivní L, indikuje přenos dat </td>
334
        </tr>
335
        <tr>
336
          <td> LED Green </td>
337
          <td> PC1 </td>
338
          <td> Zelená LED, aktivní L, svítí trvale </td>
339
        </tr>
340
        <tr>
341
          <td> SW </td>
342
          <td> PD0 </td>
343
          <td> Zpomalení rychlosti ISP komunikace, aktivní L </td>
344
        </tr>
345
        <tr>
346
          <td> Krystal </td>
347
          <td> 12.0MHz </td>
348
          <td> Nutno naprogramovat FUSE na externí krystal </td>
349
        </tr>
350
        <tr>
351
          <td> Procesor&nbsp;</td>
352
          <td> ATmega8<br>
353
               ATmega88 </td>
354
          <td> &nbsp; </td>
355
        </tr>
356
      </table>
357

  
358
      <h2> Překlad </h2>
359

  
360
      <p>
361
        Pro překlad je připravený Makefilepro je překlad variant pro procesory ATmega8 i ATmega88.
362
      </p>
363

  
364
      <p>
365
        <samp>make all</samp>
366
      </p>
367

  
368
      <p>
369
        Pro překlad pod Windows stačí nainstalovat balík <samp>WinAVR</samp> (mám
370
        WinAVR-20100110-install.exe).
371
      </p>
372

  
373
      <p>
374
        Pro překlad pod Linuxem potřebujete balíky <samp>gcc-avr</samp> a <samp>avr-libc</samp>.
375
      </p>
376

  
377
    </div>
378

  
379
    <!-- AUTOINCLUDE START "Page/Footer.cs.ihtml" DO NOT REMOVE -->
380
    <!-- ============== PATIČKA ============== -->
381
    <div class="Footer">
382
      <script type="text/javascript">
383
      <!--
384
        SetRelativePath("../../../../../");
385
        DrawFooter();
386
      // -->
387
      </script>
388
      <noscript>
389
        <p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p>
390
      </noscript>
391
    </div>
392
    <!-- AUTOINCLUDE END -->
393

  
394
  </body>
395
</html>
Modules/AVR/AVRUSB01A/DOC/HTML/AVRUSB01A.cs.html
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> AVRUSB01A </title>
6
    <meta name="keywords" content="stavebnice MLAB USB AVR USBasp I2C">
7
    <meta name="description" content="Projekt MLAB, Modul pro AVR procesory, převodník USB na I2C, programátor AVR ISP">
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

  
51
      <p class="Title">
52
        USB modul pro AVR
53
      </p>
54

  
55
      <p class=Autor>
56
        Milan Horkel
57
      </p>
58

  
59
      <p class="Subtitle">
60
        Potřeboval jsem rychle připojit I2C zařízení k Linuxovému počítači. Protože se mi nelíbilo
61
        "bastl" provedení USB rozhraní s procesorem ATmega, zkomponoval jsem tento modul. Může
62
        sloužit jako ISP programátor pro AVR procesory, jako převodník USB na I2C a na další pokusy
63
        se softwarovou realizací USB na procesorech řadu ATmega. Obsahuje také stabilizátor 3,3V.
64
      </p>
65
      
66
      <p class="Subtitle">
67
        <img width="630" height="319" src="AVRUSB01A_soubory/image001.jpg" alt="Obrázek modulu AVRUSB01A">
68
      </p>
69

  
70
      <p>
71
        <a href="../AVRUSB01A.cs.pdf"><img class="NoBorder"
72
           src="../../../../../Web/PIC/FileIco_PDF.ico"
73
           alt="Acrobat">&nbsp;PDF verze</a>
74
      </p>
75
      
76
      <h1> Technické parametry</h1>
77

  
78
      <table>
79
        <tr>
80
          <th> Parametr </th>
81
          <th> Hodnota </th>
82
          <th> Poznámka </th>
83
        </tr>
84
        <tr>
85
          <td> Rozhraní </td>
86
          <td> USB </td>
87
          <td> Low Speed </td>
88
        </tr>
89
        <tr>
90
          <td> Napájení </td>
91
          <td> +5V </td>
92
          <td> Z USB rozhraní </td>
93
        </tr>
94
        <tr>
95
          <td> Napájení vnitřní </td>
96
          <td> +5V / +3.3V </td>
97
          <td> Vlastní stabilizátor, max 800mA </td>
98
        </tr>
99
        <tr>
100
          <td> Funkce (dle firmwaru) </td>
101
          <td> USBasp<br>
102
               i2c-tiny-usb </td>
103
          <td> Programátor AVR<br>
104
               Převodník USB - I2C </td>
105
        </tr>
106
        <tr>
107
          <td> Rozměry </td>
108
          <td> 60&nbsp;x&nbsp;30&nbsp;x&nbsp;18&nbsp;mm </td>
109
          <td> Výška nad základnou </td>
110
        </tr>
111
      </table>
112

  
113
      <h1> Popis konstrukce </h1>
114

  
115
      <h2> Úvodem </h2>
116

  
117
      <p>
118
        Pro procesory AVR existuje knihovna (ne jedna, dokonce několik), která realizuje USB Low
119
        Speed (1.5Mbit/s) protokol čistě softwarovými prostředky. Jedná se o řešení kompromisní,
120
        protože obyčejné vývody procesorů AVR nesplňují elektrické parametry USB specifikace.
121
        Nicméně existuje spousta konstrukcí, které toto řešení používají a díky přeci jen laxnějším
122
        požadavkům pro Low Speed USB se jedná o řešení funkční.
123
      </p>
124

  
125
      <p>
126
        <i>Pozor, novější operační systémy v souladu s USB specifikací zakazují Bulk
127
        přenosy pro Low Speed USB zařízení. Takže některé firmwary nemusejí fungovat.</i>
128
      </p>
129

  
130
      <p>
131
        Původní řešení ve stavebnici MLAB bylo poněkud neelegantní. Posuďte sami:
132
      </p>
133

  
134
      <table>
135
        <tr>
136
          <td>
137
            <p>
138
              <img width="288" height="320" src="AVRUSB01A_soubory/image002.jpg"
139
              alt="Nelegantní řešení">
140
            </p>
141
          </td>
142
          <td>
143
            <p>
144
              <img width="190" height="96" src="AVRUSB01A_soubory/image003.jpg"
145
              alt="Nový modul">
146
            </p>
147
          </td>
148
        </tr>
149
      </table>
150

  
151
      <p>
152
        Modul tedy slouží pro běh standardních firmwarů, nebo pro tvorbu a testování vlastních.
153
        Dále poskytuje stabilizátor napětí 3.3V. Standardní firmwary poskytují tyto například
154
        tyto služby:
155
      </p>
156

  
157
      <ul>
158
        <li> Programování procesorů AVR (firmware USBasp,
159
             <a href="http://www.fischl.de/usbasp">http://www.fischl.de/usbasp</a>) </li>
160
        <li> Převodník USB na I2C (firmware i2c-tiny-usb,
161
             <a href="http://www.harbaum.org/till/i2c_tiny_usb">http://www.harbaum.org/till/i2c_tiny_usb</a>) </li>
162
        <li> a další... </li>
163
      </ul>
164

  
165
      <h2> Zapojení modulu </h2>
166

  
167
      <p>
168
        Zapojení vychází z předdefinovaného přiřazení vývodů USB knihovny <i>usbdrv</i>, různé
169
        firmwary mohou mít přiřazení (USB) vývodů odlišné a je třeba je před překladem přenastavit
170
        (a&nbsp;případně opravit, pokud autor nemá konfiguraci správně připravenou).
171
      </p>
172

  
173
      <p>
174
        První částí zapojení je napájecí zdroj. Umožňuje pomocí propojky J2 použít jak napětí +5V
175
        přímo z&nbsp;USB, tak i napětí +3.3V z vestavěného stabilizátoru. Na vstupu je ochranná
176
        pojistka, protože ji některá zařízení (v rozporu s USB specifikací) nemají a při případné
177
        zkratu by mohlo někde něco uhořet. <i>Pozor, osazujeme jen jednu pojistku
178
        (na plošném spoji leží přes sebe).</i>
179
      </p>
180

  
181
      <p>
182
        <img width="988" height="294" src="AVRUSB01A_soubory/image004.png"
183
        alt="Schéma, napájecí zdroj">
184
      </p>
185

  
186
      <p>
187
        Další částí je procesor ATmega88, který je připojen na USB konektor.
188
      </p>
189

  
190
      <p>
191
        <img width="988" height="454" src="AVRUSB01A_soubory/image005.png"
192
        alt="Schéma, procesor">
193
      </p>
194

  
195
      <p>
196
        Pro jeho vlastní programování se používá konektor J9 a je nutné zapojit propojku J6, která
197
        umožní programování.
198
      </p>
199

  
200
      <p>
201
        Po nahrání firmwaru "programátor AVR" je konektor J9 použit pro připojení cílového
202
        zařízení, které lze napájet napětím 3.3V z modulu přes spojku J10 a případně spojkou J2
203
        nastavit napětí +5V.
204
      </p>
205

  
206
      <p>
207
        <img width="494" height="254" src="AVRUSB01A_soubory/image006.png"
208
        alt="Schéma, konektor AVR ISP">
209
        <img width="334" height="254" src="AVRUSB01A_soubory/image007.png"
210
        alt="Schéma, konektor napájení">
211
      </p>
212

  
213
      <p>
214
        Po nahrání firmwaru "převodník I2C" je možné na konektor J8 připojit I2C sběrnici, případně
215
        povolit její napájení +3.3V přes J7 (J2 zapíná +5V z USB). K dispozici jsou dále LED diody
216
        D4 a D5 a případně vyvedené rozhraní RS232 (TTL úrovně).
217
      </p>
218

  
219
      <p>
220
        <img width="494" height="254" src="AVRUSB01A_soubory/image008.png"
221
        alt="Schéma, I2C konektor">
222
        <img width="334" height="254" src="AVRUSB01A_soubory/image009.png"
223
        alt="Schéma, diody LED">
224
        <img width="334" height="148" src="AVRUSB01A_soubory/image010.png"
225
        alt="Schéma, konektor RS232">
226
      </p>
227

  
228
      <h2> Seznam součástek </h2>
229

  
230
      <table class="Soupiska">
231
        <tr>
232
          <th> Počet </th>
233
          <th> Reference </th>
234
          <th> Název </th>
235
          <th> Pouzdro </th>
236
        </tr>
237
        <tr>
238
          <th colspan="4"> Odpory </th>
239
        </tr>
240
        <tr>
241
          <td> 10 </td>
242
          <td> R2, R3, R8, R9, R10, R11, R14, R15, R16, R17 </td>
243
          <td> 68 </td>
244
          <td> R0805 </td>
245
        </tr>
246
        <tr>
247
          <td> 1 </td>
248
          <td> R7 </td>
249
          <td> 330 </td>
250
          <td> R0805 </td>
251
        </tr>
252
        <tr>
253
          <td> 2 </td>
254
          <td> R5, R6 </td>
255
          <td> 470 </td>
256
          <td> R0805 </td>
257
        </tr>
258
        <tr>
259
          <td> 1 </td>
260
          <td> R1 </td>
261
          <td> 2k2 </td>
262
          <td> R0805 </td>
263
        </tr>
264
        <tr>
265
          <td> 3 </td>
266
          <td> R4, R12, R13 </td>
267
          <td> 4k7 </td>
268
          <td> R0805 </td>
269
        </tr>
270
        <tr>
271
          <th colspan="4"> Keramické kondenzátory </th>
272
        </tr>
273
        <tr>
274
          <td> 2 </td>
275
          <td> C4, C5 </td>
276
          <td> 22pF </td>
277
          <td> C0805 </td>
278
        </tr>
279
        <tr>
280
          <td> 2 </td>
281
          <td> C1, C6 </td>
282
          <td> 100nF </td>
283
          <td> C0805 </td>
284
        </tr>
285
        <tr>
286
          <td> 2 </td>
287
          <td> C2, C3 </td>
288
          <td> 10uF </td>
289
          <td> C0805 </td>
290
        </tr>
291
        <tr>
292
          <th colspan="4"> Diody </th>
293
        </tr>
294
        <tr>
295
          <td> 2 </td>
296
          <td> D1, D2 </td>
297
          <td> 1N4007SMD </td>
298
          <td> MELF </td>
299
        </tr>
300
        <tr>
301
          <th colspan="4"> Zenerovy diody </th>
302
        </tr>
303
        <tr>
304
          <td> 2 </td>
305
          <td> D6, D7 </td>
306
          <td> BZV55C3.6 </td>
307
          <td> MINIMELF </td>
308
        </tr>
309
        <tr>
310
          <th colspan="4"> Svítivé diody </th>
311
        </tr>
312
        <tr>
313
          <td> 2 </td>
314
          <td> D3, D4 </td>
315
          <td> HCL-1505-4(RED) </td>
316
          <td> LED1206REV </td>
317
        </tr>
318
        <tr>
319
          <td> 1 </td>
320
          <td> D5 </td>
321
          <td> HCL-1503-4(GREEN) </td>
322
          <td> LED1206REV </td>
323
        </tr>
324
        <tr>
325
          <th colspan="4"> Pojistky </th>
326
        </tr>
327
        <tr>
328
          <td> 1 </td>
329
          <td> F1A </td>
330
          <td> SR075-06 </td>
331
          <td> R0805 </td>
332
        </tr>
333
        <tr>
334
          <td> 0 </td>
335
          <td> F1B </td>
336
          <td> 1812L075PR </td>
337
          <td> F1812 </td>
338
        </tr>
339
        <tr>
340
          <th colspan="4"> Integrované obvody </th>
341
        </tr>
342
        <tr>
343
          <td> 1 </td>
344
          <td> U1 </td>
345
          <td> LT1117-3.3 </td>
346
          <td> SOT223 </td>
347
        </tr>
348
        <tr>
349
          <td> 1 </td>
350
          <td> U2 </td>
351
          <td> ATmega88-20AU </td>
352
          <td> TQFP32 </td>
353
        </tr>
354
        <tr>
355
          <th colspan="4"> Krystaly </th>
356
        </tr>
357
        <tr>
358
          <td> 1 </td>
359
          <td> X1 </td>
360
          <td> 12MHz </td>
361
          <td> XTAL050 </td>
362
        </tr>
363
        <tr>
364
          <th colspan="4">  Mechanické součástky </th>
365
        </tr>
366
        <tr>
367
          <td> 1 </td>
368
          <td> J1 </td>
369
          <td> USB_B_01 </td>
370
          <td> USB_B_01 </td>
371
        </tr>
372
        <tr>
373
          <td> 4 </td>
374
          <td> J2, J5, J7, J10 </td>
375
          <td> JUMP2 </td>
376
          <td> JUMP2 </td>
377
        </tr>
378
        <tr>
379
          <td> 1 </td>
380
          <td> J6 </td>
381
          <td> JUMP3 </td>
382
          <td> JUMP3 </td>
383
        </tr>
384
        <tr>
385
          <td> 2 </td>
386
          <td> J4, J3</td>
387
          <td> JUMP2X3 </td>
388
          <td> JUMP2X3 </td>
389
        </tr>
390
        <tr>
391
          <td> 1 </td>
392
          <td> J8 </td>
393
          <td> JUMP2X5 </td>
394
          <td> JUMP2X5 </td>
395
        </tr>
396
        <tr>
397
          <td> 1 </td>
398
          <td> J9 </td>
399
          <td> JUMP2x3 </td>
400
          <td> JUMP2x3/B </td>
401
        </tr>
402
        <tr>
403
          <th colspan="4"> Konstrukční součástky </th>
404
        </tr>
405
        <tr>
406
          <td> 4 </td>
407
          <td> &nbsp; </td>
408
          <td> Šroub M3x12 </td>
409
          <td> &nbsp; </td>
410
        </tr>
411
        <tr>
412
          <td> 4 </td>
413
          <td> &nbsp; </td>
414
          <td> Podložka M3 </td>
415
          <td> &nbsp; </td>
416
        </tr>
417
        <tr>
418
          <td> 4 </td>
419
          <td> &nbsp; </td>
420
          <td> Sloupek M3x5 </td>
421
          <td> &nbsp; </td>
422
        </tr>
423
        <tr>
424
          <td> 2 </td>
425
          <td> &nbsp; </td>
426
          <td> JUMPER </td>
427
          <td> &nbsp; </td>
428
        </tr>
429
        <tr>
430
          <td> 1 </td>
431
          <td> &nbsp; </td>
432
          <td> Plošný spoj </td>
433
          <td> &nbsp; </td>
434
        </tr>
435
      </table>
436

  
437
      <h2> Zapojení použitých IO </h2>
438

  
439
      <p>
440
        Použitý obvod ATmega88-20 v pouzdru TQFP je možné nahradit procesorem ATmega8, ale je třeba
441
        použít správnou variantu firmwaru přeloženou pro použitý procesor. Rychlost procesoru a
442
        krystal volíme dle požadavků firmwaru. USB knihovna podporuje jen vybrané kmitočty.
443
      </p>
444

  
445
      <p>
446
        Knihovna USB umožňuje připojení USB datových signálů k libovolnému portu procesoru, ale
447
        současně potřebuje, aby alespoň jeden signál vyvolával přerušení s dostatečně velkou
448
        prioritou. Zde je přerušovacím signálem INT0 na signálu D+ (vývod PD2).
449
      </p>
450

  
451
      <h2> Mechanická konstrukce </h2>
452

  
453
      <p>
454
        Jedná se o standardní modul pro stavebnici MLAB určený k přišroubování k základní desce.
455
      </p>
456

  
457
      <h1> Osazení a oživení </h1>
458

  
459
      <h2> Osazení </h2>
460

  
461
      <p>
462
        Na straně spojů nezapomeneme osadit drátové propojky (platí pro jednostranný plošný spoj).
463
      </p>
464

  
465
      <p>
466
        <img width="802" height="404" src="AVRUSB01A_soubory/image011.png"
467
        alt="Osazovací výkres, strana součástek">
468
      </p>
469

  
470
      <p>
471
        Na straně spojů jsou osazeny standardní SMD součástky, jen LED diody se osazují opačně,
472
        svítící stranou směrem do desky (je tam otvor velký tak akorát, aby se tam vešlo pouzdro
473
        standardní diody v pouzdru 1206).
474
      </p>
475

  
476
      <p>
477
        <img width="802" height="405" src="AVRUSB01A_soubory/image012.png"
... This diff was truncated because it exceeds the maximum size that can be displayed. :@created_atf1432011352.7788141Ø:@expires_in0