From 4bf2c7d7c60b6e49d2403476d50b471b35e89784 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20V=C3=ADtek?= <fotomartinkv@gmail.com> Date: Wed, 28 Dec 2016 17:10:37 +0100 Subject: [PATCH] =?UTF-8?q?P=C5=99id=C3=A1n=20=C4=8Dl=C3=A1nek=20o=20nov?= =?UTF-8?q?=C3=BDch=20ATtiny?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- articles/2016/attiny417-814-816-817.md | 127 +++++++++++++++++++++++++ 1 file changed, 127 insertions(+) create mode 100644 articles/2016/attiny417-814-816-817.md diff --git a/articles/2016/attiny417-814-816-817.md b/articles/2016/attiny417-814-816-817.md new file mode 100644 index 00000000..c6871e5a --- /dev/null +++ b/articles/2016/attiny417-814-816-817.md @@ -0,0 +1,127 @@ +``` +title = "NovĂ© AVR mikroprocesory ATtiny417/814/816/817" +perex = "KrátkĂ© seznámenĂ s novĂ˝mi mikroprocesory ATtiny firmy Microchip." +tags = ["AVR", "Mikroprocesory"] +image = "attiny_lead.jpg" + +``` + +# Ăšvod +Na podzim firma Microchip (Microchip [koupil](http://www.microchip.com/announcements/microchip-technology-inc-acquires-atmel) Atmel [začátkem roku 2016](http://www.atmel.com/about/news/release.aspx?reference=tcm:26-82057)) oznámila ÄŤtyĹ™i novĂ© mikroprocesory Ĺ™ady [ATtiny](http://www.atmel.com/products/microcontrollers/avr/tinyavr.aspx), coĹľ jsou nejmenšà mikroprocesory rodiny AVR s maximálnÄ› 24 piny. + +| Model |FLASH|SRAM|EEPROM|PoÄŤet pinĹŻ| Pouzdro | +|---------|-----|----|------|----------|---------| +|[ATtiny417](http://www.atmel.com/devices/ATtiny417.aspx)| 4kB |256B| 128B | 24 |QFN | +|[ATtiny814](http://www.atmel.com/devices/ATtiny814.aspx)| 8kB |512B| 128B | 14 |SOIC | +|[ATtiny816](http://www.atmel.com/devices/ATtiny816.aspx)| 8kB |512B| 128B | 20 |QFN, SOIC| +|[ATtiny817](http://www.atmel.com/devices/ATtiny817.aspx)| 8kB |512B| 128B | 24 |QFN | + + + +# 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Ă + +# Jak se programujĂ? +BohuĹľel vĂ˝vojáři Microchipu/Atmelu vymysleli 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. + +Dejte si pozor na prvnĂ sĂ©rie, ty nemÄ›ly z vĂ˝roby nastavenĂ© programovacĂ pojistky, ale byl nutnĂ˝ 12V pulz! + +ZatĂm [je vyzkoušeno](http://www.avrfreaks.net/forum/tiny817-updi-programming), Ĺľe pro programovánĂ lze pouĹľĂt [JTAG ICE 3](http://www.atmel.com/tools/jtagice3.aspx) nebo [Atmel ICE](http://www.atmel.com/tools/atatmel-ice.aspx). PĹ™ĂpadnÄ› [lze pouĹľĂt](http://www.avrfreaks.net/forum/updi-programming-using-attiny817-xmini) programátor, kterĂ˝ je integrovanĂ˝ na vĂ˝vojovĂ© desce [ATTINY817-XMINI](http://www.atmel.com/tools/ATTINY817-XMINI.aspx). + +Podpora pro programovánĂ je v nejnovÄ›jšĂm [Atmel Studiu](http://www.atmel.com/tools/ATMELSTUDIO.aspx). Pod Linuxem se situace sloĹľitÄ›jšĂ. Ve FedoĹ™e je aktuálnÄ› zabalĂÄŤkováno avr-gcc 6.0.2, ve kterĂ©m nenĂ zakompilována podpora pro tyto novĂ© mikroprocesory. ĹešenĂm je pouĹľĂt [Atmel Packs](http://packs.download.atmel.com/), stáhnout si novĂ© knihovny a zkompilovat si avr-gcc, avr-binutils a avr-libc. + +# PĹ™Ăklad vyuĹľitĂ Event systĂ©mu a CCL +V application note [AVR42778](http://www.atmel.com/Images/Atmel-42778-Core-Independent-Brushless-DCFan-Control-Using-Configurable-Custom-Logic-on-ATtiny817_ApplicationNote_AVR42778.pdf) se mĹŻĹľete doÄŤĂst, jak lze velmi jednoduše a efektivnÄ› vyuĹľĂt tyto mikroprocesory pro Ĺ™ĂzenĂ otáček stejnosmÄ›rnĂ©ho bezkartáčovĂ©ho motoru. ĹĂzenĂ otáček nespotĹ™ebovává žádnĂ˝ vĂ˝poÄŤetnĂ ÄŤas CPU. + + + +ÄŚasovaÄŤ/ÄŤĂtaÄŤ TCA vytvářà základnĂ PWM signál. Vstup z hallova ÄŤidla je porovnáván na komparátoru, kterĂ˝ vytvářà signál, kterĂ˝ Ĺ™Ăká, kterĂ© cĂvky majĂ bĂ˝t sepnutĂ©. PĹ™i pĹ™eklopenĂ komparátoru se zárovÄ›n spustĂ ÄŤasovaÄŤ/ÄŤĂtaÄŤ TCB, kterĂ˝ vytvářà dead time signál. Všechny tyto signály jdou do CCL (*Configurable Custom Logic*), kde se z nich vytvořà dva signály pro spĂnánĂ tranzistorĹŻ. + + + + +# ZávÄ›r +Tyto novĂ© AVR mikroprocesory Ĺ™ady tiny nabĂzejĂ v malĂ©m pouzdĹ™e mnoho skvÄ›lĂ˝ch vlastnostĂ, kdy nÄ›kterĂ© byly pĹ™ejatĂ© z Ĺ™ady xmega. Ĺekl bych, Ĺľe se momentálnÄ› jedná o jedny z nejvybavenÄ›jšĂch AVR mikroprocesorĹŻ. + +Jako dalšà vĂ˝znamnĂ© plus vidĂm cenu, kdy se dá koupit ATtiny817 za 25KÄŤ ([Farnell](http://cz.farnell.com/microchip/attiny817-mfr/mcu-8bit-pic24fj-20mhz-qfn-24/dp/2678821?ost=attiny817&categoryId=700000004187&searchView=table&iscrfnonsku=false)), coĹľ z nĂ dÄ›lá jeden z nejlevnÄ›jšĂch AVR mikroprocesorĹŻ. + +Pro bastlĂĹ™e je urÄŤitÄ› mĂnus pouzdro QFN, kterĂ© se ruÄŤnÄ› nepájĂ moc dobĹ™e a programovacĂ rozhranĂ UPDI, se kterĂ˝m nelze pouĹľĂt jedoduchĂ© programátory jako tĹ™eba [USBasp](https://ok1kvk.cz/clanek/2011/usbasp-programator-avr/). + +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. + +# Zdroje +- [ATtiny817 datasheet](http://www.atmel.com/Images/Atmel-42721-ATtiny417-814-816-817_Complete.pdf) +- [AVRFREAKS](http://www.avrfreaks.net/forum/attiny417-attiny814-attiny816-attiny817?page=all) +- [AVR42778](http://www.atmel.com/Images/Atmel-42778-Core-Independent-Brushless-DCFan-Control-Using-Configurable-Custom-Logic-on-ATtiny817_ApplicationNote_AVR42778.pdf) + +# FĂłrum +PodÄ›lte se s námi o váš názor na novĂ© ATtiny a pĹ™ĂpadnÄ› se pochlubte vašĂm zapojenĂm s nÄ›kterou z novĂ˝ch ATtiny na našem [fĂłru](https://forum.ok1kvk.cz). -- GitLab