AVR-mikrokontrollerityypit - Atmega32 ja ATmega8

Kokeile Instrumenttia Ongelmien Poistamiseksi





ATmega32 - 8-bittinen AVR-mikrokontrolleri

AVR-mikrokontrollerit perustuvat edistyneeseen RISC-arkkitehtuuriin. ATmega32 on pienitehoinen 8-bittinen CMOS-mikrokontrolleri, joka perustuu AVR-parannettuun RISC-arkkitehtuuriin. AVR voi suorittaa miljoona käskyä sekunnissa, jos jaksotaajuus on 1 MHz.

40-nastainen DIP-valokuva ATmega32: sta

40-nastainen DIP-valokuva ATmega32: sta



Avainominaisuudet:


  • 32 x 8 yleiskäyttöistä rekisteriä.
  • 32 kt tavua järjestelmän itse ohjelmoitavassa flash-ohjelmamuistissa
  • 2K tavua sisäistä SRAM-muistia
  • 1024 tavua EEPROM
  • Saatavana 40-napaisella DIP: llä, 44-johtoisella QTFP: llä, 44-pad QFN / MLF: llä
  • 32 ohjelmoitavaa I / O-linjaa
  • 8-kanavainen, 10-bittinen ADC
  • Kaksi 8-bittistä ajastinta / laskuria erillisillä esilaskureilla ja vertailutiloja
  • Yksi 16-bittinen ajastin / laskuri erillisellä esijärjestelmällä, vertaa tilaa ja sieppaustilaa.
  • 4 PWM-kanavaa
  • Järjestelmän ohjelmoinnissa on-chip-käynnistysohjelmalla
  • Ohjelmoitava vahtikoiran ajastin erillisellä sirun oskillaattorilla.
  • Ohjelmoitava sarja USART
  • Master / slave SPI -sarjaliitäntä

Mikrokontrollerin erityisominaisuudet:

  • Kuusi lepotilaa: joutokäynti, ADC-melunvaimennus, virransäästö, virrankatkaisu, valmiustila ja laajennettu valmiustila.
  • Sisäinen kalibroitu RC-oskillaattori
  • Ulkoiset ja sisäiset keskeytyslähteet
  • Käynnistä nollaus ja ohjelmoitava ruskean tunnistus.
ATmega32: n 40-nastainen DIP

ATmega32: n 40-nastainen DIP



Kaikki 32 rekisteriä on kytketty suoraan aritmeettiseen logiikkayksikköön (ALU), mikä mahdollistaa kahden itsenäisen rekisterin käytön yhdellä käskyllä ​​yhdessä kellosyklissä.

Virran katkaisu tallentaa rekisterin sisällön, mutta jäädyttää oskillaattorin. Kaikki muut sirutoiminnot poistetaan käytöstä, kunnes seuraava ulkoinen keskeytys tapahtuu. Asynkronisen ajastimen avulla käyttäjä voi ylläpitää ajastinta virransäästötilassa, kun muu laite nukkuu.

ADC-kohinanvaimennustila pysäyttää prosessorin ja kaikki I / O-moduulit paitsi ADC ja asynkroninen ajastin. Valmiustilassa, muu kuin kideoskillaattori, muu laite nukkuu. Sekä pääoskillaattori että asynkroninen ajastin toimivat edelleen laajennetussa valmiustilassa.

ATmega32 on tehokas mikrokontrolleri, koska se on järjestelmässä itsensä ohjelmoitava salama monoliittisella sirulla, tarjoaa erittäin joustavan ja kustannustehokkaan ratkaisun moniin sulautettuihin ohjaussovelluksiin.


44-pad TQFP / MLF

44-pad TQFP / MLF

Pin-kuvaukset:

VCC: Digitaalinen jännitesyöttö

GND: Maa

Portti A (PA7-PA0): Tämä portti toimii analogisina tuloina A / D-muuntimessa. Se toimii myös 8-bittisenä kaksisuuntaisena I / O-porttina, jos A / D-muunninta ei käytetä.

Portti B (PB7-PB0) ja portti D (PD7-PD0): Se on 8-bittinen kaksisuuntainen I / O-portti. Sen lähtöpuskureilla on symmetriset käyttöominaisuudet, ja niillä on korkea nielu ja lähdekyky. Tuloina nämä vedetään erittäin mataliksi, jos vetovastukset aktivoidaan. Se palvelee myös ATmega32: n useita erityistoimintoja.

Portti C (PC7-PC0): Se on 8-bittinen kaksisuuntainen I / O-portti. Jos JTAG-liitäntä on käytössä, nastojen PC5 (TDI), PC3 (TMS) ja PC2 (TCK) vetovastukset aktivoituvat.

JTAG: n liitäntä ATmega32-portin C avulla

JTAG: n liitäntä ATmega32-portin C avulla

Palauta: Se on panos.

XTAL1: Se on tulo käänteisoskillaattorivahvistimeen ja tulo sisäisen kellon käyttöpiiriin.

XTAL2: Se on käänteisen oskillaattorivahvistimen lähtö.

AVCC: Se on syöttöjännitetappi porttien A ja A / D muuntimille. Sen tulisi olla kytketty VCC: hen.

AREF: AREF on A / D-muuntimen analoginen vertailutappi.

ATmega32-muistot:

Siinä on kaksi päämuistitilaa, datamuisti ja ohjelman muistitila. Lisäksi siinä on EEPROM-muisti tietojen tallentamista varten.

Järjestelmän ohjelmoitavassa Flash-ohjelmamuistissa:

ATmega32 sisältää 32 kt tavua sirulla järjestelmän uudelleenohjelmoitavassa flash-muistissa ohjelmien tallennusta varten. Flash on järjestetty muodossa 16k X 16 ja sen muisti on jaettu kahteen osaan: Käynnistysohjelma ja sovellusohjelma.

ISP-ohjelmoijan piirikaavio

ISP-ohjelmoijan piirikaavio

SRAM-datamuisti:

Rekisteritiedosto, I / O-muisti ja sisäinen data SRAM on osoitettu alemmilla 2144-datamuistipaikoilla. Ensimmäiset 96 sijaintia osoittavat rekisteritiedoston ja I / O-muistin, ja sisäiset tiedot SRAM osoitetaan seuraavilla 2048 sijainnilla. Suorat, epäsuorat siirtymällä, epäsuorat, epäsuorat esipuhdistuksilla ja suorat jälkipoistolla ovat 5 erilaista osoitemoodia, jotka datamuisti peittää. 32 yleiskäyttöistä rekisteriä, 64 I / O-rekisteriä ja 2048 tavua sisäistä dataa SRAM ovat käytettävissä näitä osoitetiloja käyttämällä.

Lohkokaavio ATmega32: sta

Lohkokaavio ATmega32: sta

EEPROM-datamuisti:

Se sisältää 1024 tavua EEPROM-muistia. Sitä voidaan käyttää erillisenä tietotilana, jossa yksittäisiä tavuja voidaan lukea ja kirjoittaa.

I / O-muisti:

Kaikki I / O: t ja oheislaitteet sijoitetaan I / O-tilaan. I / O-paikkoihin pääsee IN- ja OUT-ohjeilla, jotka siirtävät tietoja 32 yleiskäyttöisen rekisterin ja I / O-tilan välillä. I / O-rekistereihin, joiden osoite on 00-1F, pääsee suoraan bittikäytössä SBI- ja CBI-ohjeiden avulla.

ATmega8

Johdanto

Se on 8-bittinen CMOS: n sisäinen mikrokontrolleri AVR-perheestä (kehittänyt Atmel Corporation vuonna 1996) ja se on rakennettu RSIC (Reduced Instruction Set Computer) -arkkitehtuuriin. Sen perusetu on, että se ei sisällä akkua ja minkä tahansa toiminnan tulos voidaan tallentaa mihin tahansa rekisteriin, jonka käsky määrittelee.

Arkkitehtuuri

Arkkitehtuuri

Arkkitehtuuri

Muisti

Se koostuu 8 kt flash-muistista, 1 kt SRAM-muistista ja 512 tavua EEPROM-muistista. 8K-salama on jaettu kahteen osaan - alaosaan, jota käytetään käynnistyssalaman osiona, ja ylempään osaan, jota käytetään sovelluksen salamana. SRAM sisältää 1K tavua sekä 1120 tavua yleiskäyttöisiä rekistereitä ja I / O-rekistereitä. Alempia 32 osoitepaikkaa käytetään 32 yleiskäyttöiseen 8-bittiseen rekisteriin. Seuraavia 64 osoitetta käytetään I / O-rekistereihin. Kaikki rekisterit on kytketty suoraan ALU: han. EEPROMia käytetään käyttäjän määrittämien tietojen tallentamiseen.

Tulo- / lähtöportit

Se koostuu 23 I / O-linjasta, joissa on 3 I / O-porttia, nimeltään B, C ja D. Portti B koostuu 8 I / O-linjasta, portti C koostuu 7 I / O-linjasta ja portti D koostuu 8 I / O-linjasta linjat.

Minkä tahansa portin X (B, C tai D) rekisterit ovat:

DDRX : Portti X -tietorekisteri

PORTX : Portti X -rekisteri

PINX : Portti X -tulorekisteri

Ajastimet ja laskurit

Se koostuu 3 ajastimesta, joilla on verrattavissa olevat tilat. Kaksi niistä on 8-bittisiä, kun taas kolmas on 16-bittinen.

Oskillaattorit

Siinä on sisäinen nollaus ja oskillaattori, joka mahdollistaa ulkoisen tulon tarpeen poistamisen. Sisäinen RC-oskillaattori pystyy tuottamaan sisäisen kellon, joka voi toimia millä tahansa taajuudella 1MHz, 2MHz, 4MHz tai 8MHz ohjelmoidusti. Se tukee myös ulkoista oskillaattoria, jonka taajuus on enintään 16 MHz.

Viestintä

Se tarjoaa sekä synkronisia että asynkronisia tiedonsiirtomalleja USART: n (Universal Synchronous and Asynchronous Receiver Transmitter) kautta, ts. Kommunikointia modeemien ja muiden sarjalaitteiden kanssa. Se tukee myös SPI: tä (Serial Peripheral Interface), jota käytetään master-slave-menetelmään perustuvaan laitteiden väliseen viestintään. Toinen tuettu tiedonsiirtotyyppi on TWI (Two Wire Interface). Se mahdollistaa kommutaation kahden laitteen välillä käyttämällä kahta johtoa yhdessä yhteisen maadoitusliitännän kanssa.

Siinä on myös siruun integroitu vertailumoduuli kahden jännitteen vertailuun, jotka on kytketty analogisen vertailijan kahteen tuloon ulkoisten sirujen kautta.

Se sisältää myös 6-kanavaisen ADC: n, joista 4: llä on 10-bittinen tarkkuus ja kahdella 8-bittinen tarkkuus.

Tilarekisteri : Se sisältää tietoja parhaillaan suoritettavasta aritmeettisesta käskyjoukosta.

ATmega-nastakaavio :

ATmega-nastakaavio

ATmega-nastakaavio

