cours - microprocesseurs et microcontroleurs - internet.pdf
TRANSCRIPT
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 1/105
Microprocesseurs&
Microcontrôleurs
Sylvain MONTAGNY
Bâtiment chablais, bureau 13
04 79 75 86 86Retrouver tous les documents de Cours/TD/TP sur le site
www.master-electronique.com
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 2/105
Université de Savoie 2
Présentation cours : Sommaire
l Cours : 10.5 h en 7 séancesl Chapitre 1 : Rappels généraux sur les processeurs
l Chapitre 2 : Les microcontrôleursl Définition
l Etude des périphériques
l Chapitre 3 : La programmation
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 3/105
Université de Savoie 3
Présentation TD
lTD : 10.5 h en 7 séancesl TD1 : Rappel sur les systèmes à microprocesseur. Cadencement
d un microcontrôleur. Instructions assembleurs.
l TD2 : Utilisation du timer d un microcontrôleur. Configuration desports d entrée/sortie d un microcontrôleur.
l TD3 : Les interruptions
l TD4 : Gestion d afficheur 7 segments
l TD5 : Conversion Analogique / Numérique
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 4/105
Université de Savoie 4
Présentation TP
l TP : 12h en 3 séances de 4hl TP1 : Prise en main d un environnement de
programmation sur microcontrôleur
l TP2 : Etude du Watchdog, et des interruptionsdans un microcontrôleur
l TP3 : Réalisation d un minuteur à l aide d unafficheur 7 segments.
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 5/105
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 6/105
Le microprocesseurArchitecture interne (1)
Unité de
commande
Programme
Données
Bus de données
Bus d adresses
Registred état
Accumulateur
Unité de
traitement
Microprocesseur
M é m o i r e
6
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 7/105
Le microprocesseur Architecture interne (2)
Programme
Données
Bus de données
PC
Bloc logique
de commande
Décodeur
d’instruction
Bus d adresses
Registred état
Accumulateur
Accumulateur
Registred état
Microprocesseur
M é m o i r e
7
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 8/105
Le microprocesseurUnité de commande
Elle permet de séquencer le déroulement des instructions.
8
PC
Bloc logique
de commande
Décodeur
d’instruction
Instruction
Bus d adressePC : Programme Counter, appelé aussiCompteur Ordinal. Il contient toujoursl adresse de la prochaine instruction àexécuter.
Le décodeur d'instruction : Le mot binaire(instruction) est décodé pour savoir à quelleaction correspond l instruction.
Bloc logique de commande (séquenceur) :Il organise l'exécution des instructions aurythme de l horloge. Il élabore tous les
signaux de synchronisation dumicroprocesseur en fonction de l instructionqu il a à exécuter.
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 9/105
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 10/105
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 11/105
Université de Savoie 11
L architectureVon Neuman
l Un seul chemin d'accès à la mémoirel Un bus de données (programme et données),
l Un bus d adresse (programme et données)
l
Architecture des processeurs d usage générall Goulot d'étranglement pour l'accès à la mémoire
BUS
MémoireProgramme
&
données
CPU
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 12/105
12
L architectureHarvard
l Séparation des mémoires programme et donnéesl Un bus de données programme,
l Un bus de données pour les données,
l Un bus d adresse programme,
l Un bus d adresse pour les données.
l Meilleure utilisation du CPU :l Chargement du programme et des données en parallèle
Mémoireprogramme
Mémoire
donnée
CPU
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 13/105
Université de Savoie 13
L architectureHarvard : Cas des microcontrôleurs PIC
l Seul les bus de donnée (data ou instructions) sontreprésentées
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 14/105
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 15/105
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 16/105
Université de Savoie 16
Le traitement des instructionsExemple d instruction
l Instruction Addition :Accumulateur = Accumulateur + Opérande
Correspond à l instruction ADD A,#2
Cette instruction est comprise par le processeur par le mot binaire :
11001 000 0000 0010 = code machine
Instruction (16 bits)
Code opératoire (5 bits) Champ opérande (11 bits)ADD A #2
11001 000 0000 0010
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 17/105
Le traitement des instructionsPhase 1 : Recherche de l instruction en mémoire
La valeur du PC est placée sur le bus d'adresse, et l'unité decommande émet un ordre de lecture de la mémoire.
Après le temps d'accès à la mémoire, le contenu de la case
mémoire sélectionnée (instruction) est disponible sur le bus desdonnées et arrive à l entrée du décodeur.
Université de Savoie 17
Ordres :
1. Attaquer camp romain
2. Organiser banquet
Outils :
1. Menhir, Potion magique
2. Sanglier
Unité de traitement Unité de commande
Rapporter moi les ordres
écrits sur ce parchemin !!!
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 18/105
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 19/105
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 20/105
Le traitement des instructionsDéroulement
Programme
Données
Bus de données
PC
Bloc logique
de commande
Décodeur
d’instruction
Bus d adresses
Registred état
Accumulateur Accumulateur
Registred état
Microprocesseur
M é m o i r e
20
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 21/105
Université de Savoie 21
Le traitement des instructionsLes architectures RISC et CISC (1)
Actuellement l architecture des microprocesseurs secomposent de deux grandes familles :
l L architecture CISC(Complex Instruction Set Computer)
l L architecture RISC(Reduced Instruction Set Computer)
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 22/105
Université de Savoie 22
Chapitre 1 : Rappels généraux sur lesprocesseurs
l 1.1 Rappel sur l architecture interne desmicroprocesseurs
l 1.2 Le traitement des instructions
l 1.3 Les modes d adressages
l 1.4 Exemple d exécution d un programme
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 23/105
Université de Savoie 23
Les modes d adressages
l Ce sont les diverses manières de définir lalocalisation d un opérande. Les trois modesd adressage les plus courant sont :
l Adressage immédiat
l Adressage direct
l Adressage indirect
Pourquoi existe-t-il plusieurs modes d’adressage ?
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 24/105
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 25/105
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 26/105
Université de Savoie 26
Les modes d adressagesIndirect
A c c u m u l a t e u r
adrs+1PC
Compteur Ordinal
ALU
0x00
0x01
Adresses0 1 1 0 1 1 0 1
0 1 0 0 0 1 0 1
0 0 1 0 1 1 1 1
1 1 0 1 0 1 0 1
0 1 1 0 1 0 0 1
1 0 1 0 1 1 0 1
0 0 1 1 1 0 0 0
1 1 0 0 0 1 0 1
1 0 1 0 1 0 0 1
0 1 1 1 1 0 1 0
Mémoire
0x00
0x01
Adresses………………..
………………..
………………..
ADDA
@adresseX
adresseX…………………
xxxxx xxxxxx
………………….
…………………
Mémoire
adrs
adrs + 1
adrs + 2
Exemple : ADDA @adresseX
@adresseX
adresseX
Contenu
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 27/105
Université de Savoie 27
Chapitre 1 : Rappel généraux sur lesprocesseurs
l 1.1 Rappel sur l architecture interne desmicroprocesseurs
l 1.2 Le traitement des instructions
l 1.3 Les modes d adressages
l 1.4 Exemple d exécution d un programme
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 28/105
Université de Savoie 28
Exemple d exécution (1)
Le compilateur génère aussi un fichier assembleur, représentant le codeet les emplacements mémoire qui seront utilisés.
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 29/105
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 30/105
30
Le jeu d instruction du PIC16F
D après la datasheet :l Quelles sont les trois grandes catégories d instruction du PIC16F877A?
l Quelle est la taille d une instruction en mémoire ?
l Expliquez les instructions : INCFSZ, BTFSC, ANDLW et donner unexemple d utilisation pour chacune de ces instructions.
l Le programme compilé ci-dessous rassemble un code exécutable de laforme suivante, donner la séquence d instruction réalisée et l action dechacune :l 0187h CLRF PORTC;l 2822h GOTO 22h;
l 0987h COMF PORTC,1;
l 0BFCh DECFSZ 7C,1;
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 31/105
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 32/105
Université de Savoie 32
Définition d un microcontrôleur
Un microcontrôleur est un circuit qui intègre un maximumde fonctions dans un même boitier. L intégration de cesfonctions dans le même environnement permet de créerdes applications plus simplement.
Le circuit intégré d'un microcontrôleur8 bits Intel 8742 possède sur uneunique puce :l Un processeur cadencé à 12 MHzl 128 octets de mémoire vivel Une EPROM de 2048 bitsl De nombreuse entrées-sorties
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 33/105
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 34/105
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 35/105
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 36/105
Université de Savoie 36
Définition d un microcontrôleur Contenu
l La structure interne d'un microcontrôleur comportetypiquement :l Une unité de calcul et de commandel Mémoire ROMl Mémoire RAMl Un contrôleur d interruption
l Un compteur/temporisateur (timer)l Des entrées/sorties parallèles (ports)l Un UART (port série)
l Il peut aussi posséder :l Un Watchdog : (surveillance du programme)
l Une sortie PWM (modulation d impulsion)l Un CAN/CNA (Convertisseur analogique numérique)l Un interface I²C, CAN
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 37/105
Université de Savoie 37
Définition d un microcontrôleur Exemple : Microcontrôleur PIC 16F877
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 38/105
Université de Savoie 38
Définition d un microcontrôleur Les mémoires (1)
l ROM memory :Aussi appelé (à juste titre) program memory.C est une mémoire Flash qui contient leprogramme à exécuter.
l EEPROM memoryC est une mémoire similaire à la mémoire programme. On s en sert
surtout pour stocker des constantes.
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 39/105
Université de Savoie 39
Définition d un microcontrôleur Les mémoires (2)
l RAM memory :l General Purpose Register : Mémoire RAM classique, utiliser pour
stocké des variables. Exemple :int i;
i++; // incrémentation de i depuis la RAM
l SFR (Special Function Register) : C est aussi de la mémoire RAM,sauf que les rôles de chacune des cases mémoire (registres) ont étédéfinis par le fabriquant. Chaque registre SFR est connecté à unpériphérique matériel spécifique et permet de la contrôler. Exemple :
ADCON0 register (adresse 9Fh) permet de piloter le convertisseur A/D.
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 40/105
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 41/105
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 42/105
Université de Savoie 42
Cadencement du microcontrôleurSchéma du pic 16F877
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 43/105
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 44/105
Université de Savoie 44
Chapitre 2 : Les microcontrôleurs
l 2.1 Définition d un microcontrôleur
l 2.2 Cadencement du microcontrôleur
l 2.3 Les timers
l 2.4 Les ports d entrée/sortie
l 2.5 La liaison série
l 2.6 Le watchdog
l 2.7 Le CAN
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 45/105
45
Les timersMode compteur ou temporisateur (1)
l Un timer est le nom courant de compteur / temporisateur .
Compter le nombre d évènementsur une broche
> Mode compteur
Mesurer du temps (compter lenombre de coup d horloge)> Mode temporisateur
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 46/105
Université de Savoie 46
Les timersMode compteur ou temporisateur (2)
l En pratique, on visualise la valeur de départ, puis la valeurd arrivée. La valeur de comptage est la différence des deuxvaleurs.
l Dans quelle mode fonctionne le timer ici?
l Donner la valeur du temps en fonction de A et B dans cette
application.
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 47/105
Université de Savoie 47
Les timersUtilisation d un prescaler
l Un prescaler permet de diviser la fréquencede comptage.
Quelle est le temps mesuré dans cette application enfonction de A et B?
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 48/105
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 49/105
Université de Savoie 49
Les ports d entrée / Sortie
Ce sont des ports parallèles. Ils permettent de recueillir desinformations ou de piloter des modules sur l environnementextérieur. Ils sont souvent bidirectionnels (configurable enentrée ou sortie).
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 50/105
Université de Savoie 50
Les ports d entrée / Sortie
l Quelles sont les ports d E/S de ce microcontrôleur?
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 51/105
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 52/105
Université de Savoie 52
Les ports d entrée / SortieLes sorties logiques
l Sortie trois états
l Sortie collecteur ouvert
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 53/105
Université de Savoie 53
Les ports d entrée / Sortie1. Sortie trois états
Fonctionnement
T1 T2 Sortie
Bloqué Bloqué Etat haute impédance
Bloqué Saturé "0"
Saturé Bloqué "1"
Saturé Saturé non utilisé
l Des sorties trois états peuvent être reliées entres elles mais ilfaut bien veiller à ce que une seule impose un niveau (haut oubas) et que les autres sorties soit en haute impédance.
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 54/105
Université de Savoie 54
Les ports d entrée / Sortie2. Sortie collecteur ouvert (1)
Fonctionnement
T2 S
Saturé "0"
Bloqué Dépend du montage
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 55/105
Université de Savoie 55
Les ports d entrée / Sortie2. Sortie collecteur ouvert (2)
l Pour générer le niveau "1", une résistance extérieure estnécessaire (résistance de tirage // pull-up). Plusieurs sorties
"collecteur ouvert" peuvent être reliées entre elles, celaréalise un "ET logique"l Une sortie « collecteur ouvert » peut commander une charge
sous une tension différente de la tension d'alimentation.
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 56/105
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 57/105
Université de Savoie 57
Les ports d entrée / Sortie
l Bouton poussoir :
l Led :
Donner la valeur de la résistance sachant qu une led
rouge à une tension de 1,5V et qu il faut 10 mA pouravoir un éclat correct.
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 58/105
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 59/105
Université de Savoie 59
Chapitre 2 : Les microcontrôleurs
l 2.1 Définition d un microcontrôleur
l 2.2 Cadencement du microcontrôleur
l 2.3 Les timers
l 2.4 Les ports d entrée/sortie
l 2.5 La liaison série
l 2.6 Le watchdog
l 2.7 Le CAN
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 60/105
60
La liaison série
l
La liaison série USART (Universal Synchronous AsynchronousReceiver Transmitter ) est le mode le plus rependu pourcommuniquer (et aussi le plus vieux).
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 61/105
Université de Savoie 61
La liaison sérieConnexions (1)
l Une liaison série permet de transmettre des donnéessur un nombre limité de fils. Cette liaison peut êtreHalf duplex (liaison synchrone) ou full duplex (liaisonasynchrone).
l
Sur le microcontrôleur PIC16F877A, la liaison sérieasynchrone peut être mise en uvre à l aide des pinsRxD et TxD. Elle est réalisée par un USART :
l RxD, signal de réception de l USARTl TxD, signal de transmission de l USART
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 62/105
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 63/105
Université de Savoie 63
La liaison sérieUSART Transmit bloc register
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 64/105
Université de Savoie 64
La liaison sérieUSART receive bloc register
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 65/105
Université de Savoie 65
La liaison série
D après la datasheet :l Pourquoi avons-nous une corrélation entre le fait
d être synchrone/Asynchrone et full duplex / half duplex?
l Prenez note de toutes les étapes à réaliser pourconfigurer une liaison série asynchrone.
l Configurer la liaison série asynchrone pour qu elle soit
cadencée à 9600 bauds.
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 66/105
Université de Savoie 66
Chapitre 2 : Les microcontrôleurs
l 2.1 Définition d un microcontrôleur
l 2.2 Cadencement du microcontrôleur
l 2.3 Les timers
l 2.4 Les ports d entrée/sortie
l 2.5 La liaison série
l 2.6 Le watchdog
l
2.7 Le CAN
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 67/105
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 68/105
68
Le Watchdog (2)
M
I C R O C O N T R O L E
U R
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 69/105
Université de Savoie 69
Le WatchdogCas du PIC16F877
D après la datasheet :
l Comment met-on en route le Watchdog? (lire en plus lechapitre 14.1 : configuration bits)
l Quel est l effet d un watchdog time out?
l Quelle instruction du PIC permet de réaliser le reset du
Watchdog? Comment allez vous coder cette instructionen C?
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 70/105
Université de Savoie 70
Chapitre 2 : Les microcontrôleurs
l 2.1 Définition d un microcontrôleur
l 2.2 Cadencement du microcontrôleur
l 2.3 Les timers
l 2.4 Les ports d entrée/sortie
l 2.5 La liaison série
l 2.6 Le watchdog
l
2.7 Le CAN
C
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 71/105
Université de Savoie 71
Le CANMultiplexage des voies
l CAN : Dans les microcontrôleurs, les voix deconversion analogique/numérique sont souventmultiplexées. Ceci signifie que la fréquence maximalede conversion analogique numérique est divisée par lenombre de voies utilisées.
l Très souvent, il faut configuré les entrées deconversion en « entrée analogique » car celles-ci
peuvent aussi être utilisée en entrée numérique.
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 72/105
Le CAN
L CAN
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 73/105
Université de Savoie 73
Le CANQuestions
D après la datasheet :
l Quel est le nombre de bits du convertisseur AN.
l Dans quels registres est stocké le résultat?
l Comment fait-on pour justifier le résultat à droite ou àgauche.
l Combien possède t on de voies multiplexés?
l A quoi correspond Vref+ et Vref - ?
l Comment configure t on une entrée en analogique?
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 74/105
L CAN
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 75/105
Université de Savoie 75
Le CANRécupération des valeurs converties
l
Donner le code C permettant d obtenir un entierreprésentatif de la valeur de conversion en fonctiondes valeurs de ADRESH et ADRESL.
L CAN
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 76/105
Université de Savoie 76
Le CANTension de références Vref
l
Le schéma ci-dessous représente les plages de valeurspossibles pour Vref+ et Vref-.
L CAN
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 77/105
Le CANEtude de cas pratique
La tension d une batterie est celle d une cellule lithium-ion quipossède les caractéristiques suivantes :l Donner les valeurs de votre choix pour les tensions de références
l Donner la résolution de la conversion
l Donner l expression de la tension en fonction de la valeur numérique de
la conversion.
Université de Savoie
77
Un=3,6 V Uchargée=4,2 VUdéchargée=3 V
Umax= 4,3VUmin=2,5 VDanger si en dehors de cette zone
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 78/105
Université de Savoie 78
Le CAN
l Vitesse maximale du convertisseur
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 79/105
Université de Savoie 79
Gamme des microcontrôleurs
l
Exemple chez ST microhttp://www.st.com >> gamme STM
l Exemple chez microchiphttp://www.microchip.com/ >> gamme PIC
l Exemple chez ATMELhttp://www.atmel.com/ >> gamme AVR
l Exemple chez Infineonhttp://www.infineon.com
Etc
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 80/105
L i t ti
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 81/105
Université de Savoie 81
Les interruptionsProblématique & définition
l
Un système informatique n est utile que s ilcommunique avec l extérieur. L objectif est de pouvoirprendre connaissance que le périphérique sollicite leprocesseur. Cette sollicitation arrive de façontotalement asynchrone.
Deux modes sont possibles :l Une méthode par scrutation (polling) permet d interroger
régulièrement les périphériques afin de savoir si une nouvelledonnée est présente.
l Une méthode par interruption permet au périphérique lui-même de faire signe au processeur de sa présence.
Les interr ptions
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 82/105
Université de Savoie 82
Les interruptionsScrutation Vs interruption
l
Scrutation (polling)l Coûteux en temps (multiplier par le nombre de périphérique à
interroger)
l Implémentation : Appel classique à une fonction dans leprogramme
l Interruptionl Demande à l initiative du périphérique
l Prise en compte rapide de l évènement
l Implémentation : Interruption asynchrone d un programmepuis retour au même endroit à la fin du traitement
Les interruptions
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 83/105
Université de Savoie 83
Les interruptionsSchéma
l Une interruption est un arrêt temporaire de l'exécution normale d'unprogramme informatique par le microprocesseur afin d'exécuter un autreprogramme (appelé routine d'interruption).
Les interruptions
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 84/105
Université de Savoie 84
Les interruptionsTypes d interruption
l Interruption masquablel Un masque d interruption est un mot binaire de configuration
du microprocesseur qui permet de choisir (démasquer) quelsmodules pourront interrompre le processeur parmi lesinterruptions disponibles.
l Interruption non masquablel Elles s exécutent quoi qu il arrive, souvent avec une priorité
élevé (ex : Reset)
Les interruptions
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 85/105
Université de Savoie 85
Les interruptionsConfiguration
l Un système peut accepter plusieurs sourcesd interruption. Chacune est configurable par registre(registre d interruption).
l Méthode de configuration des interruptionsl Sélectionner les interruptions qui nous intéressent
l Valider les interruptions de façon globale
l Ecrire le/les sous programme d interruption
l Définir les priorités entres interruptions
Les interruptions
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 86/105
Les interruptionsConfiguration
l Dans le sous programme d interruptionl Sauvegarder le contexte (fait automatique en langage C)
l Définir la source d interruption (si le sous programme est commun entresplusieurs sources d interruption)
l Réinitialiser les flags d interruption
l Ecrire le code relatif à l application
l Restituer le contexte (fait automatique en langage C)
Cas du PIC 16F877 (microchip)
Cas du 80C51 (intel)
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 87/105
Flag d’i nter ruption Bit de masquage
Les interruptions
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 88/105
Université de Savoie 88
Les interruptionsDémasquage des interruptions
l Autorisation des interruptionsl L autorisation globale des interruptions
l Démasquage des interruptions
Les interruptions
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 89/105
Université de Savoie 89
Les interruptionsLes flags d interruption
l Visualisation des flags d interruption
Les interruptions
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 90/105
90
Les interruptionsLe rôle de la pile
l La pile est une mémoire LIFO (Last In FirstOut) dans laquelle on stoke des variabletemporaire (donnée ou adresse). Le haut de lapile est pointé par le registre SP (Stack
Pointer).
Les interruptions
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 91/105
Université de Savoie 91
Les interruptionsRôle de la pile
l Elle va servir à :l sauvegarder le contexte l environnement
(adresse du programme et valeur des registres aumoment de l interruption).
l restituer le contexte à la fin de l interruption
Note 1 : La sauvegarde et la restitution est faite implicitement enlangage C.
Note 2 : Une fonction d interruption est noté spécifiquement.Exemple du PIC qui ne possède qu un seul vecteur d interruption:
Les interruptions
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 92/105
92
x
xx
PC ( Addr Prog )
Registres
Programme
d’interruption
Programme
principal
Les interruptionsAvant l interruption
Pile
SP ( Addr Pile)
Les interruptions
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 93/105
93
xx
Registres
Programme
d’interruption
Programme
principal
Add r Pro g
Les interruptionsArrivée d une interruption
Pile
SP ( Addr Pile +1)PC ( Addr Prog IT )
x
Les interruptions
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 94/105
94
x
xx
Registres
x
Programme
d’interruption
Programme
principal
Add r Pro gxx
Les interruptionsArrivée d une interruption : Sauvegarde contexte
Pile
SP ( Addr Pile + 3)PC ( Addr Prog )
Les interruptions
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 95/105
95
x
xx
Registres
x
Programme
d’interruption
Programme
principal
Add r Pro gxx
Les interruptionsFin d une interruption : Restitution contexte
Pile
SP ( Addr Pile + 1)PC ( Addr f in Prog IT)
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 96/105
Les interruptions
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 97/105
97
x
xx
Registres
Programme
d’interruption
Programme
principal
Les interruptionsRetour au programme principal
Pile
SP ( Addr Pile)PC ( Addr Prog + 1 )
Les interruptions
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 98/105
Université de Savoie 98
Les interruptionsExemple sur le PIC 16F877
l Quelle interruption est concernée ici ?
l Quelles actions sont réalisées pendant le sous-programmed interruption?
Ch it 3 L ti
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 99/105
Université de Savoie 99
Chapitre 3 : La programmation
l 3.1 Les interruptions
l 3.2 Le logiciel
Le logiciel
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 100/105
Université de Savoie 100
Le logicielLa chaîne de compilation (1)
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 101/105
Remplacer les deux lignes du programme C ci dessuspar le code assembleur correspondant
Donner le code machine correspondant à chaqueinstruction trouvée
Le logiciel
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 102/105
Université de Savoie 102
Le logicielLa chaîne de compilation (2)
Le compilateur génère aussi un fichier listing (en assembleur),représentant le code et les emplacements mémoire qui seront utilisés.
Le logiciel
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 103/105
Université de Savoie 103
Le logicielProgrammation de la mémoire programme (Flash)
Utilisation d un logiciel de programmationde mémoire Flash
Le logiciel
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 104/105
Université de Savoie 104
Le logicielProgrammation de la mémoire programme (Flash)
Le logiciel
8/15/2019 Cours - Microprocesseurs et Microcontroleurs - internet.pdf
http://slidepdf.com/reader/full/cours-microprocesseurs-et-microcontroleurs-internetpdf 105/105
Le logicielAvantage du langage C