Micro contrôleurs flag-uk.gif (991 octets)

Dernière mise à jour le 23-mai-2004


up.gif (853 octets) Introduction

miccont1.jpg (1585 octets) Un micro contrôleur est un (petit) circuit électronique programmable, une sorte de sub-micro ordinateur. Il existe plusieurs catégories de ces microcontrôleurs, chacun spécialisés dans le contrôle de fonctions particulières. Ils sont conçus de manière à être capables de lire des données ou de commander des évènements extérieurs, de sorte que le nombre de composants extérieurs nécessaires pour remplir une fonction particulière est extrêmement réduit.

Cette page contient des informations de bases concernant les micro-contrôleurs; elle constitue une introduction pour de futurs projets liés à l'exploitation optimale des Calibra.

up.gif (853 octets) Circuits

Ils se présentent sous la forme de circuits intégrés de 8 à 32 pattes et plus, en fonction du nombre de ports d'entrées/sorties disponibles. Le nombre de composants extérieurs nécessaires à leur fonctionnement est très réduit, les dernières générations de microcontrôleurs ne nécessitant même plus d'oscillateur externe (quartz). Les tensions d'alimentation sont variables de 2 à une dizaine de volts, et certains circuits sont optimisés pour consommer un minimum d'énergie; à ce propos, il faut savoir que plus la fréquence d'horloge du micro-contrôleur est élevée, plus sa consommation est importante. La puissance dissipée est relativement faible, suffisante pour piloter directement des led par exemple, mais pas assez pour piloter des circuits de puissance (des moteurs par exemple). Le cas échéant, les ports de sortie devront être interfacés à l'aide de circuits électroniques de puissance.

Il existe une très grande variété de produits, dont les propriétés diffèrent en matière de:

up.gif (853 octets) Logiciels

Langage de programmation avancé

Ce logiciel permet au concepteur de développer une application en utilisant un langage intuitif et facile à interpréter. Il est généralement très proche de langages très connus comme le Basic, le Pascal ou le C dont il reprend la plupart des instructions (exemple IF-THEN-ELSE-ENDIF). Les instructions sont sauvegardées sous forme de fichier texte (exemple: club-calibra.bas). Une fois le code source écrit, il est possible de compiler ce code pour le traduire en assembleur. Le code assembleur est sauvegardé dans un fichier portant l'extension .asm (exemple: club-calibra.asm). Lorsque le compilateur rencontre des erreurs de type syntaxique ou logique, il produit un rapport d'erreurs indiquant le lieu et la nature de l'erreur.

Certains microcontrôleurs acceptent de recevoir directement le code source. Ces microcontrôleurs sont en effet dotés d'un interpréteur (PicBasic, BasicStamp). L'avantage de ce type de configuration réside dans la simplicité de mise en Suvre; en revanche, ces circuits sont quasiment dix fois plus chers que les microcontrôleurs conventionnels, et sont plus lents du fait de la nécessité d'interprèter le code avant de l'exécuter.

Assembleur

Le code assembleur est composé d'une succession logique d'instruction spécifique au microcontrôleur utilisé. A titre d'exemple, les PIC16Fxxx sont dotés d'une unité centrale de type RISC (Reduced Instruction Set Computer) et peuvent être programmés à l'aide d'un jeu réduit de 35 instructions.

Comme expliqué précédemment, le code assembleur peut être le résultat de la compilation d'un code source; il peut aussi être écrit directement, notamment en vue de d'optimiser les performances de l'application, mais aussi lorsque certaines fonctions font défaut dans le langage de programmation avancé. Ce type d'exercice suppose une connaissance avancée du microcontrôleur lui même et de son jeux d'instructions.

La fonction assemblage de l'assembleur traduit le code assembleur en code binaire (ou hexadécimal) directement compréhensible par le microcontrôleur. Le code binaire est sauvegardé dans un fichier portant l'extension .hex (exemple: club-calibra.hex). Lorsque l'assembleur rencontre des erreurs de type syntaxique ou logique, il produit un rapport d'erreurs indiquant le lieu et la nature de l'erreur.

Programmateur

Ce logiciel permet le transfert du code binaire depuis la station de travail (Micro-ordinateur, MAC, etc.) vers le circuit intégré lui même. D'un bon logiciel de programmation, il faut attendre: une compatibilité étendue avec plusieurs micro contrôleurs et plusieurs types d'interface (série, parallèle) ainsi qu'une section diagnostics (émulation de l'interface). Le programmateur comprend généralement les fonctions d'effacement, de chargement, de lecture et de vérification du code binaire.

Simulateur

Permet le test du code binaire, avant de le programmer dans le microcontrôleur. Ces simulateurs renseignent le développeur sur le contenu des mémoires, des ports d'entrées/sorties, les instructions du code, etc. Ceci évite non seulement une perte de temps, mais aussi épargne la mémoire EEPROM du microcontrôleur, dont la durée de vie est liée au nombre de cycles d'écriture. Enfin, certains simulateurs permettent le déverminage dans le microcontrôleur lui même.

Les intégrés

Ce sont des suites de logiciels qui contiennent tout ou partie des logiciels précédemment décrits. J'ai personnellement un faible pour le PIC Simulator IDE de Oshon. C'est un très bon produit, clair et intuitif, contenant des exemples intéressants. Je lui reproche seulement la faiblesse de sa documentation en ligne. Une version d'évaluation pour 20 utilisations de 120 minutes peut être déchargée sur le site PIC Simulator IDE. La version complète coûte 19$.

up.gif (853 octets) Démonstration

L'exemple d'application proposé peut être réalisé à très peu de frais et nécessite une compétence minimale en électronique. Elle associe un micro contrôleur de type PIC16F628 à un afficheur à anode commune ainsi que sept résistances. Dès la mise sous tension du circuit, l'afficheur fait défiler les lettres du nom de votre site Internet préféré.

up.gif (853 octets) Projets

Ils sont aussi divers que:

up.gif (853 octets) Liens

Motorola, fabricant réputé de microcontrôleurs
http://www.motorola.com

Microchip, fabricant des PIC
http://www.microchip.com

Philips, fabrique aussi ses microcontrôleurs dédiés aux équipements ménagers (bus I2C)
http://www.philips.com

Hitachi
http://www.hitachi.com

Parallax, fabricant du Basic Stamp
http://www.parallax.com

Lextronic, importateur des PicBasic produits par Comfile
http://www.lextronic.fr
http://www.comfile.co.kr

Oshon, auteur d'une excellente suite contenant tous les éléments nécessaires à la conception et aux tests d'applications basées sur les microcontrôleurs.
http://www.oshonsoft.com

David Tait, auteur d'un programmateur efficace, et gratuit...
http://www.davidmtait.com/

up.gif (853 octets) Abstract

Microcontrolers are designers best friends. Powerfull and easy to use, their family is growing up, and up, and up... This page describes the major aspects of microcontrollers, and constitutes an introduction to future applications.


up.gif (853 octets)