Yksi ATmega8: n tärkeistä ominaisuuksista on, että lukuun ottamatta 5 nastaa, kaikki muut nastat tukevat kahta signaalia.

  • Nastoja 23,24,25,26,27,28 ja 1 käytetään porttiin C, kun taas nastoja 9,10,14,15,16,17,18,19 käytetään porttiin B ja nastoja 2,3,4, 5,6,11,12 käytetään satamaan D.
  • Tappi 1 on myös Nollaa tappi ja soveltuva matalan tason signaali pidempään kuin minimipulssin pituus tuottaa nollaus.
  • Nastoja 2 ja 3 käytetään myös sarjaporttiviestintään USART: lle.
  • Nastoja 4 ja 5 käytetään ulkoisina keskeytyksinä. Yksi niistä käynnistyy, kun tilarekisterin keskeytyslippubitti on asetettu, ja toinen laukaisee niin kauan kuin keskeytysolosuhteet vallitsevat.
  • Nastoja 9 ja 10 käytetään ulkoisena oskillaattorina sekä ajastinlaskurioskillaattoreina, joissa kide on kytketty suoraan nastojen väliin. Tappia 10 käytetään kideoskillaattoriin tai matalataajuiseen kideoskillaattoriin. Jos kellolähteenä käytetään sisäistä kalibroitua RC-oskillaattoria ja asynkroninen ajastin on käytössä, näitä nastoja voidaan käyttää ajastimen oskillaattorin nastoina.
  • Tappia 19 käytetään pääkellon ulostulona, ​​SPI-kanavan orjakellotulona.
  • Tappia 18 käytetään pääkellotulona, ​​orjakellon ulostulona.
  • Nasta 17 käytetään päädatan ulostulona, ​​orjatietojen syöttönä SPI-kanavalle. Sitä käytetään tulona, ​​kun orja ottaa sen käyttöön, ja se on kaksisuuntainen, kun isäntä on ottanut sen käyttöön. Tätä nastaa voidaan käyttää myös lähtövertailulähtöön, joka toimii ulkoisena ulostulona ajastimen / laskurin vertailuottelulle.
  • Pin16: ta käytetään orjavalintatulona. Sitä voidaan käyttää myös ajastimen / laskurin1 vertailuotteluna määrittämällä PB2-tappi lähdöksi.
  • Tappia 15 voidaan käyttää ulkoisena lähtöön ajastimen / laskurin vertailuottelulle A.
  • Nastoja 23 - 28 käytetään ADC-kanaville. Tappia 27 voidaan käyttää myös sarjaliitäntäkellona ja nastaa 28 voidaan käyttää sarjaliitännän datana
  • Nastoja 13 ja 12 käytetään analogisen komparaattorin tulona.
  • Nastoja 11 ja 6 käytetään ajastin- / laskurilähteinä.

Mikrokontrollerin lepotilat

Mikrokontrolleri toimii kuudessa lepotilassa.

  • Valmiustila: Se pysäyttää suorittimen toiminnan, mutta sallii SPI: n, USART: n, ADC: n, TWI: n, ajastimen / laskurin ja Watchdogin toiminnan ja keskeyttää järjestelmän. Se saavutetaan asettamalla nollaksi MCU-rekisterilipun SM0 - SM2 bittiä.
  • ADC-kohinanvaimennustila : Se pysäyttää suorittimen, mutta sallii ADC: n, ulkoisten keskeytysten, ajastimen / laskurin2 ja vahtikoiran toiminnan.
  • Sammuta tila : Se sallii ulkoiset keskeytykset, 2-johdinisen sarjaliitännän, vahtikoiran ja poistaa ulkoisen oskillaattorin käytöstä. Se pysäyttää kaikki syntyvät kellot.
  • Virransäästötila : Sitä käytetään, kun ajastinta / laskuria kellotetaan asynkronisesti. Se pysäyttää kaikki kellot paitsi kellotASY.
  • Valmiustila : Tässä tilassa oskillaattorin annetaan toimia pysäyttäen kaikki muut toiminnot.

Atmega8-sovellukset

Vilkkuva LED

Atmega8-sovellukset

Vilkkuva LEd-kaavio

Ohjelma kirjoitetaan C-kielellä ja se kootaan ensin .c-tiedostona. ATMEL-ohjelmistotyökalu muuntaa tämän tiedoston binaariseksi ELF-objektitiedostoksi. Sitten se muunnetaan jälleen hex-tiedostoksi. Hex-tiedosto siirretään sitten mikrokontrollerille AVR dude -ohjelman avulla.

Valokuvahaku: