Table of Contents

Introduction

ATmega128 dans le package SMT (TQFP64, à préciser)

AVR est une série de micro-contrôleurs 8-bits RISC fabriqués par Atmel. Les micro-contrôleurs AVR suivent une architecture Harcard et par conséquent sépare le programme de la mémorisation des données. Le programme est stocké en interne grâce à la mémoire flash, les données sont stockées dans une mémoire physique (SRAM) et mémoire EEPROM. La fréquence du contrôleur est habituellement au dessus de 16 MHz et les performances dépassent le 1 MIPS par cycles de 1-megahertz.

La production de microcontrôleurs AVR a commencé en 1997 et à ce jour AVR est un des contrôleurs les plus populaire avec des ingénieurs électroniques indépendants. Grâce aux outils de développement bon marché, la diversité de périphériques dans un package simple et une consommation électrique basse est devenue le succès initial. Aujourd'hui, il y a une autre raison de choisir AVR : la quantité massive d'informations et de classes de travaux dirigés créées au cours des dernières années. La technologie AVR vieillit inévitablement, mais reste compétitive, Atmel fait aussi des nouveaux microcontrôleurs AVR avec des périphériques plus à jour et des bus de 16- et 32 bits, d'abord dont ceux de la série XMEGA compatible 8-bits et le dernier de la toute nouvelle série AVR32.

Basé sur ce type d'application, il y a plusieurs types de microcontrôleurs AVR, chacun avec une configuration différente. La plupart des AVRs appartiennent à la série megaAVR, qui a une large mémoire de programme. Pour équilibrer la série megaAVR, il y a aussi la série tinyAVR, qui présente des packages plus petits et donc moins de fonctions. En plus de ceux-là, il y a aussi la série différente de micro-contrôleurs conçus spécifiquement pour contrôler les ports USB, CAN, LCD, ZigBee, les automates, allumant et les dispositifs à piles.

Le texte suivant décrit les caractéristiques principales de micro-contrôleurs de série megaAVR, utilisant un des contrôleurs les plus populaires dans cette série, comme par exemple le ATmega128. Ce contrôleur est aussi dans le kit HomeLab. Habituellement, tous les noms de registre des micro-contrôleurs de la série AVR, leur signification et leur utilisation sont définies dans une voie qui permet d'utiliser des exemples avec d'autres contrôleurs. Les différences principales sont les périphériques. Les exemples de code de cette introduction sont écrits dans l'assembleur et C, utilisant AVR LibC.

Apparence physique

ATmega32 dans un coffrage de 40-broches DIP

Comme tous les autres contrôleurs, l'AVR est aussi empaqueté dans un coffrage standard. L'enveloppe traditionnelle est DIP (aussi appelée DIL). DIP est une enveloppe appelée sur des jambes - toutes les broches sont placées comme des pattes, d'environ 5 mm dans la longueur, de coffrage en plastique noire. Le coffrage DIP est un choix raisonnable pour des applications en passe-temps ou pour des prototypes, parce qu'il y a des prises bon marché disponibles pour cela, donc le microcontrôleur peut facilement être remplacé, en cas de dysfonctionnement. Les broches sont aussi un inconvénient du coffrage DIP, parce qu'il exige que des trous soient réalisés dans la carte du circuit.

Les supports en surface (SMT, aussi appelé SMD) sont beaucoup plus compacts, parce que leurs broches sont conçues pour être soudées directement à la carte sans nécessairement les incruster. Les micro-puces SMT sont dans des enveloppes rectangulaires minces, de la taille d'une pièce de monnaie avec des broches d'environ 1 mm de long. Des outils manuels et plus précis sont nécessaires pour souder des puces SMT.

Les AVRs sont disponibles tant avec les DIP qu'avec des enveloppes SMT. La disposition des broches est conçue aussi logiquement et électriquement que possible. Par exemple, sur de plus grandes puces, la terre et les broches d'alimentation sont localisés sur plusieurs côtés du micro-contrôleur, les broches pour un oscillateur externe sont proches de la broche de terre, les broches de bus sont dans l'ordre numérique, les broches de communication sont les unes à la suite des autres etc. Les broches numériques AVRs sont compatibles avec des niveaux de tension standard TTL/CMOS. À une tension d'alimentation de 5V, de 0 à 1 V signifie le zéro logique, qui est aussi appelé le zéro, le nul, 0, bas, la terre, ou GND. À la même tension d'alimentation, 3 à 5.5 V signifie le un logique, 1, haut. Ce type de larges gammes de tension s'applique seulement aux entrées - la tension d'alimentation sur une broche sans charge est toujours de 0 V ou proche de la tension d'alimentation, selon l'état de la broche. Le niveau de tension analogique autorisé sur les voies de l'ADC est de 0 à 5.5 V.

ATmega128

Pour mieux comprendre les exemples suivants sur ATMEGA128, il y a un schéma de disposition des broches d'ATMEGA128 (package SMT) ci-dessous. À côté de chaque broche, on trouvera un texte avec son numéro, la fonction principale et la fonction secondaire entre parenthèses. Les broches d'alimentation sont GND et VCC. AVCC et AREF sont l'alimentation du convertisseur analogique-numérique et font référence aux broches de tension. XTAL1 et XTAL2 servent à connecter un oscillateur à quartz externe, le résonateur ou le générateur d'horloge. Les broches PB0 À PG4 marquent les bits de bus d'entrée-sortie. Les fonctions secondaires des broches sont présentées dans les chapitres correspondants.

Broches de sortie ATmega128