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