Aucun titre de diapositive - labo systèmes...

60
Systèmes microprogrammés 1

Transcript of Aucun titre de diapositive - labo systèmes...

Page 1: Aucun titre de diapositive - labo systèmes embarquéssystemesembarques.e-monsite.com/medias/files/cours-microcontroleu... · • Le microprocesseur. • Le microcontrôleur. Ex:

Systèmes microprogrammés

1

Page 2: Aucun titre de diapositive - labo systèmes embarquéssystemesembarques.e-monsite.com/medias/files/cours-microcontroleu... · • Le microprocesseur. • Le microcontrôleur. Ex:

Microcontrôleur ou Microprocesseur?

Architecture interne: Von Neumann ou Harvard?

Les registres internes

Le jeu d’ instructions et les modes d’ adressage

La base de temps

Quitter

Sommaire

Choisir un menu

Mise en situation: - Evolution technologique

2

Page 3: Aucun titre de diapositive - labo systèmes embarquéssystemesembarques.e-monsite.com/medias/files/cours-microcontroleu... · • Le microprocesseur. • Le microcontrôleur. Ex:

L’évolution des produits

domestiques (ou industriels) rend

compte d’un phénomène

directement lié à l ’évolution des

technologies:

Evolution technologique

3

Page 4: Aucun titre de diapositive - labo systèmes embarquéssystemesembarques.e-monsite.com/medias/files/cours-microcontroleu... · • Le microprocesseur. • Le microcontrôleur. Ex:

Miniaturisation

Intégration

•Progrès de la miniaturisation.

Les téléphones portables en sont

un exemple très actuel.

•Progrès de l ’intégration.

Le nombre de structures

intégrées à un seul composant

est de plus en plus important.

Le nombre de circuits utilisés

est ainsi réduit.

Mais cette miniaturisation ne

peut se faire sans une évolution

de la technologie utilisée.

Evolution technologique

4

Page 5: Aucun titre de diapositive - labo systèmes embarquéssystemesembarques.e-monsite.com/medias/files/cours-microcontroleu... · • Le microprocesseur. • Le microcontrôleur. Ex:

On comprendra aisément qu’un

système microprogrammé tel

que le téléphone portable ne

peut être géré par un système

minimum à microprocesseur

i8086: trop encombrant!

La solution est alors de

remplacer le système minimum

par un seul circuit:

Le microcontrôleur.

Système minimum à i8086:

•Microprocesseur

•RAM

•EPROM

•PIA

•Décodeur

5 circuits différents!!!

Solution:

•Microcontrôleur

1 seul circuit!!!

Evolution technologique

5

Page 6: Aucun titre de diapositive - labo systèmes embarquéssystemesembarques.e-monsite.com/medias/files/cours-microcontroleu... · • Le microprocesseur. • Le microcontrôleur. Ex:

Suivant le type d’application

envisagé, il est possible de faire

appel à différents types de

structures microprogrammées.

Les plus répandues sont les

suivantes:

Ex: PIC, 68HC11, ATMEL,PSOC...

• Le microprocesseur.

• Le microcontrôleur.

Ex: PC, système minimum à i8086...

6

Page 7: Aucun titre de diapositive - labo systèmes embarquéssystemesembarques.e-monsite.com/medias/files/cours-microcontroleu... · • Le microprocesseur. • Le microcontrôleur. Ex:

8086 Microprocesseur

Considérons dans un premier

temps le système minimum à

microprocesseur 8086.

Seul, le 8086 ne peut fonctionner.

Il requiert différentes ressources

qui sont:

•Une mémoire programme

(RAM ROM, PROM, EPROM...).

•Une mémoire données (RAM).

•Une interface d’entrées / sorties

(PIA).

•Différents bus d’interconnexion.

•Un décodeur d’adresse. Système minimum à 8086

microP

8086

ROM RAM PIA1

Décodeur

PIA2 PIA3

7

Page 8: Aucun titre de diapositive - labo systèmes embarquéssystemesembarques.e-monsite.com/medias/files/cours-microcontroleu... · • Le microprocesseur. • Le microcontrôleur. Ex:

Microcontrôleur

Un système à microprocesseur

nécessite une grande place

matérielle (nombreux circuits)

ainsi qu’une bonne qualité de

connectique.

Les microcontrôleurs permettent

quant à eux de s’affranchir de

ces contraintes puisqu’ils

intègrent en un seul circuit au

moins toutes les ressources

propres à un système minimum.

PIC

8

Page 9: Aucun titre de diapositive - labo systèmes embarquéssystemesembarques.e-monsite.com/medias/files/cours-microcontroleu... · • Le microprocesseur. • Le microcontrôleur. Ex:

Microcontrôleur

Ainsi, les microcontrôleurs PIC

