Soorten AVR-microcontrollers - Atmega32 & ATmega8

Probeer Ons Instrument Voor Het Oplossen Van Problemen





ATmega32 - 8-bits AVR-microcontroller

De AVR-microcontrollers zijn gebaseerd op de geavanceerde RISC-architectuur. ATmega32 is een CMOS 8-bit microcontroller met laag vermogen, gebaseerd op de AVR verbeterde RISC-architectuur. AVR kan 1 miljoen instructies per seconde uitvoeren als de cyclusfrequentie 1 MHz is.

40-pins DIP-foto van ATmega32

40-pins DIP-foto van ATmega32



Belangrijkste kenmerken:


  • 32 x 8 registers voor algemene werkdoeleinden.
  • 32K bytes van in het systeem zelf programmeerbaar flash-programmageheugen
  • 2K bytes interne SRAM
  • 1024 bytes EEPROM
  • Verkrijgbaar in 40-pins DIP, 44-leads QTFP, 44-pad QFN / MLF
  • 32 programmeerbare I / O-lijnen
  • 8 kanaals, 10 bit ADC
  • Twee 8-bit timers / tellers met aparte prescalers en vergelijkingsmodi
  • Een 16-bits timer / teller met aparte voorschaler, vergelijkingsmodus en vastlegmodus.
  • 4 PWM-kanalen
  • Bij systeemprogrammering door een on-chip opstartprogramma
  • Programmeerbare watchdog-timer met afzonderlijke on-chip oscillator.
  • Programmeerbare seriële USART
  • Master / slave SPI seriële interface

Speciale microcontroller-eigenschappen:

  • Zes slaapmodi: inactief, ADC-ruisonderdrukking, energiebesparing, uitschakelen, stand-by en uitgebreide stand-by.
  • Interne gekalibreerde RC-oscillator
  • Externe en interne onderbrekingsbronnen
  • Power on reset en programmeerbare brown-out detectie.
40-pins DIP van ATmega32

40-pins DIP van ATmega32



Alle 32 registers zijn rechtstreeks verbonden met de Arithmetic Logic Unit (ALU), waardoor twee onafhankelijke registers kunnen worden benaderd in één enkele instructie die in één klokcyclus wordt uitgevoerd.

Het uitschakelen slaat de inhoud van het register op, maar bevriest de oscillator. Alle andere chipfuncties worden uitgeschakeld totdat de volgende externe interrupt optreedt. Met de asynchrone timer kan de gebruiker een timer in de energiebesparende modus handhaven terwijl de rest van het apparaat slaapt.

ADC-ruisonderdrukkingsmodus stopt de CPU en alle I / O-modules behalve ADC en asynchrone timer. In de standby-modus, behalve de kristaloscillator, slaapt de rest van het apparaat. Zowel de hoofdoscillator als de asynchrone timer blijven draaien in de uitgebreide stand-bymodus.

ATmega32 is een krachtige microcontroller vanwege de in het systeem zelf programmeerbare flitser op een monolithische chip, die een zeer flexibele en kosteneffectieve oplossing biedt voor veel embedded besturingstoepassingen.


44-pad TQFP / MLF

44-pad TQFP / MLF

Pin Beschrijvingen:

VCC: Digitale voedingsspanning

GND: Grond

Poort A (PA7-PA0): Deze poort dient als analoge invoer voor de A / D-omzetter. Het dient ook als een 8-bit bidirectionele I / O-poort als de A / D-converter niet wordt gebruikt.

Poort B (PB7-PB0) en poort D (PD7-PD0): Het is een 8-bit bidirectionele I / O-poort. De uitgangsbuffers hebben symmetrische aandrijfkarakteristieken met zowel high-sink als source-mogelijkheden. Als ingangen worden deze extreem laag getrokken als de pull-up weerstanden worden geactiveerd. Het dient ook verschillende speciale functiekenmerken van de ATmega32.

Poort C (PC7-PC0): Het is een 8-bit bidirectionele I / O-poort. Als de JTAG-interface is ingeschakeld, worden de pull-up-weerstanden op pinnen PC5 (TDI), PC3 (TMS) en PC2 (TCK) geactiveerd.

Interface van JTAG met behulp van poort C van ATmega32

Interface van JTAG met behulp van poort C van ATmega32

Reset: Het is een input.

XTAL1: Het is een invoer voor de inverterende oscillatorversterker en een invoer voor het interne klokbedrijfscircuit.

XTAL2: Het is een output van de inverterende oscillatorversterker.

AVCC: Het is de voedingsspanningspen voor poort A en A / D-omzetter. Het moet worden aangesloten op VCC.

AREF: AREF is de analoge referentiepen voor de A / D-omzetter.

ATmega32-herinneringen:

Het heeft twee hoofdgeheugenruimten datageheugen en de programmageheugenruimte. Bovendien beschikt het over een EEPROM-geheugen voor gegevensopslag.

In systeem programmeerbaar flash-programmageheugen:

ATmega32 bevat 32Kbytes on-chip in het systeem herprogrammeerbare flash-geheugen voor programma-opslag. Flash is georganiseerd als 16k X 16 en het geheugen is verdeeld in twee secties Boot programma sectie en applicatie programma sectie.

ISP programmeur schakelschema

ISP Programmer schakelschema

SRAM-gegevensgeheugen:

Het registerbestand, het I / O-geheugen en de interne gegevens SRAM worden geadresseerd door de lagere 2144 gegevensgeheugenlocaties. De eerste 96 locaties adresseren het registerbestand en het I / O-geheugen, en de interne gegevens SRAM worden geadresseerd door de volgende 2048 locaties. Direct, indirect met verplaatsing, indirect, indirect met voorverlaging en in-direct met postverlaging zijn de 5 verschillende adresseringsmodi voor het datageheugen. De 32 registers voor algemene doeleinden, 64 I / O-registers en 2048 bytes aan interne SRAM-gegevens zijn toegankelijk door deze adresseringsmodi te gebruiken.

Blokschema van ATmega32

Blokschema van ATmega32

EEPROM-gegevensgeheugen:

Het bevat 1024 bytes aan data-EEPROM-geheugen. Het is toegankelijk als een aparte dataruimte waarin enkele bytes kunnen worden gelezen en geschreven.

I / O-geheugen:

Alle I / O's en randapparatuur worden in de I / O-ruimte geplaatst. De I / O-locaties zijn toegankelijk via de IN- en OUT-instructies, waarbij de gegevens worden overgedragen tussen de 32 registers voor algemene doeleinden en de I / O-ruimte. I / O-registers met in het adres 00-1F zijn direct bit-toegankelijk met behulp van de SBI- en CBI-instructies.

ATmega8

Invoering

Het is een 8-bits CMOS-ingebouwde microcontroller uit de AVR-familie (ontwikkeld door Atmel Corporation in 1996) en is gebouwd op de RSIC-architectuur (Reduced Instruction Set Computer). Het belangrijkste voordeel is dat het geen enkele accumulator bevat en dat het resultaat van elke bewerking kan worden opgeslagen in elk register, gedefinieerd door de instructie.

Architectuur

Architectuur

Architectuur

Geheugen

Het bestaat uit 8 KB flash-geheugen, 1 KB SRAM en 512 bytes EEPROM. De 8K-flitser is verdeeld in 2 delen: het onderste deel wordt gebruikt als opstartflitsgedeelte en het bovenste deel wordt gebruikt als toepassingsflitsgedeelte. De SRAM bevat 1K bytes samen met 1120 bytes aan registers voor algemene doeleinden en I / O-registers. De onderste 32 adreslocaties worden gebruikt voor 32 algemene 8-bits registers. De volgende 64 adressen worden gebruikt voor I / O-registers. Alle registers zijn rechtstreeks op de ALU aangesloten. De EEPROM wordt gebruikt om door de gebruiker gedefinieerde gegevens op te slaan.

Input / output poorten

Het bestaat uit 23 I / O-lijnen met 3 I / O-poorten, genaamd B, C en D. Poort B bestaat uit 8 I / O-lijnen, Poort C bestaat uit 7 I / O-lijnen en Poort D bestaat uit 8 I / O lijnen.

Registers die overeenkomen met een willekeurige poort X (B, C of D) zijn:

DDRX : Port X data direction register

PORTX : Port X-gegevensregister

PINX : Poort X invoerregister

Timers en tellers

Het bestaat uit 3 timers met vergelijkbare modi. Twee van hen zijn 8 bit, terwijl de derde 16 bit is.

Oscillatoren

Het bevat een interne reset en oscillator waardoor het mogelijk is om de behoefte aan externe input te elimineren. De interne RC-oscillator kan een interne klok genereren die kan draaien op elke frequentie van 1 MHz, 2 MHz, 4 MHz of 8 MHz, zoals geprogrammeerd. Het ondersteunt ook een externe oscillator met een maximale frequentie van 16 MHz.

Communicatie

Het biedt zowel synchrone als asynchrone schema's voor gegevensoverdracht via USART (Universal Synchronous and Asynchronous Receiver Transmitter), d.w.z. communicatie met modems en andere seriële apparaten. Het ondersteunt ook SPI (Serial Peripheral Interface) die wordt gebruikt voor communicatie tussen apparaten op basis van de master-slave-methode. Een ander type communicatie dat wordt ondersteund, is de TWI (tweedraads interface). Het maakt commutatie tussen twee willekeurige apparaten mogelijk door gebruik te maken van 2 draden in combinatie met een gemeenschappelijke massaverbinding.

Het heeft ook een comparatormodule die in de chip is geïntegreerd om een ​​vergelijking te bieden tussen twee spanningen die zijn aangesloten op de twee ingangen van de analoge comparator via de externe chips.

Het bevat ook een 6-kanaals ADC, waarvan 4 met een nauwkeurigheid van 10 bits en 2 met een nauwkeurigheid van 8 bits.

Statusregister : Het bevat informatie over de momenteel uitgevoerde rekenkundige instructieset.

ATmega Pin-diagram

ATmega Pin-diagram

ATmega Pin-diagram

Een van de belangrijke kenmerken van ATmega8 is dat behalve 5 pinnen, alle andere pinnen twee signalen ondersteunen.

  • Pinnen 23,24,25,26,27,28 en 1 worden gebruikt voor poort C, terwijl pinnen 9,10,14,15,16,17,18,19 worden gebruikt voor poort B en pinnen 2,3,4, 5,6,11,12 worden gebruikt voor poort D.
  • Pin 1 is ook de reset-pin en een laag-niveau-signaal dat langer dan de minimale pulslengte wordt toegepast, zal een reset genereren.
  • Pinnen 2 en 3 worden ook gebruikt voor seriële communicatie voor USART.
  • Pinnen 4 en 5 worden gebruikt als externe onderbrekingen. Een van hen wordt geactiveerd wanneer de interruptvlagbit van het statusregister is ingesteld en de andere wordt geactiveerd zolang de interruptconditie de overhand heeft.
  • Pinnen 9 en 10 worden gebruikt als externe oscillator en als timer tellers oscillatoren waarbij het kristal direct tussen de pinnen is aangesloten. Pin 10 wordt gebruikt voor kristaloscillator of laagfrequente kristaloscillator. Als de interne gekalibreerde RC-oscillator wordt gebruikt als de klokbron en de asynchrone timer is ingeschakeld, kunnen deze pinnen worden gebruikt als timer-oscillatorpennen.
  • Pin 19 wordt gebruikt als Master Clock-uitgang, slave-klokingang voor SPI-kanaal.
  • Pin 18 wordt gebruikt als masterklokingang, slaafklokuitgang.
  • Pin 17 wordt gebruikt als master data output, slave data input voor SPI kanaal. Het wordt gebruikt als ingang wanneer ingeschakeld door een slaaf en is bidirectioneel wanneer ingeschakeld door de master. Deze pin kan ook worden gebruikt als uitgangsvergelijkingsuitgang, die dient als een externe uitgang voor de timer / teller-vergelijkingswedstrijd.
  • Pin16 wordt gebruikt als een slaafselectie-ingang. Het kan ook worden gebruikt als een timer / counter1-vergelijkingsmatch door de PB2-pin als uitgang te configureren.
  • Pin15 kan worden gebruikt als een externe uitgang voor de timer / teller-vergelijkingsovereenkomst A.
  • Pinnen 23 tot 28 worden gebruikt voor ADC-kanalen. Pin 27 kan ook worden gebruikt als seriële interfaceklok en pin 28 kan worden gebruikt als seriële interfacegegevens
  • Pinnen 13 en 12 worden gebruikt als analoge comparator-ingangen.
  • Pinnen 11 en 6 worden gebruikt als timer- / tellerbronnen.

Microcontroller-slaapstanden

De Microcontroller werkt in 6 slaapmodi.

  • Inactieve modus: Het stopt de werking van de CPU, maar laat de werking van SPI, USART, ADC, TWI, Timer / Counter en Watchdog toe en onderbreekt het systeem. Dit wordt bereikt door SM0 tot SM2 bits van MCU-registervlag op nul in te stellen.
  • ADC Ruisonderdrukkingsmodus : Het stopt de CPU maar laat de werking van ADC, externe interrupts, timer / counter2 en watchdog toe.
  • Uitschakelmodus : Het maakt externe onderbrekingen mogelijk, de 2-draads seriële interface, waakhond terwijl de externe oscillator wordt uitgeschakeld. Het stopt alle gegenereerde klokken.
  • Energiebesparende modus : Wordt gebruikt wanneer Timer / Teller asynchroon wordt geklokt. Het stopt alle klokken behalve CLKASY.
  • Standby modus : In deze modus mag de oscillator werken en worden alle andere bewerkingen stopgezet.

Toepassingen waarbij Atmega8

Knipperende LED

Toepassingen met Atmega8

Knipperend LED-schema

Het programma is geschreven in C-taal en wordt eerst gecompileerd als .c-bestand. De ATMEL-softwaretool converteert dit bestand naar een binair ELF-objectbestand. Het wordt vervolgens opnieuw geconverteerd naar een hex-bestand. Het hex-bestand wordt vervolgens doorgegeven aan de microcontroller met behulp van het AVR-dude-programma.

Foto tegoed: