Programavimas attiny2313. Attiny2313 mikrovaldiklis. Aprašymas Attiny2313 mikrovaldiklių programavimas manekenams

Programuotojo darbo pavyzdysAVR IPT USB Lsu mikrovaldikliuATtiny2313 A.

Įvadas

AVR ISP USB L yra su STK500 suderinamas programuotojas ir skirtas programuoti (kartu su AVR Studio programa) visiems AVR serijos 8 bitų mikrovaldikliams su RISC architektūra, kurie turi in-circuit programavimo galimybes (ISP sąsaja).

AVR ISP USB L charakteristikos

Suderinamas su AVR Studio (AVR Studio 4.12 ir naujesne versija);

Palaiko visus 8 bitų AVR mikrovaldiklius su programavimo grandine galimybe (ISP sąsaja);

Palaiko Flash ir EEPROM programavimą;

Palaikykite programavimo konfigūracijos bitus ( saugiklius) ir užrakto antgaliai;

Reguliuojamas programavimo greitis (1.2kHz, 4.0kHz, 57.6kHz, 115.2kHz, 460.8kHz ir 1.845MHz SCK dažniai);

Maitinamas USB magistrale, nereikia išorinio maitinimo;

Dvi procesoriaus maitinimo įtampos 3,3 V ir 5,0 V (pasirenkama trumpikliu);

Apsauga nuo trumpojo jungimo (savaime atsistatantis saugiklis), leidžiama maitinti programuojamą mikrovaldiklį grandinėje, kuri sunaudoja ne daugiau kaip 50 mA.

Pradinis pasiruošimas darbui

Norėdami pradėti naudoti AVR ISP USB L, atlikite šiuos veiksmus:

    Įdiekite AVR Studio.

    Įdiekite USB tvarkyklę.

    Prijunkite AVR ISP USB L prie kompiuterio, kompiuteris turėtų aptikti ir automatiškai

įdiegti naują įrangą.

    Naudodami įrenginių tvarkytuvę nustatykite virtualaus ryšio numerį, kuris turėtų būti koridoriuose nuo (COM1) iki (COM8). Pernumeruokite prievadą, jei jo numeris didesnis nei (COM8).

    Prijunkite mikrovaldiklį prie programuotojo (šiame pavyzdyje tai yra ATtiny2313A-PU). Mikrovaldiklis naujas ir niekada neprogramuotas.

Darbo pradžia(tikrinama ryšį su programuotoju)

Paleiskite AVR Studio ir spustelėkite mygtuką () įrankių juostoje. Šis mygtukas leidžia pasirinkti, prie kurio programuotojo ir ryšio prievado norite prisijungti. Pasirinkite STK500 (grandinėje programuotojas AVR ISP USB L yra komanda suderinama su STK500) ir

virtualus ryšys, šiame pavyzdyje tai yra (COM4). Paspausk mygtuką ( ) :

Jei programuotojas nerastas (šio virtualaus prievado nėra, programuotojas prijungtas prie kito prievado, programuotojas neprijungtas):

Dėmesio! Programuotojas gali dirbti tik su virtualiais prievadais nuo COM1 iki COM8.

Jei ryšys sėkmingas, pasirodys šis langas:

Programuotojas sėkmingai prijungtas, galite pereiti tiesiai prie programavimo.

Mikrovaldiklio programavimas (parašo baitų skaitymas)

Sėkmingai sujungę programuotoją ir kompiuterį, patikrinkime ryšį su mikrovaldikliu. Mikrovaldiklis ATtiny2313A turi būti prijungtas prie programuotojo pagal schemą:

Kvarcinio rezonatoriaus buvimas nebūtinas, jei planuojate dirbti iš įmontuoto RC osciliatoriaus.

Norėdami patikrinti ryšį su mikrovaldikliu ATtiny2313A, eikite į skirtuką (Pagrindinis).

Skirtuke (Pagrindinis) yra dvi nustatymų grupės:

    Įrenginio ir parašo baitai

    Programavimo režimas ir tikslinės nuostatos

Įrenginio ir parašo baitai

Šioje grupėje yra du mygtukai:

Mygtukas (), paspaudus, pasirinktas įrenginys visiškai ištrinamas. Tai ištrina „Flash“ ir EEPROM, taip pat užrakto bitus.

Mygtukas (), paspaudus, nuskaitomas mikrovaldiklio parašo baitas.

Prgramavimas Režimas ir Tikslas Nustatymai (Programavimo režimas ir SCK signalo dažnis)

Šioje grupėje yra vienas mygtukas (), paspaudus pasirodo SCK signalo dažnio pasirinkimo langas.

