@@ -20,75 +20,142 @@ Na podzim firma Microchip (Microchip [koupil](http://www.microchip.com/announcem
# Výbava
Jedná se o 8-bitový mikroprocesor s [Harwardskou architekturou](https://cs.wikipedia.org/wiki/Harvardsk%C3%A1_architektura). Struktura registrů je velice podobná té, kterou nalezneme u mikroprocesorů ATxmega. V **C** tedy můžeme pro přístup k jednotlivým registrům používat struktury jednotlivých modulů, což je na programování velice příjemné.
- napájení 1.8 - 5V
- Pracovní frekvence až 20MHz
- 16/20MHz vnitřní RC oscilátor
- 32.768kHz ultra low power vnitřní RC oscilátor
- 32.768kHz externí krystal
- externí zdroj pracovní frekvence
- 3 režimy spánku
- watchdog
- 8ms až 8s
- přerušení
- 2 priority přerušení - normal/high
- round-robin scheduling scheme - všechna přerušení se vykonají tak, aby se nahromaděná přerušení vykonávala rovnoměrně
- Non-Maskable Interrupts - vykonají se vždy, i když jsou přerušení globálně zakázaná
- všechny I/O piny mohou být využity pro externí přerušení
- event systém
- 6 komunikačních kanálů, po kterých mohou periferie komunikovat bez využívání CPU
- časovače/čítače
- 1x 16-bit typ A
- 3x PWM
- 2x 8-bit ve split módu
- 1x 16-bit typ B
- input capture - událost, měření frekvence, délky pulzu
- single shot - generování pulzu definované délky
- 8-bit PWM
- 1x 12-bit typ D
- až 32Mhz
- generování průběhů pro řízení LED, motorů, měničů, H-můstků
- 4x výstup - WOA, WOB, WOC, WOD
- deadtime
- 1x 16-bit RTC (hodiny reálného času)
- perioda 2s až 18h s rozlišením 30.5µs nebo 1s
- RTC - Real Time Couter
- PIT - Periodic Interrupt Timer
- USART
- fractional baud rate generator - možnost nastavení baudrate nezávisle na pracovní frekvenci
- podpora RS-485
- SPI
- TWI (I<sup>2</sup>C)
- 100kHz, 400kHz, 1Mhz
- podpora SMBus
- CCL - Configurable Custom Logic
- sestavení logického obvodu uvnitř mikroprocesoru
- 2x pravdivostní tabulka
- 6x vstup, 2x výstup
- jakákoliv logická funkce (dle pravdivostní tabulky)
- Gated D Flip-Flop, JK Flip-Flop, gated D Latch, RS Latch
- AC - analogový komparátor
- 50ns reakční doba
- detekce průchodu nulou
- hystereze - 0-10-25-50mV
- ADC
- rozlišení 10-bit
- až 150k vzorků za sekundu
- až 12 vstupů
- teplotní senzor
- DAC
- rozlišení 8-bit
- až 350k vzorků za sekundu
- zátěž 5kΩ/30pF
- napěťová reference
- zvlášť pro AC, ADC, DAC
- 0.55-1.1-1.5-2.5-4.3V
- PTC - Peripheral Touch Controller
- detekce pro kapacitní dotykové senzory - tlačítko, posuvník, kolečko
- 1 pin pro 1 elektrodu - nejsou zapotřebí žádné externí součástky
- CRCSCAN - [CRC](https://cs.wikipedia.org/wiki/Cyklick%C3%BD_redundantn%C3%AD_sou%C4%8Det) kontrola paměti
- vytváření kontrolního součtu boot sekce, aplikační sekce nebo celé Flash
- detekce chyby v uloženém programu
- UPDI - rozhraní pro programování a debugování
<style type="text/css">
.seznam-1-uroven
{
font-weight: bold;
}
.seznam-2-uroven
{
font-weight: normal;
padding-left: 25px !important;
margin-left: 30px !important;
}
.seznam-2-uroven li
{
list-style: square !important;
padding-left: 10px !important;
}
.seznam-3-uroven
{
padding-left: 25px;
}
.seznam-3-uroven li
{
list-style: disc !important;
}
</style>
<ulclass="seznam-1-uroven">
<li>napájení 1.8 - 5V
<li>pracovní frekvence až 20MHz
<ulclass="seznam-2-uroven">
<li>16/20MHz vnitřní RC oscilátor
<li>32.768kHz ultra low power vnitřní RC oscilátor
<li>2.768kHz externí krystal
<li>externí zdroj pracovní frekvence
</ul>
<li>3 režimy spánku
<li>watchdog
<ulclass="seznam-2-uroven">
<li>8ms až 8s
</ul>
<li>přerušení
<ulclass="seznam-2-uroven">
<li>2 priority přerušení - normal/high
<li>round-robin scheduling scheme - všechna přerušení se vykonají tak, aby se nahromaděná přerušení vykonávala rovnoměrně
<li>Non-Maskable Interrupts - vykonají se vždy, i když jsou přerušení globálně zakázaná
<li>všechny I/O piny mohou být využity pro externí přerušení
</ul>
<li>event systém
<ulclass="seznam-2-uroven"><li>6 komunikačních kanálů, po kterých mohou periferie komunikovat bez využívání CPU</ul>
<li>časovače/čítače
<ulclass="seznam-2-uroven">
<li>1x 16-bit typ A
<ulclass="seznam-3-uroven">
<li>3x PWM
<li>2x 8-bit ve split módu
</ul>
<li>1x 16-bit typ B
<ulclass="seznam-3-uroven">
<li>input capture - událost, měření frekvence, délky pulzu
<li>single shot - generování pulzu definované délky
<li>8-bit PWM
</ul>
<li>1x 12-bit typ D
<ulclass="seznam-3-uroven">
<li>až 32Mhz
<li>generování průběhů pro řízení LED, motorů, měničů, H-můstků
<li>4x výstup - WOA, WOB, WOC, WOD
<li>dead time
</ul>
<li>1x 16-bit RTC (hodiny reálného času)
<ulclass="seznam-3-uroven">
<li>perioda 2s až 18h s rozlišením 30.5µs nebo 1s
<li>RTC - Real Time Couter
<li>PIT - Periodic Interrupt Timer
</ul>
</ul>
<li>USART
<ulclass="seznam-2-uroven">
<li>fractional baud rate generator - možnost nastavení baudrate nezávisle na pracovní frekvenci
<li>podpora RS-485
</ul>
<li>SPI
<li>TWI (I<sup>2</sup>C)
<ulclass="seznam-2-uroven">
<li>100kHz, 400kHz, 1Mhz
<li>podpora SMBus
</ul>
<li>CCL - Configurable Custom Logic
<ulclass="seznam-2-uroven">
<li>sestavení logického obvodu uvnitř mikroprocesoru
<li>2x pravdivostní tabulka
<li>6x vstup, 2x výstup
<li>jakákoliv logická funkce (dle pravdivostní tabulky)
<li>Gated D Flip-Flop, JK Flip-Flop, gated D Latch, RS Latch
</ul>
<li>AC - analogový komparátor
<ulclass="seznam-2-uroven">
<li>50ns reakční doba
<li>detekce průchodu nulou
<li>hystereze - 0-10-25-50mV
</ul>
<li>ADC
<ulclass="seznam-2-uroven">
<li>rozlišení 10-bit
<li>až 150k vzorků za sekundu
<li>až 12 vstupů
<li>teplotní senzor
</ul>
<li>DAC
<ulclass="seznam-2-uroven">
<li>rozlišení 8-bit
<li>až 350k vzorků za sekundu
<li>zátěž 5kΩ/30pF
</ul>
<li>napěťová reference
<ulclass="seznam-2-uroven">
<li>zvlášť pro AC, ADC, DAC
<li>0.55-1.1-1.5-2.5-4.3V
</ul>
<li>PTC - Peripheral Touch Controller
<ulclass="seznam-2-uroven">
<li>detekce pro kapacitní dotykové senzory - tlačítko, posuvník, kolečko
<li>1 pin pro 1 elektrodu - nejsou zapotřebí žádné externí součástky
</ul>
<li>CRCSCAN - [CRC](https://cs.wikipedia.org/wiki/Cyklick%C3%BD_redundantn%C3%AD_sou%C4%8Det) kontrola paměti
<ulclass="seznam-2-uroven">
<li>vytváření kontrolního součtu boot sekce, aplikační sekce nebo celé Flash
<li>detekce chyby v uloženém programu
</ul>
<li>UPDI - rozhraní pro programování a debugování
</ul>
# Jak se programují?
Vývojáři Microchipu/Atmelu vymysleli pro nové ATtiny také nové programovací rozhraní **UPDI** (*Unified Program and Debug Interface*), které využívá pouze 1 pin mikroprocesoru - reset. Pro přenos dat se používá half-duplex UART. Začátek programování se indikuje 12V pulzem, nebo nastavením pojistek.
...
...
@@ -118,7 +185,7 @@ Pro bastlíře je určitě mínus pouzdro QFN (které se dá zatím koupit), kte
Pro otestování lze koupit vývojový kit ATTINY817-XMINI za 230Kč ([Farnell](http://cz.farnell.com/microchip/attiny817-xmini/dev-board-avr-microcontroller/dp/2674883?ost=attiny817&categoryId=700000005178&searchView=table&iscrfnonsku=false), [TME](http://www.tme.eu/cz/details/attiny817-xmini/vyvojove-kity-pro-obvody-atmel/atmel/)), který obsahuje programátor/debugger, virtuální sériový port, LED, tlačítko a dvě kapacitní dotyková tlačítka.
Pokud byste je chtěli vyžít tyto nové mikroprocesory ve vašem novém zapojení, tak doporučuji sekci Errata na konci datashetu - str. 597, jsou zde popsány zatím objevené chyby, které se v těchto mikroprocesorech zatím vyskytují.
Pokud byste je chtěli vyžít tyto nové mikroprocesory ve vašem novém zapojení, tak doporučuji sekci Errata na konci datashetu - str. 597, jsou zde popsány zatím objevené chyby, které se v těchto mikroprocesorech vyskytují.