diff --git a/articles/2016/attiny417-814-816-817.md b/articles/2016/attiny417-814-816-817.md index e64cf8fb8420810ac2845def6d9859273aa170ce..2abca4e8c00420486efa79bb7bc824077ebb2b2d 100644 --- a/articles/2016/attiny417-814-816-817.md +++ b/articles/2016/attiny417-814-816-817.md @@ -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> + +<ul class="seznam-1-uroven"> + <li>napájenĂ 1.8 - 5V + <li>pracovnĂ frekvence aĹľ 20MHz + <ul class="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 + <ul class="seznam-2-uroven"> + <li>8ms aĹľ 8s + </ul> + <li>pĹ™erušenĂ + <ul class="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 + <ul class="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 + <ul class="seznam-2-uroven"> + <li>1x 16-bit typ A + <ul class="seznam-3-uroven"> + <li>3x PWM + <li>2x 8-bit ve split mĂłdu + </ul> + <li>1x 16-bit typ B + <ul class="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 + <ul class="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) + <ul class="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 + <ul class="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) + <ul class="seznam-2-uroven"> + <li>100kHz, 400kHz, 1Mhz + <li>podpora SMBus + </ul> + <li>CCL - Configurable Custom Logic + <ul class="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 + <ul class="seznam-2-uroven"> + <li>50ns reakÄŤnĂ doba + <li>detekce prĹŻchodu nulou + <li>hystereze - 0-10-25-50mV + </ul> + <li>ADC + <ul class="seznam-2-uroven"> + <li>rozlišenĂ 10-bit + <li>aĹľ 150k vzorkĹŻ za sekundu + <li>aĹľ 12 vstupĹŻ + <li>teplotnĂ senzor + </ul> + <li>DAC + <ul class="seznam-2-uroven"> + <li>rozlišenĂ 8-bit + <li>aĹľ 350k vzorkĹŻ za sekundu + <li>zátěž 5kΩ/30pF + </ul> + <li>napěťová reference + <ul class="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 + <ul class="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 + <ul class="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Ă. # Zdroje - [ATtiny817 datasheet](http://www.atmel.com/Images/Atmel-42721-ATtiny417-814-816-817_Complete.pdf)