Naujojo ATtiny2313A mikrovaldiklio laikrodžio dažnis yra 1 MHz, todėl SCK dažnis neturėtų būti didesnis nei 250 kHz. Artimiausias tinkamas greitis yra 115,2 kHz. Žinoma, galima programuoti 4 kHz SCK greičiu, bet tada programavimo procesas bus labai ilgas. Pasirinkite 115,2 kHz laikrodžio dažnį ir paspauskite (), kad įrašytumėte nustatymą. Nustatymas išsaugomas nepastovioje programuotojo atmintyje:

Šioje grupėje taip pat yra programavimo režimų sąrašas; įsitikinkite, kad pasirinktas „ISP režimas“. Šis programuotojas nepalaiko „PP/HVSP režimo“ režimo:

Norėdami tiesiogiai nuskaityti parašo baitus, išskleidžiamajame sąraše pasirinkite norimą mikrovaldiklį, mūsų atveju tai yra ATtiny2313A:

Paspausk mygtuką. Jei nėra ryšio su mikrovaldikliu (netinkamas ryšys), pasirodys langas „ISP režimo klaida“:

Jei SCK dažnis yra per didelis, taip pat gali pasirodyti langas „ISP režimo klaida“.

SCK signalo dažnis turi būti keturis kartus mažesnis už mikrovaldiklio laikrodžio dažnį!

Jei parašo baitas sėkmingai perskaitytas:

Tiesiogiai ATtiny2313A mikrovaldiklio parašo baitai (duomenys iš mikrovaldiklio dokumentacijos):

0x000: 0x1E (Atmel gamintojo kodas).

0x001: 0x91 (2 KB „flash“ atminties dydis).

0x002: 0x0A (tai yra ATtiny2313/A mikrovaldiklis, jei 0x001 baitas yra 0x91).

Ryšys su mikrovaldikliu užmegztas, pradėkime programuoti konfigūracijos bitus.

Mikrovaldiklio programavimas (konfigūracijos bitų rašymas)

Skirtuke (Saugikliai) rodomi konfigūracijos bitai, galimi pasirinktam mikrovaldiklio tipui (ATtiny2313A).

Konfigūracijos bitai jie vadina specialią atminties sritį (3 baitai) AVR mikrovaldikliuose, atsakinguose už pradinę (pasaulinę) konfigūraciją. Šiais bitais nurodome mikrovaldikliui, su kokiu pagrindiniu generatoriumi jis turėtų veikti (išorinis / vidinis), padalijame generatoriaus dažnį iš koeficiento ar ne, naudokite atstatymo kaištį kaip atstatymą arba kaip papildomą I/O prievadą, atmintis įkrovos tvarkyklei ir daug, daug daugiau. Kiekvienas valdiklis turi savo konfigūracijos bitų rinkinį. Visi konfigūracijos bitai nurodyti mikrovaldiklio dokumentacijoje. Gamykloje pagal numatytuosius nustatymus konfigūracijos bitai yra nustatyti, kad mikrovaldiklis veiktų iš vidinio pagrindinio generatoriaus. Nereikia nieko pridėti, taikyti galią, ir tai veikia. Jei reikia kaip nors pakeisti mikrovaldiklio veikimą, pavyzdžiui, priversti jį veikti iš išorinio kvarcinio rezonatoriaus, reikia pakeisti atitinkamus bitus.

Atkreipkite dėmesį, kad visiškai ištrindami mikrovaldiklį ( ) neturi įtakos konfigūracijos bitams.

ATtiny2313A mikrovaldiklio konfigūracijos bitų aprašymas. Naujasis mikrovaldiklis turi šiuos nustatymus:

Dėmesio! Neišjunkite SPIEN bito. Išjungus šį bitą bus išjungtas serijinio programavimo režimas ir mikrovaldiklis nereaguos.

Dėmesio! Neįjunkite RSTDISBL bito. Serijinio programavimo režimu būtina RESET kojelė. Įjungus šį bitą, RESET kojelė išjungs ir mikrovaldiklis nereaguos.

Mūsų pavyzdžio konfigūracijos bitų nustatymų pavyzdys:

BODLEVEL - 2,7 voltai

CKDIV8 – išjungtas

Baigę nustatyti nustatymus, paspauskite () mygtuką.

Sėkmingas programavimas baigiasi pranešimu (laukelis skirtuko apačioje):

Įrašęs nustatymus, mikrovaldiklis veikia iš vidinio RC generatoriaus, kurio dažnis yra 8 MHz. RESET atsako slenkstis yra 2,7 volto.

Mikrovaldiklio programavimas (Flash ir EEPROM programinė įranga)

Prieš pradėdami dirbti, turite atsisiųsti pavyzdinį projektą AVR Studio surinkime (ATtiny2313A mikrovaldiklis). Nuoroda: TESTAS_ ATtiny2313 A_01. užtrauktukas

