Académique Documents
Professionnel Documents
Culture Documents
Atmega16
Version 3.0
cours_atmega16_v3.doc 1
Le microcontrôleur Atmel Atmega16
cours_atmega16_v3.doc 2
Avant-propos
Afin d’aborder le contenu de ce cours dans les meilleures conditions, le lecteur aura avantage
à revoir/assimiler les points suivants :
Remarque :
Une partie de la documentation sur les entrées sorties du microcontrôleur Atmega16 est
reprise de la documentation de J.M. SEGURET, enseignant au Lycée Tehnique Maurice
Genevoix d’INGRE dans le LOIRET.
cours_atmega16_v3.doc 3
1) LE MICROPROCESSEUR
1.1) Historique
De part leur facilité de mise en œuvre et leur coût de revient très bas les
microprocesseurs (microcontrôleurs) sont utilisés dans de nombreux domaines :
cours_atmega16_v3.doc 4
1.3) ARCHITECTURE D’UN SYSTEME A µP (CONFIGURATION
MINIMUM)
1.3.1) le microprocesseur
cours_atmega16_v3.doc 5
1.3.2) le circuit d’initialisation (reset)
C’est une mémoire à lecture seule (Read Only Memory). Dans les
microsystèmes, c’est elle qui en général contient le programme à exécuter. Dans les
systèmes plus complexes (stations de travail, PC, ..) le programme, stocké en
mémoires de masse (disque dur, CD-rom, …), est chargé dans la mémoire vive (RAM)
avant d’être exécuté.
cours_atmega16_v3.doc 6
Fonctionnellement la mémoire ROM a pour rôle de fournir sur son « buffer » de sortie
un mot binaire correspondant au contenu de la case pointée par l’adresse d’entrée. Une
mémoire est spécifiée par sa capacité et son organisation.
Exemple :
- une mémoire de 32K * 8 signifie que celle-ci contient 32K mots de 8 bits.
Pour adresser toutes les cases de cette mémoire, le bus d’adresse devra
avoir une largeur de 15 bits (215 combinaisons soit 32768).
-
Nota : 1Koctets = 1024 octets
Remarque :
La mémoire ROM conserve son contenu lorsque son alimentation est coupée.
La mémoire RAM (Random Access Memory) est une mémoire à accès aléatoire qui peut être
lue ou écrite indéfiniment. Dans les microsystèmes, elle est souvent réservée pour stocker des
variables, des résultats intermédiaires et sert également de « pile » pour le processeur.
Comparativement à la ROM, le buffer de sortie est bidirectionnel et c’est le signal de
lecture/écriture issu des lignes de contrôle qui fixe le sens de circulation des données.
Remarque :
cours_atmega16_v3.doc 7
La mémoire RAM perd son contenu lorsque son alimentation est coupée.
- le bus d’adresses
Ce sont des lignes physiques (équipotentielles) qui véhiculent les adresses générées par le
microprocesseur. La taille du bus fixe sa capacité d’adressage. Dans les systèmes
monoprocesseurs et selon leurs types, le bus d’adresses est souvent unidirectionnel.
Exemples :
Motorola 6800 : bus adresses 16 bits => 65536 adresses possibles (216 combinaisons).
Motorola 68000 : bus adresses 20 bits => 1 Million adresses possibles (220 combinaisons).
Intel 80386 : bus adresses 32 bits => 4 G adresses possibles (232 combinaisons).
- le bus de données
Ce sont des lignes physiques (équipotentielles) qui véhiculent les données. Ce bus est
bidirectionnel (les données peuvent entrer ou sortir du µP suivant qu’il est en mode lecture ou
écriture). La taille de ce bus correspond à la taille du bus de données interne au µP.
Exemples :
Motorola 6800 : bus de données 8 bits.
Motorola 68000 : bus de données 16 bits.
Motorola DSP 56000 : bus de données 24 bits.
Motorola 68020 : bus de données 32 bits.
- Le bus de contrôle
Il est de taille variable suivant la complexité du processeur. C’est lui qui synchronise les
échanges entre le processeur et ses périphériques. Le chronogramme ci-dessous illustre un
cycle de lecture d’un périphérique du microprocesseur Motorola 6809.
cours_atmega16_v3.doc 8
1.3.7) Les interfaces de périphériques
Exemples :
- interface IDE pour lecteur de disquettes
- interface SCSI pour disque dur
- entrées/sorties numériques et analogiques
- interfaces vidéo, claviers, bus USB
- etc…
Chaque interface dispose d’un champ adresse qui lui est propre. Ce champ adresse est fourni
par le bloc de décodage d’adresse.
Il a pour but d’assigner à chaque bloc mémoire et aux différents périphériques qui
composent le système un emplacement et un espace dans le champ adressable par le
microprocesseur.
Exercice :
Déterminer les équations de CS_RAM et CS_ROM pour que les mémoires RAM et
ROM débutent respectivement aux adresses :
cours_atmega16_v3.doc 9
- (A000)H pour la ROM (circuit U9)
- (5000) H pour la RAM (circuit U10)
Quel est l’espace occupé par chaque mémoire. Donner l’adresse de fin correspondante.
(rep : BFFF pour la ROM et 57FF pour la RAM).
cours_atmega16_v3.doc 10