Leta 2016 je Microchip / Atmel napovedal popolnoma novo paleto čipov, ki so zasnovani tako, da nadomestijo njihove starejše ATmega in ATtiny čipe. Novi ATtiny čipi se pričnejo z 1-serijo ATtiny417 in ATtiny817, leta 2018 pa je sledila serija z nižjo ceno, imenovana serija 0. Asortiman je zdaj sestavljen iz skupno 25 čipov.
Izbor novih ATtiny čipov je: SOIC ohišje: ATtiny412, ATTiny1614 in ATtiny3216; QFN ohišje: ATtiny1616 in ATtiny3217.
Do nedavnega ti novi čipi niso bili dostopni Arduino IDE uporabnikom, ker zanje ni obstajalo nobeno jedro Arduino in zato jih niso mogli programirati z obstoječimi ISP programatorji. To se je spremenilo pred nekaj meseci, ko je Spence Konde izdal megaTinyCore [1] za nove AVRje in izkoristil delo, ki ga je Arduino opravil za podporo svojih novih plošč, ki temeljijo na ATmega4809.
Ta članek predstavlja uvod v nove ATtiny čipe in pojasnjuje, kako jih lahko zdaj programirate iz Arduino IDE okolja.
Označevanje
Novi deli so označeni na rahlo ekscentričen način, na sredini pa številka serije, tabela 2.
Zaradi tega je iskanje po abecednem seznamu čipov precej problematično, saj so pomešani s starimi ATtiny čipi. Vendar pa poleg tega sistematičen način poimenovanja tudi enostavno izbere želeni del z določeno kombinacijo zmogljivosti.
Povzetek ATtiny 0-serijein 1-serije
Novi čipi ATtiny pomenijo odmik od filozofije prejšnjih ATtiny čipov; Čeprav še vedno uporabljajo jedro AVR procesorja, so njihove periferije precej drugačne, saj temeljijo na zunanjih periferijah Atmelovih XMEGA čipov.
32K (2K) |
ATtiny3216 $1.03/NA |
ATtiny3217 $1.01 |
||||||
16K (1K/*2K) |
ATtiny1604 $0.66 |
ATtiny1614* $0.75 |
ATtiny1606 $0.90/NA |
ATtiny1616* $0.94/$0.77 |
ATtiny1607 $0.88 |
ATtiny1617* $0.97 |
||
8K (512) |
ATtiny804 $0.64 |
ATtiny814 $0.66 |
ATtiny806 $0.83/NA |
ATtiny816 $0.90/$0.71 |
ATtiny807 $0.83 |
ATtiny817 $0.92 |
||
4K (256) |
ATtiny402 $0.41 |
ATtiny412 $0.46 |
ATtiny404 $0.52 |
ATtiny414 $0.56 |
ATtiny406 $0.77/$0.62 |
ATtiny416 $0.85/$0.63 |
ATtiny417 $0.81 |
|
2K (128) |
ATtiny202 $0.41 |
ATtiny212 £0.43 |
ATtiny204 $0.52 |
ATtiny214 $0.54 |
||||
FLASH
(RAM) |
8 pinov SOIC 5 I/O priključkov |
14 pinov SOIC 11 I/O priključkov |
20 pinov SOIC/QFN 17 I/O priključkov |
24 pinov QFN 21 I/O priključkov |
Tabela 1: Prikaz osnovnih lastnosti
Čeprav novi čipi ATtiny tvorijo skladno matriko naprav, so opisani v več ločenih podatkovnih listih, kar omogoča veliko branja, če želite dobiti pregled nad njihovimi zmožnostmi in razlikami. Zato sem poskušal v naslednjih tabelah povzeti ključne značilnosti in razlike:
Vsaka celica v tabeli 1 prikazuje oznako čipa razvrščeno glede na velikost Flash pomnilnika in števila priključkov. Vsako oznako čipa sem povezal z ustrezno Microchip tabelo (upoštevajte, da nekateri podatki zajemajo več delov). Za vsak čip je prikazana trenutna cena na kos za SOIC in QFN ohišji, kot je prikazano [2].
EV | TCA | TCB | TCD | RTC | USART | SPI | I2C | CCL | AC | ADC | DAC | CRC | WDT | PTC |
3 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | |||
6† | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | |
6† | 1 | 1 | 1 | 1‡ | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
6† | 1 | 2 | 1 | 1‡ | 1 | 1 | 1 | 1 | 3 | 2 | 3 | 1 | 1 | 1 |
Tabela 2: Prikaz periferij posameznih čipov
Vsi čipi imajo enak osnovni komplet perifernih naprav. Poleg tega imajo čipi serije 1 še nekaj dodatnih perifernih naprav, čipi serije 16K in 32K serije 1 imajo več perifernih naprav, kot kažejo barve ozadja v tabeli 2:
Kratice teh periferijso razložene v Tabeli 3.
Prednosti ATtiny 0-serije in 1-serije
Kot ljubitelj starih ATtiny me je sprva nekoliko skrbelo za popolno prenovo moje najljubše ponudbe mikrokontrolerjev, vendar sem ugotovil, da ima ta nova ponudba več prednosti pred starimi ATtiny-ji.
EV | Event System – sistem dogodkov s 3 († 6) kanali, 2 († 4) asinhronain 1 († 2) sinhroni |
TCA | 16-bit Timer/Counter Type A z dodeljenim registrom periode, 3 primerjalnikanali |
TCB | 16-bit Timer/Counter Type B zvhodnim zajemom |
TCD | 12-bit Timer/Counter Type D optimiziranza krmilne aplikacije |
RTC | 16-bit Real-Time Counter, ki teče na internem RC oscilatorju (‡ ali zunanjem kristalu ali zunanji uri) |
USART | USART s frakcijskim baud rate generatorjem, auto-baud, in detekcijo začetka okvirja |
SPI | Master/slave serijski periferni vmesnik (SPI) |
I2C | Master/slave TWI z dvojnim ujemanjem naslovov, standardnim načinom, hitrim načinom in Fast plus načinom |
CCL | Konfigurabilnauporabniška logika z 2 programabilnima Look-Up tabelama |
AC | Analognikomparator |
ADC | 10-bit 115 ksps A/D pretvornik |
DAC | 8-bit D/A pretvornik |
CRC | Avtomatsko CRC skeniranje spomina |
WDT | Watchdog Timer z okenskim načinom, z ločenim oscilatorjem na čipu |
PTC | Perifernikrmilnik za dotik za uporabo s QTouch knjižnico (samo v čipih z najmanj 8K Flash pomnilnika) |
Tabela 3: Razlaga kratic periferij
Najprej je velik plus to, da je v celotnem obsegu osnovni niz enakih perifernih naprav. Periferne naprave v starih ATtiny se razlikujejo od čipa do čipa; na primer, ATtiny85 ima dva 8-bitna timerja, medtem ko ima ATtiny84 en 8-bitni in en 16-bitni timer. Vsak del ima zdaj vsaj dva 16-bitna timerja, USART, I2C, SPI in ADC. Obstaja tudi več perifernih naprav, ki v starih ATtiny-jih sploh niso bile na voljo, na primer RTC, DAC-ji, prilagojena logika, sistem dogodkov in periferni krmilnik za dotik.
Drugič, novi čipi ponujajo velikosti Flash spomina do 32 K; stari ATtiny-ji so na splošno ponujali do 8K, največji je bil 16K na ATtiny167 in ATtiny1634.
Končno so novi čipi dvakrat cenejši od starih ATtiny čipov. Na primer, primerjava približno enakovrednega čipa s 4K Flash spomina, ki se nahaja v 8-pin ohišju: stari ATtiny45: 1,06 USD; novi ATtiny402: 0,41 USD.
Slabosti ATtiny serije 0 in serije 1
V primerjavi s starimi čipi ATtiny, ki jih poznamo in ljubimo, imajo novi čipi ATtiny serije 0 in serije 1 nekaj manjših težav.
Noben čip ni na voljo v DIP ohišju, ki je prijazen razvojni plošči, in nobenega od čipov ni mogoče krmiliti iz zunanjega kristala, čeprav to deloma kompenzira dejstvo, da ima notranji oscilator natančnost boljšo od 2%.
Programiranje perifernih naprav je ponavadi bolj zapleteno kot v starih ATtiny, čeprav če uporabljate Arduino funkcije, to ne bo imelo vpliva.
Največje število V/I priključkov v novih čipih je 21, medtem ko starejši ATtiny48, ATtiny88 in ATtiny828 zagotavljajo 27 V/I priključkov. Za več priključkov morate uporabiti novo ATmega 0 serijo.
In funkcije, ki so na voljo v nekaterih starih čipih ATtiny, sploh niso na voljo, na primer diferencialni ADC z ojačevalnikom v ATtiny85 in ATtiny861. To bodo odpravili s prihajajočimi ATtiny serijo 2 čipov [3].
Programiranje novih ATtiny čipov iz Arduino IDE
Zahvaljujoč delu Spencea Konde in njegovih sodelavcev je zdaj na voljo Arduino jedro za čipe serije 0 in serije 1 [4], uporabnik GitHub ElTangas pa je napisal UPDI programator, ki ga lahko uporabljate na Arduino Uno ali enakovredni plošči [5]. Tako lahko Arduino funkcije uporabljate z novimi čipi ATtiny in jih programirate iz Arduino IDE, ne da bi potrebovali Atmel Studio.
Noben od novih ATtiny čipov ni na voljo v DIP ohišjih, tako da če želite sestaviti projekt na razvojni plošči, jih morate najprej namestiti na prototipno ploščo; Adafruit ponuja ustrezne 8-pinske SOIC [6], 14-pin SOIC [7] in 20-pin SOIC [8] adapterje, na Amazonu sem našel 24-pin VQFN plošče [9].
Postopek programiranja čipa je sledeč:
- Naredite UPDI programator tako, da namestite program jtag2updi ElTangas na Arduino Uno ali drugo ploščo, ki temelji na ATmega328P, kot je opisano v članku Make UPDI Programmer.
- Namestite megaTinyCore Spencea Konde v Arduino IDE, kot je opisano v megaTinyCore namestitvi.
- V Arduino IDE izberite megaTinyCore, v meniju Board izberite ustrezno družino in ustrezni čip v meniju Chip.
- V meniju Programmer izberite jtag2updi (megaTinyCore).
- Priključite Arduino Uno (ali enakovredno ploščo) s čipom, ki ga programirate, v meniju Port izberite njegov USB vhod in izberite Naloži.
Na primer, tukaj uporabljam Arduino Nano kot UPDI programator, da programiram ATtiny412 na mini plošči s primerom programa Arduino Blink, tabela 3.
Programiranje ATtiny412 s primerom programa Blink z uporabo Arduino Nano kot UPDI programatorja.
Viri:
- megaTinyCore on GitHub.
- Cene na www.digikey.com dne 22. avgust 2019.
- ATtiny1627 na Microchip.
- megaTinyCore na GitHub.
- Making a UPDI programmer na GitHub.
- SMT Breakout PCB for SOIC-8 na Adafruit.
- SMT Breakout PCB for SOIC-14 na Adafruit.
- SMT Breakout PCB for SOIC-20 na Adafruit.
- QFN24 DIP Adapter PCB na Amazon.
Povzeto po:
- http://www.technoblogy.com/show?2OCH