Išpakuokite archyvą į atsitiktinį aplanką arba šakninį katalogą. Šiame pavyzdyje tai yra D:\TEST_ATtiny2313A_01\

Dėmesio! Aplankų ir failų pavadinimai turi būti tik lotynų kalba.

Norėdami užprogramuoti mikrovaldiklio Flash ir EEPROM atmintį, eikite į skirtuką (Programa).

Šiame skirtuke mus domina šios nustatymų grupės:

Įrenginys(Įrenginys)

Blykstė(Programos atmintis)

EEPROM(Nekintamoji atmintis)

Tiesioginiam programavimui nurodome kelią į *.hex ir (jei reikia) į *.eep failus.

Tada paspauskite mygtuką ( ), kuris yra „Flash“ grupėje, jei norime užprogramuoti mikrovaldiklio „Flash“ atmintį.

Sėkmingai suprogramavus mikrovaldiklio „Flash“ atmintį:

Taip pat, įvykus Flash programavimo klaidai, pasirodo langas (nėra ryšio su mikrovaldikliu arba per didelis SCK dažnis):

Norėdami užprogramuoti EEPROM, paspauskite mygtuką ( ), kuris yra „EEPROM“ grupėje.

Sėkmingai suprogramavus mikrovaldiklio EEPROM atmintį:

Programavimo klaidos atveju:

Taip pat, įvykus EEPROM programavimo klaidai, pasirodo langas (nėra ryšio su mikrovaldikliu arba per didelis SCK dažnis):

Be to, skirtuke (Programa) yra nustatymų grupė ( ELF gamybos failo formatas):

Failas su plėtiniu .elf gali turėti FLASH ir EEPROM turinį, taip pat konfigūracijos ir užrakinimo bitus. Šį formatą patogu naudoti gamyboje, kai reikia suprogramuoti daug mikrovaldiklių su viena programine įranga.

Norėdami sukurti *.elf failą, jums reikia:

    Nurodykite kelią į *.hex failą.

    Nurodykite kelią į *.eep failą.

    Nustatykite ir programuokite konfigūracijos ir saugos bitus.

    Pažymėkite langelius.

Sėkmingas *.elf failo išsaugojimas baigiasi pranešimu:

Norėdami užprogramuoti mikrovaldiklį su *.elf failu, jums reikia:

Mikrovaldiklio programavimas (Write LockBits)

LockBits – skirtas apsaugoti mikrovaldiklio Flash ir EEPROM atmintį nuo neteisėto nuskaitymo. Apsaugos bitai užprogramuojami paskutiniai. Norėdami skaityti ir programuoti saugos bitus, eikite į skirtuką (LockBits). Skirtuke (LockBits) rodoma, kuriuos programos apsaugos režimus galima pasirinkti tam tikram mikrovaldiklio tipui. Apsaugos bitai nuskaitomi iš mikrovaldiklio ir rodomi:

Mūsų atveju galimi trys režimai:

Atminties užrakinimo funkcijos neįjungtos“– nenustatyti saugos bitai.

Toliau programavimas neįgalus– mikrovaldiklio programavimas draudžiamas, skaitymas leidžiamas.

Toliau programavimas ir patikrinimas neįgalus– mikrovaldiklio programavimas ir skaitymas draudžiamas.

Įjungus apsaugos lygį „Tolimesnis programavimas ir tikrinimas išjungtas“, jo negalima sumažinti pasirinkus žemesnį apsaugos lygį „Išjungtas tolesnis programavimas“. Vienintelis būdas pašalinti nustatytus užrakinimo bitus yra visiškai ištrinti mikrovaldiklį, kuris taip pat ištrina Flash ir EEPROM.

Papildomos funkcijos (skaitykite kalibravimo baitą)

Kalibravimo baite yra apipjaustymo reikšmė, kurią reikia įrašyti į OSCCAL registrą, kad būtų galima reguliuoti vidinio RC generatoriaus dažnį (jei planuojate jį naudoti). Generatoriaus kalibravimo baitas įrašomas į mikrovaldiklį gamybos metu ir vartotojas negali jo ištrinti ar pakeisti.

    Osciliatoriaus kalibravimo baitas

Šioje grupėje yra:

Norėdami perskaityti kalibravimo baito turinį, išskleidžiamajame sąraše pasirinkite RC osciliatoriaus dažnį 8 MHz ir paspauskite ( ).

Kalibravimo baito reikšmė yra 0x60.

Kalibravimo baito reikšmė nepasiekiama tiesiogiai iš programos. Bet naudodami programuotoją, galite įrašyti jį į bet kurią mikrovaldiklio atminties langelį (Flash arba EEPROM), tada nuskaityti iš programos ir įrašyti į OSCCAL registrą.

Kalibravimo baito įrašymo į EEPROM 20 (dešimtainio) adresu pavyzdys 8 MHz RC osciliatoriui.

Išskleidžiamajame sąraše pasirinkite ( ) RC osciliatoriaus dažnis 8 MHz. Teksto lauke „Adresas“ įveskite 20. Nustatykite jungiklį (). Paspausk mygtuką.

Sėkmingas kalibravimo baito įrašymas baigiasi pranešimu:

Papildomos funkcijos (automatinis režimas)

Norėdami užprogramuoti kelis mikrovaldiklius su ta pačia programine įranga, skirtuką ( Automatinis) siūlo įrankį, leidžiantį automatizuoti vartotojo nurodytos komandų sekos vykdymą. Komandos pateikiamos vykdymo tvarka. Norėdami įjungti komandą, pažymėkite atitinkamą žymimąjį laukelį.

Paspaudus mygtuką (), bus atlikta tokia veiksmų seka:

„Ištrinti įrenginį“ – ištrinkite mikrovaldiklį.

„Programa Flash“ – programos „Flash“ atmintis.

„Verify Flash“ – palyginkite „Flash“ ir *.hex failą.

„Programa EEPROM“ – programos EEPROM atmintis.

„Verify EEPROM“ – palyginkite EEPROM ir *.eep failą.

„Program Fuses“ – programos konfigūracijos bitai.

„Patikrinti saugiklius“ – palyginkite konfigūracijos bitus (su anksčiau nustatytais).

„Programos užrakto bitai“ – užprogramuokite saugos bitus.

„Verify lock bits“ – palyginkite saugos bitus (su anksčiau nustatytais).

Dėmesio! Pirmajam programuojamam mikrovaldikliui reikia nustatyti konfigūracijos bitus ir saugos bitus.

Jei reikia, komandų vykdymo žurnalą galite įrašyti į tekstinį failą įtraukdami

žymimasis langelis()," Protokolo įrašymas į failą". Patikrinę " Prisijunkite prie failo" visa komandų išvestis bus įrašyta į tekstinį failą. Failas pasirenkamas/sukuriamas paspaudus mygtuką " Naršyti" ("Apžvalga") ir pasirenkant vietą, kurioje jis yra arba turėtų būti sukurtas. Išvestis bus išsaugota šiame faile ir vėliau ją bus galima peržiūrėti teksto rengyklėje.

Sukonfigūravus, ta pati programavimo seka bus vykdoma kiekvieną kartą paspaudus () mygtuką.

Papildomi skirtukai (HWNustatymai)

Skirtukas (HW nustatymai) tik STK500 programuotojui.

Papildomi skirtukai (HWInformacija)

Skirtuke (HW Info) rodoma programuotojo programinės įrangos versija.

ATTiny2313 mikrovaldiklis yra naujos seno AT90S2313 mikrovaldiklio serijos atgimimas, kuris savo laiku buvo gana sėkmingas. ATTiny2313 yra patobulinta jo protėvio versija. Tačiau jis paveldėjo ir gana kuklią periferiją. Taigi, kalbant apie funkcionalumą, ATTiny2313 yra kuklus. Mikrovaldiklis yra dviejų versijų – įprastos (ATTiny2313) ir su sumažintos galios (ATTiny2313) V). Turite mokėti už sumažintą galią sumažindami mikrovaldiklio laikrodžio dažnį (lėtesnis veikimas).

Bendrosios charakteristikos:

  • 120 instrukcijų, optimizuotų programavimui aukšto lygio kalbomis;
  • 32 bendrosios paskirties registrai (man tai patinka);
  • beveik kiekviena instrukcija vykdoma per 1 generatoriaus laikrodžio ciklą, dėl kurio našumas pasiekia 20 MIPS (20 mln. operacijų per sekundę);
  • 2 kilobaitai „flash“ atminties programoms. Flash atmintis gali būti programuojama tiesiai iš valdiklio (pačio);
  • 128 baitų EEPROM (nelakioji atmintis);
  • 128 baitų SRAM (laisvosios kreipties atmintis).

Ką mes turime šiame periferiniame luste?

  • vienas 8 bitų laikmatis/skaitiklis;
  • vienas 16 bitų laikmatis/skaitiklis;
  • keturi PWM kanalai;
  • analoginis komparatorius;
  • Watchdog laikmatis;
  • USI universalioji nuoseklioji sąsaja;
  • USART (tai kompiuteris COM RS232).

Ypatingos gėrybės:

Galia, dažnis:

1,8–5,5 V (skirta ATTiny2313V) iki 10 MHz
2,7 – 5,5 V (skirta ATTiny2313) iki 20 MHz
Veikimo režimu jis sunaudoja 230 µA su 1,8 V maitinimo šaltiniu ir 1 MHz pagrindinio generatoriaus dažniu. Energijos taupymo režimu išjungimas sunaudoja mažiau nei 1 µA esant 1,8 V įtampai

Programavimas

ATTiny2313 sugebėjo išgyventi kitą peržiūrą ir gavo laišką A pabaigoje. Tarp naujovių reikėtų pažymėti:
— Ant visų kojų atsirado išorinių pertrūkių.
— Panaikintas normalaus ir žemos įtampos maitinimo šaltinio atskyrimas. ATTiny2313A gali būti maitinamas nuo 1,8 iki 5,5 V, tuo tarpu būtina laikytis tik dažnio apribojimų nuo 4 MHz (1,8 V) iki 20 MHz.
— Srovės suvartojimas gerokai sumažėjo tiek įprastu režimu, tiek energijos taupymo režimu – atitinkamai 190 µA ir 0,1 µA.
Be to, dėl naujausios peržiūros ATTiny2313 įsigijo vyresnįjį brolį ATTiny4313 (be A raidės). Vyresnysis brolis panašus į ATTiny2313A, išskyrus dvigubai didesnę atmintį (4 kB Flash, 256 baitai EEPROM, 256 baitai SRAM). Šie pakeitimai rodo „Atmel“ ketinimus ir toliau palaikyti šį mikrovaldiklį.

Dėl prasto naujų ATTiny2313A ir ATTiny4313 versijų prieinamumo ir nesuprantamos kainos mano įrenginiai bus kuriami naudojant senąją ATTiny2313 versiją. Tačiau kadangi naujos versijos yra suderinamos su senomis, teoriškai programinė įranga turėtų veikti naujuose mikrovaldikliuose.

Išvados:

Kaip ir visi ATTiny2313 serijos AVR mikrovaldikliai, jis yra produktyvus ir ekonomiškas. Jis turi SOIC dėklą, kuris yra patogus plokščių išdėstymui ir litavimui. Atstumai tarp kojų yra gana dideli (galite netgi padaryti pėdsaką ant lentos tarp gretimų kojų). Lengva išmokti. Yra daug literatūros rusų kalba. Dėl didelio jo pirmtako AT90S2313 populiarumo tinkle buvo sukurta daug įdomių schemų kartojimui. Plačiai parduodamas. Nebrangus. Norėdami pradėti studijuoti mikrovaldiklius, tai yra vieta. Tarp trūkumų verta paminėti gana kuklius šiandieninius periferinius įrenginius. Ir kaip minusas, SOIC dėklas yra šiek tiek didelis (nors aš jau spėju). Mažas atminties kiekis neleis kurti didelio masto projektų naudojant ATTiny2313. Apskritai, geras didelio našumo valdiklis mažiems projektams, kuriems nereikia specialių periferinių įrenginių. Planuoju jį gana plačiai naudoti savo įrenginiuose dėl geriausio prieinamumo ir mažos kainos.

8 bitų AVR mikrovaldiklis su 2 KB sistemos programuojama Flash atmintimi

Charakteristikos:

  • AVR RISC architektūra
  • AVR – aukštos kokybės ir mažos galios RISC architektūra
    120 instrukcijų, kurių dauguma vykdoma per vieną laikrodžio ciklą
    32 8 bitų bendrosios paskirties darbo registrai
    Visiškai statiška architektūra
  • RAM ir nepastovi programų bei duomenų atmintis
    2 KB savarankiškai programuojamos Flash programos atminties, galinčios atlaikyti 10 000 įrašymo / ištrynimo ciklų
    128 baitų sistemos programuojama EEPROM duomenų atmintis, galinti atlaikyti 100 000 įrašymo / ištrynimo ciklų
    128 baitai vidinės SRAM atminties (statinė RAM)
    Programuojama apsauga nuo skaitymo Flash programos atminties ir EEPROM duomenų atminties
  • Periferinės savybės
    Vienas 8 bitų laikmatis/skaitiklis su atskiru išankstiniu skirstytuvu
    Vienas 16 bitų laikmatis / skaitiklis su atskiru išankstiniu skirstytuvu, palyginkite grandinę, fiksavimo grandinę ir du PWM kanalus
    Integruotas analoginis lygintuvas
    Programuojamas laikmatis su įmontuotu osciliatoriumi
    USI – universalioji nuoseklioji sąsaja
    Visiškai dvipusis UART
  • Specialios mikrovaldiklio savybės
    Integruotas debugWIRE derintuvas
    Sistemos programavimas per SPI prievadą
    Išoriniai ir vidiniai pertrūkių šaltiniai
    Mažo energijos suvartojimo režimai tuščiosios eigos, išjungimo ir budėjimo režimai
    Patobulinta maitinimo įjungimo atstatymo grandinė
    Programuojama elektros energijos tiekimo sutrikimų aptikimo grandinė
    Integruotas kalibruotas generatorius
  • I/O prievadai ir korpuso dizainas
    18 programuojamų I/O linijų
    20 kontaktų PDIP, 20 kontaktų SOIC ir 32 kontaktų MLF paketai
  • Maitinimo įtampos diapazonas
    nuo 1,8 iki 5,5 V
  • Veikimo dažnis
    0–16 MHz
  • Vartojimas
    Aktyvus režimas:
    300 µA esant 1 MHz ir 1,8 V maitinimo įtampai
    20 µA esant 32 kHz ir 1,8 V maitinimo įtampai
    Mažo vartojimo režimas
    0,5 µA esant 1,8 V maitinimo įtampai

ATtiny2313 blokinė schema:


Bendras aprašymas:

ATtiny2313 yra mažos galios 8 bitų CMOS mikrovaldiklis su AVR RISC architektūra. Vykdydamas instrukcijas per vieną ciklą, ATtiny2313 pasiekia 1 MIPS našumą esant 1 MHz taktiniam dažniui, todėl dizaineris gali optimizuoti galios ir našumo santykį.

AVR branduolys integruoja turtingą instrukcijų rinkinį ir 32 bendrosios paskirties darbo registrus. Visi 32 registrai yra tiesiogiai prijungti prie aritmetinio loginio bloko (ALU), leidžiančio pasiekti du nepriklausomus registrus vykdant vieną komandą. Dėl to ši architektūra užtikrina dešimtis kartų didesnį našumą nei standartinė CISC architektūra.

ATtiny2313 turi šias charakteristikas: 2 KB Flash programuojama programinė atmintis, 128 baitų EEPROM duomenų atmintis, 128 baitų SRAM (statinė RAM), 18 bendrosios paskirties įvesties/išvesties linijų, 32 bendrosios paskirties darbo registrai, vieno laido sąsaja įtaisytajam. derintuvas, du lankstūs laikmačiai / skaitikliai su palyginimo grandinėmis, vidiniai ir išoriniai pertraukų šaltiniai, programuojama serijinė USART, universali nuoseklioji sąsaja su paleidimo sąlygų detektoriumi, programuojamas laikmatis su įmontuotu generatoriumi ir trys programinės įrangos inicijuoti mažos galios režimai. Laukimo režimu šerdis sustoja, bet RAM, laikmačiai / skaitikliai ir pertraukimo sistema toliau veikia. Išjungimo režimu registrai išlaiko savo reikšmes, tačiau generatorius sustoja, išjungiant visas įrenginio funkcijas iki kito pertraukimo arba aparatinės įrangos atstatymo. Budėjimo režimu pagrindinis osciliatorius veikia, o likusi įrenginio dalis neveikia. Tai leidžia mikroprocesoriui įsijungti labai greitai, išsaugant galią, kai jis neveikia.

Prietaisas pagamintas naudojant didelio tankio nepastovios atminties technologiją iš Atmel. Integruota ISP Flash leidžia perprogramuoti programos atmintį sistemoje per nuosekliąją SPI sąsają arba naudojant įprastą nepastovios atminties programuotoją. Sujungus 8 bitų RISC branduolį su savarankiškai programuojančia „Flash“ atmintimi į vieną lustą, ATtiny2313 yra galingas mikrovaldiklis, suteikiantis daugiau lankstumo mikroprocesorių sistemos dizaineriui.

LPT prievado programuotojo schema parodyta paveikslėlyje. Kaip autobuso vairuotojas naudokite 74AC 244 arba 74HC244 (K1564AP5), 74LS244 (K555AP5) arba 74ALS244 (K1533AP5) mikroschemą.

LED VD1 rodo mikrovaldiklio įrašymo režimą,

LED VD2 - skaitymas,

LED VD3 - maitinimo šaltinio buvimas grandinėje.

Elektros tiekimui reikalingą įtampą grandinė paima iš ISP jungties, t.y. iš programuojamo įrenginio. Ši grandinė yra pertvarkyta STK200/300 programavimo grandinė (pridėta šviesos diodų, kad būtų lengviau valdyti), todėl ji suderinama su visomis kompiuterio programuotojų programomis, kurios veikia su STK200/300 grandine. Norėdami dirbti su šiuo programuotoju, naudokite programą CVAVR

Programuotojas gali būti pagamintas ant spausdintinės plokštės ir dedamas į LPT jungties korpusą, kaip parodyta paveikslėliuose:




Norėdami dirbti su programuotoju, patogu naudoti LPT prievado plėtinį, kurį nesunku pasidaryti patiems (pavyzdžiui, iš Centronix kabelio spausdintuvui), svarbiausia nepagailėti laidų įžeminimui (18- 25 jungties kojelės) arba pirkite. Kabelis tarp programuotojo ir programuojamo lusto neturi viršyti 20-30 cm.

Kaip surinkti paprastą schemą, kaip prijungti programuotoją prie ATtiny2313 mikrovaldiklio, kaip parašyti paprastą programą C ir kaip su mūsų programa paleisti mikrovaldiklį ATtiny2313, visa tai rasite šiame straipsnyje.

Visų pirma, mums reikia programuotojo, yra daugybė programuotojų tipų, kurį programuotoją pasirinkti?
Yra paprasti programuotojai, kuriuose reikia įdėti mikrovaldiklį, jį suaktyvinti, išimti mikrovaldiklį ir tada įkišti į mūsų plokštę, kad pamatytumėte rezultatą, ir šią seką iš pradžių reikės atlikti šimtus kartų, ši parinktis mano nuomone, nėra patogu.
Mūsų mikrovaldiklis ATtiny2313 Palaiko ISP (sisteminio programavimo) funkciją per SPI prievadą, šis programavimo grandinėje naudojimo atvejis IPT mano nuomone patogiausia ir greičiausia, nes... Nereikia išimti mikrovaldiklio iš mūsų plokštės po kiekvieno programinės aparatinės įrangos atnaujinimo, mikrovaldiklį galite programuoti šimtus kartų ir iš karto, neatjungdami programuotojo nuo kompiuterio ir plokštės, pamatysite rezultatą pamirkę mikrovaldiklį; derinimo procesas radijo mėgėjų įrenginio programinė įranga pastebimai supaprastėja ir sutrumpėja tam skirtas laikas.
Galite patys sukurti IPT programuotoją grandinėje; internete yra daug paprastų grandinių, kaip tai padaryti per LPT arba COM prievadą, pavyzdžiui, programuotojas. PonyProg Internete galite rasti diagramas, kaip tai padaryti.

Šiame straipsnyje bus aptariamas darbas su mikrovaldiklių IPT programuotoju grandinėje AVR (PX-400) veikia per COM prievadą.
Jei jūsų kompiuteryje nėra COM prievado, jums taip pat reikės adapterio iš USB prievado į COM prievadą, taip pat yra daug tokių adapterių rūšių, aš rekomenduoju adapterį, su kuriuo dirbau: UCON-232S USB į nuoseklųjį prievadą keitiklio plokštė
Programuotojo nuotrauka PX-400, adapteris UCON-232S USB , Duomenų lapas ATTiny2313

Pažvelkime į visas šios schemos detales:
(Tik tuo atveju, visas dalis, programuotoją, adapterį (nuo USB iki COM prievado) nusipirkau adresu chipdip.ru)

1 - PBD-20 plokštės lizdas 2,54 mm 2x10 tiesus- Tai padariau dėl patogumo, kad būtų lengviau patikrinti signalus iš mikrovaldiklio kaiščių; šio punkto padaryti nepavyko.
2 - SCS-20 DIP skydelis 20 kontaktų- Lituojame skydelį prie plokštės, kad esant reikalui būtų galima pakeisti plokštėje esantį mikrovaldiklį,
ATtiny2313-20PU, DIP20, MCU, 5V, 1K-Flash, 12MHz- Į DIP skydelį įkišame mikrovaldiklį.
3 - Kvarcinis kristalas 4.000 MHz (sutrumpintas) HC-49S- Kvarcinis kristalas 4 MHz
4 - Keraminis kondensatorius K10-17B imp. 22pF NPO, 5%, 0805- Du 22pF keraminiai kondensatoriai
5 - 78M05 (+5V, 0,5A) TO220- 5V įtampos stabilizatorius tiekia mikrovaldiklį su stabilizuota galia ne didesne nei +5V, šiuo atveju gavau 4,4V, tai ir užtenka.
6 - NP-116 maitinimo kištukas 1,3x3,4x9,5 mm MP-331 (7-0026c)- Maitinimo kištukas buvo prilituotas prie seno mobiliojo telefono įkroviklio DC 5,7V/800mA
7 - DS-213 maitinimo lizdas laive- kur yra NP-116 kištuko maitinimo šaltinis, kad būtų lengva prijungti maitinimą
8 - IDC-10MS (BH-10), tiesus kištukas- Kištukas, skirtas prijungti grandinėje esantį IPT programuotoją
9 - Pastovus rezistorius 0,25W 150 omų- Trys 150 omų rezistoriai ant MISO, SCK, MOSI kaiščių
10 - Pastovi rezistorius 0,25W 47Om- Vienas 47 omų rezistorius vienam RESET kaiščiui
11 - Taktinis mygtukas h = 5 mm, TC-0103 (TS-A2PS-130)- RESET mygtukas, paspaudus mygtuką programa mikrovaldiklyje paleidžiama nuo pradžių, mygtuko galėjo būti ir praleistas.
12 - Žalias LED d=3mm, 2.5V, 2mA - Atlieka indikatoriaus funkciją, šio elemento atlikti nepavyko.
13 - Pastovus rezistorius 0,25W 110 omų- LED rezistorius, kad ant šviesos diodo būtų 2 V, šio žingsnio galima praleisti
14 - Du laidai, prijungti prie šviesos diodo, norint patikrinti signalus iš mikrovaldiklio kaiščių, šio veiksmo atlikti nepavyko
15 - Dip-RM spausdinta duonos lenta 100x100mm

3 ir 4 taškai Veikia kaip vienas vienetas, kaip išorinis laikrodžio generatorius, šiuos taškus galima praleisti, jei nekeliate didelių reikalavimų vidinio RC generatoriaus tikslumui ir stabilumui, vidinio RC generatoriaus paklaida yra apie 10% o tikslumui gali turėti įtakos temperatūros pokytis.

Taigi jūs atsisiuntėte ir įdiegėte Atmel studija:
Paleidžiame Atmel studija ir parašykite paprastą programą C kalba, mirksi šviesos diodu:
Spustelėkite: Naujas projektas... \ AVR GCC \ C \ C Vykdomas projektas
Nurodykite aplanką, kuriame norite išsaugoti projektą, ir projekto pavadinimą, pvz., Test1, ir spustelėkite Gerai.
Iš sąrašo pasirinkite mūsų ATtiny2313 mikrovaldiklį ir spustelėkite Gerai.
Ištriname viską, kas rodoma lange, ir įklijuojame programos kodą žemiau:

#define F_CPU 4000000L //Nurodykite mūsų išorinio kvarco 4 MHz dažnį
#įtraukti
#įtraukti
int main (tuščia)
{
//Nustatykite visus PORTB kaiščius kaip išvestis
DDRB=0xFF;//Informacijos perdavimo krypties registras (1 išvestis, 0 įvestis)
kol (1)
{
//Duomenų registras PORTB (naudojamas informacijai išvesti)
PORTB=0b00000001;//Mes tiekiame 1 į MK PB0 12 prievadą - įjunkite LED
PORTB=0b00000000;//Taikykite 0 prie MK PB0 12 prievado – išjunkite šviesos diodą
_delay_ms(1000);// Vėlavimas 1 sek.
}
}

Eikite į meniu Build\Configuration Manager\Active Solution Configuration\
Pasirinkite Paleisti, paspauskite Uždaryti
Tai padarėme, kad projekte būtų aplankas Paleisti, apie kurią kalbėsiu toliau.

Spustelėkite F7, paruošta, mūsų programa sudaryta!
Norėdami atnaujinti ATtiny2313 mikrovaldiklio programinę įrangą, mums reikia tik vieno failo su plėtiniu HEX
Jis yra mūsų projekto aplanke: ...
Atkreipkite dėmesį į failą Test1.hex tiesiog paimkite jį iš aplanko Paleisti !
Nepainiokite, nes aplanką Derinimas taip pat yra failas Test1.hex, tačiau šiame faile vis tiek yra derinimo informacijos ir dėl to negalėsite mirksėti su šiuo failu, nes. paprastai jis yra didelis ir netilps į MK atmintį.

Mes radome .hex failą, dabar mums reikia programos ATtiny2313 mikrovaldikliui paleisti, yra daug tokių programų, bet mes naudosime programą: Avr-Osp II
Parsisiųsti:

Mes prijungiame programuotoją prie savo grandinės ir būtinai tiekiame maitinimą į grandinę!

Paleiskite programą Avr-Osp II, nurodykite kelią į failą FLASH skiltyje... \Test1\Test1\Release\Test1.hex, pažymėkite programoje esančius langelius ir paspauskite mygtuką Programaštai, mikrovaldiklis ATtiny2313 yra suaktyvintas!

Koks yra in-circuit ISP programuotojų pranašumas?Dabar, neatjungę laidų nuo mūsų grandinės, galite atlikti programos pakeitimus ir, kaip aprašyta aukščiau, mirksi mikrovaldikliu ir iškart pamatysite rezultatą.

Prašome palikti klausimus ir komentarus mūsų forume