prof. Jacques Lepot
Microcontrôleurs de la famille AVR de ATMEL
Microcontrôleurs

L'ATMega-8 (ou 48/88/168/328) appartient à la famille Atmel AVR de microcontrôleurs 8 bit.

Tous les processeurs de cette famille disposent du même noyau (core) qui exécute un jeu d' instructions puissantes en mode RISC, c'est à dire une instruction par cycle d'horloge.

Ils se différencient par:

  • la quantité de mémoire embarquée sur la puce
  • les périphériques embarqués sur la puce
  • le type de boîtier
  • l'alimentation
  • le prix

Les Mémoires

Une particularité très intéressante de cette famille est d'inclure dans la puce de la mémoire pour le programme et pour les données, ceci permet de réaliser des circuits très simples car il n'y a pas à connecter de mémoire externe au cpu. Cela augmente également les nombre de pattes disponibles, la connexion d'une mémoire avec un cpu nécessite en général un minimum de 24 pattes.

Tous ces processeurs disposent d'une mémoire programme et d'une mémoire données séparées. (Harvard).

  • La mémoire programme est une mémoire "morte", on y place le programme et il reste en permanence, même après coupure de l'alimentation.Il s'agit d'une mémoire flash.
  • La mémoire RAM contient uniquement les données utilisées par le programme,les variables, les tableaux, etc... Ces données sont perdues si le circuit n'est pas alimenté.
  • Enfin,une petite quantité de mémoire EEprom est disponible, elle sert à sauvegarder des données après coupure de l'alimentation

Exemples:

modèle Mem Progr. Flash RAM EEprom
AT-Tiny 13 1 Kbytes 64 Bytes 64 Bytes
AT-Tiny 48 4 Kbytes 512 Bytes 256 Bytes
AT-Mega 8 8 Kbytes 1 Kbytes 512 Bytes
AT-MEGA 2560 256 Kbytes 8 Kbytes 4 Kbytes
AT-Mega 328 32 Kbytes 2 Kbytes 512 Bytes
       

Les périphériques

selon le modèle, on peut disposer d'un certain nombre de ces périphériques:

ports parallèles (I/O), le nombre d'entées sorties dépend du nombre de pattes du boîtier

pour communiquer

USART: port série, synchrone ou asynchrone bi-directionnel ( 2 fils, TX RX)
I2C (ou TWI): port série synchrone lent. ( 2 fils, SDA SCL)
SPI: port série synchrone rapide. ( 3 fils, MISO MOSI SCLK)

pour mesurer

Convertisseur A/D (analogue/digital)
Comparateur analogique

pour compter, chronométrer

Timers

Exemples:

modèle I/O TIMER USART TWI SPI A/D
AT-Tiny 13 6 1 non non non non
AT-Tiny 48 6 3 1 1 1 6
AT-Mega 8 23 3 1 1 1 6
AT-MEGA 2560 86 6 4 1 1 16
 

Tous les processeurs de la famille disposent en plus de:

Un oscillateur interne, il permet d'éviter l'emploi d'un quartz extérieur au circuit.
Un watchdog (chien de garde), il permet de le reset automatique du CPU en cas de plantage du soft.
Un brown out detector, il maintient le CPU à l'arrêt en attendant que l'alimentation soit stabilisée.

Les boîtiers

Les boîtiers vont de 8 pattes à 100 pattes.Il existe plusieurs versions

DIP (ou PDIP) pour les anciens circuits imprimés à trous ou les prototypes breadboard
TQFP, SOIC et MLF pour les circuits imprimés SMT (montage en surface)

montage "through hole"
montage SMT
PDIP
SOIC
TQFP
MLF
       

On choisit le boîtier en fonction de la technique de montage utilisée, prototype ou fabrication en série.
Les anciens boîtiers dips gardent comme avantage qu'ils peuvent être montés sur un support (socket) et retirés du montage.
Ce format est en voie de disparition.
Les boîtiers SMT sont beaucoup plus économiques lors de la fabrication en série et sont plus petits.

Remarque: les "gros" processeurs (>40 pattes) ne sont disponibles que en version SMT.

Les alimentations

Deux critères sont à prendre en compte.

Le voltage, ou plutôt la gamme de tension sous laquelle le CPU fonctionne.

Les modèles "LV" (low voltage) fonctionnent avec des tensions entre 1.8V et 5.5V
Les autres modèles fonctionnent avec des tensions entre 2.7V et 5.5V

la gamme LV est particulièrement intéressante car il est possible d'utiliser 2 piles rechargeables pour les alimenter (2 X 1,2V = 2,4V). Par contre, leur vitesse maximum est réduite (8MHz au lieu de 16 ou 20).

La consommation, c'est à dire le courant.
C'est un critère très important pour des appareils fonctionnant sur batteries. Comme exemple, un appareil qui consommerait 50mA aurait une autonomie de moins de 2 jours de fonctionnement continu avec 2 ou 3 piles de la meilleure capacité.
Il est évident que les petits processeurs de la famille consomment moins que les gros.
Mais la consommation dépend surtout de la fréquence et du voltage.

Exemples:

  1MHZ / 3.5V 1MHZ / 5V 8MHZ / 3V 20MHZ / 5 V
MEGA 128 2.5 mA 3.0 mA 10 mA 40 mA
MEGA 88 0.5 mA 1.0 mA 4 mA 12 mA
TINY 45 0.5 mA 1.0 mA 4 mA 12 mA
         

Cependant, il est possible par programme de désactiver temporairement certaines fonctions du microcontrôleur, et ainsi de réduire la consommation.
Le mode "IDLE" (en attente, cpu a l'arret) permet de diminuer la consommation d'un MEAGA88 / 20 MHZ / 5V de 12 mA à 3 mA.
Le mode "Power Down" (tout à l'arret mais mémoire conservée) dans les mêmes conditions, on descend à 0.5mA.

Le prix

Il est évident ici aussi que les petits processeurs de la famille sont moins chers que les gros.
La source d' approvisionnement et la quantité déterminent aussi le prix.

Exemples:

  1 10 100 1000
MEGA 128 20 € 14 € 12 € < 8 €
MEGA 88 3.8 € 2.9 € 2.2 € < 2 €
TINY 45 2.2 € 1.6 € 1.3 € < 1 €
         

Remarque: Excepté pour les "gros" processeurs, le prix d'un CPU 8 bits est négligeable comparés aux autres composants présents dans un appareil,
boîtier, boutons, connecteurs et coût du montage sont souvent plus importants.