<!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 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"> 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 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 mA / 5 V 0.4 mA / 2 V </td>
<td> 9.6 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 x 20 x 15 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 nejmenšími procesory ATMEL ATtiny
v 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 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 rohovými sloupky
k 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 kmitočtem 9.6MHz ale pozor s předděličem 1:8.
</p>
<h1> Programové vybavení </h1>
<h2> Ukázkový program </h2>
<p>
Procesor bez programu je k 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 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 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 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 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 <avr/io.h>
#include <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>