<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title> ATtinySO801B </title>
    <meta name="keywords" content="ATMEL ATtiny mikropočítač mikrořadič modul stavebnice MLAB">
    <meta name="description" content="Modul pro procesory ATMEL ATtiny">
    <!-- AUTOINCLUDE START "Page/Head.cs.ihtml" DO NOT REMOVE -->
    <link rel="StyleSheet" href="../../../../../Web/CSS/MLAB.css" type="text/css" title="MLAB základní styl">
    <link rel="StyleSheet" href="../../../../../Web/CSS/MLAB_Print.css" type="text/css" media="print">
    <link rel="shortcut icon" type="image/x-icon" href="../../../../../Web/PIC/MLAB.ico">
    <script type="text/javascript" src="../../../../../Web/JS/MLAB_Menu.js"></script>
    <!-- AUTOINCLUDE END -->
  </head>

  <body lang="cs">

    <!-- AUTOINCLUDE START "Page/Header.cs.ihtml" DO NOT REMOVE -->
    <!-- ============== HLAVICKA ============== -->
    <div class="Header">
      <script type="text/javascript">
      <!--
        SetRelativePath("../../../../../");
        DrawHeader();
      // -->
      </script>
      <noscript>
        <p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p>
      </noscript>
    </div>
    <!-- AUTOINCLUDE END -->

    <!-- AUTOINCLUDE START "Page/Menu.cs.ihtml" DO NOT REMOVE -->
    <!-- ============== MENU ============== -->
    <div class="Menu">
      <script type="text/javascript">
      <!--
        SetRelativePath("../../../../../");
        DrawMenu();
      // -->
      </script>
      <noscript>
        <p><b> Pro zobrazení (vložení) menu je potřeba JavaScript </b></p>
      </noscript>
    </div>
    <!-- AUTOINCLUDE END -->

    <!-- ============== TEXT ============== -->
    <div class="Text">
      <p class="Title">
        Modul pro procesory ATMEL ATtiny v&nbsp;pouzdru SO8
      </p>
      <p class=Autor>
        Jakub Kákona, Milan Horkel
      </p>
      <p class="Subtitle">
        Standardní modul pro nejmenší procesory ATMEL rodiny ATtiny. Obsahuje
        jenom procesor, připojovací hřebínky, programovací konektor a tlačítko
        reset.
      </p>
      <p class="Subtitle">
        <img width="359" height="182" src="ATtinySO801B_files/image001.jpg"
          alt="Pohled ze strany součástek">
      </p>
      <p class="Subtitle">
        <img width="350" height="178" src="ATtinySO801B_files/image002.jpg"
          alt="Image">
      </p>
      <p>
        <a href="../ATtinySO801B.cs.pdf"><img class="NoBorder"
           src="../../../../../Web/PIC/FileIco_PDF.ico"
           alt="Acrobat">&nbsp;PDF verze</a>
      </p>


      <h1> Technické parametry </h1>
      
      <table>
        <tr>
          <th> Parametr </th>
          <th> Hodnota  </th>
          <th> Poznámka </th>
        </tr>
        <tr>
          <td> Procesor </td>
          <td> ATtiny v&nbsp;pouzdru SO8 </td>
          <td> Například ATtiny13V-10SU </td>
        </tr>
        <tr>
          <td> Napájení </td>
          <td> 1.8V .. 5V </td>
          <td> Dle procesoru </td>
        </tr>
        <tr>
          <td> Spotřeba </td>
          <td> 1.2&nbsp;mA&nbsp;/&nbsp;5&nbsp;V 0.4&nbsp;mA&nbsp;/&nbsp;2&nbsp;V </td>
          <td> 9.6&nbsp;MHz : 8, interní RC </td>
        </tr>
        <tr>
          <td> Programování </td>
          <td> ATMEL 6pin ISP </td>
          <td> Podpora debugWIRE </td>
        </tr>
        <tr>
          <td> Rozměry </td>
          <td> 40&nbsp;x&nbsp;20&nbsp;x&nbsp;15&nbsp;mm </td>
          <td> Výška nad základnou </td>
        </tr>
      </table>
      
      <h1> Popis konstrukce </h1>
      
      <h2> Úvodem </h2>
      
      <p>
        Standardní modul pro práci s&nbsp;nejmenšími procesory ATMEL ATtiny
        v&nbsp;pouzdru SO8. Konstrukce je natolik jednoduchá, že nevyžaduje
        další komentáře.
      </p>
      
      <h2> Zapojení modulu </h2>

      <p class="Odstavecsobrzkem">
        <img width="345" height="182" src="ATtinySO801B_files/image003.png"
          alt="Zapojení napájení">
      </p>

      <p class="Odstavecsobrzkem">
        <img width="225" height="132" src="ATtinySO801B_files/image004.png"
          alt="ISP konektor">
      </p>

      <p class="Odstavecsobrzkem">
        <img width="475" height="270" src="ATtinySO801B_files/image005.png"
          alt="Zapojení procesoru">
      </p>

      <p>
        Dioda D1 slouží jako ochrana před přepólováním napájení. Předpokládá
        se, že napájecí zdroj má „rozumné“ omezení proudu. Pozor proto napájení
        z&nbsp;akumulátorů, které dají obrovské proudy.
      </p>
      
      <p>
        Programovací konektor je standardní ATMEL šestipinový konektor.
        Procesory jsou vybaveny ladicím rozhraním debugWIRE, které používá
        signál RESET na vývodu 1. Proto se kondenzátor C3 standardně neosazuje.
      </p>
      
      <h2> Zapojení použitých IO </h2>
      
      <p>
        Každý vývod procesoru má obvykle mnoho různých funkcí, proto se
        nezapomeňte před výběrem procesoru kouknout do příslušného katalogového
        listu. Modul je obecný a je možné osadit jej různými procesory a
        postupem času se objevují další a další.
      </p>
      
      <h2> Mechanická konstrukce </h2>
      
      <p>
        Standardní modulek pro stavebnici MLAB s&nbsp;rohovými sloupky
        k&nbsp;připevnění na nosnou desku.
      </p>
      
      <h1> Osazení a oživení </h1>
      
      <h2> Osazení </h2>
      
      <p>
        <img width="472" height="238" src="ATtinySO801B_files/image006.png"
          alt="Osazení ze strany součástek">
        <img width="471" height="240" src="ATtinySO801B_files/image007.png"
          alt="Osazení ze strany spojů">
      </p>
      
      <table class="Soupiska">
        <tr>
          <th> Reference </th>
          <th> Hodnota </th>
        </tr>
        <tr>
          <th colspan="2"> Odpory </th>
        </tr>
        <tr>
          <td> R2 </td>
          <td> 100 </td>
        </tr>
        <tr>
          <td> R1 </td>
          <td> 10k </td>
        </tr>
        <tr>
          <th colspan="2"> Keramické kondenzátory </th>
        </tr>
        <tr>
          <td> C2 </td>
          <td> 100nF </td>
        </tr>
        <tr>
          <td> C3 </td>
          <td> #100nF (neosazuje se) </td>
        </tr>
        <tr>
          <th colspan="2"> Elektrolytické kondenzátory </th>
        </tr>
        <tr>
          <td> C1 </td>
          <td> 10uF/6.3V </td>
        </tr>
        <tr>
          <th colspan="2"> Diody </th>
        </tr>
        <tr>
          <td> D1 </td>
          <td> 1N4007SMD </td>
        </tr>
        <tr>
          <th colspan="2"> Integrované obvody </th>
        </tr>
        <tr>
          <td> U1 </td>
          <td> ATtiny (pouzdro SO8) </td>
        </tr>
        <tr>
          <th colspan="2"> Mechanické součástky </th>
        </tr>
        <tr>
          <td> SW1 </td>
          <td> P-B1720 </td>
        </tr>
        <tr>
          <td> J1, J4 </td>
          <td> JUMP2x3 </td>
        </tr>
        <tr>
          <td> J2, J3 </td>
          <td> JUMP2X4 </td>
        </tr>
        <tr>
          <th colspan="2"> Konstrukční součástky </th>
        </tr>
        <tr>
          <td> 4ks </td>
          <td> Šroub M3x12 </td>
        </tr>
        <tr>
          <td> 4ks </td>
          <td> Podložka M3 </td>
        </tr>
        <tr>
          <td> 4ks </td>
          <td> Sloupek M3x5 </td>
        </tr>
      </table>

      <h2> Oživení </h2>
      
      <p>
        Není co oživovat. Stačí nahrát Vaším oblíbeným programátorem program do
        procesoru a zkontrolovat funkčnost.
      </p>
      
      <p>
        Procesory této řady jsou obvykle nastaveny na interní RC oscilátor
        s&nbsp;kmitočtem 9.6MHz ale pozor s&nbsp;předděličem 1:8.
      </p>
      
      <h1> Programové vybavení </h1>
      
      <h2> Ukázkový program </h2>
      
      <p>
        Procesor bez programu je k&nbsp;ničemu. Základem je rozběhnout i ten
        nejprimitivnější program a pak už se dá vylepšovat a vylepšovat. Níže
        uvedený ukázkový program jen bliká LED diodou ale to je základ.
      </p>
      
      <h3> Zapojení </h3>
      
      <p>
        Připojte LED diodu mezi PB3 a zem (nezapomeňte dát do série
        s&nbsp;diodou odpor tak asi 330Ω). Katoda diody patří na zem.
        Nezapomeňte připojit napájení.
      </p>
      
      <h3> Přeložení programu </h3>
      
      <p>
        Otevřete AVR Studio a založte nový projekt pro Váš procesor ATtiny.
        Nakopírujte, třeba myší, zdrojový text do hlavního programu a přeložte
        (volba Build F7). Vše by mělo proběhnout bez chyby.
      </p>
      
      <h3> Programování a ladění </h3>
      
      <p>
        Otevřete debugger a nastavte v&nbsp;něm druh debuggeru a cílovou
        součástku (volba Debug/Select Platform and Device). Pokud nemáte
        hardwarový debugger nastavte simulátor. Tím se nastaví typ součástky i
        pro programátor.
      </p>
      
      <p>
        <i>Protože defaultní nastavení frekvence procesoru je 9.6MHz ale je
        nastaven interní předdělič na 1:8 je třeba u programátoru nastavit
        maximální komunikační rychlost na cca 250KHz (maximálně 1/4 frekvence
        procesoru). Tedy pokud to Vás programátor umožňuje.</i>
      </p>
      
      <p>
        Zbývá program naprogramovat do součástky. Pokud máte hardwarový
        debugger (třeba ATMEL&nbsp;Dragon) můžete program krokovat, zasahovat
        do registrů procesoru a podobně.
      </p>
      
      <p>
        <i>Ale pozor. Povolení rozhraní debugWIRE má za následek, že přestane
        fungovat ISP programování dokud debugWIRE nevypnete. Vypínač je totiž
        v&nbsp;konfiguračním slově procesoru a pamatuje se.</i>
      </p>
      
      <h3> Zdrojový text </h3>
      
      <p>
        <samp class="Block">// Program BLIK pro ATtiny

#define F_CPU 1200000UL  // 9.6MHz je deaultni frekvence interniho
                         // RC oscilatoru a default predelic 1:8

#include &lt;avr/io.h>
#include &lt;util/delay.h>  // Zpozdeni o libovolny pocet ms

void xDelay_ms(unsigned int Time)
{
  for(;Time!=0;Time--)
    _delay_ms(1);        // Knihovni procedura ma velmi omezen
}                        // maximalni cas zpozdeni

#define MASK 0x08        // Port PB3 (nekoliduje s ISP)

// Hlavni program
int main()
{
  DDRB |= MASK;                 // Nastav port PB0 jako vystup
  // Nekonecna smycka
  for(;;)
  {
    PORTB |= MASK;      // Nastav 1
    xDelay_ms(500); // Pockej 1/2 sekundy
    PORTB &= ~MASK; // Nastav 0
    xDelay_ms(500); // Pockej 1/2 sekundy
  }

  return 0;
}
</samp>
      </p>
      
    </div>

    <!-- AUTOINCLUDE START "Page/Footer.cs.ihtml" DO NOT REMOVE -->
    <!-- ============== PATIČKA ============== -->
    <div class="Footer">
      <script type="text/javascript">
      <!--
        SetRelativePath("../../../../../");
        DrawFooter();
      // -->
      </script>
      <noscript>
        <p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p>
      </noscript>
    </div>
    <!-- AUTOINCLUDE END -->

  </body>
</html>