16Fxxx disposent des principales

ressources internes suivantes:

PIC

•Mémoire de programme. Les PIC 16Fxxx se déclinent

selon 3 versions de mémoire de

programme:

-ROM (ou OTPROM),

programmable une seule fois.

Capacité: 512 à 2Kmots.

-UVPROM, effaçable par

rayonnemant UV.

Capacité: 512 à 4Kmots.

-EEPROM, effaçable

électriquement.

Capacité: 1Kmots. 9

Page 10: Aucun titre de diapositive - labo systèmes embarquéssystemesembarques.e-monsite.com/medias/files/cours-microcontroleu... · • Le microprocesseur. • Le microcontrôleur. Ex:

Microcontrôleur PIC

•Mémoire de données. Les PIC 16Fxxx disposent

d’une mémoire de données

(RAM) de capacité 25 à 192

octets.

Ainsi, les microcontrôleurs PIC

16Fxxx disposent des principales

ressources internes suivantes:

•Mémoire de programme.

10

Page 11: Aucun titre de diapositive - labo systèmes embarquéssystemesembarques.e-monsite.com/medias/files/cours-microcontroleu... · • Le microprocesseur. • Le microcontrôleur. Ex:

Microcontrôleur PIC

•Mémoire de données. Les PIC 16Fxxx proposent un

certain nombre de broches

d’entrées/sorties (12 à 33)

permettant l’acquisition ou la

transmission de signaux

numériques.

Ainsi, les microcontrôleurs PIC

16Fxxx disposent des principales

ressources internes suivantes:

•Mémoire de programme.

•Entrées/sorties.

11

Page 12: Aucun titre de diapositive - labo systèmes embarquéssystemesembarques.e-monsite.com/medias/files/cours-microcontroleu... · • Le microprocesseur. • Le microcontrôleur. Ex:

Microcontrôleur PIC

•Mémoire de données. Certains PIC 16Fxxx possèdent 1

ou 2 ports série permettant la

transmission

série d’informations numériques.

Ainsi, les microcontrôleurs PIC

16Fxxx disposent des principales

ressources internes suivantes:

•Mémoire de programme.

•Entrées/sorties.

Et éventuellement:

•Port série.

12

Page 13: Aucun titre de diapositive - labo systèmes embarquéssystemesembarques.e-monsite.com/medias/files/cours-microcontroleu... · • Le microprocesseur. • Le microcontrôleur. Ex:

Microcontrôleur PIC

•Mémoire de données. Certains PIC 16Fxxx possèdent

en ressource interne un

Convertisseur Analogique

Numérique 10 bits permettant

l’acquisition de 4 à 8 signaux

analogiques différents.

Ainsi, les microcontrôleurs PIC

16Fxxx disposent des principales

ressources internes suivantes:

•Mémoire de programme.

•Entrées/sorties.

Et éventuellement:

•Port série.

•Convertisseur CAN.

13

Page 14: Aucun titre de diapositive - labo systèmes embarquéssystemesembarques.e-monsite.com/medias/files/cours-microcontroleu... · • Le microprocesseur. • Le microcontrôleur. Ex:

Microcontrôleur PIC

Conclusion:

Les microcontrôleurs PIC 16Fxxx

sont des circuits complets et

performants.

Ils s’appliquent complètement

dans la mise en œuvre de systèmes

microprogrammés simples.

14

Page 15: Aucun titre de diapositive - labo systèmes embarquéssystemesembarques.e-monsite.com/medias/files/cours-microcontroleu... · • Le microprocesseur. • Le microcontrôleur. Ex:

La majorité des structures

microprogrammées utilisent une

architecture classique appelée:

Architecture Von Neumann.

Les microcontrôleurs PIC ainsi

que bien d ’autres structures sont

construites autour d’un autre

type d ’architecture:

Architecture Harvard.

Architecture Von Neumann:

PC, 8086, 68HC11, 6809...

Architecture Harvard:

PIC, DSP...

15

Page 16: Aucun titre de diapositive - labo systèmes embarquéssystemesembarques.e-monsite.com/medias/files/cours-microcontroleu... · • Le microprocesseur. • Le microcontrôleur. Ex:

Architecture Von Neumann

Prenons le cas du système

minimum à 8086. Son

architecture est de type Von

Neumann.

Sa mémoire de programme

(EPROM) contient comme son

nom l’indique le programme à

exécuter.

Contenu de

la mémoire

de programme

8086

16

Page 17: Aucun titre de diapositive - labo systèmes embarquéssystemesembarques.e-monsite.com/medias/files/cours-microcontroleu... · • Le microprocesseur. • Le microcontrôleur. Ex:

Architecture Von Neumann

ADD AL,0009

MOV AL,09

OUT 1,AL

Inst

ruct

ion

Op

éran

de

source

Après assemblage, chaque

instruction et chaque opérande

codée sur un ou deux ou 3 ou

quatre octets (8 bits) est rangée

dans des cases consécutifs de la

mémoire.

Considérons l’exemple du

programme source suivant.

La mémoire contient donc

successivement les instructions

et les opérandes du programme .

8086

Contenu de

la mémoire

de programme

B0

09

04

06

09

E6

...

01

Objet (code machine)

0F

...

00

NOP

17

Page 18: Aucun titre de diapositive - labo systèmes embarquéssystemesembarques.e-monsite.com/medias/files/cours-microcontroleu... · • Le microprocesseur. • Le microcontrôleur. Ex:

Architecture Von Neumann

12

86

07

8B

10

3F

...

...

...

objet

Afin d ’exécuter le programme,

le microprocesseur doit lire dans

l’ ordre le contenu de chacune

des cases mémoires.

Pour cela, chacun des octets de la

mémoire est acheminé vers le

microprocesseur, via le bus de

données.

MicroP

Bus d

e do

nn

ées

8086

18

Page 19: Aucun titre de diapositive - labo systèmes embarquéssystemesembarques.e-monsite.com/medias/files/cours-microcontroleu... · • Le microprocesseur. • Le microcontrôleur. Ex:

Architecture Von Neumann

12

86

07

8B

10

3F

...

...

...

objet

MicroP

Bus d

e do

nn

ées

Conclusion:

Dans le cas d’ une architecture

Von Neumann, le traitement

d ’une instruction et son

opérande nécessite donc la

lecture d ’au moins deux cases

mémoires (3 si l ’opérande est

codée sur deux octets).

Cela correspond à une durée de

2 ou 3 cycles machine.

8086

19

Page 20: Aucun titre de diapositive - labo systèmes embarquéssystemesembarques.e-monsite.com/medias/files/cours-microcontroleu... · • Le microprocesseur. • Le microcontrôleur. Ex:

Architecture Harvard

Les microcontrôleurs PIC ont

eux une architecture appelée

Harvard qui présente de

nombreux avantages.

Les différences avec les

architectures Von Neumann

résident essentiellement dans:

• la mémoire de programme

• les bus.

PIC

20

Page 21: Aucun titre de diapositive - labo systèmes embarquéssystemesembarques.e-monsite.com/medias/files/cours-microcontroleu... · • Le microprocesseur. • Le microcontrôleur. Ex:

Architecture Harvard

Contenu de

la mémoire

de programme

PIC

Comme précédemment, ce

programme est composé d’

instructions et d’ opérandes.

Cependant, une case mémoire

peut ici contenir à la fois une

instruction et son opérande.

La mémoire de programme des

PIC contient bien entendu le

programme à exécuter.

21

Page 22: Aucun titre de diapositive - labo systèmes embarquéssystemesembarques.e-monsite.com/medias/files/cours-microcontroleu... · • Le microprocesseur. • Le microcontrôleur. Ex:

Architecture Harvard

Contenu de

la mémoire

de programme

PIC

MOVLW FF

CLRW

ADDLW 01

MOVWF 05

Inst

ruct

ion

Op

éran

de

source

Considérons l’ exemple du

programme source suivant.

Après assemblage, chaque

instruction et son opérande sont

codées sur un mot binaire (12 ou

14 bits) puis rangées dans une

case mémoire.

Chaque cas de la mémoire

contient donc:

•l’ instruction à exécuter.

•L ’opérande associée (non

obligatoire).

0100

30FF

3E01

0085

objet

...

...

...

...

...

22

Page 23: Aucun titre de diapositive - labo systèmes embarquéssystemesembarques.e-monsite.com/medias/files/cours-microcontroleu... · • Le microprocesseur. • Le microcontrôleur. Ex:

Architecture Harvard PIC

Unité de

calcul

0100

30FF

3E01

0085

objet

...

...

...

...

... Afin d’ exécuter le programme,

l ’unité de calcul doit ensuite lire

le contenu de chacune des cases

de la mémoire.

Chaque mot binaire contenu dans

la mémoire de programme est

alors acheminé vers un décodeur

d ’instructions.

Déco

deu

r

d’ in

structio

ns

Le rôle de ce décodeur est de

séparer pour chacun des mots

binaires, l ’instruction et la

donnée (opérande).

donnée

instruction

23

Page 24: Aucun titre de diapositive - labo systèmes embarquéssystemesembarques.e-monsite.com/medias/files/cours-microcontroleu... · • Le microprocesseur. • Le microcontrôleur. Ex:

instruction

donnée

Architecture Harvard PIC

Unité de

calcul

0100

30FF

3E01

0085

objet

...

...

...

...

... D

écod

eur

d’ in

structio

ns

Les instructions et les données

sont ensuite acheminées

simultanément vers l ’unité de

calcul par l ’intermédiaire de

deux bus différents.

Bus de DONNEES

Bus d’ INSTRUCTIONS

24

Page 25: Aucun titre de diapositive - labo systèmes embarquéssystemesembarques.e-monsite.com/medias/files/cours-microcontroleu... · • Le microprocesseur. • Le microcontrôleur. Ex:

instruction

donnée

Architecture Harvard PIC

Unité de

calcul

0100

30FF

3E01

0085

objet

...

...

...

...

... D

écod

eur

d’ in

structio

ns

Bus de DONNEES

Bus d’ INSTRUCTIONS

Conclusion:

Dans le cas de l’ architecture

Harvard que possèdent les PIC,

la lecture d ’une seule case

mémoire permet le traitement

entier d ’une instruction et de son

opérande.

Un seul cycle machine est donc

nécessaire.

25

Page 26: Aucun titre de diapositive - labo systèmes embarquéssystemesembarques.e-monsite.com/medias/files/cours-microcontroleu... · • Le microprocesseur. • Le microcontrôleur. Ex:

Selon la version de PIC 16Fxxx

utilisée, le nombre de registres

internes au circuit est différent.

Ainsi, les registres présentés ci-

après sont les plus couramment

utilisés:

Registres d ’E/S: PORT

Registre d ’état: STATUS

Registres de direction: TRIS

Registre Compteur Programme: PC

Registre de travail: W

26

Page 27: Aucun titre de diapositive - labo systèmes embarquéssystemesembarques.e-monsite.com/medias/files/cours-microcontroleu... · • Le microprocesseur. • Le microcontrôleur. Ex:

Registre de travail W

Le registre de travail W est un

registre 8 bits destiné à la

manipulation générale des

données.

W

b7 b6 b5 b4 b3 b2 b1 b0

Il peut donc contenir une donnée

de 8 bits que l ’on appelle ici un

littéral.

Ex: W

1 0 1 1 0 0 1 0

Le littéral chargé dans le registre

de travail W a pour valeur

hexadécimale B2. Le registre W peut être comparé

aux registres AX du 8086.

27

Page 28: Aucun titre de diapositive - labo systèmes embarquéssystemesembarques.e-monsite.com/medias/files/cours-microcontroleu... · • Le microprocesseur. • Le microcontrôleur. Ex:

Registres d ’E/S PORT

Les microcontrôleurs PIC

peuvent recevoir ou transmettre

des informations avec des

périphériques extérieurs par

l’intermédiaire de leurs ports

d ’E/S.

Micro PIC

périphériques

Po

rts

d ’

E/S

28

Page 29: Aucun titre de diapositive - labo systèmes embarquéssystemesembarques.e-monsite.com/medias/files/cours-microcontroleu... · • Le microprocesseur. • Le microcontrôleur. Ex:

Registres d ’E/S PORT

Suivant la version utilisée, les

circuits proposent 2 ou 3 ports

d ’E/S différents. Micro PIC

périphériques

Afficheur

clavier

Po

rt A

P

ort

B

Po

rt C

Dans l ’exemple suivant, le

portC est utilisé pour recevoir

des informations provenant d ’un

clavier.

Les ports A et B sont eux utilisés

pour transmettre les données à

afficher.

29

Page 30: Aucun titre de diapositive - labo systèmes embarquéssystemesembarques.e-monsite.com/medias/files/cours-microcontroleu... · • Le microprocesseur. • Le microcontrôleur. Ex:

Registres d ’E/S PORT

L ’utilisation des registres est

ainsi la suivante:

•Pour transmettre une donnée

sur un port, il faut ECRIRE la

donnée dans le registre PORT

correspondant.

•Pour recevoir une donnée sur

un port, il faut LIRE la donnée

dans le registre PORT

correspondant.

Ecrire

Port

Do

nn

ée à

tra

nsm

ettr

e

Lire

Port

Do

nn

ée r

eçu

e

30

Page 31: Aucun titre de diapositive - labo systèmes embarquéssystemesembarques.e-monsite.com/medias/files/cours-microcontroleu... · • Le microprocesseur. • Le microcontrôleur. Ex:

Registres d ’E/S PORT

Sur les PIC 16Fxxx, le port A du

circuit ne présente en fait que 4

broches d ’E/S. Le registre

correspondant (8 bits) n ’a donc

d ’actifs que les bits b0 à b3.

PORTB

b7 b6 b5 b4 b3 b2 b1 b0

PORTC

b7 b6 b5 b4 b3 b2 b1 b0

PORTA

b3 b2 b1 b0

Les ports B et C et D possèdent

eux bien 8 lignes d ’E/S. Les

registres correspondant ont donc

les 8 bits actifs.

le port E du circuit ne présente

en fait que 2 broches d ’E/S. Le

registre correspondant (8 bits)

n ’a donc d ’actifs que les bits b0

à b1.

PORTD

b7 b6 b5 b4 b3 b2 b1 b0

PORTE

b1 b0

31

Page 32: Aucun titre de diapositive - labo systèmes embarquéssystemesembarques.e-monsite.com/medias/files/cours-microcontroleu... · • Le microprocesseur. • Le microcontrôleur. Ex:

Registres de direction TRIS

Les registres de direction TRIS

(8 bits) sont directement liés aux

registres PORT.

Le rôle des registres TRIS est de

programmer chacune des lignes

des ports soit en entrée, soit en

sortie.

Les différentes broches (lignes)

d ’un même port peuvent donc

avoir un rôle différent:

transmettre ou recevoir une

valeur logique (« 0 » ou «1 »). 32

Page 33: Aucun titre de diapositive - labo systèmes embarquéssystemesembarques.e-monsite.com/medias/files/cours-microcontroleu... · • Le microprocesseur. • Le microcontrôleur. Ex:

Registres de direction TRIS

La programmation des registres

TRIS est la suivante: TRIS

b7 b6 b5 b4 b3 b2 b1 b0

0 1

Ligne

R1

en sortie

Ligne R6

en entrée •La mise à « 1 » du bit

programme la ligne

correspondante en entrée.

•La mise à « 0 » du bit

programme la ligne

correspondant en sortie.

33

Page 34: Aucun titre de diapositive - labo systèmes embarquéssystemesembarques.e-monsite.com/medias/files/cours-microcontroleu... · • Le microprocesseur. • Le microcontrôleur. Ex:

Registres de direction TRIS

Exemple:

Programmons le port A en entrée

et le port B en sortie.

Remarque: le port A ne possède

que 4 lignes d ’E/S.

RA

0

RA

1

RA

3

RA

2

RB

0

RB

3

RB

2

RB

1

RB

7

RB

6

RB

5

RB

4

Port B Port A

PIC

E E E E S S S S S S S S

TRISA TRISB

0 0 0 0 0 0 0 0 1 1 1 1

« 0 » = sortie

« 1 » = entrée

En conséquence, les registres

TRIS se programment avec les

valeurs:

TRISA F

TRISB 00

34

Page 35: Aucun titre de diapositive - labo systèmes embarquéssystemesembarques.e-monsite.com/medias/files/cours-microcontroleu... · • Le microprocesseur. • Le microcontrôleur. Ex:

Registre d’ état STATUS

Le registre d ’état STATUS est

un registre 8 bits.

Le rôle de ce registre est de

donner diverses informations à

l ’utilisateur sur l ’état de

fonctionnement ou sur le résultat

d ’ une opération.

On s ’intéressera en fait à

seulement 2 bits du registre

d ’état.

STATUS

b7 b6 b5 b4 b3 b2 b1 b0

35

Page 36: Aucun titre de diapositive - labo systèmes embarquéssystemesembarques.e-monsite.com/medias/files/cours-microcontroleu... · • Le microprocesseur. • Le microcontrôleur. Ex:

Registre d’ état STATUS

STATUS

b7 b6 b5 b4 b3 b2 b1 b0

Z Le bit b2: Z (Zéro)

Lorsqu ’une opération

arithmétique ou logique est

réalisée, le bit Z est mis à 1 si le

résultat est nul et à 0 dans le cas

contraire.

Ex1:

STATUS

b7 b6 b5 b4 b3 b2 b1 b0

STATUS

b7 b6 b5 b4 b3 b2 b1 b0

Ex2:

Ex1: L ’unité centrale effectue

l ’opération 7-6=1.

Ex2: L ’unité centrale effectue

l ’opération 7-7=0.

0

1

Z=0

Z=1 36

Page 37: Aucun titre de diapositive - labo systèmes embarquéssystemesembarques.e-monsite.com/medias/files/cours-microcontroleu... · • Le microprocesseur. • Le microcontrôleur. Ex:

Registre d’ état STATUS

STATUS

b7 b6 b5 b4 b3 b2 b1 b0

Ex1:

STATUS

b7 b6 b5 b4 b3 b2 b1 b0

STATUS

b7 b6 b5 b4 b3 b2 b1 b0

Ex2:

Ex1: L ’unité centrale effectue

l ’opération sur 8 bits:

FE+01=FF

Ex2: L ’unité centrale effectue

l ’opération hexadécimale:

FF+1=00 (et une retenue)

0

1

C=0

C=1

Le bit b0: C (Carry = retenue)

Ce bit est positionné à 1 si une

addition ou une soustraction

génère une retenue depuis le bit

de poids fort.

C

37

Page 38: Aucun titre de diapositive - labo systèmes embarquéssystemesembarques.e-monsite.com/medias/files/cours-microcontroleu... · • Le microprocesseur. • Le microcontrôleur. Ex:

Compteur programme PC

Le registre PC est un registre

spécifique 9 ou 11 bits, suivant

le modèle de PIC. b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10

PC

C ’est en fait un compteur

ordinal qui contient l ’adresse en

mémoire de la prochaine

instruction à exécuter.

38

Page 39: Aucun titre de diapositive - labo systèmes embarquéssystemesembarques.e-monsite.com/medias/files/cours-microcontroleu... · • Le microprocesseur. • Le microcontrôleur. Ex:

b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10

PC

Compteur programme PC

Prenons l’exemple d’un

programme objet stocké en

mémoire de programme à partir

de l’adresse 000:

0100

30FF

3E01

0085

...

...

Prog.

Adresses

000

001

002

003

004

005

39

Page 40: Aucun titre de diapositive - labo systèmes embarquéssystemesembarques.e-monsite.com/medias/files/cours-microcontroleu... · • Le microprocesseur. • Le microcontrôleur. Ex:

b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10

PC

Compteur programme PC

1er cycle machine:

Le registre PC est chargé avec

l ’adresse de la première

instruction du programme.

0 0 0 0 0 0 0 0 0

0100

30FF

3E01

0085

...

...

Prog.

Adresses

000

001

002

003

004

005

40

Page 41: Aucun titre de diapositive - labo systèmes embarquéssystemesembarques.e-monsite.com/medias/files/cours-microcontroleu... · • Le microprocesseur. • Le microcontrôleur. Ex:

b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10

PC

Compteur programme PC

2ème cycle machine :

De façon simultanée,

•Le registre PC s ’incrémente.

•La donnée précédemment

pointée par le registre PC est

exécutée.

0 0 0 0 0 0 0 0 0

Exécution

de l ’instruction

0100

1 0 0 0 0 0 0 0 0

0100

30FF

3E01

0085

...

...

Prog.

Adresses

000

001

002

003

004

005

41

Page 42: Aucun titre de diapositive - labo systèmes embarquéssystemesembarques.e-monsite.com/medias/files/cours-microcontroleu... · • Le microprocesseur. • Le microcontrôleur. Ex:

b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10

PC

Compteur programme PC

3ème cycle machine :

De façon simultanée,

•Le registre PC s ’incrémente.

•La donnée précédemment

pointée par le registre PC est

exécutée.

Exécution

de l ’instruction

1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0

30FF

0100

30FF

3E01

0085

...

...

Prog.

Adresses

000

001

002

003

004

005

42

Page 43: Aucun titre de diapositive - labo systèmes embarquéssystemesembarques.e-monsite.com/medias/files/cours-microcontroleu... · • Le microprocesseur. • Le microcontrôleur. Ex:

b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10

PC

Compteur programme PC

4ème cycle machine :

De façon simultanée,

•Le registre PC s ’incrémente.

•La donnée précédemment

pointée par le registre PC est

exécutée.

Exécution

de l ’instruction

0 1 0 0 0 0 0 0 0

3E01

1 1 0 0 0 0 0 0 0

0100

30FF

3E01

0085

...

...

Prog.

Adresses

000

001

002

003

004

005

43

Page 44: Aucun titre de diapositive - labo systèmes embarquéssystemesembarques.e-monsite.com/medias/files/cours-microcontroleu... · • Le microprocesseur. • Le microcontrôleur. Ex:

b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10

PC

Compteur programme PC

5ème cycle machine :

De façon simultanée,

•Le registre PC s ’incrémente.

•La donnée précédemment

pointée par le registre PC est

exécutée.

Exécution

de l ’instruction

1 1 0 0 0 0 0 0 0

0085

0 0 0 0 0 0 0 0 1

0100

30FF

3E01

0085

...

...

Prog.

Adresses

000

001

002

003

004

005

44

Page 45: Aucun titre de diapositive - labo systèmes embarquéssystemesembarques.e-monsite.com/medias/files/cours-microcontroleu... · • Le microprocesseur. • Le microcontrôleur. Ex:

b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10

PC

Compteur programme PC

Conclusion

Le registre PC contient donc à

l ’instant t l ’adresse de la

prochaine instruction à

exécuter.

Ainsi, lorsqu ’une instruction est

exécutée, la suivante est déjà

pointée par le registre PC.

Exécution

de l ’instruction

0100

30FF

3E01

0085

...

...

Prog.

Adresses

000

001

002

003

004

005

45

Page 46: Aucun titre de diapositive - labo systèmes embarquéssystemesembarques.e-monsite.com/medias/files/cours-microcontroleu... · • Le microprocesseur. • Le microcontrôleur. Ex:

Comme tous les circuits

microprogrammés, les

microcontrôleurs PIC 16Fxxx

fonctionnent à partir d ’ une base

de temps (horloge) appliquée

par des composants externes.

Ainsi, les PIC peuvent adopter 4

modèles d ’horloge qui sont:

•Version XT

•Version HS

•Version RC

•Version LP

Version XT:

oscillateur à quartz jusqu ’à 4 MHz.

Version HS (High Speed):

oscillateur à quartz jusqu ’à 20 MHz.

Version RC (Résistance-Condensateur):

oscillateur RC jusqu ’à 4 MHz.

Version LP (Low Power):

oscillateur à quartz jusqu ’à 200 kHz.

Prévu pour des applications à faible

consommation. 46

Page 47: Aucun titre de diapositive - labo systèmes embarquéssystemesembarques.e-monsite.com/medias/files/cours-microcontroleu... · • Le microprocesseur. • Le microcontrôleur. Ex:

Le rôle de l ’horloge est de

cadencer les différentes

opérations effectuées par le

microcontrôleur et notamment

l ’exécution des instructions du

programme.

Ainsi, le signal d ’horloge

possède les caractéristiques

suivantes:

•Signal carré.

•De fréquence F et de période T.

Signal d ’horloge OSC

Temps t T = 1/F

47

Page 48: Aucun titre de diapositive - labo systèmes embarquéssystemesembarques.e-monsite.com/medias/files/cours-microcontroleu... · • Le microprocesseur. • Le microcontrôleur. Ex:

Le signal d ’horloge OSC est en

fait délivré par un oscillateur

externe qui peut être un quartz

ou une cellule RC.

Signal d ’horloge OSC

Temps t

Ce signal appliqué au PIC est

ensuite, de façon interne, divisé

par 4.

On appelle alors cycle machine

la durée caractérisant 4 périodes

d ’horloge.

Cycle machine

Cycle machine

Cycle machine

48

Page 49: Aucun titre de diapositive - labo systèmes embarquéssystemesembarques.e-monsite.com/medias/files/cours-microcontroleu... · • Le microprocesseur. • Le microcontrôleur. Ex:

Cette base de temps permet alors

de rythmer l ’exécution des

instructions du programme:

Signal d ’horloge OSC

Temps t

Ainsi, au cours de chaque cycle

machine:

•Recherche de l ’instruction dont

l ’adresse est contenue dans le

registre PC.

•Exécution de l ’instruction qui

était pointée par le registre PC au

cours du cycle précédent.

•Incrémentation du registre PC.

PC+2 PC+1 PC

Recherche

Instr(PC)

Exécution

Instr(PC-1)

Recherche

Instr(PC+1)

Exécution

Instr(PC)

Recherche

Instr(PC+2)

Exécution

Instr(PC+1)

Cycle 0 Cycle 1 Cycle 2

49

Page 50: Aucun titre de diapositive - labo systèmes embarquéssystemesembarques.e-monsite.com/medias/files/cours-microcontroleu... · • Le microprocesseur. • Le microcontrôleur. Ex:

Conclusion:

Il faut donc un cycle machine

pour exécuter une instruction,

soit 4 périodes d ’horloge.

Signal d ’horloge OSC

Temps t

Ex:

Dans le cas d ’un oscillateur à

quartz à 20MHz, le temps

d ’exécution d ’une instruction

est donc:

1 instruction = 1 cycle machine = 4 x Tosc

Tosc = 1/Fosc Si Fosc = 20 MHz

Tosc = 50 ns

D ’où 4 x Tosc = 200 ns.

200 ns

50

Page 51: Aucun titre de diapositive - labo systèmes embarquéssystemesembarques.e-monsite.com/medias/files/cours-microcontroleu... · • Le microprocesseur. • Le microcontrôleur. Ex:

Outre la facilité de mise en œuvre

matérielle, l’intérêt des

microcontrôleurs PIC réside dans

le jeu d ’instruction et les modes

d ’adressage considérablement

réduits par rapport à d ’autres

structures programmables.

51

Page 52: Aucun titre de diapositive - labo systèmes embarquéssystemesembarques.e-monsite.com/medias/files/cours-microcontroleu... · • Le microprocesseur. • Le microcontrôleur. Ex:

Jeu d’ instructions

En plus de bénéficier d ’une

architecture dite Harvard, les

microcontrôleurs PIC sont

constitués autour d ’une

architecture appellée RISC.

Reduced Instruction Set Computer

= Circuit à jeu d’instructions réduit

Ainsi, contrairement à de

nombreux circuits mettant en

jeu une centaine d ’instructions

différentes, les PIC voient leur

nombre d ’instructions limités à

33 ou 35.

33 ou 35 instructions seulement!

52

Page 53: Aucun titre de diapositive - labo systèmes embarquéssystemesembarques.e-monsite.com/medias/files/cours-microcontroleu... · • Le microprocesseur. • Le microcontrôleur. Ex:

Jeu d’ instructions

Les différents mnémoniques du

jeu d ’instructions adoptent

certaines appellations dont il est

nécessaire d ’être informé:

•k est un littéral, c ’est-à-dire une

valeur codée sur un octet (8 bits).

Ex: MOVLW k

Le littéral k (1 octet) est placé dans le

registre de travail W.

k W

53

Page 54: Aucun titre de diapositive - labo systèmes embarquéssystemesembarques.e-monsite.com/medias/files/cours-microcontroleu... · • Le microprocesseur. • Le microcontrôleur. Ex:

Jeu d’ instructions

Les différents mnémoniques du

jeu d ’instructions adoptent

certaines appellations dont il est

nécessaire d ’être informé:

•k est un littéral, c ’est-à-dire une

valeur codée sur un octet (8 bits).

•f est le symbole correspondant à

un registre.

Ex: MOVWF f

Le contenu du registre de travail W

est transféré dans le registre

représenté par f.

W f

54

Page 55: Aucun titre de diapositive - labo systèmes embarquéssystemesembarques.e-monsite.com/medias/files/cours-microcontroleu... · • Le microprocesseur. • Le microcontrôleur. Ex:

Jeu d’ instructions

Les différents mnémoniques du

jeu d ’instructions adoptent

certaines appellations dont il est

nécessaire d ’être informé:

•k est un littéral, c ’est-à-dire une

valeur codée sur un octet (8 bits).

•f est le symbole correspondant à

un registre.

•b est le numéro du bit concerné

par l ’instruction.

Ex: BCF f, b

Le bit b du registre f est mis à zéro

(Bit Clear).

0 bit b de f

55

Page 56: Aucun titre de diapositive - labo systèmes embarquéssystemesembarques.e-monsite.com/medias/files/cours-microcontroleu... · • Le microprocesseur. • Le microcontrôleur. Ex:

Jeu d’ instructions

Les différents mnémoniques du

jeu d ’instructions adoptent

certaines appellations dont il est

nécessaire d ’être informé:

•k est un littéral, c ’est-à-dire une

valeur codée sur un octet (8 bits).

•f est le symbole correspondant à

un registre.

•b est le numéro du bit concerné

par l ’instruction.

•d caractérise le registre où doit

être placé le résultat de

l’opération.

Ex: ADDWF f, d

Le contenu du registre W est ajouté

au contenu du registre f.

Si d=0 le résultat est placé dans W.

Si d=1 le résultat est placé dans f.

Si d=0 W+f W

Si d=1 W+f f

56

Page 57: Aucun titre de diapositive - labo systèmes embarquéssystemesembarques.e-monsite.com/medias/files/cours-microcontroleu... · • Le microprocesseur. • Le microcontrôleur. Ex:

Modes d ’adressage

La encore, les modes

d’adressage sont réduits

puisqu ’on en compte que 4:

•Adressage immédiat.

La donnée manipulée (k) est codée

immédiatement avec l ’instruction.

Ex: MOVLW k

57

Page 58: Aucun titre de diapositive - labo systèmes embarquéssystemesembarques.e-monsite.com/medias/files/cours-microcontroleu... · • Le microprocesseur. • Le microcontrôleur. Ex:

Modes d ’adressage

La encore, les modes

d’adressage sont réduits

puisqu ’on en compte que 4:

•Adressage immédiat.

•Adressage direct. Le registre concerné (f) est codé

directement dans l ’instruction.

Ex: MOVWF f

58

Page 59: Aucun titre de diapositive - labo systèmes embarquéssystemesembarques.e-monsite.com/medias/files/cours-microcontroleu... · • Le microprocesseur. • Le microcontrôleur. Ex:

La encore, les modes

d’adressage sont réduits

puisqu ’on en compte que 4:

•Adressage immédiat.

•Adressage direct.

•Adressage bit à bit.

Il permet de manipuler n ’importe

quel bit individuel de n ’importe

quel registre.

Modes d ’adressage

Ex: BCF f, b

59

Page 60: Aucun titre de diapositive - labo systèmes embarquéssystemesembarques.e-monsite.com/medias/files/cours-microcontroleu... · • Le microprocesseur. • Le microcontrôleur. Ex:

La encore, les modes

d’adressage sont réduits

puisqu ’on en compte que 4:

•Adressage immédiat.

•Adressage direct.

•Adressage bit à bit.

•Adressage indirect.

Le registre concerné est atteint

via un registre d ’indirection. Ce

mode est en fait très peu utilisé.

Modes d ’adressage

60