Microcontroleur MSP430 V2018
Microcontroleur MSP430 V2018
Microcontroleur MSP430 V2018
IST
3eme année
Joël SEKA 2017-2018
Les Microcontrôleurs
2
Les Microcontrôleurs
3
Les Microcontrôleurs
5
Le MSP430
6
Le MSP430
• Brochage du MSP430G2553
7
Le MSP430G2553
• Comparateur analogique
– Filtre RC sélectionnable
– Sources d'interruption
• Brownout Reset
– Fourni les signaux de reset à la mise sous tension et à la mise hors
tension 9
Le MSP430G2553
• Le microprocesseur du MSP430G2553
– Type RISC
• 27 instructions de base + 24 instructions «
émulées »
– Architecture de Von neuman
– Contient 16 registres de 16 bits
• R0 est le program counter,
• R1 est le stack pointer,
• R2 est le status register
10
Le MSP430G2553
• Le microprocesseur du MSP430G2553
• R3 est un registre spécial appelé le constant
generator, et donnant accès à 6 constantes
utilisées fréquemment sans devoir utiliser
d’autres opérandes.
• R4 à R15 disponibles pour usage général.
• Modes d’adressage
– 7 modes d’adressage pour l’opérande source
– 4 modes d’adressage pour l’opérande destination
11
Le MSP430G2553
12
Le MSP430G2553
• Mapping Mémoire
13
Le MSP430G2553
• Les horloges
– MCLK : Master clock.
• Horloge haute fréquence, utilisée par le CPU et le système.
– ACLK : Auxiliary clock.
• Horloge basse fréquence (économique) sélectionnable en software
pour cadencer les périphériques.
– SMCLK : Sub-main clock.
• Horloge haute fréquence, sélectionnable en software pour cadencer
les périphériques.
– Ces 3 signaux sont produits par divers oscillateurs internes ou
externe.
• DCOCLK (Digitally Controlled Oscillator):16MHz (interne)
• VLOCLK (Very Low power Oscillateur): 12Khz (interne)
14
Le MSP430G2553
• Les horloges
15
Le MSP430G2553
• La consommation électrique à 2,2V
– 0,1 µA pour la rétention de la RAM
16
Le MSP430G2553
• 3 ports programmables d'entrée-sortie
– P1 et P2 sur les modèles 20 broches
18
Les champs de bits
19
Les champs de bits
X7 X6 X5 X4 X3 1 X1 X0
20
Les champs de bits
X7 X6 X5 X4 X3 1 X1 X0
21
Les champs de bits
X7 X6 0 X4 X3 X2 X1 X0
22
Les champs de bits
X7 X6 0 X4 X3 X2 X1 X0
23
Les champs de bits
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
Valeur nulle Valeur non nulle
FAUX VRAI
24
Les interruptions
Les Interruptions
26
Les Interruptions
27
Les Interruptions
28
Les Interruptions
Programme
Principale
Routine
d'interruption
Instruction
Instructionn
Instruction
Événement Instruction
Instruction
n+1
Déclencheur
Instruction
Instruction n+2
Instruction
Instruction
29
Les Interruptions
30
Les Interruptions
• La sauvegarde du contexte
– Le bon fonctionnement d’un programme ne doit pas être altéré par les
interruptions pouvant survenir pendant son exécution.
– Il est donc indispensable que les routines d’interruption préservent
l’état du processeur (valeur des bits d’états (flags), la configuration des
périphériques, ...).
– Pour cette raison, les routines d’interruption commencent par des
opérations de sauvegarde du contexte (sur la pile ou dans un espace de
stockage spécifique), et se terminent par une restauration de celle-ci.
32
Les Interruptions
33
Les Interruptions
34
Les Interruptions
35
Les Interruptions
• Exemple
36
Les Interruptions
• Exemple
Nom de la routine
d’interruption
La directive « pragma vector » permet de spécifier
l’adresse ou doit se trouver la 1ere instruction de la
routine d’interruption déclarée à la ligne suivante.
37
Les Interruptions
Exemple
39