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