0,00 €

V košarici ni izdelkov.

0,00 €

V košarici ni izdelkov.

More
    DomovRevijaProgramiranjePričnimo uporabljati nove ATtiny mikrokontrolerje

    Pričnimo uporabljati nove ATtiny mikrokontrolerje

    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
    Technoblogy
    Avtor: David Johnson-Davies
    2020_281_47
    www.technoblogy.com