Découverte des microcontroleurs

publicité
IUT de Poitiers – Site de Châtellerault
Départements
Mesures Physiques
Réseaux et Télécommunications
Formation Micro-contrôleur
Généralité Micro-Contrôleur
Cours 1
Microcontroleur - Généralité
Page 1
Formation Thales
INITIATION AU MICROCONTRÔLEUR
Le premier microprocesseur a été fabriqué en 1970 par Intel : le 4004. Depuis, l’intégration
des transistors (miniaturisation des circuits) a permis une augmentation de la puissance de
calcul. On retrouve désormais les microprocesseurs dans la plupart des applications
(ordinateur, véhicules, machine à laver, …)
Les microprocesseurs ne sont jamais employés seul, des circuits périphériques leur sont
toujours associés pour pouvoir être intégré au sein d’une application.
Figure 1 : Structure interne d’un microcontrôleur
L’un des avantages d’un microprocesseur, par rapport à un montage en logique câblée réside
dans sa souplesse d’emploi. En effet, pour modifier le fonctionnement d’une application, il
suffit de changer le programme sans refaire le câblage.
Les microcontrôleurs possèdent la puissance d’un microprocesseur mais présentent un atout
supplémentaire : ils possèdent dans un même boîtier les périphériques intégrés. Ainsi, le
programme de l’application se trouve dans la mémoire qui est encapsulée dans le composant.
Les composants d’entrée sortie sont également intégrés.
Cette caractéristique explique que les montages deviennent encore plus simple et la
programmation plus aisée : Un système à base de microprocesseur oblige le concepteur à
réaliser un décodage d’adresse pour permettre au microprocesseur de ne dialoguer qu’avec un
seul périphérique à la fois. Un microcontrôleur seul (à la différence du microprocesseur)
peut donc gérer une application sans faire forcément appel à d’autres circuits associés.
Microcontroleur - Généralité
Page 2
Formation Thales
Sur la figure 2, le microcontrôleur possède en nterne la mémoire programme (ROM)
contenant le programme de l’application, ainsi que le port d’entrées-sorties qui va permettra
au microcontrôleur de s’interfacer avec l’application.
-
-
Un microcontrôleur le plus simple qu’il soit possède au minimum les éléments
suivants :
Une unité centrale, cœur du système appelée CPU (Central Processing Unit). Il
s’agit du processeur dans lequel nous retrouvons plusieurs éléments comme l’unité
arithmétique et logique (UAL) que nous détaillerons ultérieurement.
Une mémoire contenant le programme à exécuter par le microcontrôleur, appelée
« mémoire morte » ou ROM (Read Only Memory). Cette mémoire à la
particularité de sauvegarder en permanence les informations qu’elle contient,
même en absence de tension (ce qui est primordial, sinon il faudrait reprogrammer
le système à chaque remise sous tension).
Une mémoire vive appelée également RAM (Random Access Memory). Cette
mémoire permet de sauvegarder temporairement les informations et les données
sont définitivement perdues lorsqu’il n’y a plus d’alimentation.
Un port d’entrées-sorties permettant au microcontrôleur de dialoguer avec
l’extérieur.
Des bus internes permettant la communication entre les différents éléments
intégrés au microcontrôleur (figure 3).
Cette architecture simplifiée vous est présentée en figure 2.
Figure 2 : Architecture d’un microcontrôleur
Le microcontrôleur exécutera une à une les instructions codées sous forme binaire dans la
mémoire programmée (figure 3). Les informations d’adresses, de données et de contrôle sont
véhiculées via des bus.
Microcontroleur - Généralité
Page 3
Formation Thales
Figure 3 : Bus de Communication
Application Pratique : Mise en mémoire du microcontrôleur d’un premier programme
Comme nous allons le voir maintenant, le microcontrôleur exécutera les instructions que
vous aurez transférées dans sa mémoire programme. Reportez vous à l’application pratique :
Mis en mémoire d’un programme en ROM du microcontrôleur.
Pour cela, il faut réaliser un premier programme. On peut écrire ce programme en language
machine (une suite de 0 et de 1), en assembleur ou en programmation plus évoluée (Basic,
Pascal, C). Nous allons nous intéresser au programme en assembleur. Un programme en
assembleur est constitué par une suite d’ordre (mnémonique) que devra exécuter le
microcontrôleur. Pour ce faire, il est bien entendu nécessaire que vous connaissiez les
instructions disponibles du microcontrôleur pour le composant choisi et également la façon
d’utiliser ces instructions.
Pour écrire le programme en assembleur, vous pouvez utiliser n’importe quel éditeur de texte.
Une autre possibilité plus conviviale est de choisir un éditeur de développement fourni avec le
microprocesseur. Nous travaillerons avec les microprocesseurs PIC de MicroChip. L’outil de
développement que nous utiliserons est MPLAB (disponible gratuitement sur Internet).
Ce programme écrit en assembleur (code source) doit être compilé. Cela consiste à remplacer
les mnémoniques du fichier assembleur en codes binaires compréhensibles par le
microcontrôleur. Si la compilation s’est effectuée sans erreur, un fichier binaire contenant
l’extension *.hex vient d’être crée par le compilateur. Il reste à transférer ce fichier .hex vers
la mémoire programme du PIC. Nous utiliserons le programme PIC Flash2.
On peut aussi, avant d’envoyer le programme vers le PIC, simuler le comportement de notre
application. La simulation est réalisée sous MPLAB.
Microcontroleur - Généralité
Page 4
Formation Thales
Téléchargement