Micro contrôleurs M. Boutemeur Madjid.Boutemeur@cern.ch Volume horaire: Cours+TD = 12 heures TP = 12 heures Documentations : - Microcomputer Engineering, second edition Gene H. Miller, Prentice Hall, ISBN: 0-13-895368-6 http://www.prenhall.com/miller_microcomputer/ - Liens pour toute la documentation nécessaire pour le HC12: http://www2.ece.uiuc.edu/~ece249/hc12/hc12.html
- Design: Architecture, Implémentation, Réalisation Contenu des cours Introduction: - Design: Architecture, Implémentation, Réalisation - Micro-contrôleurs: Généralités, nombres, Opérations du CPU, Registres, Modes d ’adressage, Assembleur. La carte 68HC12 de Motorola - Registres, Mémoires, Interruptions, entrées/Sorties, Timer, interfaces, Convertisseurs A/D et D/A, Générateur de signaux. Applications avec le HC12: - Voltmètre numérique, Affichage sur LCD,..
Introduction Vue d ’ ensemble: Design = 3 domaines 1) Architecture: L ’apparence fonctionnelle de l ’ordinateur à l ’utilisateur. Elle défini les fonctions et l ’interface 2) Implémentation: La structure logique qui assure/exécute les fonction de l ’ architecture. Elle défini comment les fonctions sont exécutées. 3) Réalisation: La structure physique qui incorpore l ’ implémentation. Elle décrit les unités et structures physiques qui sont utilisées pour construire (réaliser la machine/l ’ordinateur).
Exemple: Architecture 1) Ensemble d ’instructions: Addition/soustraction, multiplication, Appel(Call),.. 2) Représentation et types de données: 8-bit, 16-bit, 32-bit, 64-bit, paquets, chaînes, fichiers.. 3) Registres: # de registres, taille des registres, utilisation (Spéciale, générale) 4) Modes d ’adressage: Direct, inhérent, indexé, immédiat…. Exemple de machine: IBM 370, Vax 4000, Motorola 68000, Zilog 80, Intel x86, Sun Sparc, Power PC …..
Exemple: Implémentation -Nombre et types d ’unités fonctionnelles: Additionneurs, Multiplieurs, décaleurs(Shift), unités FP (floating point) - Organisation des pipeline - Contrôle câblé et micro-code - Prédiction de branchement - les Caches et les buffers - les interfaces mémoires - les ports entrées/sorties
Tubes à vide, TTL, ECL, NMOS, CMOS. Exemple réalisation - Unités: Tubes à vide, TTL, ECL, NMOS, CMOS. - Interconnections: Cuivre, Alu, PCB, wire-wrap, IC, MCM. - Signaux: électriques, optiques. -Refroidissement: eau, air, azote liquide,...
Pourquoi distinguer Architecture, implémentation et réalisation ? - En général l ’architecture reste constante à travers plusieurs générations de la même machine. - L ’investissement software peut être préservé à travers des implémentations différentes. - Les implémentations peuvent prendre avantage de l ’amélioration des réalisations technologiques: * Croissances des performances * Décroissances des coûts. * Décroissance de la consommation en énergie Question: Discuter l ’architecture, l ’implémentation et la réalisation de votre PC (sinon votre voiture). Pourquoi définir une architecture pour un ordinateur.
C ’est quoi un micro contrôleur ? CPU Mémoire Entrées/ Sortie Adresses e Données Contrôle
Utilisation du Micro-contrôleur Sont à la base de presque tous les systèmes simples ou complexes incorporant: un automatisme et/ou une capacité à traiter une information ou un signal et/ou une interface et/ou interactivité. Sont à la base de tous les systèmes (artificiels) qui se disent intelligents ou autonomes Systèmes de transport, communications, acquisitions de données, fabrication et productions,……… … même ...la machine à café.
Exemple: Contrôle de vitesse d ’une voiture Accélérateur Timer Contrôle D/A Affichage 90Km/h Set Speed
Microprocesseur Simple Instruction Action 1806 (A) +(B) =>A 87 0 =>A 5A05 (A) => adresse 5 REG A Instruction REG B Mémoire
Micro-contrôleur (Microcontroller) A/D CPU D/A Port par. Port Ser. Temps Mémoire
Microprocesseur Architecture Harvard Mémoire Données Mémoire Instructions Contrôle et adresse Donnés Instruction ALU Contrôle Contrôle IN Out Status Clock
Architecture (Von NEUMAN) PRINCETON Contrôle &Adresse Mémoires Donnés Instructions Contrôle ALU IN Contrôle OUT Status Clock
Architecture du 68HC12 15 Accu B Double Accu D Index register X 7 7 Condition Code Register: CCR 0 C : Carry 1 V : Overflow 2 Z : Zéro 3 N : Négative 4 I : Interupt Mask 5 H : Half-Carry 6 X : X interrupt Mask 7 S : Stop disable Accu A Accu B Double Accu D Index register X Index register Y Stack pointer Program Counter CCR S X H I N Z V Z