AVR mikrokontrolleri tüübid - Atmega32 ja ATmega8

Proovige Meie Instrumenti Probleemide Kõrvaldamiseks





ATmega32 - 8-bitine AVR mikrokontroller

AVR mikrokontrollerid põhinevad täiustatud RISC arhitektuuril. ATmega32 on väikese võimsusega CMOS-i 8-bitine mikrokontroller, mis põhineb AVR-i täiustatud RISC-arhitektuuril. AVR suudab täita miljon käsku sekundis, kui tsüklisagedus on 1MHz.

40-kontaktiline DIP-foto ATmega32-st

40-kontaktiline DIP-foto ATmega32-st



Põhijooned:


  • 32 x 8 üldotstarbelist registrit.
  • 32 000 baiti süsteemis iseprogrammeeritavas välkmälu programmis
  • 2K baiti sisemist SRAM-i
  • 1024 baiti EEPROM
  • Saadaval 40 kontaktiga DIP, 44 pliiga QTFP, 44 padjaga QFN / MLF
  • 32 programmeeritavat I / O-liini
  • 8-kanaliline, 10-bitine ADC
  • Kaks 8-bitist taimerit / loendurit, millel on eraldi eelskaalad ja režiimid
  • Üks 16-bitine taimer / loendur koos eraldi eelskaalaga, võrrelge režiimi ja jäädvustusrežiimi.
  • 4 PWM kanalit
  • Süsteemi programmeerimisel kiibil oleva alglaadimisprogrammi abil
  • Programmeeritav valvekoera taimer eraldi kiibil oleva ostsillaatoriga.
  • Programmeeritav jada USART
  • Master / slave SPI jadaliides

Spetsiaalsed mikrokontrolleri funktsioonid:

  • Kuus unerežiimi: tühikäik, ADC müra vähendamine, energiasääst, väljalülitamine, ooterežiim ja pikendatud ooterežiim.
  • Sisemine kalibreeritud RC-ostsillaator
  • Välised ja sisemised katkestusallikad
  • Toite lähtestamine ja programmeeritav tühjenemise tuvastamine.
ATmega32 40-kontaktiline DIP

ATmega32 40-kontaktiline DIP



Kõik 32 registrit on otseselt ühendatud aritmeetilise loogikaüksusega (ALU), mis võimaldab juurdepääsu kahele sõltumatule registrile ühes käskluses, mis täidetakse ühes taktsüklis.

Toite väljalülitamine salvestab registri sisu, kuid külmutab ostsillaatori. Kõik muud kiibi funktsioonid keelatakse kuni järgmise välise katkestuseni. Asünkroonne taimer võimaldab kasutajal säilitada energiasäästurežiimis taimerit, kui ülejäänud seade magab.

ADC müra vähendamise režiim peatab protsessori ja kõik sisend- / väljundmoodulid, välja arvatud ADC ja asünkroonne taimer. Ooterežiimis magab ülejäänud seade, välja arvatud kristall-ostsillaator. Nii põhiostsillaator kui ka asünkroonne taimer töötavad laiendatud ooterežiimis.

ATmega32 on võimas mikrokontroller, kuna selle monoliitsel kiibil on süsteemis iseprogrammeeritav välk, mis pakub paindlikku ja kulutõhusat lahendust paljudele sisseehitatud juhtimisrakendustele.


44 padjaga TQFP / MLF

44 padjaga TQFP / MLF

PIN-koodide kirjeldused:

VCC: Digitaalne pingeallikas

GND: Maa

Ühend A (PA7-PA0): See port toimib A / D muunduri analoogsisenditena. See töötab ka 8-bitise kahesuunalise I / O-pordina, kui A / D-muundurit ei kasutata.

Ühend B (PB7-PB0) ja port D (PD7-PD0): See on 8-bitine kahesuunaline I / O-port. Selle väljundpuhvritel on sümmeetrilised ajamiomadused, millel on nii kõrge valamu kui ka allika võime. Sisendina tõmmatakse need äärmiselt madalale, kui sissetõmbetakistid on aktiveeritud. See teenib ka ATmega32 mitmesuguseid erifunktsioonide funktsioone.

Port C (PC7-PC0): See on 8-bitine kahesuunaline I / O-port. Kui JTAG-liides on lubatud, aktiveeritakse tihvtide PC5 (TDI), PC3 (TMS) ja PC2 (TCK) tõmbetakistid.

JTAG-i liidestamine ATmega32 C-porti kasutades

JTAG-i liidestamine ATmega32 C-porti kasutades

Lähtesta: See on sisend.

XTAL1: See on inverteeriva ostsillaatori võimendi sisend ja sisemise kella tööahela sisend.

XTAL2: See on inverteeriva ostsillaatori võimendi väljund.

AVCC: See on pordi A ja A / D muunduri toitepinge tihvt. See peaks olema ühendatud VCC-ga.

AREF: AREF on A / D muunduri analoogne võrdlusnõel.

