LES SYSTEMES AUTOMATISES Et les microcontrôleurs de la famille PIC de Microchip
SOMMAIRE Présentation des systèmes automatisés Organisation matérielle de l ’unité de traitement Architecture minimale d ’une unité centrale Architecture d ’un microcontrôleur PIC Exemple d ’exécution d ’un programme dans le microcontrôleur
Présentation des systèmes automatisés Informations électriques Etat physique de la machine Informations visuelles et/ou sonores Capteurs Machine Commandes Opérateur Actionneurs Unité de traitement Actions mécaniques Ordres PARTIE COMMANDE PARTIE OPERATIVE
Organisation matérielle de l ’unité de traitement MACHINE Interface Clavier Ordres Commandes Etats Unité centrale (U.C.) OPERATEUR Afficheur Mémoire Informations
Architecture minimale d ’une Unité Centrale Bus d ’adresses Bus de données Bus de commandes Micro- processeur ROM RAM Coupleur d ’entrée sortie Sorties Entrées Architecture Von Neumann C ’est l ’architecture de base utilisée par les processeurs Motorola (68HC11 par exemple), Intel, AMD etc… mais il existe une architecture plus sophistiquée ...
Architecture minimale d ’une Unité Centrale Bus d ’adresses Bus de données Bus de commandes Sorties Micro- processeur Mémoire programme Mémoire données Coupleur d ’entrée sortie Entrées Dans l ’architecture HARVARD, les données sont séparées du programme, chacun dispose de sa propre mémoire. Architecture Harvard
Architecture minimale d ’une Unité Centrale Bus d ’adresses Bus de données Bus de commandes Sorties Micro- processeur Mémoire données Coupleur d ’entrée sortie Mémoire programme Entrées Architecture Harvard
Architecture minimale d ’une Unité Centrale Bus d ’adresses Bus de données Bus de commandes Sorties Micro- processeur Mémoire données Coupleur d ’entrée sortie Mémoire programme Entrées Architecture Harvard
Architecture minimale d ’une Unité Centrale Bus d ’adresses Bus de données Bus de commandes Sorties Micro- processeur Mémoire données Coupleur d ’entrée sortie Entrées Mémoire programme Architecture Harvard
Architecture minimale d ’une Unité Centrale Bus d ’adresses Bus de données Bus de commandes Sorties Micro- processeur Mémoire données Coupleur d ’entrée sortie Entrées Mémoire programme Architecture Harvard
Architecture minimale d ’une Unité Centrale Bus d ’adresses Bus de données Bus de commandes Sorties Micro- processeur Mémoire données Coupleur d ’entrée sortie Entrées Mémoire programme Architecture Harvard
Architecture minimale d ’une Unité Centrale Bus d ’adresses Bus de données Bus de commandes Sorties Micro- processeur Mémoire données Coupleur d ’entrée sortie Entrées Mémoire programme Architecture Harvard
Architecture minimale d ’une Unité Centrale Bus d ’adresses Bus de données Bus de commandes Sorties Micro- processeur Mémoire données Coupleur d ’entrée sortie Entrées Mémoire programme Architecture Harvard
Architecture minimale d ’une Unité Centrale Bus d ’adresses Bus de données Bus de commandes Sorties Micro- processeur Mémoire données Coupleur d ’entrée sortie Entrées Mémoire programme Architecture Harvard
Architecture minimale d ’une Unité Centrale Bus d ’adresses Bus de données Bus de commandes Sorties Micro- processeur Mémoire données Coupleur d ’entrée sortie Entrées Mémoire programme Architecture Harvard
Architecture minimale d ’une Unité Centrale Bus d ’adresses Bus de données Bus de commandes Sorties Micro- processeur Mémoire données Coupleur d ’entrée sortie Entrées Mémoire programme Architecture Harvard
Architecture minimale d ’une Unité Centrale Bus d ’adresses Bus de données Bus de commandes Sorties Micro- processeur Mémoire données Coupleur d ’entrée sortie Entrées Mémoire programme Architecture Harvard
Architecture minimale d ’une Unité Centrale Bus d ’adresses Bus de données Bus de commandes Sorties Micro- processeur Mémoire données Coupleur d ’entrée sortie Entrées Mémoire programme Architecture Harvard
Architecture minimale d ’une Unité Centrale Bus d ’adresses Bus de données Bus de commandes Sorties Micro- processeur Mémoire données Coupleur d ’entrée sortie Entrées Mémoire programme Architecture Harvard
Architecture minimale d ’une Unité Centrale Bus d ’adresses Bus de données Bus de commandes Sorties Micro- processeur Mémoire données Coupleur d ’entrée sortie Entrées Mémoire programme Architecture Harvard
Architecture minimale d ’une Unité Centrale Bus d ’adresses Bus de Données Bus Programme Commandes Instructions Adresses Bus de données Bus de commandes Sorties Micro- processeur Mémoire données Coupleur d ’entrée sortie Entrées Mémoire programme Architecture Harvard
Architecture d ’un PIC STATUS PC RAM TIMER E/S ROM MUX FSR MUX W Bus de données Mémoire Données STATUS PC RAM TIMER E/S Adresse Programme Adresse des Données Mémoire Programme ROM MUX Bus Programme Instructions Adresse des Données FSR DECODEUR D ’INSTRUCTION Données MUX Séquenceur ALU Commandes W
Exécution d ’une addition Bus de données Mémoire Données STATUS PC RAM TIMER E/S Adresse Programme 0000 Adresse Données Mémoire Programme Mémoire Programme ROM MUX Adresse Contenu Bus Programme 3012 0000 3012 Instructions Adresse Données FSR PC 0001 0700 DECODEUR D ’INSTRUCTION 0002 0082 0003 0803 Données MUX Mémoire Données Séquenceur Adresse Contenu 00 39 ALU 01 ?? 02 ?? Commandes W RESET
Exécution d ’une addition Bus de données Mémoire Données STATUS PC RAM TIMER E/S Adresse Programme 0001 Adresse Données Mémoire Programme Mémoire Programme ROM MUX Adresse Contenu Bus Programme 0700 0000 3012 Instructions Adresse Données FSR 0001 0700 DECODEUR D ’INSTRUCTION PC 0002 0082 Charger W avec la valeur présente 0003 0803 12 Données MUX Mémoire Données Séquenceur 12 12 Adresse Contenu 00 39 ALU 01 ?? 12 02 ?? Commandes W RESET
Exécution d ’une addition Bus de données 39 Mémoire Données STATUS PC RAM TIMER E/S Adresse Programme 0002 Adresse Données 00 Mémoire Programme Mémoire Programme ROM MUX Adresse Contenu Bus Programme 0082 00 0000 3012 Instructions Adresse Données FSR 0001 0700 DECODEUR D ’INSTRUCTION 0002 0082 Addition avec le résultat dans W PC 0003 0803 Données 39 MUX Mémoire Données Séquenceur 12 39 Adresse Contenu 00 39 ALU 01 ?? 4B 02 ?? Commandes W RESET
Exécution d ’une addition Bus de données 4B Mémoire Données STATUS PC RAM TIMER E/S Adresse Programme 0003 Adresse Données 02 Mémoire Programme Mémoire Programme ROM MUX Adresse Contenu Bus Programme 0803 02 0000 3012 Instructions Adresse Données FSR 0001 0700 DECODEUR D ’INSTRUCTION 0002 0082 Stocker W à en mémoire 0003 0803 Données PC MUX Mémoire Données Séquenceur Adresse Contenu 0000 39 ALU 4B 0001 ?? 0002 4B Commandes W 4B RESET
FIN
LE MICROPROCESSEUR (µP) Il traite les différentes données selon le programme contenu dans la mémoire. Les références les plus connues actuellement sont les Pentium, Athlon ... Lorsqu ’il possède de la mémoire et des périphériques (timers, coupleurs d ’entrée - sortie …) il porte le nom de microcontrôleur (PIC16F84, 68HC11…).
La mémoire ROM ROM = Read Only Memory ou mémoire à lecture seule, appelée aussi mémoire morte, le microprocesseur ne peut pas en changer le contenu. Elle contient le programme (code des instructions) et peut contenir aussi des données (ce seront des constantes dont les valeurs seront fixées à la programmation).
La mémoire RAM RAM = Random Acces Memory ou mémoire à accès aléatoire, appelée aussi mémoire vive. Le microprocesseur peut y lire et écrire. Elle contient les données dont le programme a besoin. Elle peut aussi contenir un programme (cas des ordinateurs PC, MAC …)
Le coupleur d ’Entrée - Sortie Permet au microprocesseur de communiquer avec le monde extérieur. Les liaisons peuvent être parallèles (plusieurs lignes ou bits simultanés) ou séries (une seule ligne physique sur laquelle les bits transitent successivement)
UNITE DE TRAITEMENT Reçoit les commandes de l ’opérateur et les informations des capteurs (cela constitue les données d ’entrée). A partir des données d ’entrée, il détermine les ordres à transmettre aux actionneurs et les informations de signalisation pour l ’opérateur (se sont les données de sortie)
ACTIONNEURS Reçoivent les ordres de l ’unité centrale et les convertissent en énergie mécanique, thermique, optique ...
CAPTEURS Ils convertissent en signaux électriques les états physiques de la machine: vitesse, position, température ...
Le registre STATUS Il contient les informations (bits) représentatifs de l ’état interne de l ’U.A.L. (zéro, retenue), de l ’état du processeur ou encore de choisir les zones mémoires auxquelles on souhaite accéder. Il possède 8 bits ayant chacun une signification.
L ’Unité Arithmétique et Logique (U.A.L.). ALU = Arithmetical and Logical Unit, c ’est la « calculatrice » du processeur, toutes les opérations logiques et arithmétiques y sont réalisées. Sa capacité de calcul est de 8 bits.
Le registre W Le registre W (pour Work = travail) sert à stocker les valeurs avec lesquelles sont effectués les calculs. Sa capacité est de 8 bits.
Le Compteur Programme Le compteur programme (PC = Program Counter) est un compteur ordinal qui génère les adresses auxquelles seront lues les instructions successives à exécuter pour que le programme accomplisse sa tâche. Selon le PIC utilisé, la capacité du PC varie avec la taille de la mémoire programme disponible (il est de 13 bits pour le 16F84).
La RAM La RAM (ou mémoire vive) est ici destinée aux données. On ne peut pas y mettre des lignes de code du programme.
La ROM La ROM (ou mémoire morte) est ici destinée au programme. Cette mémoire est programmée à la réalisation du système. Selon le modèle, elle peut être effaçable par Ultra-Violets (UVPROM), électriquement (EEPROM) ou ne pas être effaçable (OTPROM).
Le TIMER Le TIMER est un registre couplé à un compteur qui permet de réaliser simplement des temporisations par comptage d ’impulsions à fréquence constante.
Les Entrées - Sorties Ce registre sert d ’interface avec le monde extérieur. A chaque bit correspond une patte du microcontrôleur. On y lit les données provenant de l ’extérieur ou on y écrit les données que l ’on veut communiquer.
Le séquenceur Sa fonction est de générer les signaux de contrôle qui permettront la communication entre les différent blocs du microcontrôleur afin de réaliser l ’instruction programmée.
Le décodeur d ’instructions Sa fonction est de séparer dans l ’instruction reçue de la mémoire programme, le code de l ’instruction appelé opérateur - de la valeur (adresse ou constante) appelé opérande.
Le Multiplexeur (MUX) C ’est un aiguillage avec, ici, deux entrées et une sortie. Une logique de commande permet de relier une entrée et une seule à la sortie. L ’entrée choisie dépendra de l ’instruction à réaliser.
Le registre FSR FSR = File Select Register, registre de sélection de mémoire. Ce registre permet l ’adressage indirect qui est un mode plus sophistiqué d ’accès aux données.