Typer AVR-mikrokontroller - Atmega32 og ATmega8

Prøv Instrumentet Vårt For Å Eliminere Problemer





ATmega32 - 8-biters AVR-mikrokontroller

AVR-mikrokontrollere er basert på den avanserte RISC-arkitekturen. ATmega32 er en CMOS 8-bit mikrokontroller med lav effekt, basert på den AVR-forbedrede RISC-arkitekturen. AVR kan utføre 1 million instruksjoner per sekund hvis syklusfrekvensen er 1MHz.

40-pin DIP Foto av ATmega32

40-pin DIP Foto av ATmega32



Nøkkelegenskaper:


  • 32 x 8 generelle arbeidsformålsregistre.
  • 32K byte i systemets selvprogrammerbare flashprogramminne
  • 2K byte intern SRAM
  • 1024 byte EEPROM
  • Tilgjengelig i 40-pin DIP, 44 lead QTFP, 44-pad QFN / MLF
  • 32 programmerbare I / O-linjer
  • 8 kanaler, 10 bit ADC
  • To 8-biters tidtakere / tellere med separate prescalers og sammenligningsmodus
  • En 16-bit timer / teller med separat prescaler, sammenligningsmodus og opptaksmodus.
  • 4 PWM-kanaler
  • I systemprogrammering ved oppstartprogram på brikken
  • Programmerbar vakthundtimer med separat o-oscillator.
  • Programmerbar seriell USART
  • Master / slave SPI serielt grensesnitt

Spesielle mikrokontrollerfunksjoner:

  • Seks hvilemoduser: Tomgang, ADC-støyreduksjon, strømsparing, strøm ned, standby og utvidet standby.
  • Intern kalibrert RC-oscillator
  • Eksterne og interne avbruddskilder
  • Slå på tilbakestilling og programmerbar gjenkjenning.
40-pin DIP av ATmega32

40-pin DIP av ATmega32



Alle de 32 registerene er direkte koblet til den aritmetiske logiske enheten (ALU), slik at to uavhengige registre kan nås i en enkelt instruksjon utført i en klokkesyklus.

Avstengingen lagrer registerinnholdet, men fryser oscillatoren. Alle andre chipfunksjoner blir deaktivert til neste eksterne avbrudd oppstår. Asynkron tidtaker lar brukeren opprettholde en tidtaker basert på strømsparingsmodus mens resten av enheten sover.

ADC støyreduksjonsmodus stopper CPU og alle I / O-moduler unntatt ADC og asynkron tidtaker. I standby-modus, unntatt krystalloscillator, sover resten av enheten. Både hovedoscillatoren og den asynkrone tidtakeren fortsetter å kjøre i utvidet standby-modus.

ATmega32 er en kraftig mikrokontroller på grunn av sin selvprogrammerbare flash på en monolitisk brikke, og gir en høy fleksibel og kostnadseffektiv løsning for mange innebygde kontrollapplikasjoner.


44-tommers TQFP / MLF

44-tommers TQFP / MLF

Pin-beskrivelser:

VCC: Digital spenningsforsyning

GND: Bakke

Port A (PA7-PA0): Denne porten fungerer som analoge innganger til A / D-omformeren. Den fungerer også som en 8-bit toveis I / O-port hvis A / D-omformeren ikke brukes.

Port B (PB7-PB0) & Port D (PD7-PD0): Det er en 8-bits toveis I / O-port. Utgangsbufferne har symmetriske kjøreegenskaper med både høy vask og kildeevne. Som innganger blir disse ekstremt trukket lave hvis trekkmotstandene aktiveres. Den serverer også forskjellige spesielle funksjoner i ATmega32.

Port C (PC7-PC0): Det er en 8-bits toveis I / O-port. Hvis JTAG-grensesnittet er aktivert, vil trekkmotstandene på pinnene PC5 (TDI), PC3 (TMS) og PC2 (TCK) aktiveres.

Grensesnitt av JTAG ved bruk av port C på ATmega32

Grensesnitt av JTAG ved bruk av port C på ATmega32

Nullstille: Det er et innspill.

XTAL1: Det er en inngang til den inverterende oscillatorforsterkeren og inngangen til den interne klokkeoperasjonskretsen.

XTAL2: Det er en utgang fra den inverterende oscillatorforsterkeren.

AVCC: Det er forsyningsspenningen for port A og A / D-omformer. Den skal være koblet til VCC.

AREF: AREF er den analoge referansepinnen for A / D-omformeren.

ATmega32-minner:

Den har to hovedminnedataminnedata og programminneplassen. I tillegg har den et EEPROM-minne for datalagring.

I systemprogrammerbart flashprogramminne:

ATmega32 inneholder 32 kbyte on-chip i systemets omprogrammerbare flashminne for programlagring. Flash er organisert som 16k X 16 og minnet er delt inn i to seksjoner Boot programdel og applikasjonsprogramdel.

ISP programmerer kretsskjema

ISP Programmer Circuit Diagram

SRAM Data Memory:

Registerfilen, I / O-minnet og de interne dataene SRAM adresseres av de nedre 2144 dataminneplasseringene. De første 96 stedene adresserer Register-filen og I / O-minnet, og de interne dataene SRAM adresseres av de neste 2048 stedene. Direkte, indirekte med forskyvning, indirekte, indirekte med pre-decrement og in-direct med post decrement er de 5 forskjellige adresseringsmodusene for dataminnet som dekker. De 32 generelle registerene, 64 I / O-registerene og 2048 byte med interne data SRAM er tilgjengelige ved å bruke disse adresseringsmodusene.

Blokkdiagram over ATmega32

Blokkdiagram over ATmega32

EEPROM-dataminne:

Den inneholder 1024 byte data EEPROM-minne. Det kan nås som et eget datarom der enkeltbyte kan leses og skrives.

I / O-minne:

Alle I / Oer og eksterne enheter er plassert i I / O-rommet. I / O-stedene er tilgjengelige med IN- og OUT-instruksjonene, og overfører dataene mellom de 32 generelle formålsregistrene og I / O-rommet. I / O-registre med i adressen 00-1F er direkte tilgjengelige med SBI- og CBI-instruksjonene.

ATmega8

Introduksjon

Det er en 8-biters CMOS-bygget mikrokontroller fra AVR-familien (utviklet av Atmel Corporation i 1996) og er bygget på RSIC-arkitekturen (Reduced Instruction Set Computer). Den grunnleggende fordelen er at den ikke inneholder noen akkumulator, og resultatet av en operasjon kan lagres i ethvert register, definert av instruksjonen.

Arkitektur

Arkitektur

Arkitektur

Hukommelse

Den består av 8 KB flashminne, 1 KB SRAM og 512 Bytes EEPROM. 8K-blitsen er delt inn i to deler - nedre del brukes som oppstartsblitseksjon, og øvre del brukes som applikasjonsblitseksjon. SRAM inneholder 1K byte sammen med 1120 byte med generelle formålsregistre og I / O-registre. De nedre 32 adresselokaliseringene brukes til 32 generelle 8-bitersregistre. Den neste 64 adressen brukes til I / O-registre. Alle registrene er koblet direkte til ALU. EEPROM brukes til å lagre brukerdefinerte data.

Inngangs- / utgangsporter

Den består av 23 I / O-linjer med 3 I / O-porter, kalt B, C og D. Port B består av 8 I / O-linjer, Port C består av 7 I / O-linjer og Port D består av 8 I / O-linjer linjer.

Register som tilsvarer hvilken som helst portX (B, C eller D) er:

DDRX : Port X dataretningsregister

PORTX : Port X-dataregister

PINX : Port X inngangsregister

Timere og tellere

Den består av 3 tidtakere med sammenlignbare moduser. To av dem er 8 bit, mens den tredje er 16 bit.

Oscillatorer

Den har intern tilbakestilling og oscillator som gjør det mulig å eliminere behovet for ekstern inngang. Den interne RC-oscillatoren er i stand til å generere intern klokke som kan kjøre med en frekvens på 1MHz, 2MHz, 4MHz eller 8MHz som programmert. Den støtter også ekstern oscillator med maksimal frekvens på 16MHz.

Kommunikasjon

Det gir både synkron og asynkron dataoverføringsskjema gjennom USART (Universal Synchronous and Asynchronous Receiver Transmitter), dvs. kommunikasjon med modemer og andre serielle enheter. Den støtter også SPI (Serial Peripheral Interface) som brukes til kommunikasjon mellom enheter basert på master-slave-metoden. En annen type kommunikasjon som støttes er TWI (Two wire Interface). Det tillater pendling mellom to enheter ved å bruke to ledninger sammen med en felles jordforbindelse.

Den har også en komparatormodul integrert i brikken for å gi sammenligning mellom to spenninger koblet til de to inngangene til den analoge komparatoren gjennom de eksterne brikkene.

Den inneholder også en 6-kanals ADC hvorav 4 har 10 bit nøyaktighet og 2 har 8 bit nøyaktighet.

Statusregister : Den inneholder informasjon om det nåværende utførte aritmetiske instruksjonssettet.

ATmega Pin Diagram :

ATmega Pin Diagram

ATmega Pin Diagram

En av de viktigste egenskapene til ATmega8 er at bortsett fra 5 pinner, støtter alle andre pinner to signaler.

  • Pinner 23,24,25,26,27,28 og 1 brukes til port C, mens pinner 9,10,14,15,16,17,18,19 brukes til port B og pinner 2,3,4, 5,6,11,12 brukes til port D.
  • Pinne 1 er også Tilbakestill pinnen, og et bruk av lavt nivå signal i en lengre tid enn den minimale pulslengden vil generere en tilbakestilling.
  • Pins 2 og 3 brukes også til seriell kommunikasjon for USART.
  • Pins 4 og 5 brukes som eksterne avbrudd. En av dem vil utløse når avbruddsflaggbit av statusregisteret er satt, og den andre vil utløse så lenge avbruddstilstanden råder.
  • Pinnene 9 og 10 brukes som ekstern oscillator så vel som tidteller mot oscillatorer der krystallet er koblet direkte mellom pinnene. Pin 10 brukes til krystalloscillator eller lavfrekvent krystalloscillator. Hvis den interne kalibrerte RC-oscillatoren brukes som klokkilde og den asynkrone tidtakeren er aktivert, kan disse pinnene brukes som en timer-oscillatorpinner.
  • Pin 19 brukes som Master Clock-utgang, slaveklokkeinngang for SPI-kanal.
  • Pin 18 brukes som hovedklokkeinngang, slaveklokkeutgang.
  • Pin 17 brukes som masterdatautgang, slavedatainngang for SPI-kanal. Den brukes som inngang når den er aktivert av en slave, og er toveis når den er aktivert av mesteren. Denne pinnen kan også brukes som en output-sammenligning-match-utgang, som fungerer som en ekstern utgang for timeren / counter-sammenligningskampen.
  • Pin16 brukes som en slavevalginngang. Den kan også brukes som en timer / counter1-sammenligningskamp ved å konfigurere PB2-pinnen som utgang.
  • Pin15 kan brukes som en ekstern utgang for timeren / telleren sammenligning kamp A.
  • Pins 23 til 28 brukes til ADC-kanaler. Pin 27 kan også brukes som serielt grensesnittklokke og pin 28 kan brukes som serielt grensesnittdata
  • Pins 13 og 12 brukes som innganger for analog komparator.
  • Pins 11 og 6 brukes som timer / motkilder.

Microcontroller hvilemodus

Microcontroller fungerer i 6 hvilemodus.

  • Inaktiv modus: Den stopper funksjonen til CPU, men tillater drift av SPI, USART, ADC, TWI, Timer / Counter og Watchdog og avbryter systemet. Det oppnås ved å sette SM0 til SM2 biter av MCU-registerflagget til null.
  • ADC Støyreduksjonsmodus : Det stopper CPU, men tillater funksjon av ADC, eksterne avbrudd, timer / counter2 og vakthund.
  • Slå av modus : Det muliggjør eksterne avbrudd, 2-leders serielt grensesnitt, vakthund mens den deaktiverer den eksterne oscillatoren. Den stopper alle genererte klokker.
  • Strømsparer modus : Den brukes når Timer / Counter er klokket asynkront. Den stopper alle klokker unntatt clkASY.
  • Standby-modus : I denne modusen får oscillatoren fungere, og stopper alle andre operasjoner.

Programmer som involverer Atmega8

Blinkende LED

Søknader som involverer Atmega8

Blinkende lysskjema

Programmet er skrevet ved hjelp av C-språk og blir først kompilert som .c-fil. ATMEL-programvareverktøyet vil konvertere denne filen til en binær ELF-objektfil. Den blir deretter igjen konvertert til hex-fil. Hex-filen blir deretter sendt til mikrokontrolleren ved hjelp av AVR-fyrprogrammet.

Fotokreditt: