Přeskočit na hlavní obsah

ATtiny

ATtiny je rodina malých mikrokontrolérů. Název docela sedí: tiny znamená malý. ATtiny se používá tam, kde je potřeba malý, levný a úsporný čip, který bude spolehlivě řídit jednu konkrétní část zařízení.

Není to platforma na velké aplikace. Je to spíš elektronický pomocník, který sedí někde na desce a hlídá tlačítko, senzor, LED, motor nebo jednoduchou komunikaci. Právě v tom je jeho síla. Když je úkol malý, nemusí na něj být velký čip.

K čemu se hodí

ATtiny se hodí tam, kde je potřeba jednoduché a levné řízení:

  • blikání nebo stmívání LED,
  • čtení tlačítek,
  • měření jednoduchých senzorů,
  • řízení malého motorku,
  • probouzení větší elektroniky,
  • malé bateriové zařízení.

Typicky se používá v zařízeních, kde se hodí nízká spotřeba, malé pouzdro a jednoduchý program. Může například většinu času "spát", probudit se až po stisku tlačítka nebo po signálu ze senzoru, něco změřit, odeslat výsledek a zase "usnout".

Velký počítač by na takové úlohy byl jako bagr na přesazení kytky. Fungovalo by to, ale bylo by to zbytečně velké, drahé a hladové po energii.

Proč se na něm učit

ATtiny je dobrý čip pro pochopení embedded programování, protože nemá přiliš abstraktních vrstev, a tak máte kontakt přímo s nejnižší úrovní pro programování. Když chcete nastavit pin, časovač nebo UART, většinou se dřív nebo později potkáte s registry.

To je občas nepohodlné, ale velmi užitečné. Člověk pak lépe chápe, co se děje i pod vyššími vrstvami, jako jsou HAL knihovny nebo Arduino framework.

Zároveň je dost malý na to, aby se v něm dalo vyznat. Když otevřete manuál, není tam celý svět. Je tam pořád hodně detailů, ale dá se postupně pochopit, jak na sebe navazují porty, časovače, ADC, hodiny a přerušení.

Co od něj nečekat

ATtiny má omezenou paměť, výkon i počet pinů. To není chyba. Je to vlastnost. Je navržený pro malé úlohy, ne pro operační systém, webový server nebo zpracování obrázků.

Právě kvůli těmto omezením je důležité psát program úsporně a rozumět tomu, co se v čipu opravdu nastavuje. Když máte málo paměti, každý zbytečný kus kódu je vidět.

Jak se programuje

ATtiny se často programuje v jazyce C pomocí nástrojů jako avr-gcc. Program se přeloží do strojového kódu a potom se nahraje do čipu přes programátor. U novějších ATtiny se často používá rozhraní UPDI.

Na rozdíl od některých větších platforem tady často nepíšete přes mohutnou HAL knihovnu. Program se běžně opírá o hlavičkové soubory pro konkrétní čip a o přímou práci s registry. To je méně pohodlné, ale velmi průhledné: když nastavíte bit v registru, měníte přímo chování hardwaru.

V dalších kapitolách se proto budeme dívat na to, kde najít manuál, jak připravit prostředí, jak program nahrát a jak ladit chyby, které se v embedded světě schovávají trochu jinak než v běžném počítači.