ATmega32 mälestused:

Sellel on kaks peamist mäluruumi andmemälu ja programmi mälumaht. Lisaks on sellel andmete salvestamiseks EEPROM-mälu.

Süsteemi programmeeritavas Flash-programmi mälus:

ATmega32 sisaldab 32 KB-i kiipi süsteemi ümber programmeeritavas välkmälus programmide salvestamiseks. Flash on korraldatud kujul 16k X 16 ja selle mälu on jagatud kaheks osaks Boot-programmi sektsioon ja rakendusprogrammi sektsioon.

ISP programmeerija skeem

ISP programmeerija vooluringi skeem

SRAM-i andmemälu:

Registrifail, sisend- / väljundmälu ja sisemised andmed SRAM on adresseeritud 2144 alumise andmemälu asukohaga. Esimesed 96 asukohta adresseerivad registrifaili ja sisend- / väljundmälu ning sisemised andmed SRAM-i adresseerivad järgmised 2048 asukohta. Otsene, kaudne nihkega, kaudne, kaudne eelvähendusega ja otsene järelmaksuga on viis erinevat andmemälu katmisrežiimi. Nende üldiste sihtotstarbeliste registrite 32, 64 sisend- ja väljundregistrit ja 2048 baiti siseandmeid SRAM on nende aadressirežiimide abil juurdepääsetavad.

ATmega32 plokkskeem

ATmega32 plokkskeem

EEPROMi andmemälu:

See sisaldab 1024 baiti EEPROM-mälu. Sellele pääseb juurde eraldi andmeruumina, kus saab lugeda ja kirjutada üksikuid baite.

I / O-mälu:

Kõik I / O-d ja välisseadmed paigutatakse I / O-ruumi. Sisend- / väljundkohtadele pääseb juurde IN ja OUT käskudega, edastades andmed 32 üldotstarbelise registri ja sisend- / väljundruumi vahel. Sisend- / väljundregistrid, mille aadress on 00-1F, on SBI ja CBI juhiste abil otse bittidele ligipääsetavad.

ATmega8

Sissejuhatus

See on 8-bitine CMOS-i mikrokontroller AVR-perekonnast (välja töötanud Atmel Corporation 1996. aastal) ja on üles ehitatud RSIC-i (Reduced Instruction Set Computer) arhitektuurile. Selle peamine eelis on see, et see ei sisalda ühtegi akut ja mis tahes toimingu tulemuse saab salvestada mis tahes registris, mis on määratletud käsuga.

Arhitektuur

Arhitektuur

Arhitektuur

Mälu

See koosneb 8KB välkmälust, 1KB SRAMist ja 512 baiti EEPROM-ist. 8K välklamp on jagatud kaheks osaks - alumine osa, mida kasutatakse alglaadimisvälgu sektsioonina, ja ülemine osa, mida kasutatakse rakendusvälgu sektsioonina. SRAM sisaldab 1K baiti koos 1120 baiti üldotstarbeliste registrite ja sisend- / väljundregistritega. Alumist 32 aadressi asukohta kasutatakse 32 üldotstarbelise 8-bitise registri jaoks. Järgmist 64 aadressi kasutatakse sisend- / väljundregistrite jaoks. Kõik registrid on ühendatud otse ALU-ga. EEPROM-i kasutatakse kasutaja määratud andmete salvestamiseks.

Sisend / väljund pordid

See koosneb 23 sisend- / väljundliinist, millel on 3 sisend- / väljundporti, nimedega B, C ja D. Sadam B koosneb 8 sisend- / väljundliinist, port C koosneb 7 sisend- / väljundliinist ja port D koosneb 8 sisend- / väljundliinist read.

Mis tahes portiX (B, C või D) vastavad registrid on:

DDRX : Pordi X andmesuundade register

PORTX : Port X andmeregister

PINX : Port X sisendregister

Taimerid ja loendurid

See koosneb 3 taimerist, millel on võrreldavad režiimid. Kaks neist on 8-bitised, kolmas aga 16-bitine.

Ostsillaatorid

See sisaldab sisemist lähtestamist ja ostsillaatorit, mis võimaldab välistada igasuguse välise sisendi vajaduse. Sisemine RC-ostsillaator suudab genereerida sisemise kella, mis võib töötada mis tahes sagedusel 1MHz, 2MHz, 4MHz või 8MHz, nagu programmeeritud. Samuti toetab see välist ostsillaatorit maksimaalse sagedusega 16MHz.

Suhtlus

See pakub nii sünkroonseid kui ka asünkroonseid andmeedastusskeeme USART-i (universaalse sünkroonse ja asünkroonse vastuvõtja saatja) kaudu, see tähendab modemite ja muude jadaseadmetega suhtlemist. Samuti toetab see SPI-d (Serial Peripheral Interface), mida kasutatakse seadmete vahel suhtlemiseks põhi-orja meetodil. Teine toetatav sidetüüp on TWI (kahe juhtmega liides). See võimaldab kommutatsiooni kahe seadme vahel, kasutades 2 juhtet koos ühise maandusühendusega.

Sellel on ka kiibi sisse integreeritud võrdlusmoodul, mis võimaldab võrrelda analoog-komparaatori kahe sisendiga väliste kiipide kaudu ühendatud kahte pinget.

See sisaldab ka 6-kanalilist ADC-d, millest neljal on 10-bitine ja kahel 8-bitine täpsus.

Olekuregister : See sisaldab teavet praegu täidetud aritmeetiliste käskude kohta.

ATmega tihvtide skeem :

ATmega tihvtide skeem

ATmega tihvtide skeem

ATmega8 üks oluline omadus on see, et peale 5 tihvti toetavad kõik muud tihvtid kahte signaali.

  • Pordi C jaoks kasutatakse tihvte 23,24,25,26,27,28 ja 1, sadamas B aga tihvte 9,10,14,15,16,17,18,19 ja tihvte 2,3,4, D-sadama jaoks kasutatakse 5,6,11,12.
  • Tihvt 1 on ka lähtestusnõel ja madala taseme signaal, mis kestab kauem kui minimaalne impulsi pikkus, loob lähtestamise.
  • Pistikuid 2 ja 3 kasutatakse ka USART-i jadaühenduseks.
  • Väliseid katkestusi kasutatakse tihvtides 4 ja 5. Üks neist käivitub, kui olekuregistri katkestuse lipubitt on seatud, ja teine ​​käivitub seni, kuni katkestuse tingimus valitseb.
  • Tihvte 9 ja 10 kasutatakse nii välise ostsillaatorina kui ka taimeri loenduri ostsillaatoritena, kus kristall on ühendatud otse tihvtide vahel. Tihvti 10 kasutatakse kristalli ostsillaatori või madalsagedusliku kristalli ostsillaatori jaoks. Kui kella allikana kasutatakse sisemist kalibreeritud RC-ostsillaatorit ja asünkroonne taimer on lubatud, saab neid tihvte kasutada taimeri ostsillaatori tihvtidena.
  • Pistikut 19 kasutatakse SPI-kanali aluskella väljundina, alamkella sisendina.
  • Pistikut 18 kasutatakse põhikella sisendina, alamkella väljundina.
  • Pin 17 kasutatakse SPI kanali põhiandmete väljundina, alamandmete sisendina. Seda kasutatakse sisendina, kui see on orja poolt lubatud, ja kui master on selle lubanud, on see kahesuunaline. Seda tihvti saab kasutada ka väljundi võrdlusväljundina, mis toimib taimeri / loenduri võrdlusmängu välise väljundina.
  • Pin16 kasutatakse orjavaliku sisendina. Seda saab kasutada ka taimeri / loenduri1 võrdlusmänguna, konfigureerides väljundina PIN2 tihvti.
  • Pin15-d saab kasutada välise väljundina taimeri / loenduri võrdluse A jaoks.
  • ADC kanalite jaoks kasutatakse tihvte 23 kuni 28. Pistikut 27 saab kasutada ka jadaliidese kellana ja tihvti 28 saab kasutada jadaliidese andmetena
  • Tihvte 13 ja 12 kasutatakse analoog-komparaatori sisenditena.
  • Taimi / loenduri allikatena kasutatakse tihvte 11 ja 6.

Mikrokontrolleri unerežiimid

Mikrokontroller töötab 6 unerežiimis.

  • Ooterežiim: See peatab protsessori toimimise, kuid võimaldab SPI, USART, ADC, TWI, taimeri / loenduri ja valvekoera tööd ning katkestab süsteemi. See saavutatakse, määrates MCU registrilipu SM0 väärtuseks SM2 bitid nulli.
  • ADC müra vähendamise režiim : See peatab protsessori, kuid võimaldab ADC, väliste katkestuste, taimeri / loenduri2 ja valvekoera funktsioneerimist.
  • Väljalülitusrežiim : See võimaldab väliseid katkestusi, 2-juhtmelist jadaliidest ja valvekoera, blokeerides samal ajal välise ostsillaatori. See peatab kõik loodud kellad.
  • Energiasäästurežiim : Seda kasutatakse siis, kui taimeri / loenduri kellaaeg on asünkroonne. See peatab kõik kellad, välja arvatud clkASY.
  • Ooterežiim : Selles režiimis lubatakse ostsillaatoril töötada, peatades kõik muud toimingud.

Atmega8 hõlmavad rakendused

Vilkuv LED

Rakendused, mis hõlmavad Atmega8

Vilkuv LEd-skeem

Programm on kirjutatud C-keeles ja see kompileeritakse kõigepealt .c-failina. Tarkvaratööriist ATMEL teisendab selle faili binaarseks ELF-i objektfailiks. Seejärel teisendatakse see uuesti heksfailiks. Seejärel edastatakse heksfail AVR dude programmi abil mikrokontrollerile.

Foto krediit: