Typer af AVR-mikrokontroller - Atmega32 & ATmega8

Prøv Vores Instrument Til At Fjerne Problemer





ATmega32 - 8 Bit AVR Microcontroller

AVR-mikrocontrollerne er baseret på den avancerede RISC-arkitektur. ATmega32 er en CMOS 8-bit mikrocontroller med lav effekt baseret på den AVR-forbedrede RISC-arkitektur. AVR kan udføre 1 million instruktioner pr. Sekund, hvis cyklusfrekvensen er 1MHz.

40 pin DIP Foto af ATmega32

40-pin DIP Foto af ATmega32



Nøglefunktioner:


  • 32 x 8 generelle arbejdsformålsregistre.
  • 32K byte i systemets selvprogrammerbare flash-programhukommelse
  • 2K bytes intern SRAM
  • 1024 bytes EEPROM
  • Fås i 40 pin DIP, 44 lead QTFP, 44-pad QFN / MLF
  • 32 programmerbare I / O-linjer
  • 8 kanaler, 10 bit ADC
  • To 8-bit timere / tællere med separate prescalere og sammenligningstilstande
  • En 16-bit timer / tæller med separat prescaler, sammenligningstilstand og optagelsestilstand.
  • 4 PWM-kanaler
  • I systemprogrammering via opstartsprogram på chip
  • Programmerbar vagthundtimer med separat on-chip oscillator.
  • Programmerbar seriel USART
  • Master / slave SPI seriel interface

Specielle mikrocontrollerfunktioner:

  • Seks dvaletilstande: inaktiv, ADC-støjreduktion, strømbesparelse, strømafbrydelse, standby og udvidet standby.
  • Intern kalibreret RC oscillator
  • Eksterne og interne afbrydelseskilder
  • Tænd for reset og programmerbar brown-out-detektion.
40-pin DIP af ATmega32

40-pin DIP af ATmega32



Alle de 32 registre er direkte forbundet til den aritmetiske logiske enhed (ALU), hvilket giver adgang til to uafhængige registre i en enkelt instruktion, der udføres i en urcyklus.

Afbrydelsen gemmer registerindholdet, men fryser oscillatoren. Alle andre chipfunktioner deaktiveres, indtil den næste eksterne afbrydelse opstår. Asynkron timer giver brugeren mulighed for at opretholde en timer baseret i strømsparetilstand, mens resten af ​​enheden sover.

ADC støjreduktionstilstand stopper CPU'en og alle I / O-moduler undtagen ADC og asynkron timer. I standbytilstand, undtagen krystaloscillator, sover resten af ​​enheden. Både hovedoscillatoren og den asynkrone timer kører fortsat i udvidet standbytilstand.

ATmega32 er en kraftfuld mikrokontroller på grund af sin selvprogrammerbare flash i systemet på en monolitisk chip, giver en høj fleksibel og omkostningseffektiv løsning til mange indlejrede kontrolapplikationer.


44-pad TQFP / MLF

44-pad TQFP / MLF

Pin beskrivelser:

VCC: Digital spændingsforsyning

GND: Jord

Port A (PA7-PA0): Denne port fungerer som analoge indgange til A / D-konverteren. Det fungerer også som en 8-bit tovejs I / O-port, hvis A / D-konverteren ikke bruges.

Port B (PB7-PB0) & Port D (PD7-PD0): Det er en 8-bit tovejs I / O-port. Dens outputbuffere har symmetriske drevegenskaber med både høj vask og kildeevne. Som input er disse ekstremt trukket lavt, hvis pull-up-modstandene aktiveres. Det tjener også forskellige specielle funktioner i ATmega32.

Port C (PC7-PC0): Det er en 8-bit tovejs I / O-port. Hvis JTAG-grænsefladen er aktiveret, aktiveres pull-up-modstandene på benene PC5 (TDI), PC3 (TMS) og PC2 (TCK).

Interfacing af JTAG ved hjælp af port C i ATmega32

Interfacing af JTAG ved hjælp af port C i ATmega32

Nulstil: Det er et input.

XTAL1: Det er en indgang til den inverterende oscillatorforstærker og input til det interne ur-driftskredsløb.

XTAL2: Det er et output fra den inverterende oscillatorforstærker.

AVCC: Det er forsyningsspændingsstift til port A og A / D-konverter. Den skal tilsluttes VCC.

AREF: AREF er den analoge referencestift til A / D-konverteren.

ATmega32-minder:

Det har to hovedhukommelsesrum datahukommelse og programhukommelsespladsen. Derudover har den en EEPROM-hukommelse til datalagring.

I systemprogrammerbar flashprogramhukommelse:

ATmega32 indeholder 32Kbytes on-chip i systemgenprogrammerbar flashhukommelse til programlagring. Flash er organiseret som 16k X 16, og hukommelsen er opdelt i to sektioner Boot-programafsnit og applikationsprogramsektion.

ISP programmør kredsløbsdiagram

ISP-programmør kredsløbsdiagram

SRAM-datahukommelse:

Registerfilen, I / O-hukommelsen og de interne data SRAM adresseres af de nedre 2144 datahukommelsesplaceringer. De første 96 placeringer adresserer Registerfilen og I / O-hukommelsen, og de interne data SRAM adresseres af de næste 2048 placeringer. Direkte, indirekte med forskydning, indirekte, indirekte med præ-dekrement og direkte med post-dekrement er de 5 forskellige adresseringstilstande til datahukommelsen. De 32 generelle formålsregistre, 64 I / O-registre og 2048 bytes af interne data SRAM er tilgængelige ved hjælp af disse adresseringstilstande.

Blokdiagram over ATmega32

Blokdiagram over ATmega32

EEPROM-datahukommelse:

Den indeholder 1024 byte data EEPROM-hukommelse. Det kan tilgås som et separat datarum, hvor enkeltbyte kan læses og skrives.

I / O-hukommelse:

Alle I / O'er og perifere enheder er placeret i I / O-rummet. Der er adgang til I / O-lokaliteterne ved hjælp af IN- og OUT-instruktionerne, der overfører data mellem de 32 generelle formålsregistre og I / O-rummet. I / O-registre med i adressen 00-1F er direkte tilgængelige via SBI- og CBI-instruktionerne.

ATmega8

Introduktion

Det er en 8-bit CMOS-bygget mikrocontroller fra AVR-familien (udviklet af Atmel Corporation i 1996) og er bygget på RSIC-arkitekturen (Reduced Instruction Set Computer). Dens grundlæggende fordel er, at den ikke indeholder nogen akkumulator, og resultatet af enhver handling kan gemmes i ethvert register, defineret af instruktionen.

Arkitektur

Arkitektur

Arkitektur

Hukommelse

Den består af 8 KB flashhukommelse, 1 KB SRAM og 512 Bytes EEPROM. 8K-flashen er opdelt i 2 dele - den nederste del bruges som boot-flash-sektion, og den øvre del bruges som applikations-flash-sektionen. SRAM indeholder 1K bytes sammen med 1120 bytes af generelle formålsregistre og I / O-registre. De nederste 32 adresselokationer bruges til 32 generelle 8 bit-registre. Den næste 64 adresse bruges til I / O-registre. Alle registre er forbundet direkte til ALU. EEPROM bruges til at gemme brugerdefinerede data.

Input / output porte

Den består af 23 I / O-linjer med 3 I / O-porte, navngivet B, C og D. Port B består af 8 I / O-linjer, Port C består af 7 I / O-linjer og Port D består af 8 I / O-linjer linjer.

Register, der svarer til enhver portX (B, C eller D) er:

DDRX : Port X-dataretningsregister

PORTX : Port X-dataregister

PINX : Port X inputregister

Timere og tællere

Den består af 3 timere med sammenlignelige tilstande. To af dem er 8 bit, mens den tredje er 16 bit.

Oscillatorer

Den indeholder intern reset og oscillator, som gør det muligt at eliminere behovet for ekstern input. Den interne RC-oscillator er i stand til at generere internt ur, der kan køre ved en hvilken som helst frekvens på 1MHz, 2MHz, 4MHz eller 8MHz som programmeret. Det understøtter også ekstern oscillator med en maksimal frekvens på 16MHz.

Meddelelse

Det giver både synkron og asynkron dataoverførselsskemaer via USART (Universal Synchronous og Asynchronous Receiver Transmitter), dvs. kommunikation med modemer og andre serielle enheder. Det understøtter også SPI (Serial Peripheral Interface), der bruges til kommunikation mellem enheder baseret på master-slave-metoden. En anden type kommunikation, der understøttes, er TWI (Two wire Interface). Det muliggør kommutering mellem to enheder ved hjælp af to ledninger sammen med en fælles jordforbindelse.

