prof. Jacques Lepot
Introduction aux microcontrôleurs
Les différents types de microcontroleurs

Il existe de nombreux type de microcontroleurs, en vrac, citons:

Les ancêtres

  • Le "légendaire" 8051, crée initialement par intel
  • Les 6800 (68HC12,...) de Motorola et freescale
  • Le Z80 (basé sur l'architecture de l'intel 8080)

La plupart existent toujours et sont encore utilisés par les industriels en raisons de leur faible coût pour de très grosses quantités. Par exemple, le 8051.

Ces processeurs sont de type CISC (jeu d'instruction complexe) et 8-bit.

Il existe des microcontrollers 16-bit et 32-bit. Citons :

  • Les pics 24F et les dsPIC30 et dsPIC33 (DSP)
  • Les AVR32
  • Les processeurs DSP d' Analog Devices 16-bit (par ex. ADSP-218x) et 32-bit.
  • Les microcontrolleurs 32-bit ColdFire de FreeScale (MCF52xxx)
  • Les processeurs à coeur ARM que l'on retrouve très souvent dans les applications multimédia et/ou à linux embarqué, comme les modem/routeurs, les gsm, les lecteurs dvd,...

Parmis les microcontrollers 32-bit, l'architecture ARM est de loin celle la plus utilisées dans les environnements embarqués où la consommation est critique.
Il existe plusieurs versions du core ARM (de ARM1 à ARM11).

L'ARM7 et ARM9 sont actuellement fort répandus. L'ARM9 est plutôt un microprocesseur.On les retrouve dans les routeurs ou les smartphones.

Le core ARM est fabriqué et adapté par plusieurs fabricants de dont voici une liste non exhaustive:

Les MCUs basé sur l'ARM Cortex M3 sont très interressants. Pour le prix d'un processeur 8-bit, vous disposez d'un microcontrolleur 32-bit. Les performances et la consommation dépasse largement les performances d'un 8-bit. Ce processeur risque de s'imposer pour des applications où les rapport performance/coût et performance/consommation sont les maîtres mots.

Remarque: les DSP (digital signal processor) sont des microcontrollers un peu particulier: ils sont dédiés au traitement numérique du signal. Leur architecture est optimisés pour cette tâche. Ils forment une famille de microcontroller à part entière.

Certains de ces microcontrolleurs (sauf les DSP) disposent des périphériques internes pour gérér l'USB, le TCP/IP (ethernet), LCD,...

Actuellement, les microcontrollers 8-bit de type RISC (Reduced Instruction Set Computers) sont de plus en plus utilisés au détriment des processeurs CISC.
Bien qu'il en existe bien d'autres microcontrollers, les plus populaires auprès des électroniciens sont :

  • les PIC de Microchip.
  • les processeurs ATmega de la famille AVR d'Atmel.

Ces processeurs possèdent un jeu d'instructions réduit . Il faut plus d'instructions pour faire une opération qu'un CISC (qui peut souvent le faire en une opération) mais ils sont généralement plus rapide.



AVR ATmega ou PIC
PIC16F648A ATmega88 - 16MHz
Architecture RISC (33 instructions) RISC, 130 instructions
Accumulateur logique 1 seul (W) 32, par adressage directe
Pile (Stack) 8 niveaux S'étend dans toute la RAM (en pratique celle que l'on utilise pas pour des variables
Mémoire Flash (programme) 4 K instructions
8 K instructions
EEPROM 256 bytes 512 bytes
RAM 256 bytes 1 K
Vitesse d'execution max(MIPS) 20 MHz/(4c/instr) = 5 MIPS 20 MHz/(1c/instr) = 20MIPS
Timers 3 3
ADC (CAN) non 10 bit, 8 canaux
Multiplication non, à implémenter en S.W. oui, implémenté en H.W.
Prix (à la pièce) 3 € 3 €
Outils de développement ASM MPLAB de Microchip (freeware) AVR Studio d'Atmel(freeware)
Compilateur C Pour les PIC16, différents compilateur C payant disponible en version d'essai ou version limité
Pour les PIC18, il existe le compilateur C18 gratuit en version étudiant (quelques optimisations ne sont pas disponible ce qui augmente légèrement la taille du code). Il s'intègre à l'environement MPLAB
AVR-GCC, compilateur OpenSource (gratuit), disponible sous Windows dans la suite WinAVR. Il s'intègre entièrement dans AVR-Studio. Il peut également être utilisé sous Linux