o: ActiveSupport::Cache::Entry :@compressedF: @value"?y"8y
Modules/ATmega8/ATmega801A/DOC/HTML/ATMEGA801A_.cs.html
1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3c.org/TR/html4/strict.dtd">
2
<html>
3
  <head>
4
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
5
    <title> ATmega801A </title>
6
    <meta name="keywords" content="stavebnice MLAB modul procesoru ATMEL ATmega8">
7
    <meta name="description" content="Projekt MLAB, modul procesoru ATMEL ATmega8">
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="shortcut icon" type="image/x-icon" href="../../../../../Web/PIC/MLAB.ico">
11
    <script type="text/javascript" src="../../../../../Web/JS/MLAB_Menu.js"></script>
12
    <!-- AUTOINCLUDE END -->
13
  </head>
14

  
15
  <body lang="cs">
16

  
17
    <!-- AUTOINCLUDE START "Page/Header.cs.ihtml" DO NOT REMOVE -->
18
    <!-- ============== HLAVICKA ============== -->
19
    <div class="Header">
20
      <script type="text/javascript">
21
      <!--
22
        SetRelativePath("../../../../../");
23
        DrawHeader();
24
      // -->
25
      </script>
26
      <noscript>
27
        <p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p>
28
      </noscript>
29
    </div>
30
    <!-- AUTOINCLUDE END -->
31

  
32
    <!-- AUTOINCLUDE START "Page/Menu.cs.ihtml" DO NOT REMOVE -->
33
    <!-- ============== MENU ============== -->
34
    <div class="Menu">
35
      <script type="text/javascript">
36
      <!--
37
        SetRelativePath("../../../../../");
38
        DrawMenu();
39
      // -->
40
      </script>
41
      <noscript>
42
        <p><b> Pro zobrazení (vložení) menu je potřeba JavaScript </b></p>
43
      </noscript>
44
    </div>
45
    <!-- AUTOINCLUDE END -->
46

  
47
    <!-- ============== TEXT ============== -->
48
    <div class="Text">
49
      <p class="Title">
50
        Atmega801A – modul procesoru Atmega8
51
      </p>
52
      <p class=Autor>
53
        Milan Horkel
54
      </p>
55
      <p class="Subtitle">
56
        Procesorový modul pro práci s procesorem ATMEL Atmega8 v pouzdru
57
        TQFP32. Modul obsahuje procesor a může být osazen krystalem standardní
58
        velikosti nebo hodinkovým krystalem 32768Hz. Modul je dále vybaven
59
        tlačítkem RESET a programovacím konektorem ATMEL ISP 6 PIN.
60
      </p>
61
      <p class="Subtitle">
62
        <img width="324" height="324" src="Pictures/image001.jpg"
63
         alt="Modul procesoru ATmega8">
64
      </p>
65
      <p>
66
        <a href="../ATmega801A.cs.pdf"><img class="NoBorder"
67
           src="../../../../../Web/PIC/FileIco_PDF.ico"
68
           alt="Acrobat">&nbsp;PDF verze</a>
69
      </p>
70

  
71
      <h1> Technické parametry </h1>
72
      
73
      <table>
74
        <tr>
75
          <th> Parametr </th>
76
          <th> Hodnota  </th>
77
          <th> Poznámka </th>
78
        </tr>
79
        <tr>
80
          <td> Napájení </td>
81
          <td> (1.8V) .. 2.7V .. 5.5V </td>
82
          <td> Dle použitého procesoru </td>
83
        </tr>
84
        <tr>
85
          <td> Procesor </td>
86
          <td> ATmega8 / ATmega8L </td>
87
          <td> Nebo jiný v pouzdru TQFP32 </td>
88
        </tr>
89
        <tr>
90
          <td> Spotřeba </td>
91
          <td> 12mA </td>
92
          <td> Při 8MHz s krystalem </td>
93
        </tr>
94
        <tr>
95
          <td> Rozměry </td>
96
          <td> 51x51x15mm </td>
97
          <td> Výška nad nosnou deskou </td>
98
        </tr>
99
      </table>
100

  
101
      <h1> Popis konstrukce </h1>
102

  
103
      <h2> Úvodem </h2>
104

  
105
      <p>
106
        Jedná se o standardní modul pro procesory AVR firmy ATMEL v pouzdru
107
        TQFP32. Kromě ATmega8 lze použít i obvody ATmega48, ATmega68, ATmega88
108
        a případně další.
109
      </p>
110

  
111
      <h2> Zapojení modulu </h2>
112

  
113
      <p>
114
        Modul je napájen přes napájecí konektor J33. Dioda D1 slouží jako
115
        ochrana před přepólováním zdroje (předpokládá se, že zdroj má proudové
116
        omezení cca 1A). Tlumivka L1 s kondenzátorem C3 slouží jako filtr
117
        napájení pro A/D převodník v procesoru. Kondenzátor C6 slouží k
118
        filtraci referenčního napětí.
119
      </p>
120

  
121
      <p>
122
        <img width="683" height="599" src="Pictures/image002.gif"
123
         alt="Schéma modulu">
124
      </p>
125

  
126
      <p>
127
        Zdrojem hodinového kmitočtu procesoru může být:
128
      </p>
129

  
130
      <ul>
131
        <li> Vnitřní RC oscilátor (defaultní nastavení nového procesoru, kmitočet 1MHz) </li>
132
        <li>Vnější krystalový oscilátor s krystalem X1 nebo X2 (hodinkový krystal) </li>
133
        <li>Vnější RC oscilátor R3/C5 </li>
134
        <li>Zdroj vnějšího hodinového signálu na vývod XTAL1 </li>
135
      </ul>
136
      
137
      <p>
138
        Zdroj hodinového kmitočtu a konfigurace (frekvenční rozsah) oscilátoru
139
        se volí programováním konfiguračního slova procesoru. Nový procesor
140
        přichází s nastavením interní RC oscilátor s nastavením frekvence na
141
        1MHz.
142
      </p>
143
      
144
      <p>
145
        Firma ATMEL definovala dvě „standardní“ zapojení programovacího ISP
146
        konektoru. Modul používá menší verzi se 6 vývody.
147
      </p>
148
      
149
      <h2> Mechanická konstrukce </h2>
150
      
151
      <p>
152
        Jedná se o standardní modul do stavebnice s upevňovacími rohovými
153
        sloupky.
154
      </p>
155
      
156
      <h1> Osazení a oživení </h1>
157
      
158
      <h2> Osazení </h2>
159
      
160
      <p>
161
        Při osazování procesoru použijte minimum pájky. V případě, že nemáte
162
        vhodné vybavení je nejsnazší plošky pro procesor předem pocínovat (co
163
        nejméně) a pak přiložený procesor nejprve přichytit za dvě protilehlé
164
        nožičky. Další pájka se již přidávat nemusí. Zbylé vývody stačí jeden
165
        po druhém připájet. V případě, že je k dispozici jen pistolová páječka
166
        používá se smyčka ze zvonkového drátu (průměr drátu cca 0.8mm).
167
      </p>
168
      
169
      <p>
170
        Krystal je možné buď osadit rovnou na desku (pokud víme předem jakou
171
        budeme potřebovat frekvenci) nebo se osadí jen dutinky z precizní
172
        patice do kterých se pak dá zasunout krystal dle potřeby.
173
      </p>
174
      
175
      <p>
176
        Na desce jsou 2 krátké drátové propojky.
177
      </p>
178
      
179
      <p>
180
        SMD tlumivku je možné v nouzi nahradit propojkou nebo tlumivkou
181
        obyčejnou. Zhorší se tím šum A/D převodníku.
182
      </p>
183
      
184
      <p>
185
        <img width="321" height="321" src="Pictures/image003.jpg"
186
         alt="Osazení, strana spojů">
187
        <img width="321" height="320" src="Pictures/image004.jpg"
188
         alt="Osazení, strana součástí">
189
      </p>
190
      
191
      <table class="Rospiska">
192
        <tr>
193
          <th colspan="2"> Odpory </th>
194
        </tr>
195
        <tr>
196
          <td> R1 </td>
197
          <td> 100 </td>
198
        </tr>
199
        <tr>
200
          <td> R2, R101, R102, R103 </td>
201
          <td> 10k </td>
202
        </tr>
203
        <tr>
204
          <td> R3 </td>
205
          <td> neosazuje se </td>
206
        </tr>
207
        <tr>
208
          <th colspan="2"> Keramické kondenzátory </th>
209
        </tr>
210
        <tr>
211
          <td> C4, C5 </td>
212
          <td> 22pF </td>
213
        </tr>
214
        <tr>
215
          <td> C101, C102, C103 </td>
216
          <td> 10nF </td>
217
        </tr>
218
        <tr>
219
          <td> C2, C3, C6, C7 </td>
220
          <td> 100nF </td>
221
        </tr>
222
        <tr>
223
          <th colspan="2"> Elektrolytické kondenzátory </th>
224
        </tr>
225
        <tr>
226
          <td> C1 </td>
227
          <td> 22uF/6.3V </td>
228
        </tr>
229
        <tr>
230
          <th colspan="2"> Indukčnosti </th>
231
        </tr>
232
        <tr>
233
          <td> L1 </td>
234
          <td> 10uH </td>
235
        </tr>
236
        <tr>
237
          <th colspan="2"> Diody </th>
238
        </tr>
239
        <tr>
240
          <td> D1 </td>
241
          <td> 1N4007SMD </td>
242
        </tr>
243
        <tr>
244
          <th colspan="2"> Integrované obvody </th>
245
        </tr>
246
        <tr>
247
          <td> U1 </td>
248
          <td> ATmega8L-8AU </td>
249
        </tr>
250
        <tr>
251
          <th colspan="2"> Krystaly </th>
252
        </tr>
253
        <tr>
254
          <td> X1 </td>
255
          <td> 8MHz </td>
256
        </tr>
257
        <tr>
258
          <td> X2 </td>
259
          <td> #32768Hz </td>
260
        </tr>
261
        <tr>
262
          <th colspan="2"> Mechanické součástky </th>
263
        </tr>
264
        <tr>
265
          <td> J1..J8, J9..J16, J17..J24, J25..J32 </td>
266
          <td> JUMP2x8 </td>
267
        </tr>
268
        <tr>
269
          <td> J33, J35 </td>
270
          <td> JUMP2X3 </td>
271
        </tr>
272
        <tr>
273
          <td> J101+J103+J105, J102+J104+J106, J107+J109+J111, J108+J110+J112 </td>
274
          <td> JUMP3 </td>
275
        </tr>
276
        <tr>
277
          <td> SW1 </td>
278
          <td> P-B1720 </td>
279
        </tr>
280
        <tr>
281
          <th colspan="2"> Konstrukční součástky </th>
282
        </tr>
283
        <tr>
284
          <td> 4ks </td>
285
          <td> Šroub M3x12 křížový s válcovou hlavou </td>
286
        </tr>
287
        <tr>
288
          <td> 4ks </td>
289
          <td> Podložka M3 </td>
290
        </tr>
291
        <tr>
292
          <td> 4ks </td>
293
          <td> Distanční sloupek M3x5 </td>
294
        </tr>
295
      </table>
296

  
297
      <h1> Konfigurační slova ATmega8 </h1>
298
      
299
      <h2> <span lang="en">Low Fuse Byte</span> </h2>
300
      
301
      <table>
302
        <tr>
303
          <th> Bit </th>
304
          <th> Jméno </th>
305
          <th> Default </th>
306
          <th> Význam </th>
307
        </tr>
308
        <tr>
309
          <td> 7 </td>
310
          <td> BODLEVEL </td>
311
          <td> 1 </td>
312
          <td>
313
            <p>
314
              <span lang="en">Brown Out Detect Level</span> – úroveň napětí detekce podpětí
315
            </p>
316
            <p>
317
              0 <span lang="en">reset</span> při 2.4 až 2.9V<br>
318
              1 <span lang="en">reset</span> při 3.7 až 4.5V
319
            </p>
320
          </td>
321
        </tr>
322
        <tr>
323
          <td> 6 </td>
324
          <td> BODEN </td>
325
          <td> 1 </td>
326
          <td>
327
            <p>
328
              <span lang="en">Brown Out Detect</span> – detekce podpětí
329
            </p>
330
            <p>
331
              0 aktivována<br>
332
              1 neaktivní
333
            </p>
334
          </td>
335
        </tr>
336
        <tr>
337
          <td> 5 4 </td>
338
          <td> SUT1 <br>
339
               SUT0 </td>
340
          <td> 10 </td>
341
          <td>
342
            <p>
343
              <span lang="en">Start Up Timer</span> – volba zpoždění startu
344
            </p>
345
            <p>
346
              Funkce závisí na režimu hodin CKSEL
347
            </p>
348
          </td>
349
        </tr>
350
        <tr>
351
          <td> 3 2 1 0 </td>
352
          <td> CKSEL3 <br>
353
               CKSEL2 <br>
354
               CKSEL1 <br>
355
               CKSEL0 </td>
356
          <td> 0001 </td>
357
          <td>
358
            <p>
359
              Clock Select – volba zdroje hodin
360
            </p>
361
            <p>
362
              0000 – externí hodiny
363
            </p>
364
            <p>
365
              0001 – interní RC oscilátor 1 MHz<br>
366
              0010 – interní RC oscilátor 2 MHz<br>
367
              0011 – interní RC oscilátor 4 MHz<br>
368
              0100 – interní RC oscilátor 8 MHz
369
            </p>
370
            <p>
371
              0101 – externí RC oscilátor 0.1 až 0.9 MHz<br>
372
              0110 – externí RC oscilátor 0.9 až 3.0 MHz<br>
373
              0111 – externí RC oscilátor 3.0 až 8.0 MHz<br>
374
              1000 – externí RC oscilátor 8.0 až 12.0 MHz
375
            </p>
376
            <p>
377
              101x – <span lang="en">Low Power XTAL</span> 0.4 až 0.9MHz pro CKOPT=1<br>
378
              110x – <span lang="en">Low Power XTAL</span> 0.9 až 3.0MHz pro CKOPT=1<br>
379
              111x – <span lang="en">Low Power XTAL</span> 3.0 až 8.0MHz pro CKOPT=1
380
            </p>
381
            <p>
382
              101x – XTAL nad 1.0 MHz pro CKOPT=0<br>
383
              110x – XTAL nad 1.0 MHz pro CKOPT=0<br>
384
              111x – XTAL nad 1.0 MHz pro CKOPT=0
385
            </p>
386
          </td>
387
        </tr>
388
      </table>
389
      
390
      <h2> <span lang="en">High Fuse Byte</span> </h2>
391
      
392
      <table>
393
        <tr>
394
          <th> Bit </th>
395
          <th> Jméno </th>
396
          <th> Default </th>
397
          <th> Význam </th>
398
        </tr>
399
        <tr>
400
          <td> 7 </td>
401
          <td> RSTDISBL </td>
402
          <td> 1 </td>
403
          <td>
404
            <p>
405
              <span lang="en">Reset Disable</span> – vypnutí funkce
406
              <span lang="en">reset</span> nožičky PC6/RESET#
407
            </p>
408
            <p>
409
              0 PC6 je běžná IO nožička<br>
410
              1 PC6 je signál RESET#
411
            </p>
412
          </td>
413
        </tr>
414
        <tr>
415
          <td> 6 </td>
416
          <td> WDTON </td>
417
          <td> 1 </td>
418
          <td>
419
            <p>
420
              <span lang="en">Watch Dog Timer</span> – hlídač zaseknutí programu
421
            </p>
422
            <p>
423
              0 <span lang="en">Watch Dog Timer</span> nelze vypnout (je trvale zapnutý)<br>
424
              1 <span lang="en">Watch Dog Timer</span> lze zapnout i vypnout pomocí WDTCR
425
            </p>
426
          </td>
427
        </tr>
428
        <tr>
429
          <td> 5 </td>
430
          <td> SPIEN </td>
431
          <td> 0 </td>
432
          <td>
433
            <p>
434
              <span lang="en">Serial Programming Enable</span> – povolení sériového programování
435
            </p>
436
            <p>
437
              0 sériové programování povoleno<br>
438
              1 sériové programování zakázáno
439
            </p>
440
          </td>
441
        </tr>
442
        <tr>
443
          <td> 4 </td>
444
          <td> CKOPT </td>
445
          <td> 1 </td>
446
          <td>
447
            <p>
448
              Clock Option – režim oscilátoru
449
            </p>
450
            <p>
451
              0 výkonový výstup (například pro rychlé krystaly)<br>
452
              1 malý rozkmit signálu (menší spotřeba)
453
            </p>
454
          </td>
455
        </tr>
456
        <tr>
457
          <td> 3 </td>
458
          <td> EESAVE </td>
459
          <td> 1 </td>
460
          <td>
461
            <p>
462
              EEPROM Save – úschova obsahu EEPROM při mazání čipu
463
            </p>
464
            <p>
465
              0 Obsah EEPROM se zachovává<br>
466
              1 Obsah EEPROM se nezachovává
467
            </p>
468
          </td>
469
        </tr>
470
        <tr>
471
          <td> 2 1 </td>
472
          <td> BOOTSZ1 <br>
473
               BOOTSZ0 </td>
474
          <td> 00 </td>
475
          <td>
476
            <p>
477
              <span lang="en">Boot Size</span> – velikost paměti programu vyhrazené pro
478
              <span lang="en">Boot Loader</span>
479
            </p>
480
            <p>
481
              11 <span lang="en">Boot</span> oblast 128B (od adresy 0xF80)<br>
482
              10 <span lang="en">Boot</span> oblast 256B (od adresy 0xF00)<br>
483
              01 <span lang="en">Boot</span> oblast 512B (od adresy 0xE00)<br>
484
              00 <span lang="en">Boot</span> oblast 1024B (od adresy 0xC00)
485
            </p>
486
          </td>
487
        </tr>
488
        <tr>
489
          <td> 0 </td>
490
          <td> BOOTRST </td>
491
          <td> 1 </td>
492
          <td>
493
            <p>
494
              <span lang="en">Boot Reset</span> – volba zda se startuje
495
              <span lang="en">Boot Loader</span>
496
            </p>
497
            <p>
498
              0 Po resetu se aktivuje <span lang="en">Boot Loader</span>,
499
              adresa viz BOTTSZ1..0<br>
500
              1 Po resetu program začíná od adresy 0
501
            </p>
502
          </td>
503
        </tr>
504
      </table>
505

  
506
      <h2> <span lang="en">Lock Byte</span> </h2>
507
      
508
      <table>
509
        <tr>
510
          <th> Bit </th>
511
          <th> Jméno </th>
512
          <th> Default </th>
513
          <th> Význam </th>
514
        </tr>
515
        <tr>
516
          <td> 5 4 </td>
517
          <td> BLB12 <br>
518
               BLB11 </td>
519
          <td> 11 </td>
520
          <td>
521
            <p>
522
              <span lang="en">Boot Lock</span> – zámek oblasti zavaděče (<span lang="en">Boot Loader</span>)
523
            </p>
524
            <p>
525
              11 odemčeno, není omezení<br>
526
              10 zákaz zápisu do paměti zavaděče<br>
527
              01 aplikace nesmí číst zavaděč<br>
528
              00 oba zákazy
529
            </p>
530
          </td>
531
        </tr>
532
        <tr>
533
          <td> 3 2 </td>
534
          <td> BLB02 <br>
535
               BLB01 </td>
536
          <td> 11 </td>
537
          <td>
538
            <p>
539
              <span lang="en">Boot Lock</span> – zámek oblasti uživatelského programu
540
            </p>
541
            <p>
542
              11 odemčeno, není omezení<br>
543
              10 zákaz zápisu do paměti uživatelského programu<br>
544
              01 zavaděč nesmí číst uživatelský program<br>
545
              00 oba zákazy
546
            </p>
547
          </td>
548
        </tr>
549
        <tr>
550
          <td> 1 0 </td>
551
          <td> LB2 <br>
552
               LB1 </td>
553
          <td> 11 </td>
554
          <td>
555
            <p>
556
              Lock – zámek paměti
557
            </p>
558
            <p>
559
              11 paměť je odemčená<br>
560
              10 je zamčená paměť programu i EEPROM<br>
561
              00 je zamčeno vše včetně konfigurační oblasti
562
            </p>
563
          </td>
564
        </tr>
565
      </table>
566
      
567
      <h2> <span lang="en">Calibration Bytes</span> </h2>
568
      
569
      <p>
570
        Kalibrační bajty jsou celkem 4 za sebou pro 4 frekvence interního RC
571
        oscilátoru. Při resetu se natahuje první z nich do OSCCAL . Kalibrační
572
        bajty nejsou dostupné uživatelskému programu. V případě potřeby se musí
573
        programátorem přečíst a zapsat někam jinam (EEPROM nebo paměti
574
        programu).
575
      </p>
576
      
577
      <table>
578
        <tr>
579
          <th> Hodnota </th>
580
          <th> Minimální frekvence </th>
581
          <th> Maximální frekvence </th>
582
        </tr>
583
        <tr>
584
          <td> 0x00 </td>
585
          <td> 50% </td>
586
          <td> 100% </td>
587
        </tr>
588
        <tr>
589
          <td> 0x7F </td>
590
          <td> 75% </td>
591
          <td> 150% </td>
592
        </tr>
593
        <tr>
594
          <td> 0xFF </td>
595
          <td> 100% </td>
596
          <td> 200% </td>
597
        </tr>
598
      </table>
599

  
600
      <h2> <span lang="en">Signature Bytes</span> </h2>
601
      
602
      <p>
603
        Signatura součástky je 0x1E (ATMEL) 0x93 (8KB FLASH) 0x07 (ATmega8).
604
      </p>
605
      
606
      <h1> Ukázkový program </h1>
607
      
608
      <p>
609
        Bliknutí LED diodou je základ. Tady je ukázka.
610
      </p>
611

  
612
      <p>
613
        <code>
614
          #define F_CPU 1000000UL // 1MHz je deaultni frekvence interniho
615
                                  // RC oscilatoru
616
          #include &lt;avr/io.h&gt;
617
          #include &lt;avr/delay.h&gt;
618
          &nbsp;
619
          // Spozdeni o libovolny pocet ms
620
          void xDelay_ms(unsigned int Time)
621
          {
622
            for(;Time!=0;Time--)
623
              _delay_ms(1);       // Knihovni procedura ma velmi omezen
624
            }                     // maximalni cas spozdeni
625
          &nbsp;
626
          // Hlavni program
627
          int main()
628
          &nbsp;
629
          {
630
            DDRC |=1;             // Nastav port PCD0 jako vystup
631
            for(;;)               // Nekonecna smycka
632
            {
633
              PORTC |= 1;         // Nastav 1
634
              xDelay_ms(500);     // Pockej 1/2 sekundy
635
              PORTC &amp;= ~1;        // Nastav 0
636
              xDelay_ms(500);     // Pockej 1/2 sekundy
637
            }
638
            &nbsp;
639
            return 0;
640
          }
641
        </code>
642
      </p>
643

  
644
      <p>
645
        A takto se naprogramuje do součástky:
646
      </p>
647

  
648
      <p>
649
        <samp>avrdude -p m8 -c picoweb -P lpt1 -U flash:w:BLIK_ATmega8.hex:a -E noreset</samp>
650
      </p>
651
      
652
      <p>
653
        Zbývá připojit logickou sondu na vývod PC0.
654
      </p>
655

  
656
    </div>
657

  
658
    <!-- AUTOINCLUDE START "Page/Footer.cs.ihtml" DO NOT REMOVE -->
659
    <!-- ============== PATIČKA ============== -->
660
    <div class="Footer">
661
      <script type="text/javascript">
662
      <!--
663
        SetRelativePath("../../../../../");
664
        DrawFooter();
665
      // -->
666
      </script>
667
      <noscript>
668
        <p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p>
669
      </noscript>
670
    </div>
671
    <!-- AUTOINCLUDE END -->
672

  
673
  </body>
674
</html>
Modules/ATmega8/ATmega801A/DOC/HTML/ATMEGA801A_KAKL.cs.html
1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3c.org/TR/html4/strict.dtd">
2
<html>
3
  <head>
4
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
5
    <title> ATmega801A </title>
6
    <meta name="keywords" content="stavebnice MLAB modul procesoru ATMEL ATmega8">
7
    <meta name="description" content="Projekt MLAB, modul procesoru ATMEL ATmega8">
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="shortcut icon" type="image/x-icon" href="../../../../../Web/PIC/MLAB.ico">
11
    <script type="text/javascript" src="../../../../../Web/JS/MLAB_Menu.js"></script>
12
    <!-- AUTOINCLUDE END -->
13
  </head>
14

  
15
  <body lang="cs">
16

  
17
    <!-- AUTOINCLUDE START "Page/Header.cs.ihtml" DO NOT REMOVE -->
18
    <!-- ============== HLAVICKA ============== -->
19
    <div class="Header">
20
      <script type="text/javascript">
21
      <!--
22
        SetRelativePath("../../../../../");
23
        DrawHeader();
24
      // -->
25
      </script>
26
      <noscript>
27
        <p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p>
28
      </noscript>
29
    </div>
30
    <!-- AUTOINCLUDE END -->
31

  
32
    <!-- AUTOINCLUDE START "Page/Menu.cs.ihtml" DO NOT REMOVE -->
33
    <!-- ============== MENU ============== -->
34
    <div class="Menu">
35
      <script type="text/javascript">
36
      <!--
37
        SetRelativePath("../../../../../");
38
        DrawMenu();
39
      // -->
40
      </script>
41
      <noscript>
42
        <p><b> Pro zobrazení (vložení) menu je potřeba JavaScript </b></p>
43
      </noscript>
44
    </div>
45
    <!-- AUTOINCLUDE END -->
46

  
47
    <!-- ============== TEXT ============== -->
48
    <div class="Text">
49
      <p class="Title">
50
        Atmega801A – modul procesoru Atmega8
51
      </p>
52
      <p class=Autor>
53
        Milan Horkel
54
      </p>
55
      <p class="Subtitle">
56
        Procesorový modul pro práci s procesorem ATMEL Atmega8 v pouzdru
57
        TQFP32. Modul obsahuje procesor a může být osazen krystalem standardní
58
        velikosti nebo hodinkovým krystalem 32768Hz. Modul je dále vybaven
59
        tlačítkem RESET a programovacím konektorem ATMEL ISP 6 PIN.
60
      </p>
61
      <p class="Subtitle">
62
        <img width="324" height="324" src="Pictures/image001.jpg"
63
         alt="Modul procesoru ATmega8">
64
      </p>
65
      <p>
66
        <a href="../ATmega801A.cs.pdf"><img class="NoBorder"
67
           src="../../../../../Web/PIC/FileIco_PDF.ico"
68
           alt="Acrobat">&nbsp;PDF verze</a>
69
      </p>
70

  
71
      <h1> Technické parametry </h1>
72
      
73
      <table>
74
        <tr>
75
          <th> Parametr </th>
76
          <th> Hodnota  </th>
77
          <th> Poznámka </th>
78
        </tr>
79
        <tr>
80
          <td> Napájení </td>
81
          <td> (1.8V) .. 2.7V .. 5.5V </td>
82
          <td> Dle použitého procesoru </td>
83
        </tr>
84
        <tr>
85
          <td> Procesor </td>
86
          <td> ATmega8 / ATmega8L </td>
87
          <td> Nebo jiný v pouzdru TQFP32 </td>
88
        </tr>
89
        <tr>
90
          <td> Spotřeba </td>
91
          <td> 12mA </td>
92
          <td> Při 8MHz s krystalem </td>
93
        </tr>
94
        <tr>
95
          <td> Rozměry </td>
96
          <td> 51x51x15mm </td>
97
          <td> Výška nad nosnou deskou </td>
98
        </tr>
99
      </table>
100

  
101
      <h1> Popis konstrukce </h1>
102

  
103
      <h2> Úvodem </h2>
104

  
105
      <p>
106
        Jedná se o standardní modul pro procesory AVR firmy ATMEL v pouzdru
107
        TQFP32. Kromě ATmega8 lze použít i obvody ATmega48, ATmega68, ATmega88
108
        a případně další.
109
      </p>
110

  
111
      <h2> Zapojení modulu </h2>
112

  
113
      <p>
114
        Modul je napájen přes napájecí konektor J33. Dioda D1 slouží jako
115
        ochrana před přepólováním zdroje (předpokládá se, že zdroj má proudové
116
        omezení cca 1A). Tlumivka L1 s kondenzátorem C3 slouží jako filtr
117
        napájení pro A/D převodník v procesoru. Kondenzátor C6 slouží k
118
        filtraci referenčního napětí.
119
      </p>
120

  
121
      <p>
122
        <img width="683" height="599" src="Pictures/image002.gif"
123
         alt="Schéma modulu">
124
      </p>
125

  
126
      <p>
127
        Zdrojem hodinového kmitočtu procesoru může být:
128
      </p>
129

  
130
      <ul>
131
        <li> Vnitřní RC oscilátor (defaultní nastavení nového procesoru, kmitočet 1MHz) </li>
132
        <li>Vnější krystalový oscilátor s krystalem X1 nebo X2 (hodinkový krystal) </li>
133
        <li>Vnější RC oscilátor R3/C5 </li>
134
        <li>Zdroj vnějšího hodinového signálu na vývod XTAL1 </li>
135
      </ul>
136
      
137
      <p>
138
        Zdroj hodinového kmitočtu a konfigurace (frekvenční rozsah) oscilátoru
139
        se volí programováním konfiguračního slova procesoru. Nový procesor
140
        přichází s nastavením interní RC oscilátor s nastavením frekvence na
141
        1MHz.
142
      </p>
143
      
144
      <p>
145
        Firma ATMEL definovala dvě „standardní“ zapojení programovacího ISP
146
        konektoru. Modul používá menší verzi se 6 vývody.
147
      </p>
148
      
149
      <h2> Mechanická konstrukce </h2>
150
      
151
      <p>
152
        Jedná se o standardní modul do stavebnice s upevňovacími rohovými
153
        sloupky.
154
      </p>
155
      
156
      <h1> Osazení a oživení </h1>
157
      
158
      <h2> Osazení </h2>
159
      
160
      <p>
161
        Při osazování procesoru použijte minimum pájky. V případě, že nemáte
162
        vhodné vybavení je nejsnazší plošky pro procesor předem pocínovat (co
163
        nejméně) a pak přiložený procesor nejprve přichytit za dvě protilehlé
164
        nožičky. Další pájka se již přidávat nemusí. Zbylé vývody stačí jeden
165
        po druhém připájet. V případě, že je k dispozici jen pistolová páječka
166
        používá se smyčka ze zvonkového drátu (průměr drátu cca 0.8mm).
167
      </p>
168
      
169
      <p>
170
        Krystal je možné buď osadit rovnou na desku (pokud víme předem jakou
171
        budeme potřebovat frekvenci) nebo se osadí jen dutinky z precizní
172
        patice do kterých se pak dá zasunout krystal dle potřeby.
173
      </p>
174
      
175
      <p>
176
        Na desce jsou 2 krátké drátové propojky.
177
      </p>
178
      
179
      <p>
180
        SMD tlumivku je možné v nouzi nahradit propojkou nebo tlumivkou
181
        obyčejnou. Zhorší se tím šum A/D převodníku.
182
      </p>
183
      
184
      <p>
185
        <img width="321" height="321" src="Pictures/image003.jpg"
186
         alt="Osazení, strana spojů">
187
        <img width="321" height="320" src="Pictures/image004.jpg"
188
         alt="Osazení, strana součástí">
189
      </p>
190
      
191
      <table class="Rospiska">
192
        <tr>
193
          <th colspan="2"> Odpory </th>
194
        </tr>
195
        <tr>
196
          <td> R1 </td>
197
          <td> 100 </td>
198
        </tr>
199
        <tr>
200
          <td> R2, R101, R102, R103 </td>
201
          <td> 10k </td>
202
        </tr>
203
        <tr>
204
          <td> R3 </td>
205
          <td> neosazuje se </td>
206
        </tr>
207
        <tr>
208
          <th colspan="2"> Keramické kondenzátory </th>
209
        </tr>
210
        <tr>
211
          <td> C4, C5 </td>
212
          <td> 22pF </td>
213
        </tr>
214
        <tr>
215
          <td> C101, C102, C103 </td>
216
          <td> 10nF </td>
217
        </tr>
218
        <tr>
219
          <td> C2, C3, C6, C7 </td>
220
          <td> 100nF </td>
221
        </tr>
222
        <tr>
223
          <th colspan="2"> Elektrolytické kondenzátory </th>
224
        </tr>
225
        <tr>
226
          <td> C1 </td>
227
          <td> 22uF/6.3V </td>
228
        </tr>
229
        <tr>
230
          <th colspan="2"> Indukčnosti </th>
231
        </tr>
232
        <tr>
233
          <td> L1 </td>
234
          <td> 10uH </td>
235
        </tr>
236
        <tr>
237
          <th colspan="2"> Diody </th>
238
        </tr>
239
        <tr>
240
          <td> D1 </td>
241
          <td> 1N4007SMD </td>
242
        </tr>
243
        <tr>
244
          <th colspan="2"> Integrované obvody </th>
245
        </tr>
246
        <tr>
247
          <td> U1 </td>
248
          <td> ATmega8L-8AU </td>
249
        </tr>
250
        <tr>
251
          <th colspan="2"> Krystaly </th>
252
        </tr>
253
        <tr>
254
          <td> X1 </td>
255
          <td> 8MHz </td>
256
        </tr>
257
        <tr>
258
          <td> X2 </td>
259
          <td> #32768Hz </td>
260
        </tr>
261
        <tr>
262
          <th colspan="2"> Mechanické součástky </th>
263
        </tr>
264
        <tr>
265
          <td> J1..J8, J9..J16, J17..J24, J25..J32 </td>
266
          <td> JUMP2x8 </td>
267
        </tr>
268
        <tr>
269
          <td> J33, J35 </td>
270
          <td> JUMP2X3 </td>
271
        </tr>
272
        <tr>
273
          <td> J101+J103+J105, J102+J104+J106, J107+J109+J111, J108+J110+J112 </td>
274
          <td> JUMP3 </td>
275
        </tr>
276
        <tr>
277
          <td> SW1 </td>
278
          <td> P-B1720 </td>
279
        </tr>
280
        <tr>
281
          <th colspan="2"> Konstrukční součástky </th>
282
        </tr>
283
        <tr>
284
          <td> 4ks </td>
285
          <td> Šroub M3x12 křížový s válcovou hlavou </td>
286
        </tr>
287
        <tr>
288
          <td> 4ks </td>
289
          <td> Podložka M3 </td>
290
        </tr>
291
        <tr>
292
          <td> 4ks </td>
293
          <td> Distanční sloupek M3x5 </td>
294
        </tr>
295
      </table>
296

  
297
      <h1> Konfigurační slova ATmega8 </h1>
298
      
299
      <h2> <span lang="en">Low Fuse Byte</span> </h2>
300
      
301
      <table>
302
        <tr>
303
          <th> Bit </th>
304
          <th> Jméno </th>
305
          <th> Default </th>
306
          <th> Význam </th>
307
        </tr>
308
        <tr>
309
          <td> 7 </td>
310
          <td> BODLEVEL </td>
311
          <td> 1 </td>
312
          <td>
313
            <p>
314
              <span lang="en">Brown Out Detect Level</span> – úroveň napětí detekce podpětí
315
            </p>
316
            <p>
317
              0 <span lang="en">reset</span> při 2.4 až 2.9V<br>
318
              1 <span lang="en">reset</span> při 3.7 až 4.5V
319
            </p>
320
          </td>
321
        </tr>
322
        <tr>
323
          <td> 6 </td>
324
          <td> BODEN </td>
325
          <td> 1 </td>
326
          <td>
327
            <p>
328
              <span lang="en">Brown Out Detect</span> – detekce podpětí
329
            </p>
330
            <p>
331
              0 aktivována<br>
332
              1 neaktivní
333
            </p>
334
          </td>
335
        </tr>
336
        <tr>
337
          <td> 5 4 </td>
338
          <td> SUT1 <br>
339
               SUT0 </td>
340
          <td> 10 </td>
341
          <td>
342
            <p>
343
              <span lang="en">Start Up Timer</span> – volba zpoždění startu
344
            </p>
345
            <p>
346
              Funkce závisí na režimu hodin CKSEL
347
            </p>
348
          </td>
349
        </tr>
350
        <tr>
351
          <td> 3 2 1 0 </td>
352
          <td> CKSEL3 <br>
353
               CKSEL2 <br>
354
               CKSEL1 <br>
355
               CKSEL0 </td>
356
          <td> 0001 </td>
357
          <td>
358
            <p>
359
              Clock Select – volba zdroje hodin
360
            </p>
361
            <p>
362
              0000 – externí hodiny
363
            </p>
364
            <p>
365
              0001 – interní RC oscilátor 1 MHz<br>
366
              0010 – interní RC oscilátor 2 MHz<br>
367
              0011 – interní RC oscilátor 4 MHz<br>
368
              0100 – interní RC oscilátor 8 MHz
369
            </p>
370
            <p>
371
              0101 – externí RC oscilátor 0.1 až 0.9 MHz<br>
372
              0110 – externí RC oscilátor 0.9 až 3.0 MHz<br>
373
              0111 – externí RC oscilátor 3.0 až 8.0 MHz<br>
374
              1000 – externí RC oscilátor 8.0 až 12.0 MHz
375
            </p>
376
            <p>
377
              101x – <span lang="en">Low Power XTAL</span> 0.4 až 0.9MHz pro CKOPT=1<br>
378
              110x – <span lang="en">Low Power XTAL</span> 0.9 až 3.0MHz pro CKOPT=1<br>
379
              111x – <span lang="en">Low Power XTAL</span> 3.0 až 8.0MHz pro CKOPT=1
380
            </p>
381
            <p>
382
              101x – XTAL nad 1.0 MHz pro CKOPT=0<br>
383
              110x – XTAL nad 1.0 MHz pro CKOPT=0<br>
384
              111x – XTAL nad 1.0 MHz pro CKOPT=0
385
            </p>
386
          </td>
387
        </tr>
388
      </table>
389
      
390
      <h2> <span lang="en">High Fuse Byte</span> </h2>
391
      
392
      <table>
393
        <tr>
394
          <th> Bit </th>
395
          <th> Jméno </th>
396
          <th> Default </th>
397
          <th> Význam </th>
398
        </tr>
399
        <tr>
400
          <td> 7 </td>
401
          <td> RSTDISBL </td>
402
          <td> 1 </td>
403
          <td>
404
            <p>
405
              <span lang="en">Reset Disable</span> – vypnutí funkce
406
              <span lang="en">reset</span> nožičky PC6/RESET#
407
            </p>
408
            <p>
409
              0 PC6 je běžná IO nožička<br>
410
              1 PC6 je signál RESET#
411
            </p>
412
          </td>
413
        </tr>
414
        <tr>
415
          <td> 6 </td>
416
          <td> WDTON </td>
417
          <td> 1 </td>
418
          <td>
419
            <p>
420
              <span lang="en">Watch Dog Timer</span> – hlídač zaseknutí programu
421
            </p>
422
            <p>
423
              0 <span lang="en">Watch Dog Timer</span> nelze vypnout (je trvale zapnutý)<br>
424
              1 <span lang="en">Watch Dog Timer</span> lze zapnout i vypnout pomocí WDTCR
425
            </p>
426
          </td>
427
        </tr>
428
        <tr>
429
          <td> 5 </td>
430
          <td> SPIEN </td>
431
          <td> 0 </td>
432
          <td>
433
            <p>
434
              <span lang="en">Serial Programming Enable</span> – povolení sériového programování
435
            </p>
436
            <p>
437
              0 sériové programování povoleno<br>
438
              1 sériové programování zakázáno
439
            </p>
440
          </td>
441
        </tr>
442
        <tr>
443
          <td> 4 </td>
444
          <td> CKOPT </td>
445
          <td> 1 </td>
446
          <td>
447
            <p>
448
              Clock Option – režim oscilátoru
449
            </p>
450
            <p>
451
              0 výkonový výstup (například pro rychlé krystaly)<br>
452
              1 malý rozkmit signálu (menší spotřeba)
453
            </p>
454
          </td>
455
        </tr>
456
        <tr>
457
          <td> 3 </td>
458
          <td> EESAVE </td>
459
          <td> 1 </td>
460
          <td>
461
            <p>
462
              EEPROM Save – úschova obsahu EEPROM při mazání čipu
463
            </p>
464
            <p>
465
              0 Obsah EEPROM se zachovává<br>
466
              1 Obsah EEPROM se nezachovává
467
            </p>
468
          </td>
469
        </tr>
470
        <tr>
471
          <td> 2 1 </td>
472
          <td> BOOTSZ1 <br>
473
               BOOTSZ0 </td>
474
          <td> 00 </td>
475
          <td>
476
            <p>
477
              <span lang="en">Boot Size</span> – velikost paměti programu vyhrazené pro
478
              <span lang="en">Boot Loader</span>
479
            </p>
480
            <p>
481
              11 <span lang="en">Boot</span> oblast 128B (od adresy 0xF80)<br>
482
              10 <span lang="en">Boot</span> oblast 256B (od adresy 0xF00)<br>
483
              01 <span lang="en">Boot</span> oblast 512B (od adresy 0xE00)<br>
484
              00 <span lang="en">Boot</span> oblast 1024B (od adresy 0xC00)
485
            </p>
486
          </td>
487
        </tr>
488
        <tr>
489
          <td> 0 </td>
490
          <td> BOOTRST </td>
491
          <td> 1 </td>
492
          <td>
493
            <p>
494
              <span lang="en">Boot Reset</span> – volba zda se startuje
495
              <span lang="en">Boot Loader</span>
496
            </p>
497
            <p>
498
              0 Po resetu se aktivuje <span lang="en">Boot Loader</span>,
499
              adresa viz BOTTSZ1..0<br>
500
              1 Po resetu program začíná od adresy 0
501
            </p>
502
          </td>
503
        </tr>
504
      </table>
505

  
506
      <h2> <span lang="en">Lock Byte</span> </h2>
507
      
508
      <table>
509
        <tr>
510
          <th> Bit </th>
511
          <th> Jméno </th>
512
          <th> Default </th>
513
          <th> Význam </th>
514
        </tr>
515
        <tr>
516
          <td> 5 4 </td>
517
          <td> BLB12 <br>
518
               BLB11 </td>
519
          <td> 11 </td>
520
          <td>
521
            <p>
522
              <span lang="en">Boot Lock</span> – zámek oblasti zavaděče (<span lang="en">Boot Loader</span>)
523
            </p>
524
            <p>
525
              11 odemčeno, není omezení<br>
526
              10 zákaz zápisu do paměti zavaděče<br>
527
              01 aplikace nesmí číst zavaděč<br>
528
              00 oba zákazy
529
            </p>
530
          </td>
531
        </tr>
532
        <tr>
533
          <td> 3 2 </td>
534
          <td> BLB02 <br>
535
               BLB01 </td>
536
          <td> 11 </td>
537
          <td>
538
            <p>
539
              <span lang="en">Boot Lock</span> – zámek oblasti uživatelského programu
540
            </p>
541
            <p>
542
              11 odemčeno, není omezení<br>
543
              10 zákaz zápisu do paměti uživatelského programu<br>
544
              01 zavaděč nesmí číst uživatelský program<br>
545
              00 oba zákazy
546
            </p>
547
          </td>
548
        </tr>
549
        <tr>
550
          <td> 1 0 </td>
551
          <td> LB2 <br>
552
               LB1 </td>
553
          <td> 11 </td>
554
          <td>
555
            <p>
556
              Lock – zámek paměti
557
            </p>
558
            <p>
559
              11 paměť je odemčená<br>
560
              10 je zamčená paměť programu i EEPROM<br>
561
              00 je zamčeno vše včetně konfigurační oblasti
562
            </p>
563
          </td>
564
        </tr>
565
      </table>
566
      
567
      <h2> <span lang="en">Calibration Bytes</span> </h2>
568
      
569
      <p>
570
        Kalibrační bajty jsou celkem 4 za sebou pro 4 frekvence interního RC
571
        oscilátoru. Při resetu se natahuje první z nich do OSCCAL . Kalibrační
572
        bajty nejsou dostupné uživatelskému programu. V případě potřeby se musí
573
        programátorem přečíst a zapsat někam jinam (EEPROM nebo paměti
574
        programu).
575
      </p>
576
      
577
      <table>
578
        <tr>
579
          <th> Hodnota </th>
580
          <th> Minimální frekvence </th>
581
          <th> Maximální frekvence </th>
582
        </tr>
583
        <tr>
584
          <td> 0x00 </td>
585
          <td> 50% </td>
586
          <td> 100% </td>
587
        </tr>
588
        <tr>
589
          <td> 0x7F </td>
590
          <td> 75% </td>
591
          <td> 150% </td>
592
        </tr>
593
        <tr>
594
          <td> 0xFF </td>
595
          <td> 100% </td>
596
          <td> 200% </td>
597
        </tr>
598
      </table>
599

  
600
      <h2> <span lang="en">Signature Bytes</span> </h2>
601
      
602
      <p>
603
        Signatura součástky je 0x1E (ATMEL) 0x93 (8KB FLASH) 0x07 (ATmega8).
604
      </p>
605
      
606
      <h1> Ukázkový program </h1>
607
      
608
      <p>
609
        Bliknutí LED diodou je základ. Tady je ukázka.
610
      </p>
611

  
612
      <p>
613
        <code>
614
          #define F_CPU 1000000UL // 1MHz je deaultni frekvence interniho
615
                                  // RC oscilatoru
616
          #include &lt;avr/io.h&gt;
617
          #include &lt;avr/delay.h&gt;
618
          &nbsp;
619
          // Spozdeni o libovolny pocet ms
620
          void xDelay_ms(unsigned int Time)
621
          {
622
            for(;Time!=0;Time--)
623
              _delay_ms(1);       // Knihovni procedura ma velmi omezen
624
            }                     // maximalni cas spozdeni
625
          &nbsp;
626
          // Hlavni program
627
          int main()
628
          &nbsp;
629
          {
630
            DDRC |=1;             // Nastav port PCD0 jako vystup
631
            for(;;)               // Nekonecna smycka
632
            {
633
              PORTC |= 1;         // Nastav 1
634
              xDelay_ms(500);     // Pockej 1/2 sekundy
635
              PORTC &amp;= ~1;        // Nastav 0
636
              xDelay_ms(500);     // Pockej 1/2 sekundy
637
            }
638
            &nbsp;
639
            return 0;
640
          }
641
        </code>
642
      </p>
643

  
644
      <p>
645
        A takto se naprogramuje do součástky:
646
      </p>
647

  
648
      <p>
649
        <samp>avrdude -p m8 -c picoweb -P lpt1 -U flash:w:BLIK_ATmega8.hex:a -E noreset</samp>
650
      </p>
651
      
652
      <p>
653
        Zbývá připojit logickou sondu na vývod PC0.
654
      </p>
655

  
656
    </div>
657

  
658
    <!-- AUTOINCLUDE START "Page/Footer.cs.ihtml" DO NOT REMOVE -->
659
    <!-- ============== PATIČKA ============== -->
660
    <div class="Footer">
661
      <script type="text/javascript">
662
      <!--
663
        SetRelativePath("../../../../../");
664
        DrawFooter();
665
      // -->
666
      </script>
667
      <noscript>
668
        <p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p>
669
      </noscript>
670
    </div>
671
    <!-- AUTOINCLUDE END -->
672

  
673
  </body>
674
</html>
:@created_atf1418269445.5011449Â:@expires_in0