Det har også et komparatormodul integreret i chippen for at give sammenligning mellem to spændinger, der er forbundet med de to indgange til den analoge komparator gennem de eksterne chips.

Den indeholder også en 6-kanals ADC, hvoraf 4 har 10 bit nøjagtighed og 2 har 8 bit nøjagtighed.

Statusregister : Den indeholder information om det aktuelt udførte aritmetiske instruktions sæt.

ATmega Pin Diagram :

ATmega Pin Diagram

ATmega Pin Diagram

Et af de vigtige træk ved ATmega8 er, at bortset fra 5 ben, understøtter alle andre ben to signaler.

  • Stifter 23,24,25,26,27,28 og 1 bruges til port C, hvorimod stifter 9,10,14,15,16,17,18,19 bruges til port B og stifter 2,3,4, 5,6,11,12 bruges til port D.
  • Pin 1 er også Reset pin, og et anvendelse af lavt niveau signal i en længere periode end den minimale puls længde vil generere en reset.
  • Pins 2 og 3 bruges også til seriel kommunikation til USART.
  • Stifter 4 og 5 bruges som eksterne afbrydelser. En af dem udløses, når afbrydelsesflagbit i statusregistret er indstillet, og den anden udløses, så længe afbrydelsestilstanden hersker.
  • Stifter 9 og 10 bruges som ekstern oscillator såvel som timertælleroscillatorer, hvor krystallen er forbundet direkte mellem stifterne. Pin 10 bruges til krystaloscillator eller lavfrekvent krystaloscillator. Hvis den interne kalibrerede RC-oscillator bruges som urkilde, og den asynkrone timer er aktiveret, kan disse ben bruges som en timeroscillator-ben.
  • Pin 19 bruges som Master Clock output, slave clock input til SPI kanal.
  • Pin 18 bruges som Master Clock input, slave Clock output.
  • Pin 17 bruges som masterdataoutput, slavedataindgang til SPI-kanal. Den bruges som input, når den er aktiveret af en slave, og er tovejs, når den er aktiveret af masteren. Denne pin kan også bruges som output output sammenligning match output, der fungerer som en ekstern output til timeren / counter sammenligning match.
  • Pin16 bruges som en slave-valgindgang. Det kan også bruges som en timer / counter1 sammenligning match ved at konfigurere PB2 pin som en output.
  • Pin15 kan bruges som en ekstern udgang til timeren / tælleren sammenligningskamp A.
  • Stifter 23 til 28 bruges til ADC-kanaler. Pin 27 kan også bruges som serielt interfaceur og pin 28 kan bruges som data om seriel interface
  • Stifter 13 og 12 bruges som analoge komparatorindgange.
  • Pins 11 og 6 bruges som timer / tællerkilder.

Microcontroller Sleep Modes

Microcontroller fungerer i 6 dvaletilstande.

  • Inaktiv tilstand: Det stopper CPU'ens funktion, men tillader betjening af SPI, USART, ADC, TWI, Timer / Counter og Watchdog og afbryder systemet. Det opnås ved at indstille SM0 til SM2 bit af MCU-registerflag til nul.
  • ADC Støjreduktionstilstand : Det stopper CPU'en, men tillader funktion af ADC, eksterne afbrydelser, timer / counter2 og vagthund.
  • Sluk-tilstand : Det muliggør eksterne afbrydelser, den 2-leder serielle grænseflade, vagthund, mens den deaktiverer den eksterne oscillator. Det stopper alle genererede ure.
  • Strømbesparende tilstand : Det bruges, når timer / tæller er uret asynkront. Det stopper alle ure undtagen clkASY.
  • Standby-tilstand : I denne tilstand har oscillatoren lov til at køre og standser alle andre operationer.

Applikationer, der involverer Atmega8

Blinkende LED

Ansøgninger, der involverer Atmega8

Blinkende LEd-skema

Programmet er skrevet ved hjælp af C-sprog og kompileres først som .c-fil. ATMEL-softwareværktøjet konverterer denne fil til en binær ELF-objektfil. Det konverteres derefter igen til hex-fil. Hex-filen sendes derefter til mikrokontrolleren ved hjælp af AVR-dude-programmet.

Fotokredit: