Arten von AVR-Mikrocontrollern - Atmega32 & ATmega8

Versuchen Sie Unser Instrument, Um Probleme Zu Beseitigen





ATmega32 - 8 Bit AVR Mikrocontroller

Die AVR-Mikrocontroller basieren auf der fortschrittlichen RISC-Architektur. ATmega32 ist ein CMOS-8-Bit-Mikrocontroller mit geringem Stromverbrauch, der auf der AVR-erweiterten RISC-Architektur basiert. AVR kann 1 Million Befehle pro Sekunde ausführen, wenn die Zyklusfrequenz 1 MHz beträgt.

40 Pin DIP Foto von ATmega32

40 Pin DIP Foto von ATmega32



Hauptmerkmale:


  • 32 x 8 Allzweckregister.
  • 32 KByte im selbstprogrammierbaren Flash-Programmspeicher des Systems
  • 2 KByte interner SRAM
  • 1024 Byte EEPROM
  • Erhältlich in 40-poligem DIP, 44-poligem QTFP und 44-poligem QFN / MLF
  • 32 programmierbare E / A-Leitungen
  • 8 Kanal, 10 Bit ADC
  • Zwei 8-Bit-Timer / Zähler mit separaten Vorskalierern und Vergleichsmodi
  • Ein 16-Bit-Timer / Zähler mit separatem Vorteiler, Vergleichsmodus und Aufnahmemodus.
  • 4 PWM-Kanäle
  • Bei der Systemprogrammierung per On-Chip-Boot-Programm
  • Programmierbarer Watchdog-Timer mit separatem On-Chip-Oszillator.
  • Programmierbarer serieller USART
  • Serielle Master / Slave-SPI-Schnittstelle

Spezielle Mikrocontroller-Funktionen:

  • Sechs Schlafmodi: Leerlauf, ADC-Rauschunterdrückung, Energiesparen, Ausschalten, Standby und erweiterter Standby.
  • Interner kalibrierter RC-Oszillator
  • Externe und interne Interruptquellen
  • Power-On-Reset und programmierbare Brown-Out-Erkennung.
40-Pin DIP von ATmega32

40-Pin DIP von ATmega32



Alle 32 Register sind direkt mit der Arithmetic Logic Unit (ALU) verbunden, sodass auf zwei unabhängige Register in einem einzigen Befehl zugegriffen werden kann, der in einem Taktzyklus ausgeführt wird.

Durch das Ausschalten wird der Registerinhalt gespeichert, der Oszillator jedoch eingefroren. Alle anderen Chipfunktionen werden deaktiviert, bis der nächste externe Interrupt auftritt. Mit dem asynchronen Timer kann der Benutzer einen Timer im Energiesparmodus verwalten, während der Rest des Geräts im Ruhezustand ist.

Der ADC-Rauschunterdrückungsmodus stoppt die CPU und alle E / A-Module außer ADC und asynchronem Timer. Im Standby-Modus schläft der Rest des Geräts mit Ausnahme des Quarzoszillators. Sowohl der Hauptoszillator als auch der asynchrone Timer laufen weiterhin im erweiterten Standby-Modus.

ATmega32 ist ein leistungsstarker Mikrocontroller, der aufgrund seines im System selbst programmierbaren Blitzes auf einem monolithischen Chip eine hochflexible und kostengünstige Lösung für viele eingebettete Steuerungsanwendungen bietet.


44-Pad TQFP / MLF

44-Pad TQFP / MLF

Pin-Beschreibungen:

VCC: Digitale Spannungsversorgung

GND: Boden

Port A (PA7-PA0): Dieser Anschluss dient als Analogeingang für den A / D-Wandler. Es dient auch als bidirektionaler 8-Bit-E / A-Port, wenn der A / D-Wandler nicht verwendet wird.

Port B (PB7-PB0) und Port D (PD7-PD0): Es ist ein bidirektionaler 8-Bit-E / A-Port. Seine Ausgangspuffer haben symmetrische Antriebseigenschaften mit hoher Senken- und Quellenfähigkeit. Als Eingänge werden diese extrem niedrig gezogen, wenn die Pull-up-Widerstände aktiviert sind. Es bietet auch verschiedene spezielle Funktionsmerkmale des ATmega32.

Port C (PC7-PC0): Es ist ein bidirektionaler 8-Bit-E / A-Port. Wenn die JTAG-Schnittstelle aktiviert ist, werden die Pull-up-Widerstände an den Pins PC5 (TDI), PC3 (TMS) und PC2 (TCK) aktiviert.

Schnittstelle von JTAG über Port C von ATmega32

Schnittstelle von JTAG über Port C von ATmega32

Zurücksetzen: Es ist eine Eingabe.

XTAL1: Es ist ein Eingang zum invertierenden Oszillatorverstärker und ein Eingang zum internen Taktbetriebskreis.

XTAL2: Es ist ein Ausgang des invertierenden Oszillatorverstärkers.

AVCC: Dies ist der Versorgungsspannungsstift für Port A und A / D-Wandler. Es sollte mit VCC verbunden sein.

AREF: AREF ist der analoge Referenzstift für den A / D-Wandler.

ATmega32 Erinnerungen:

Es verfügt über zwei Hauptspeicherbereiche, den Datenspeicher und den Programmspeicherbereich. Zusätzlich verfügt es über einen EEPROM-Speicher zur Datenspeicherung.

Im systemprogrammierbaren Flash-Programmspeicher:

ATmega32 enthält 32 KByte On-Chip im umprogrammierbaren Flash-Speicher des Systems zur Programmspeicherung. Flash ist als 16k x 16 organisiert und sein Speicher ist in zwei Abschnitte unterteilt: Bootprogrammabschnitt und Anwendungsprogrammabschnitt.

Schaltplan des ISP-Programmiergeräts

ISP Programmer Schaltplan

SRAM-Datenspeicher:

Die Registerdatei, der E / A-Speicher und der interne Daten-SRAM werden von den unteren 2144-Datenspeicherstellen adressiert. Die ersten 96 Speicherorte adressieren die Registerdatei und den E / A-Speicher, und der interne Daten-SRAM wird von den nächsten 2048 Speicherorten adressiert. Direkt, indirekt mit Verschiebung, indirekt, indirekt mit Vordekrementierung und direkt mit Nachdekrementierung sind die 5 verschiedenen Adressierungsmodi für die Datenspeicherabdeckung. Auf die 32 Allzweckregister, 64 E / A-Register und 2048 Bytes internen Daten-SRAM kann unter Verwendung dieser Adressierungsmodi zugegriffen werden.

Blockdiagramm von ATmega32

Blockdiagramm von ATmega32

EEPROM-Datenspeicher:

Es enthält 1024 Byte Daten-EEPROM-Speicher. Es kann als separater Datenraum zugegriffen werden, in dem einzelne Bytes gelesen und geschrieben werden können.

E / A-Speicher:

Alle E / A und Peripheriegeräte befinden sich im E / A-Bereich. Auf die E / A-Positionen wird über die IN- und OUT-Anweisungen zugegriffen, wobei die Daten zwischen den 32 Allzweckregistern und dem E / A-Raum übertragen werden. E / A-Register mit der Adresse 00-1F sind über die SBI- und CBI-Anweisungen direkt bitzugänglich.

ATmega8

Einführung

Es handelt sich um einen 8-Bit-CMOS-Mikrocontroller aus der AVR-Familie (1996 von der Atmel Corporation entwickelt), der auf der RSIC-Architektur (Reduced Instruction Set Computer) basiert. Sein grundlegender Vorteil ist, dass es keinen Akkumulator enthält und das Ergebnis einer Operation in einem durch die Anweisung definierten Register gespeichert werden kann.

Die Architektur

Die Architektur

Die Architektur

Erinnerung

Es besteht aus 8 KB Flash-Speicher, 1 KB SRAM und 512 Byte EEPROM. Der 8K-Flash ist in zwei Teile unterteilt: den unteren Teil als Boot-Flash-Bereich und den oberen Teil als Anwendungs-Flash-Bereich. Der SRAM enthält 1 KByte zusammen mit 1120 Bytes Allzweckregistern und E / A-Registern. Die unteren 32 Adressstellen werden für 32 Allzweck-8-Bit-Register verwendet. Die nächsten 64 Adressen werden für E / A-Register verwendet. Alle Register sind direkt mit der ALU verbunden. Das EEPROM wird zum Speichern benutzerdefinierter Daten verwendet.

Eingangs- / Ausgangsanschlüsse

Es besteht aus 23 E / A-Leitungen mit 3 E / A-Ports mit den Bezeichnungen B, C und D. Port B besteht aus 8 E / A-Leitungen, Port C besteht aus 7 E / A-Leitungen und Port D besteht aus 8 E / A. Linien.

Register, die einem beliebigen Port X (B, C oder D) entsprechen, sind:

DDRX : Port X Datenrichtungsregister

PORTX : Port X Datenregister

PINX : Port X Eingangsregister

Timer und Zähler

Es besteht aus 3 Timern mit vergleichbaren Modi. Zwei davon sind 8 Bit, während das dritte 16 Bit ist.

Oszillatoren

Es enthält einen internen Reset und einen Oszillator, wodurch externe Eingriffe überflüssig werden. Der interne RC-Oszillator kann einen internen Takt erzeugen, der wie programmiert mit jeder Frequenz von 1 MHz, 2 MHz, 4 MHz oder 8 MHz laufen kann. Es unterstützt auch externe Oszillatoren mit einer maximalen Frequenz von 16 MHz.

Kommunikation

Es bietet sowohl synchrone als auch asynchrone Datenübertragungsschemata über USART (Universal Synchronous and Asynchronous Receiver Transmitter), d. H. Die Kommunikation mit Modems und anderen seriellen Geräten. Es unterstützt auch SPI (Serial Peripheral Interface), das für die Kommunikation zwischen Geräten basierend auf der Master-Slave-Methode verwendet wird. Eine andere Art der unterstützten Kommunikation ist die TWI (Two Wire Interface). Es ermöglicht die Kommutierung zwischen zwei beliebigen Geräten, indem 2 Drähte zusammen mit einer gemeinsamen Erdungsverbindung verwendet werden.

Im Chip ist auch ein Komparatormodul integriert, um einen Vergleich zwischen zwei Spannungen zu ermöglichen, die über die externen Chips mit den beiden Eingängen des Analogkomparators verbunden sind.

Es enthält auch einen 6-Kanal-ADC, von denen 4 eine 10-Bit-Genauigkeit und 2 eine 8-Bit-Genauigkeit haben.

Statusregister : Es enthält Informationen zum aktuell ausgeführten arithmetischen Befehlssatz.

ATmega Pin Diagramm ::

ATmega Pin Diagramm

ATmega Pin Diagramm

Eines der wichtigen Merkmale von ATmega8 ist, dass mit Ausnahme von 5 Pins alle anderen Pins zwei Signale unterstützen.

  • Die Stifte 23, 24, 25, 26, 27, 28 und 1 werden für Anschluss C verwendet, während die Stifte 9, 10, 14, 15, 16, 17, 18, 19 für Anschluss B und die Stifte 2,3, 4 verwendet werden. 5,6,11,12 werden für Port D verwendet.
  • Pin 1 ist auch der Reset-Pin, und ein Anlegen eines Signals mit niedrigem Pegel für eine Zeit, die länger als die minimale Impulslänge ist, erzeugt einen Reset.
  • Die Pins 2 und 3 werden auch für die serielle Kommunikation für USART verwendet.
  • Die Pins 4 und 5 werden als externe Interrupts verwendet. Einer von ihnen wird ausgelöst, wenn das Interrupt-Flag-Bit des Statusregisters gesetzt ist, und der andere wird ausgelöst, solange die Interrupt-Bedingung vorliegt.
  • Die Pins 9 und 10 werden als externe Oszillatoren sowie als Timerzähler-Oszillatoren verwendet, bei denen der Kristall direkt zwischen den Pins angeschlossen ist. Pin 10 wird für einen Kristalloszillator oder einen Niederfrequenz-Kristalloszillator verwendet. Wenn der intern kalibrierte RC-Oszillator als Taktquelle verwendet wird und der asynchrone Timer aktiviert ist, können diese Pins als Timer-Oszillator-Pins verwendet werden.
  • Pin 19 wird als Master-Clock-Ausgang und Slave-Clock-Eingang für den SPI-Kanal verwendet.
  • Pin 18 wird als Master-Clock-Eingang und Slave-Clock-Ausgang verwendet.
  • Pin 17 wird als Stammdatenausgang und Slave-Dateneingang für den SPI-Kanal verwendet. Es wird als Eingang verwendet, wenn es von einem Slave aktiviert wird, und ist bidirektional, wenn es vom Master aktiviert wird. Dieser Pin kann auch als Ausgangsvergleichs-Übereinstimmungsausgang verwendet werden, der als externer Ausgang für die Timer / Zähler-Vergleichsübereinstimmung dient.
  • Pin16 wird als Slave-Auswahleingang verwendet. Es kann auch als Timer / Zähler1-Vergleichsübereinstimmung verwendet werden, indem der PB2-Pin als Ausgang konfiguriert wird.
  • Pin15 kann als externer Ausgang für die Timer / Zähler-Vergleichsübereinstimmung A verwendet werden.
  • Die Pins 23 bis 28 werden für ADC-Kanäle verwendet. Pin 27 kann auch als serielle Schnittstellentakt verwendet werden, und Pin 28 kann als serielle Schnittstellendaten verwendet werden
  • Die Pins 13 und 12 werden als Analogkomparator-Eingänge verwendet.
  • Die Pins 11 und 6 werden als Timer- / Zählerquellen verwendet.

Schlafmodus des Mikrocontrollers

Der Mikrocontroller arbeitet in 6 Schlafmodi.

  • Ruhezustand: Es stoppt die Funktion der CPU, ermöglicht jedoch den Betrieb von SPI, USART, ADC, TWI, Timer / Zähler und Watchdog und unterbricht das System. Dies wird erreicht, indem SM0 auf SM2 Bits des MCU-Registerflags auf Null gesetzt werden.
  • ADC-Rauschunterdrückungsmodus : Es stoppt die CPU, ermöglicht jedoch die Funktion von ADC, externen Interrupts, Timer / Zähler2 und Watchdog.
  • Ausschaltmodus : Es aktiviert externe Interrupts, die serielle 2-Draht-Schnittstelle und Watchdog, während der externe Oszillator deaktiviert wird. Es stoppt alle generierten Uhren.
  • Energiesparmodus : Wird verwendet, wenn Timer / Zähler asynchron getaktet wird. Es hält alle Uhren außer clk anASY.
  • Standby Modus : In diesem Modus darf der Oszillator arbeiten und alle anderen Operationen anhalten.

Anwendungen mit Atmega8

Blinkende LED

Anwendungen mit Atmega8

Blinkendes LEd-Schema

Das Programm wird in der Sprache C geschrieben und zuerst als C-Datei kompiliert. Das ATMEL-Software-Tool konvertiert diese Datei in eine binäre ELF-Objektdatei. Es wird dann wieder in eine Hex-Datei konvertiert. Die Hex-Datei wird dann mit dem AVR-Dude-Programm an den Mikrocontroller übergeben.

Fotokredit: