cours - microprocesseurs et microcontroleurs - internet.pdf

Post on 05-Jul-2018

234 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

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

sylvain.montagny@univ-savoie.fr 

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

top related