Cours - Les Microcontrôleurs

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 11

Chapitre 3.

Les microcontrôleurs

1. Définition :
- Un microcontrôleur est un circuit intégré regroupant un micro-processeur, de la
mémoire et des périphériques sur la même puce. Contrairement à un microprocesseur
classique, un microcontrôleur est surtout utilisé pour une application spécifique.
- De nos jours, les microcontrôleurs sont présents un peu partout : dans les appareils
domestiques, médicaux, de télécommunication, dans les voitures, les avions,
l’industrie, …
2. Les familles des microcontrôleurs 8 bits, 16 bits et 32 bits
- Il y a des microcontrôleurs 8 bits, 16 bits et 32 bits. Les 8 bits sont très peu chère, on
les retrouve dans des petites applications (ex. télécommande). Par exemple, la célèbre
carte Arduino UNO fonctionne avec un microcontrôleur 8 bits !

Carte Arduino UNO (microcontrôleur Atmel ATMEGA 328)


- Actuellement, les microcontrôleurs 32 bits sont les plus répandus (ex. ARM Cortex-M,
STM32, …) qui sont plus adaptés aux applications plus évoluées.

La carte Pyboard (microcontrôleur STM32)


3. Les différents types de microcontrôleurs :
- Plusieurs critères permettent de différencier les microcontrôleurs : leur architecture,
le nombre et le type de périphériques d’entrées/sorties, le langage de programmation,

- Deux architectures des microcontrôleurs se présentent :
o Von Neumann : 1 seul bus de communication entre la mémoire et UC, double
rôle du bus convoyer les instructions + convoyer les données.
o Harvard : 2 bus et 2 mémoires indépendantes, exécution d’une opération en
un 1 seul cycle machine.
Deux architectures de microcontrôleurs sont :
● CISC : (Complex Instruction Set Computer) :
- Grand nombre d'instructions.
- Type de processeur le plus répandu.
- Jeu d’instruction plus complet et plus puissant.
● RISC : (Reduced Instruction Set Computer ):
- Nombre d'instructions réduit (sélection des instructions pour une exécution plus rapide)
- Décodage des instructions plus rapide.
- Utilisation du technique pipeline (chercher l’instruction i, décoder la précédente i -1, exécuter
la i-2, recopier en mémoire le résultat de la i-3).
4. Le microcontrôleur de la carte Arduino Uno: ATMega328
Le microcontrôleur de la carte Arduino UNO est un ATMega328. C'est un microcontrôleur
ATMEL de la famille AVR 8bits. Les principales caractéristiques sont :
- Nombre de broches : 28,
- Mémoire flash : 32Ko (programmable par interface série)
- Mémoire Données EEPROM : 1Ko
- Mémoire RAM : 2Ko
- 32 registres de travail d’accès rapide pour UAL
- Port parallèles : 3 avec 23 broches E/S
- Fréquence d’horloge : 16 Mhz (16 cycles d’horloges/microsecondes)
- Périphériques internes : 6 CAN à 10 bits, 1 ‘timer’ 16 bits et 2 ‘timers’ 8bits, 6 canaux
PWM,
- 26 interruptions.

Une interruption, comme son nom l’indique, consiste à interrompre momentanément le programme que l’Arduino
exécute pour qu’il effectue un autre travail. Quand cet autre travail est terminé, l’Arduino retourne à l’exécution
du programme et reprend à l’endroit exact où il l’avait laissé.
Cet autre travail s’appelle le programme d’interruption ou la routine d’interruption ou encore une ISR pour
‘Interrupt Service Routine’ en anglais.

- Le ‘timer 0’, sur 8 bits, utilisé par les fonctions delay(), millis() et micros(). Il commande
également des PWM (Pulse Width Modulation ou Modulation par Largeur d’Impulsion)
sur les broches 5 et 6.
- Le ‘timer 1’, sur 16 bits, qui compte de 0 à 65535 (0 à FFFF en hexadécimal) et qui est
utilisé par la bibliothèque Servo ou bien pour de la PWM sur les broches 9 et 10.
- Le ‘timer 2’, sur 8 bits, qui est utilisé par la fonction Tone() ou bien pour de la PWM sur
les broches 3 et 11.
4.1. Les broche du microcontrôleur ATmega328

- L’alimentation est de la broche 7 (Vcc) et 8 (GND), la broche 22 (GND) est identique à


8.
- Tension de 4.5V pour une fréquence de 16 Mhz. (3.3V correspond à la fréquence
12Mhz)
- La broche 21 (AREF) d’alimentation référentielle utilisée par CAN (10 bits), ne pas
dépasser la tension d’alimentation max 5.5V.
- La broche 20 (AVCC), alimente le convertisseur.
- Les broches 9 et 10 (PB6 et PB7) : utilisé pour une horloge externe à base de quartz.
- La broche 14 (PB0) : broche de récupération une partie de l’horloge.
- Les broches du 15 au 19 (PB1 à PB5) : utilisées pour le transfert du programme en
mémoire flash.
- Les broches du 23 à 28 (PC0 à PC5) : représentent les 6 entrées du CAN
- La broche 1 : (PC 6) : broche de RESET.
- Les broches 2 et 3 (PD0 et PD1) pour le bus
- Les broches 4 et 5 (PD2 et PD3) entrées d’interruptions matérielles.
- Les broches 12 et 13 (PD6 et PD7) entrées du comparateur analogique (tension positive
ou négative)
- PD4 peut être utilisés comme source d’horloge.

4.2. L’architecture de l’ATMega328 :


- Le microcontrôleur ATmega 328 dispose de 32ko de mémoire Flash permettant de
stocker le programme à exécuter.
- Il contient aussi de 2ko de mémoire vive (SRAM). Cette mémoire est généralement
utilisée pour stocker les résultats temporaires lors de calculs. Elle peut être lue et écrite
à tout instant par le microcontrôleur mais son contenu est perdu dès que la n'est plus
alimentée.
- L’ATmega 328 dispose également 1ko mémoire EEPROM pour permettre au
programme de stocker des données persistantes. Le contenu de cette mémoire est
accessible grâce aux fonctions de la librairie « EEPROM ».
- L’horloge est pilotée par quartz et fonctionne à la fréquence de 16 MHz.
4.3. Quelques registres essentiels de l'ATmega328 :
Les registres de travail :

- 32 registres 8 bits, R0 à R31


- Certains sont utilisables en 16 bits (pour les adressages indirects).
- Placés en début de la RAM de donnée.

Le registre d’état SREG

Constitués de 8 bits, ayant chacun un rôle propre :


- I : autorisation globale des interruptions.
- T : demi-retenue (Half-carry)- c.à.d du premier quartet – sur opérations
arithmétiques.
- S : Bit de signe
- V : bit de débordement (Overflow)
- N : bit de résultat négatif
- Z : bit de zéro, égale à 1 si le résultat est nul
- C : bit de retenue (Carry)
La pile et son registre
- La pile est une portion de la SRAM, localisée par un registre de pointeur de pile.
- Manipulable via les instructions PUSH et POP.
- Elle sert en particulier à sauvegarder le CO qui désigne l’adresse de l’instruction à
exécuter.
- Sa position en mémoire est définie par le registre « pointeur de pile »
5. Autres types de microcontrôleur :

Le microcontrôleur (PIC16F627A/628A/648A) :
Le microcontrôleur PIC issu de la société Américaine Micochip technology, son architecture est donnée
par le diagramme suivant :
Comment Lire le schéma d’un microcontrôleur

Vous aimerez peut-être aussi