Types de microcontrôleur AVR - Atmega32 et ATmega8

Essayez Notre Instrument Pour Éliminer Les Problèmes





ATmega32 - Microcontrôleur AVR 8 bits

Les microcontrôleurs AVR sont basés sur l'architecture RISC avancée. ATmega32 est un microcontrôleur CMOS 8 bits basse consommation basé sur l'architecture RISC améliorée AVR. L'AVR peut exécuter 1 million d'instructions par seconde si la fréquence du cycle est de 1 MHz.

Photographie DIP 40 broches de ATmega32

Photographie DIP 40 broches de ATmega32



Principales caractéristiques:


  • 32 x 8 registres à usage général.
  • 32K octets de mémoire de programme flash auto-programmable dans le système
  • 2 Ko de SRAM interne
  • EEPROM 1024 octets
  • Disponible en DIP à 40 broches, QTFP à 44 broches, QFN / MLF à 44 broches
  • 32 lignes d'E / S programmables
  • 8 canaux, ADC 10 bits
  • Deux minuteries / compteurs 8 bits avec pré-calibres séparés et modes de comparaison
  • Une minuterie / compteur 16 bits avec un prédécaleur séparé, un mode de comparaison et un mode de capture.
  • 4 canaux PWM
  • Dans la programmation système par programme de démarrage sur puce
  • Minuterie de chien de garde programmable avec oscillateur sur puce séparé.
  • USART série programmable
  • Interface série SPI maître / esclave

Caractéristiques spéciales du microcontrôleur:

  • Six modes de veille: veille, réduction du bruit ADC, économie d'énergie, mise hors tension, veille et veille prolongée.
  • Oscillateur RC calibré interne
  • Sources d'interruption externes et internes
  • Réinitialisation à la mise sous tension et détection de baisse de tension programmable.
DIP 40 broches de ATmega32

DIP 40 broches de ATmega32



Tous les 32 registres sont directement connectés à l'unité logique arithmétique (ALU), ce qui permet d'accéder à deux registres indépendants en une seule instruction exécutée en un cycle d'horloge.

La mise hors tension enregistre le contenu du registre mais fige l'oscillateur. Toutes les autres fonctions de la puce seront désactivées jusqu'à la prochaine interruption externe. La minuterie asynchrone permet à l'utilisateur de maintenir une minuterie en mode d'économie d'énergie pendant que le reste de l'appareil est en veille.

Le mode de réduction du bruit ADC arrête le CPU et tous les modules d'E / S à l'exception du CAN et du temporisateur asynchrone. En mode veille, à l'exception de l'oscillateur à quartz, le reste de l'appareil est en veille. L'oscillateur principal et la minuterie asynchrone continuent de fonctionner en mode veille prolongée.

ATmega32 est un microcontrôleur puissant en raison de son flash auto-programmable dans le système sur une puce monolithique, fournit une solution hautement flexible et rentable à de nombreuses applications de contrôle embarquées.


TQFP / MLF à 44 tampons

TQFP / MLF à 44 tampons

Descriptions des broches:

VCC: Alimentation numérique en tension

GND: Sol

Port A (PA7-PA0): Ce port sert d'entrées analogiques au convertisseur A / N. Il sert également de port E / S bidirectionnel 8 bits si le convertisseur A / N n'est pas utilisé.

Port B (PB7-PB0) et Port D (PD7-PD0): Il s'agit d'un port d'E / S bidirectionnel 8 bits. Ses tampons de sortie ont des caractéristiques d'entraînement symétriques avec une capacité élevée de puits et de source. En tant qu'entrées, elles sont extrêmement tirées vers le bas si les résistances de rappel vers le haut sont activées. Il sert également diverses fonctions spéciales de l'ATmega32.

Port C (PC7-PC0): Il s'agit d'un port d'E / S bidirectionnel 8 bits. Si l'interface JTAG est activée, les résistances de rappel sur les broches PC5 (TDI), PC3 (TMS) et PC2 (TCK) seront activées.

Interfaçage de JTAG à l

Interfaçage de JTAG à l'aide du port C d'ATmega32

Réinitialiser: C'est une entrée.

XTAL1: Il s'agit d'une entrée vers l'amplificateur de l'oscillateur inverseur et d'une entrée vers le circuit de fonctionnement de l'horloge interne.

XTAL2: Il s'agit d'une sortie de l'amplificateur de l'oscillateur inverseur.

AVCC: Il s'agit de la broche de tension d'alimentation pour le port A et le convertisseur A / N. Il doit être connecté à VCC.

AREF: AREF est la broche de référence analogique pour le convertisseur A / N.

Mémoires ATmega32:

Il a deux espaces de mémoire principale, la mémoire de données et l'espace mémoire du programme. De plus, il dispose d'une mémoire EEPROM pour le stockage des données.

Dans la mémoire de programme flash programmable du système:

ATmega32 contient 32 Ko sur puce dans la mémoire flash reprogrammable du système pour le stockage du programme. Flash est organisé en 16k X 16 et sa mémoire est divisée en deux sections: section programme de démarrage et section programme d'application.

Schéma de circuit du programmeur ISP

Schéma du circuit du programmeur ISP

Mémoire de données SRAM:

Le fichier de registre, la mémoire E / S et les données internes SRAM sont adressés par les 2144 emplacements de mémoire de données inférieurs. Les 96 premiers emplacements adressent le fichier de registre et la mémoire d'E / S, et les données internes SRAM sont adressées par les 2048 emplacements suivants. Direct, indirect avec déplacement, indirect, indirect avec pré-décrémentation et en direct avec post décrémentation sont les 5 modes d'adressage différents pour la couverture de la mémoire de données. Les 32 registres à usage général, 64 registres d'E / S et 2 048 octets de données internes SRAM sont accessibles en utilisant ces modes d'adressage.

Schéma fonctionnel d

Schéma fonctionnel d'ATmega32

Mémoire de données EEPROM:

Il contient 1024 octets de mémoire EEPROM de données. Il est accessible en tant qu'espace de données séparé dans lequel des octets uniques peuvent être lus et écrits.

Mémoire E / S:

Toutes les E / S et tous les périphériques sont placés dans l'espace E / S. Les emplacements d'E / S sont accédés par les instructions IN et OUT, transférant les données entre les 32 registres à usage général et l'espace d'E / S. Les registres d'E / S avec l'adresse 00-1F sont directement accessibles en bits à l'aide des instructions SBI et CBI.

ATmega8

introduction

Il s'agit d'un microcontrôleur CMOS 8 bits de la famille AVR (développé par Atmel Corporation en 1996) et basé sur l'architecture RSIC (Reduced Instruction Set Computer). Son avantage fondamental est qu'il ne contient aucun accumulateur et que le résultat de toute opération peut être stocké dans n'importe quel registre, défini par l'instruction.

Architecture

Architecture

Architecture

Mémoire

Il se compose de 8 Ko de mémoire flash, 1 Ko de SRAM et 512 octets d'EEPROM. Le flash 8K est divisé en 2 parties: la partie inférieure utilisée comme section flash de démarrage et la partie supérieure utilisée comme section flash d'application. La SRAM contient 1K octets avec 1120 octets de registres à usage général et de registres d'E / S. Les 32 emplacements d'adresse inférieurs sont utilisés pour 32 registres à 8 bits à usage général. Les 64 adresses suivantes sont utilisées pour les registres d'E / S. Tous les registres sont connectés directement à l'ALU. L'EEPROM est utilisée pour stocker les données définies par l'utilisateur.

Ports d'entrée / sortie

Il se compose de 23 lignes d'E / S avec 3 ports d'E / S, nommés B, C et D.Le port B se compose de 8 lignes d'E / S, le port C se compose de 7 lignes d'E / S et le port D se compose de 8 E / S lignes.

Les registres correspondant à n'importe quel portX (B, C ou D) sont:

DDRX : Registre de direction des données du port X

PORTX : Registre de données du port X

PINX : Registre d'entrée du port X

Minuteries et compteurs

Il se compose de 3 minuteries avec des modes comparables. Deux d'entre eux sont 8 bits tandis que le troisième est 16 bits.

Oscillateurs

Il intègre une réinitialisation interne et un oscillateur qui permet d'éliminer le besoin de toute entrée externe. L'oscillateur RC interne est capable de générer une horloge interne qui peut fonctionner à n'importe quelle fréquence de 1MHz, 2MHz, 4MHz ou 8MHz comme programmé. Il prend également en charge un oscillateur externe avec une fréquence maximale de 16 MHz.

la communication

Il fournit des schémas de transfert de données synchrones et asynchrones via USART (Universal Synchronous and Asynchronous Receiver Transmitter), c'est-à-dire la communication avec des modems et d'autres périphériques série. Il prend également en charge SPI (Serial Peripheral Interface) utilisé pour la communication entre les appareils selon la méthode maître-esclave. Un autre type de communication pris en charge est le TWI (Two wire Interface). Il permet la commutation entre deux appareils en utilisant 2 fils avec une connexion de masse commune.

Il dispose également d'un module comparateur intégré dans la puce pour permettre la comparaison entre deux tensions connectées aux deux entrées du comparateur analogique via les puces externes.

Il contient également un ADC à 6 canaux, dont 4 ont une précision de 10 bits et 2 une précision de 8 bits.

Registre d'état : Il contient des informations sur le jeu d'instructions arithmétiques en cours d'exécution.

Diagramme des broches ATmega :

Diagramme des broches ATmega

Diagramme des broches ATmega

L'une des caractéristiques importantes d'ATmega8 est qu'à l'exception de 5 broches, toutes les autres broches prennent en charge deux signaux.

  • Les broches 23, 24, 25, 26, 27, 28 et 1 sont utilisées pour le port C, tandis que les broches 9, 10, 14, 15, 16, 17, 18, 19 sont utilisées pour le port B et les broches 2, 3, 4, 5,6,11,12 sont utilisés pour le port D.
  • La broche 1 est également la broche de réinitialisation et l'application d'un signal de niveau bas pendant une durée supérieure à la longueur d'impulsion minimale générera une réinitialisation.
  • Les broches 2 et 3 sont également utilisées pour la communication série pour USART.
  • Les broches 4 et 5 sont utilisées comme interruptions externes. L'un d'eux se déclenchera lorsque le bit indicateur d'interruption du registre d'état est défini et l'autre se déclenchera tant que la condition d'interruption prévaudra.
  • Les broches 9 et 10 sont utilisées comme oscillateur externe ainsi que comme oscillateurs de compteurs de minuterie où le cristal est connecté directement entre les broches. La broche 10 est utilisée pour l'oscillateur à cristal ou l'oscillateur à cristal basse fréquence. Si l'oscillateur RC calibré interne est utilisé comme source d'horloge et que la minuterie asynchrone est activée, ces broches peuvent être utilisées comme broches d'oscillateur de minuterie.
  • La broche 19 est utilisée comme sortie d'horloge maître, entrée d'horloge esclave pour le canal SPI.
  • La broche 18 est utilisée comme entrée d'horloge maître, sortie d'horloge esclave.
  • La broche 17 est utilisée comme sortie de données maître, entrée de données esclave pour le canal SPI. Il est utilisé comme entrée lorsqu'il est activé par un esclave et est bidirectionnel lorsqu'il est activé par le maître. Cette broche peut également être utilisée comme sortie de correspondance de comparaison de sortie, qui sert de sortie externe pour la correspondance de comparaison minuterie / compteur.
  • La broche 16 est utilisée comme entrée de sélection d'esclave. Il peut également être utilisé comme correspondance de comparaison minuterie / compteur1 en configurant la broche PB2 en tant que sortie.
  • La broche 15 peut être utilisée comme sortie externe pour la correspondance de comparaison minuterie / compteur A.
  • Les broches 23 à 28 sont utilisées pour les canaux ADC. La broche 27 peut également être utilisée comme horloge d'interface série et la broche 28 peut être utilisée comme données d'interface série
  • Les broches 13 et 12 sont utilisées comme entrées du comparateur analogique.
  • Les broches 11 et 6 sont utilisées comme sources de minuterie / compteur.

Modes de veille du microcontrôleur

Le microcontrôleur fonctionne en 6 modes de veille.

  • Mode inactif: Il arrête le fonctionnement du CPU, mais permet le fonctionnement de SPI, USART, ADC, TWI, Timer / Counter et Watchdog et interrompt le système. Il est réalisé en mettant à zéro les bits SM0 à SM2 du drapeau de registre MCU.
  • Mode de réduction du bruit ADC : Il arrête le CPU mais permet le fonctionnement de l'ADC, des interruptions externes, du temporisateur / compteur2 et du chien de garde.
  • Mode de mise hors tension : Il active les interruptions externes, l'interface série à 2 fils, le chien de garde tout en désactivant l'oscillateur externe. Il arrête toutes les horloges générées.
  • Mode économie d'énergie : Il est utilisé lorsque la minuterie / compteur est synchronisée de manière asynchrone. Il arrête toutes les horloges sauf clkASY.
  • Mode veille : Dans ce mode, l'oscillateur est autorisé à fonctionner, interrompant toutes les autres opérations.

Applications impliquant Atmega8

LED clignotante

Applications impliquant Atmega8

Schéma LED clignotant

Le programme est écrit en langage C et est d'abord compilé sous forme de fichier .c. L'outil logiciel ATMEL convertira ce fichier en un fichier objet ELF binaire. Il est ensuite à nouveau converti en fichier hexadécimal. Le fichier hexadécimal est ensuite transmis au microcontrôleur à l'aide du programme AVR dude.

Crédit photo: