Vous êtes sur la page 1sur 148

Systèmes Embarqués à Microcontrôleurs

Polycopié de cours

Mme Fatima-Zahra BELOUADHA


Filière Génie Informatique-EMI

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 1


Systèmes Embarqués à Microcontrôleurs

 INTRODUCTION AUX SYSTÈMES EMBARQUÉS

 COMPOSANTS DES SYSTÈMES EMBARQUÉS

 CAS DES MICROCONTRÔLEURS ST7

 DÉVELOPPEMENT D’APPLICATIONS
EMBARQUÉES À BASE DE ST7

Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI


2

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 2


Systèmes Embarqués à Microcontrôleurs

 Définitions et domaines d’utilisation


 Caractéristiques et spécificités
 Architectures logicielles
 Communication via les NTIC

Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI


3

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 3


Systèmes Embarqués à Microcontrôleurs

 Système embarqué/enfoui=Embedded systems

 Ordinateur invisible, constitué de circuits


logiques et intégré à un système dédié à une
tâche précise.
 Système électronique réalisant une ou un
nombre limité de fonctions particulières,
souvent avec des contraintes temps réel et qui
est intégré à l'intérieur d'un système complet
comprenant souvent des parties mécaniques et
des capteurs et actionneurs.
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
4

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 4


Systèmes Embarqués à Microcontrôleurs

 Appareils ménagers,
 Appareils numériques
 Transport
 Réseaux et télécommunication
 Contrôle de processus industriels
 Systèmes d'alarme
 Ordinateurs, tablettes…
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
5

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 5


Systèmes Embarqués à Microcontrôleurs

 Orientés contrôle :

 Utilisés dans des systèmes temps réel comme les


systèmes de transport ou de contrôle de processus
industriel.

 Orientés traitement du signal :

 Utilisés dans des systèmes numériques, de


télécommunication, etc.

Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI


6

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 6


Systèmes Embarqués à Microcontrôleurs

 Ciblés : conçus pour réaliser une ou un nombre


de fonctions limitées et précises.
 Spécifiques : utilisent des SE légers et des
interfaces spécialisés (capteurs/actionneurs).
 Fiables : destinés à un fonctionnement
autonomes qui ne tolère pas l’erreur.
 Optimisés : rapides, de petite taille et
consommation, pas coûteux).
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
7

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 7


Systèmes Embarqués à Microcontrôleurs

 Fonctionnelles :
 Réaliser des fonctions simples nécessitant très peu de
calcul (appareils ménagers) ou complexes pouvant
nécessiter l’utilisation d’architectures parallèles.
 Assurer un fonctionnement logique déterministe : les
mêmes entrées doivent produire les mêmes effets.

 Temporelles :
 Réaliser des fonctions en temps réel stricte (systèmes
orientés contrôle : durée prévisible et déterministe) en
relâché/souple (systèmes orientés traitement du signal
ou d’image : dégradation des performances).
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
8

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 8


Systèmes Embarqués à Microcontrôleurs

 Utilisation de systèmes d’exploitation légers


et adaptés aux besoins particuliers :
 Systèmes à base de Linux : MontaVista Linux
(leader), BlueCat Linux, μClinux (pour
μcontrôleurs et processeurs sans MMU), RTLinux
et RTAI (doubles noyau), ELDK, PeeWee Linux.

 Autres systèmes temps réel : pSOS, VxWorks (+


utilisé mais coûteux), QNX (très faible mémoire,
GSM), Nucleus, eCos (automobile, imprimantes
laser, multimédia), μC/OS/μC/OS II (produits de
petite taille : μC ), Windows CE (PDA), LynxOS.
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
9

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 9


Systèmes Embarqués à Microcontrôleurs

 Utilisation de langages adaptés au matériel et


produisant un code optimisé :
 Assembleur pour un code de taille et performance
optimisées.
 C/C++ moins complexes et relativement proches
du matériel.
 Shell-script (versions ash/msh de 30 à 60 Ko et
BusyBox de 150 ko) dans le cas d’Unix, facile à
maintenir puisque ne nécessitant pas de
recompilation en cas d’usage d’un autre système
de type Unix (Autres : Perl, Tcl/Tk ou Python, peu
utilisés de par l’espace mémoire nécessaire.
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
10

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 10


Systèmes Embarqués à Microcontrôleurs

 Compilation optimisée du code :

 Utilisation des options d’optimisation adaptées au


matériel pour éviter des problèmes de mémoire (ex
: GNU gcc avec les options –o1, -o2, -o3 pour
déterminer le niveau d’optimisation, –os pour
minimiser la taille du code et -m386 ou -mpentium
pour adapter le code au processeur utilisé).

Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI


11

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 11


Systèmes Embarqués à Microcontrôleurs

 La complexité des architectures logicielles des


SE dépend du type de l'application.
 4 Architectures :
 Boucle de contrôle simple : fonctions appelées
successivement et l'ordre des appels est fixe et
immuable.
 Contrôle par interruption suite à des évènements
(timer, E/S…) : ordre non prédéfini nécessitant la
définition de priorités et posant des problèmes
d'interruption du moins prioritaire…
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
12

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 12


Systèmes Embarqués à Microcontrôleurs

 4 Architectures :
 Multitâche coopératif : boucles de traitement dont
chacune, lors de son exécution, rend la main au
SO pour l'exécution d'une autre.

 Multitâche préemptif ou temps partagé : tâche


interrompue lorsque le quantum est épuisé
(protection des données doit être garantie).

Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI


13

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 13


Systèmes Embarqués à Microcontrôleurs

 Systèmes interconnectés (GSM –sans fil) via des


réseaux de capteurs et technologies ubiquitaires.
 Réseaux de capteurs :
 Réseaux adhoc constitués de μcapteurs (nœuds)
autonomes (récolte + transmission de données via un
routage multi-saut jusqu’au nœud de collecte) et
parfois mobiles.
 Intérêt :
 Capter et transformer des mesures en valeurs
numériques.
 Traiter, stocker et transmettre les données.
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
14

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 14


Systèmes Embarqués à Microcontrôleurs

 Militaire: Surveillance des mouvements de l’ennemi.


 Industrie : contrôle de température, pression…
 Transport : contrôle d'espacement entre véhicules,
prise en compte des conditions météorologiques,
navigation informée…
 Santé : suivi à distance des malades.
 Ecologie : surveillance de données critiques de
pollution, contrôle de l'éclairage public…
 Domotique : alarmes, contrôle de consommation…
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
15

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 15


Systèmes Embarqués à Microcontrôleurs

 Technologie des circuits


 Architecture simple
 Exemples typiques
 Alimentation et horloge
 Reset et contrôleur d’interruptions
 Mémoires de programme et de données
 Interfaces, périphériques et unités d’E/S
 CPU/Microcontrôleurs : exemples et types
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
16

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 16


Systèmes Embarqués à Microcontrôleurs

 Circuits VLSI à la demande (full custom)


 Conception optimisée : performance maximale,
surface et consommation minimales (cas :
fabrication énorme car conception longue).

 Circuits précaractérisés
 Circuits élémentaires : cellules standards (logique),
cellules compilées (ROM, RAM), mégacellules
(µproc., interface série ou //…).
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
17

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 17


Systèmes Embarqués à Microcontrôleurs

 Circuits logiques programmables (FPGA) :


puces reconfigurables

 Blocs logiques de base, multiplieurs, mémoire et


parfois interfaces spécialisées d’E/S.
 Possibilité d’intégrer des processeurs et programmer
les interconnexions des composants (CAO).
 Coût – élevé (sauf pour une fabrication énorme) ,
Conception rapide, performances inférieures.
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
18

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 18


Systèmes Embarqués à Microcontrôleurs

Oscillateur

Bus Données – Contrôle - Adresses


RESET
CPU Interface
INT Capteur
d’entrée
Mémoire

Interface
Actionneu
de sortie
r

Système hôte

Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI


19

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 19


Systèmes Embarqués à Microcontrôleurs

Source [5]
Unité centrale

Oscillateur
Interface de
commande

Circuit
d’alimentation

Unité de traitement
spécialisée : Décodeur
MP3, ADC, ampli

Oscillateur
Interface-
carte SD

Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI


20

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 20


Systèmes Embarqués à Microcontrôleurs

Source [4]
Lentilles

Préprocesseur Coprocesseur
CCD

Digital
Analogique CCD traitement pixels
analogique
digital

Codeur Multiplexeur
décodeur Microcontrôleur Accumulateur
JPEG

Contrôleur Contrôleur
DMA Affichage

Contrôleur Interface Contrôleur


UART
mémoire bus ISA LCD

Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI


21

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 21


Systèmes Embarqués à Microcontrôleurs

 Alimentation autonome (pile, énergie solaire…)


ou externe (port USB, système hôte:carte/externe).
 Basse puissance nécessaire pour minimiser la
consommation (ex : durée de pile)
 Gestion matérielle (conception), logicielle (programmation),
Power gating (Arrêt/alimentation minimale quand un sous-
système est inactif (processeur/mise en veille).
 Consommation élevée si cadence de l’horloge
l’est selon les besoins de l’application : +eurs
horloges avec différentes fréquences
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
22

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 22


Systèmes Embarqués à Microcontrôleurs

 Reset : Maintenir le système (registres) dans un


état connu à l’initialisation ou en cas d’anomalie.
 Reset important pour éviter un disfonctionnement.
 Décharge, débranchement, choc, interférence…
 Types de reset : interne (tension min), externe, de
mise sous tension, du watchdog (chien de garde).
 Contrôleur d’interruptions gère les interruptions
d’horloge, du trap, des unités de traitement, d’E/S,
des périphériques…
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
23

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 23


Systèmes Embarqués à Microcontrôleurs

 Sont des mémoires mortes (ROM : Read Only


Memory) non volatiles et à lecture seule.

 Contiennent les instructions du programme +


données fixes (permanentes).

 Sont programmées au moyen d’un matériel


spécifique et d’une procédure particulière.
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
24

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 24


Systèmes Embarqués à Microcontrôleurs

 ROM (Read Only Memory)


 Contenu programmé lors de sa fabrication, Coût
faible.
 PROM (Programmable ROM)
 Très peu utilisée.
 Temps d'accès très court (20ns) mais Capacité
limitée (16ko) et Consommation importante.
 OTP (One Time PROM)
 PROM programmable une seule fois par le
développeur en faisant sauter des fusibles.
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
25

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 25


Systèmes Embarqués à Microcontrôleurs

 EPROM ou UVPROM (Erasable PROM)


 Programmable électriquement et effaçable par effet
photoélectrique (exposition aux ultraviolets à
travers une fenêtre de quartz).
 Temps d'accès de 35 à 250 ns, Capacité de 8ko à
1Mo, Alimentation de 3.3V ou 5V.
 Avantage : reprogrammable.

Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI


26

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 26


Systèmes Embarqués à Microcontrôleurs

 EEPROM (Electricaly EPROM)

 Programmable et effaçable électriquement octet par


octet sous la tension d'alimentation normale.
 Coût élevé, Capacité limitée (256ko),
programmation d'un octet ou une “page” de 32
octets (10 ms).
 Utilisée pour stocker des données qui sont
modifiées de temps en temps.

Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI


27

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 27


Systèmes Embarqués à Microcontrôleurs

 Flash
 EEPROM plus rapide et dont l'effacement est plus
global (total ou par bloc).
 Temps d'accès (60 à 200 ns), Temps de
programmation (100µs par octet), Temps
d'effacement global (1s).
 Coût moins élevé, Capacité importante.
 Peut remplacer un disque dur (des cartes de n Go
sont disponibles sur le marché).

Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI


28

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 28


Systèmes Embarqués à Microcontrôleurs

 Sont des :
 Mémoires vives (RAM : Random Access Memory)
volatiles, à accès aléatoire et assez rapides (quelques ns).
 Mémoires mortes (en général EEPROM) dont la lecture
est assez rapide (des ns) et l’écriture assez lente (des ms).
 Contiennent les données temporaires.
 Sont de petites tailles dans les microcontrôleurs.

Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI


29

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 29


Systèmes Embarqués à Microcontrôleurs

 2 types d’architectures :
 Von Neumann
 Cas de ST7…

 Harvard
 Cas de ST6, ST9…

Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI


30

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 30


Systèmes Embarqués à Microcontrôleurs

0000h
Espace
mémoire de
 1 seul espace d’adressage pour données RAM
Non utilisé
le programme et les données.
Espace
mémoire de
 Conséquence programme

 Réduction de l'espace d'adressage.


ROM
Vecteurs de
reset et
d’interruptions FFFFh

Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI


31

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 31


Systèmes Embarqués à Microcontrôleurs

 2 espaces d’adressage 000h


00h
séparés pour le Espace
Espace
mémoire
programme et les données. mémoire de
programme de
données
 Conséquences
RAM
 Augmentation ROM FFh

de l'espace d'adressage.
FF0h
 Protection de l’espace Vecteurs de
programme contre les reset et
d’interruptions FFFh
destructions accidentelles.
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
32

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 32


Systèmes Embarqués à Microcontrôleurs

 Il est possible de connecter +eurs boîtiers


mémoire sur un même bus grâce à CS.
 Le pin CS du circuit sélectionné devient actif
(état bas) et les broches de données des circuits
exclus passent à l'état de haute impédance.
 Le boîtier à sélectionner est celui dont la zone
mémoire comprend l’adresse en cours.
 Problème : Quelle zone mémoire pour quel
boîtier?
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
33

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 33


Systèmes Embarqués à Microcontrôleurs

 Capacité chacun (8 Ko), Bus d'adresses de 16 bits.

Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI


34

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 34


Systèmes Embarqués à Microcontrôleurs

Mémoire A15 A14 A13 A12…A0 Plage


d'adresses

0…0 2000H
Mémoire 1 0 0 1
1…1 3FFFH
0…0 4000H
Mémoire 2 0 1 0
1…1 5FFFH
0…0 8000H
Mémoire 3 1 0 0
1…1 9FFFH

Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI


35

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 35


Systèmes Embarqués à Microcontrôleurs

Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI


36

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 36


Systèmes Embarqués à Microcontrôleurs

 Décodeur 3 vers 8 (pour 8 boîtiers de 8Ko : 64Ko)

Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI


37

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 37


Systèmes Embarqués à Microcontrôleurs

Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI


38

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 38


Systèmes Embarqués à Microcontrôleurs

Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI


39

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 39


Systèmes Embarqués à Microcontrôleurs

 Entrées :
 Senseurs/Capteurs (température, microphone,
caméra…)
 Mécanismes de commande (clavier, interrupteurs,
levier...)
 Sorties :
 Eléments de signalisation (Ecran, Led, haut-
parleur...)
 Actionneurs (moteurs…)
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
40

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 40


Systèmes Embarqués à Microcontrôleurs

 Interfaces avec le monde extérieur asynchrone


(capteurs/actionneurs, PC ou un autre SE).
 4 types d’interfaces :
 Parallèle
 Série
 Réseau
 Radio

Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI


41

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 41


Systèmes Embarqués à Microcontrôleurs

 Permet d'échanger des données bit par bit via 2 fils


(émission/réception)Vitesse faible.
 Fonctionne selon 2 types de transmission :
 Asynchrone : Durée non déterminée entre un octet et le
suivant.
 Synchrone : Octets transmis par blocs séparés par des
octets de synchronisation.
 Exemples : RS-232 (19.2 Kbps), 1-wire (100 kbps),
USB 3.0 (5 Gbps), Fibre Channel (cuivre : 4 Gbps,
fibre : 10.52 Gbps).
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
42

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 42


Systèmes Embarqués à Microcontrôleurs

 Transfère simultanément les bits de données


échangées entre le UC (μc) et le monde extérieur.
 Informe sur les états logiques des capteurs en entrée et
transmet des signaux binaires en sortie.

 Exemples : IEEE 1284 (2 à 2.5 Mbps), GPIB (8


Mbps), PCI 32 bits (133 Mo/s), 64 bits (528 Mo/s).

 Possède plusieurs ports (3 en général) configurés en


entrée ou en sortie.
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
43

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 43


Systèmes Embarqués à Microcontrôleurs

 Un port possède en général 3 registres :


 Registre de direction : pour une configuration en
entrée ou en sortie.
 Registre de données (maximum 8 bits): indique les
états logiques de chaque broche du port.
 Registre d’option : pour plusieurs configurations en
entrée ou en sortie.

 Chacun de ces registres possède une adresse


dans l’espace d’adressage.
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
44

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 44


Systèmes Embarqués à Microcontrôleurs

 Interfaces réseau
 Réseaux locaux 1-wire CAN (33 kbps), Ethernet
(10/100/1000 Mbps) , RS-485 (35 Mbps).

 Interfaces radio
 WiFi / IEEE 802.11a/b/g (54 kbit/s), Cellulaire –
GPRS (9.05–21.4 kbps), Bluetooth / IEEE
802.15.1 (2.0 : 3 Mbps).
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
45

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 45


Systèmes Embarqués à Microcontrôleurs

 Sont constitués en général de :


 Temporisateur (timer) : un µc peut comprendre 1
ou +eurs timers.
 Convertisseur analogique numérique (ADC).
 Chien de garde (Watchdog).

Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI


46

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 46


Systèmes Embarqués à Microcontrôleurs

 Réalise les fonctions suivantes :


 Génération d’un signal périodique.
 Temporisation (mesurer des durées ou fréquences).
 Comptage d’événements…

 Possède des registres de configuration.

Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI


47

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 47


Systèmes Embarqués à Microcontrôleurs

 Transforme la tension analogique sur une entrée en


un nombre binaire.
 Possède +eurs entrées multiplexées accessibles via
des pins des ports.
 Possède en général 2 registres :
 Registre de données : Résultat de conversion.
 Registre de contrôle : Lancer et surveiller la conversion.

Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI


48

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 48


Systèmes Embarqués à Microcontrôleurs

 Est un système anti-plantage (détecte les erreurs


de fonctionnement du programme).
 Possède un compteur décrémenté régulièrement.
 Mode de fonctionnement :
 Activer le watchdog et précharger son compteur.
 Le rafraîchir régulièrement (dans la bonne partie du
programme).
 Un reset est généré si le compteur n’est pas réarmé
avant qu’il n’atteigne la valeur 0.
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
49

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 49


Systèmes Embarqués à Microcontrôleurs

 Coprocesseurs autres que l’unité centrale


(CPU) utilisés en cas de complexité pour
accélérer le traitement ou minimiser la
consommation.
 Coprocesseur arithmétique
 Processeur vocal (synthèse/reconnaissance)
 Processeur graphique (affichage)
 Décodeur MP3,
 Filtre…
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
50

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 50


Systèmes Embarqués à Microcontrôleurs

 Processeur d'usage général/µprocesseur (Pentium)


 Versions Intel : Atom (<10W), EP580379 (cœur IA-32,
Pentium M), Core 2 Duo Mobile, Core 2 ULV (<10W).
 Processeur mono-tâches : coprocesseur
 Exécuter 1 seul prog. (sans mémoire de programme).
 P. spécifique : trait. du signal, FPGA, µcontroleur…
 Programmable et optimisé (jeu d'instructions, chemin de
données…) pour des applications spécifiques.
 Choix selon le besoin, parfois +eurs proc. Combinés
(GSM : communic.+multimedia, circuit OMAP)
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
51

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 51


Systèmes Embarqués à Microcontrôleurs

 Microcontrôleur (μc)?
 Circuit intégré logique (transistors) programmable.
 Possède des circuits d’interface intégrés avec le
monde extérieur.
 Système complet (microprocesseur + mémoires +
interfaces d’E/S + périphériques intégrés).
 Utilité : Produire des systèmes programmables
(intelligents) utilisant des applications
domestiques ou industrielles (faible puissance
de calcul+peu de composants)
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
52

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 52


Systèmes Embarqués à Microcontrôleurs

 Encombrement réduit.
 Fiabilité (circuit imprimé peu complexe).
 Faible consommation (technologies
d’intégration MOS, CMOS et HCMOS).
 Coût réduit.
 Environnement de programmation et de
simulation évolués.

Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI


53

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 53


Systèmes Embarqués à Microcontrôleurs

 Matériel adapté pour le développement et


donc investissement.

 Outils de développement parfois non adaptés


pour des µcs de même constructeur.

 Nature du µc ne répondant pas parfois aux


besoins imprévus de l’application.
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
54

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 54


Systèmes Embarqués à Microcontrôleurs

ROM/EPROM/Flash
Constructeur

Architecture
Référence

EEPROM
Vitesse

Timer
RAM
8051 Intel 12 MHZ 128 o 4Ko - 2 -
16C71 Microchip 20 MHZ 36 o 1Ko*14 - 1 RISC
6805 S2 Motorola 4 MHZ 64 o 1Ko - 2 -
68HC11A1 Motorola 8 MHZ 256 o - 512 o 1 Etendu
AT90S8515 Atmel 20 MHZ 512 o 4Ko 512 o 3 RISC
ST6265 ST 8 MHZ 128 o 4Ko 64 o 2 -
ST72251 ST 16 MHZ 36 o 1Ko*14 - 2 RISC

Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI


55

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 55


Systèmes Embarqués à Microcontrôleurs

 Sont des fils véhiculant une information binaire


(0/1)

 Bus d'adresses : constitué en général de 16 fils (64 ko).


 Bus de données : constitué en général de 8 à 16 fils
 μc 8 ou 16 bits.
 Bus de contrôle : contient des fils de lecture, écriture…

Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI


56

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 56


Systèmes Embarqués à Microcontrôleurs

 Description et schéma fonctionnel


 Structure et registres interne
 Espace mémoire
 Modes d'adressage
 Utilisation de la pile
 Types, caractéristiques et modes d’interruptions
 Contrôleur d’horloge
 Types de reset
 Manipulation des périphériques intégrés
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
57

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 57


Systèmes Embarqués à Microcontrôleurs

 Plus de 50 microcontrôleurs 8 bits.

 Répartis en 16 packages.

 Constitués de 16 à 128 broches.

Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI


58

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 58


Systèmes Embarqués à Microcontrôleurs

 1 CPU 8 bits,
 RAM (128 à 5Ko), ROM/OTP/Flash (1 à 60Ko : mémoire
programme), EPROM (4 Ko), EEPROM (128 octets),
 1 pile,
 1 chien de garde numérique,
 1 timer 16 bits,
 1 convertisseur analogique numérique (A/D converter),
 2 interfaces série : asynchrone (SCI) & synchrone (SPI),
 1 oscillateur interne RC,
 1 I²C (interface entre le µc et le bus série I²C : convertit un mot
parallèle en série ou l'inverse),
 1 CAN(Controller Area Network: intégrer le µC dans un réseau CAN)
 1 USB…
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
59

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 59


Systèmes Embarqués à Microcontrôleurs

Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI


60

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 60


Systèmes Embarqués à Microcontrôleurs

Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI


61

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 61


Systèmes Embarqués à Microcontrôleurs

 Accumulateur "A" (8 bits) :


 Contient la 1ère opérande puis le résultat final
d’une opération.
 Pointeurs d'index "X" et "Y" (8 bits)
 Contiennent des offset ou des données temporaires.
 Les instructions utilisant X sont plus rapides.
 Exemple : C[j]= B[i]
 LD X, i
 LD A, ([B], X)
 LD X, j
 LD ([C], X), A
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
62

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 62


Systèmes Embarqués à Microcontrôleurs

 Compteur de programme "PC" (16 bits : 64Ko de MP)


 Contient l'adresse de la prochaine instruction à exécuter.
 Sa valeur initiale est celle du vecteur reset (FFFE).

 Registre de pile "SP" (16 bits)


 Contient l'adresse de la prochaine case libre de la pile.
 RSP initialise SP selon le modèle de ST7.
 Les 8 bits de poids fort de SP sont fixés par le matériel.
 Exemple : LD A,S (l'octet de poids faible de SP).
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
63

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 63


Systèmes Embarqués à Microcontrôleurs

 Registre Code Condition : "CC" (8 bits)

 "C" (Carry) : retenue après ADD/ADC ou


SUB/SUBC).
 Exemple : 4B0+1856=1D06 (ADD : B0,56 puis ADC 4,18)
 "Z" (zéro) : résultat null.
 "N" (Negative) : résultat négatif.
 "I" (Interrupt mask) : masquage d'interruption (I=1).
 L'instruction SIM (RIM) active (désactive) le bit I.

 "H" (Half carry) : retenue entre le 4ème et 5ème bits d’un


octet (Codage BCD).
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
64

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 64


Systèmes Embarqués à Microcontrôleurs

 Le programme, les données et les périphériques


partagent l'espace d'adressage (0000H à FFFFH).
 Le programme est dans la ROM ou flash, les
données sont dans la RAM ou une mémoire non
volatile à semi-conducteurs.
 L’accès aux registres et l’exécution des
instructions accédant à la RAM0 sont rapides.
 La partie haute de la pile peut servir comme
RAM.
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
65

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 65


Systèmes Embarqués à Microcontrôleurs

Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI


66

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 66


Systèmes Embarqués à Microcontrôleurs

 Une instruction est constituée de :


Code opératoire (héxadécimal)

 Elle est codée sur 1 ou +ieurs octets en mémoire

Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI


67

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 67


Systèmes Embarqués à Microcontrôleurs

 Une phase prend 1 ou +ieurs cycles d'horloge (selon le


μp et l'instruction).
 Un cycle machine correspond à n états.
 Ex : Horloge à 5 MHz, T=0, 2µs, cycle machine=2 états,
l'instruction prenant 3 cycles machine dure 0,6µs.
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
68

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 68


Systèmes Embarqués à Microcontrôleurs

 Recherche
 Charger le contenu du PC dans le registre d'adresse
mémoire qui est relié au bus d'adresse;
 Demander à la mémoire de lire la donnée et de la
placer sur le bus de données (signal read memory);
 Transférer la valeur lue dans le registre d'instruction
et incrémenter ensuite PC.
 Décodage
 Traduire le code en une séquence de commandes et
envoyer les signaux correspondants à l'UAL.
 Exécution : Recherche des opérandes en
mémoire + exécution de l'opération.
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
69

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 69


Systèmes Embarqués à Microcontrôleurs

 L'instruction ne comporte pas d'opérande.

 Le code opératoire est suffisant pour


l'exécution.

 L'instruction est codée sur 1 octet.

 Exemples : INC A, DEC A, RCF, RSP, HALT,


WFI, TRAP, RET, IRET, SIM, RIM, PUSH A,
POP Y.
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
70

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 70


Systèmes Embarqués à Microcontrôleurs

 Permet de charger un registre interne avec


une valeur immédiatement fournie avec
l'instruction : Code opératoire Valeur

 LD A, #$55 a pour code hexadécimal A6 55.

 LD A, #%10 a pour code hexadécimal A6 02.

Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI


71

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 71


Systèmes Embarqués à Microcontrôleurs

 L'instruction fournit directement l'adresse de


l'opérande.
Code opératoire Adresse
 2 variantes : Court et Etendu (ou Long).
 La différence entre les deux réside dans le
nombre d'octets nécessaire pour coder l'adresse.
 LD A, $10 a pour code hexadécimal B6 10.
 LD A, $1234 a pour code hexadécimal B6 12 34.
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
72

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 72


Systèmes Embarqués à Microcontrôleurs

 Réservé pour les instructions de saut conditionnel.


 Permet de modifier la valeur du registre PC en lui
ajoutant un offset signé (de -127 à +128).
 2 variantes : Direct et Indirect.
 Mode direct : l'offset est fourni immédiatement
dans l'instruction.
JRA $11F1 (20 EF si PC=1102h).
 Mode indirect : le code opératoire est suivi d'une
adresse mémoire (codée sur un octet) contenant
l'offset.
JRA [$58] (92 20 58).
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
73

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 73


Systèmes Embarqués à Microcontrôleurs

 Adresse de l'opérande = contenu du registre


d'index (X ou Y) + offset.
 3 variantes : Sans offset, Court et Etendu.
 Mode sans offset : l'opérande est placé dans
l'adresse indiquée par le registre d'index (Accès
à la page zéro). LD A, (X) (F6)
 Mode court : code opératoire suivi d'un offset
sur 1 octet. LD A, ($23,X) (E6 23)
 Mode étendu : code opératoire suivi d'un offset
sur 2 octets. LD A, ($4523,X) (D6 45 23)
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
74

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 74


Systèmes Embarqués à Microcontrôleurs

 L'opérande est un pointeur.


 L'instruction est codée sur 3 octets.
 2 variantes : Court et Etendu.
 Mode court : adresse effective codée sur un octet.
LD A, [$23]
 Mode étendu : adresse effective codée sur deux
octets.
LD A, [$23.w]
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
75

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 75


Systèmes Embarqués à Microcontrôleurs

 Semblable au mode d'adressage indexé sauf que


l'offset est référencé par une adresse.
 2 variantes : Court et Etendu.
 Mode court : adresse effective codée sur un octet.
LD A, ([$23],X) (92 E6 23)
 Mode étendu : adresse effective codée sur deux
octets.
LD A, ([$23.w],X) (92 D6 23)
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
76

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 76


Systèmes Embarqués à Microcontrôleurs

 La pile commence à la plus grande adresse et va


vers la plus petite.
 PUSH (POP) permet d'empiler (dépiler) une
donnée.
 CALL (RET) empile (dépile et branche sur)
seulement l’adresse de retour.
 L'exécution du programme est arrêtée en cas de
débordement de pile.
 Le nombre des appels imbriqués de sous-routines
est limité par la taille de la pile.
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
77

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 77


Systèmes Embarqués à Microcontrôleurs

 Interruption (matérielle ou logicielle : Trap)


 Saut à un sous-programme provoqué par un évènement
extérieur (réception d'un caractère sur un port série,
touche du clavier enfoncée...) ou par un logiciel.
 Certaines interruptions sont générées par le μc (division
par zéro, circuit mémoire défectueux…)  arrêt du μc.
 Le déclenchement d’une interruption (IRET) empile
(dépile) les registres : PC, X, A, CC sauf Y.
 La routine d'interruption doit sauvegarder le registre
Y et le restituer avant le retour (IRET) s’il le faut.
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
78

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 78


Systèmes Embarqués à Microcontrôleurs

Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI


79

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 79


Systèmes Embarqués à Microcontrôleurs

 Certaines interruptions sont masquables par le flag de


masquage (1) : Trap et Reset sont non masquables.
 Chaque interruption a une priorité matérielle (haute si
l’adresse du vecteur d'interruption est grande) et peut
avoir une priorité logicielle par programmation.
 Lorsque +eurs interruptions surviennent à la fois, la +
prioritaire est traitée en 1er, les autres seront masquées.
 Une interruption en cours de traitement peut être
interrompue par une autre plus prioritaire.
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
80

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 80


Systèmes Embarqués à Microcontrôleurs

 Elles sont gérées par priorité matérielle.

 Une interruption n'est en général interrompue que


par une NMI (Non Masquable Interrupt).

 Une interruption peut aussi être interrompue par


une autre + prioritaire si le programmeur le veut.
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
81

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 81


Systèmes Embarqués à Microcontrôleurs

Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI


82

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 82


Systèmes Embarqués à Microcontrôleurs

 Elles sont classées par priorité logicielle puis


matérielle.

 Chaque interruption a une priorité logicielle


désignée par les bits I0 et I1 du registre ISPR.

 Il y a 4 niveaux de priorité logicielle (0 : 10, 1 : 01,


2 : 00, 3 : 11).

 Une interruption peut être interrompue par une


interruption NMI ou de priorité logicielle plus
élevée.
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
83

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 83


Systèmes Embarqués à Microcontrôleurs

Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI


84

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 84


Systèmes Embarqués à Microcontrôleurs

 Le bit I du CC doit être


désactivé.
 Le bit autorisant le mode
d'interruption dans le
registre de contrôle du
périphérique doit être
activé.
 L'événement prévu
survient et le flag associé
est activé.
 Le contexte est changé et
la routine d'interruption
est exécutée.
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
85

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 85


Systèmes Embarqués à Microcontrôleurs

.Main

BSET Control_reg, #IT_enable ; autorise l'interruption
RIM ; met le bit I à 0

.Int_routine

BRES Status_reg, #IT_flag ; sinon la même interruption
; sera appelée infiniment
IRET ; Retour de l'interruption
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
86

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 86


Systèmes Embarqués à Microcontrôleurs

Interruption Adresse du vecteur


FFE0-FFE1h
FFE2-FFE3h
I2c FFE4-FFE5h
FFE6-FFE7h
FFE8-FFE9h
FFEA-FFEBh
FFEC-FFEDh
timer B FFEE-FFEFh
FFF0-FFF1h
timer A FFF2-FFF3h
SPI FFF4-FFF5h
FFF6-FFF7h
ext1 FFF8-FFF9h
ext0 FFFA-FFFBh
Software FFFC-FFFDh
Reset FFFE-FFFFh
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
87

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 87


Systèmes Embarqués à Microcontrôleurs

Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI


88

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 88


Systèmes Embarqués à Microcontrôleurs

 Reset externe utilisant la broche reset


 Survient quand le pull de la broche reset est à l'état bas.

 Reset interne de mise sous tension


 Survient quand Vcc atteint Vcc min.
 Maintient le μcontrôleur dans un état connu  Vcc.

 Reset interne du watchdog


 Survient quand le registre du watchdog n'est pas
rafraîchi (rechargé).
 Garantit la fiabilité en cas d'erreurs logicielles.
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
89

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 89


Systèmes Embarqués à Microcontrôleurs

 Le registre MISCR/Prédivision
 Les ports d’E/S
 Le Watchdog
 Les Timers
 Le ADC

Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI


90

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 90


Systèmes Embarqués à Microcontrôleurs

 Le noyau de ST7 est cadencé par une horloge


interne provenant de la division de la fosc.
 La prédivision favorise un compromis entre
vitesse et consommation.
 La prédivision se fait par programmation du
registre MISCR.

Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI


91

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 91


Systèmes Embarqués à Microcontrôleurs

PSM1 PSM2 SMS Signification


bit2 bit1 bit0

0 0 0 Mode normal (/2)


0 1 1 Mode lent (/4)
1 0 1 Mode lent (/8)
1 1 1 Mode lent(/16)

Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI


92

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 92


Systèmes Embarqués à Microcontrôleurs

 Chaque pin peut être configuré individuellement en


entrée ou en sortie suivant différentes technologies.
 Le port est configuré via ses registres DDR et OR.

 L’état logique du port est indiqué par le registre DR.

 Les registres des ports sont 8 bits (chaque bitx est


associé au pinx).

Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI


93

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 93


Systèmes Embarqués à Microcontrôleurs

Port Configuration d'entrée Configuration de sortie (DDR=1)


(DDR=0)
OR = 0 OR = 1 OR = 0 OR = 1
Port A : Flottant Flottant avec Drain ouvert, (Option
PA0-PA7 interruption fort courant interdite)
Port B : Flottant Pull-up avec Drain ouvert symétrique
PB0-PB7 interruption
Port C : Flottant Pull-up avec Drain ouvert symétrique
PC0-PC5 interruption

Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI


94

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 94


Systèmes Embarqués à Microcontrôleurs

Port Adresses des registres Valeurs Reset


DR DDR OR DR DDR OR
C 0000h 0001h 0002h 00h 00h 00h

B 0004h 0005h 0006h 00h 00h 00h

A 0008h 0009h 000Ah 00h 00h 00h

Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI


95

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 95


Systèmes Embarqués à Microcontrôleurs

 Le watchdog est commandé par le registre WDGCR.


Bits Description
0-5 déterminent la durée du timer (décrémenté tout
les 12228 cycles d'horloge  1,5ms à pleine
vitesse).  Durée maximale  100 ms (63*1,5).
6 Doit être maintenu à 1 sinon, il génère un reset si
le bit 7 = 1
7 A 1 active le watchdog qui ne peut plus être
désactivé.
 Il peut être activé de façon matérielle (dès la mise
sous tension) ou logicielle (bit 7=1).
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
96

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 96


Systèmes Embarqués à Microcontrôleurs

 ST72251 possède 2 timers 16 bits A et B.


 Chaque timer est utilisé via son compteur perpétuel
ou ses fonctions de capture et de comparaison.
 Chaque timer possède :
 3 registres de contrôle 8 bits (TACR2, TACR1 et TASR).
 6 registres de données 16 bits (TACR, TAACR, TAIC1R,
TAIC2R, TAOC1R et TAOC2R).
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
97

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 97


Systèmes Embarqués à Microcontrôleurs

 Sont des registres 8 bits

 TACR2 (031h) et TACR1 (032h) : configurer le


mode de fonctionnement du temporisateur.

 TASR (033h) : surveiller le mode de fonctionnement


du temporisateur.

Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI


98

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 98


Systèmes Embarqués à Microcontrôleurs

 Sont des registres 16 bits


 TACR (038h) : comptage
 Incrémenté à chaque période d'horloge du Timer.
 TACHR et TACLR (octets de poids fort et faible).
 Toute écriture dans ce registre le remet à sa valeur de
reset 0FCh.
 TAACR (03ah) : comptage alternatif
 sa lecture ne remet pas le bit TOF (bit 5 de TASR) à 0.
 TAICiR et TAOCiR : capture et comparaison.
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
99

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 99


Systèmes Embarqués à Microcontrôleurs

 Utilisé via les registres de contrôle + TACR ou


TAACR.
 Lorsqu'il y a débordement :
 TOF = 1 + interruption si TACR1 l'autorise.
 Pour désactiver TOF :
 lire TACLR si les interruptions ne sont pas utilisées.
 ou lire TASR puis lire ou écrire dans TACLR si
l'interruption 'Time Overflow' est autorisée.
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
100

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 100


Systèmes Embarqués à Microcontrôleurs

 Gérées via les bits 5, 6 et 7 de TACR1 :


Bit Nom RÔLE

5 TOIE Autorise (1) ou interdit (0) une interruption en


cas du débordement du compteur (TOF=1).
6 OCIE Autorise (1) ou interdit (0) une interruption au
cas où la comparaison 1 ou 2 réussie (OCFi=1).
7 ICIE Autorise (1) ou interdit (0) une interruption au
cas où la capture 1 ou 2 réussie (ICFi=1).
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
101

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 101


Systèmes Embarqués à Microcontrôleurs

 2 canaux (1 et 2) : TAIC1R (034h) et TAIC2R (03ch)


 Transition
 Front montant ou déscendant selon le bit IEDGi (1) de
TACRi.
 A chaque transition du pin ICAPi (PB0&PB2), la
capture i copie la valeur du compteur incrémentée de
1 dans TAICiR.
 Le pin ICAPi doit être configuré en entrée.
 Quand la capture se produit, le bit ICFi (1) de TASR est
mis à 1 et une interruption peut être générée.
 Pour désactiver ICFi, il faut lire d'abord TASR puis lire ou
écrire dans TAICiLR.
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
102

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 102


Systèmes Embarqués à Microcontrôleurs

 2 canaux (1 et 2) : TAOC1R ((036h) et


TAOC2R (03eh).
 la comparaison i compare en permanence la
valeur du compteur à la valeur de TAOCiR.
 Quand la comparaison se produit (valeur du
compteur = valeur de TAOCiR), le bit OCF1
(6) de TASR est mis à 1.
 Pour désactiver OCF1, il faut lire d'abord
TASR puis lire ou écrire dans TAOC1LR.
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
103

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 103


Systèmes Embarqués à Microcontrôleurs

 L’entrée analogique provient d’un multiplexage


des pins des ports A et C.
 Pour configurer l’un de ces pins en analogique, il
faut positionner à 0 les bits correspondants de
DDR et OR.
 Ne pas configurer simultanément plusieurs pins en
entrée analogique (court-circuit).
 L’ADC possède 2 registres :
 ADCSR (en 71h) : pilote la conversion.
 ADCDR (en 70h) : contient le résultat de conversion.
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
104

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 104


Systèmes Embarqués à Microcontrôleurs

Bit Nom RÔLE


0-2 CH[0:2] Indiquent l'entrée analogique (pin)
sélectionnée.
3 - Doit être toujours mis à 0.
4 - Fixé par le matériel à 0.
5 ADON A 1, il active le ADC qui a besoin de 30µs
pour se stabiliser.
6 - Doit être toujours mis à 0.
7 COCO Indique la fin de la conversion lorsqu'il est à 1.
Pour le désactiver, il faut lire ADCDR ou
écrire dans ADCSR.
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
105

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 105


Systèmes Embarqués à Microcontrôleurs

PIN CH2 CH1 CH0


0 0 0 0
1 0 0 1
2 0 1 0
3 0 1 1
4 1 0 0
5 1 0 1
6 1 1 0
7 1 1 1
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
106

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 106


Systèmes Embarqués à Microcontrôleurs

 Pour utiliser le ADC :


 Activer d’abord ADC (ADON = 1)
 Sélectionner l'entrée analogique (CH[0:2])
 Attendre 30 µs (le stabiliser) si l'on vient de l'activer.
 Lire le résultat dans ADCDR quand COCO = 1.
 Lire ADCDR pour désactiver COCO.
 La conversion est répétée tous les 64 cycles
d'horloge interne.
 Une écriture dans ADCSR arrête la conversion en
cours (COCO=0) et déclenche une autre.
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
107

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 107


Systèmes Embarqués à Microcontrôleurs

 Résultat ?
 = (Tension analogique à l'entrée / Tension d'alimentation
de référence) * 255
 La tension à convertir doit être comprise entre 0V et VR
(5V ou 5.5 V).
 Si > VR, résultat = 255.
 Si < 0V, résultat = 0.
 Temps de conversion ? 8 µs à la vitesse max (16MHz/2).
 = 32 * Période de l’horloge du convertisseur.
 = 64 * Période de l’horloge interne.
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
108

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 108


Systèmes Embarqués à Microcontrôleurs

 Développement et mise au point


 L’émulateur et le simulateur
 Le choix du langage
 La chaîne de développement ST7
 Programmation en assembleur
 Exemple de programme
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
109

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 109


Systèmes Embarqués à Microcontrôleurs

 Ils passent par les étapes suivantes :


 Edition : saisie du programme après le choix du µc.
 Assemblage ou compilation : traduction en langage
machine.
 Simulation ou émulation : Vérification du
fonctionnement du programme.
 Programmation : chargement du programme en mémoire
programme du µc.
 Tests : vérification du fonctionnement dans
l’environnement du µc.
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
110

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 110


Systèmes Embarqués à Microcontrôleurs

 Emulateur
 Carte électronique branchée sur la maquette de
l’application.
 Possède un connecteur compatible avec le µc à émuler
+ connexion (en général RS232) branchée au PC.
 Piloté par un logiciel, il remplace le µc pour détecter les
bugs éventuels du programme.
 Vérification rapide, coût élevé.
 Simulateur
 Logiciel qui reproduit le fonctionnement d’un µc.
 - coûteux, - efficace pour des applications avec E/S et
temporisation.
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
111

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 111


Systèmes Embarqués à Microcontrôleurs

 Quel langage utiliser, assembleur ou évolué?

 Les deux sont possibles dans le cas de ST7.


 Le langage évolué convient pour des calculs
complexes.
 L’assembleur convient dans le cas d’E/S ou
d’usage de registres.
 Le code source est dit listing, l’assemblage ou
compilation produisent le code binaire objet.
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
112

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 112


Systèmes Embarqués à Microcontrôleurs

 L'assembleur (asm.exe)
 Génère à partir des sources des .obj +Un .lst (si –li).
 L'éditeur de liens (lyn.exe)
 Génère à partir des .obj les fichiers :
 .cod : fichier exécutable
 .grp : définition de la mémoire et du programme utilisés.
 .map : fichier de paramètres et de mapping (@ de segments,
variables et informations pour le débogage).
 .sym : table des symboles.

 OBSEND
 Génère à partir du .cod un fichier de format
héxadécimal au choix (ex : .s19 motorola).
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
113

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 113


Systèmes Embarqués à Microcontrôleurs

 63 instructions réparties en 13 groupes principaux.


 Format :

 Instructions de transfert des données et de remise à


zéro
 Chargement et sauvegarde des registres internes du μp.
 LD, CLR.
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
114

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 114


Systèmes Embarqués à Microcontrôleurs

 Instructions arithmétiques
 Fonctions arithmétiques classiques.
 ADD, ADC, SUB, MUL, SBC.

 Instructions logiques
 Opérations logiques.
 AND, OR, XOR, CPL, NEG.

 Instructions d'incrémentation/décrémentation
 INC, DEC.
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
115

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 115


Systèmes Embarqués à Microcontrôleurs

 Instructions de comparaison
 Réalisation des comparaisons.
 CP, TNZ (saut si négatif et zéro), BCP (bits).
 A l'issue de ces opérations les indicateurs “Z” et
“C” sont positionnés.

 Instructions de rotations et décalage


 Décalage vers la gauche d'un mot binaire, bit à bit.
 SLL/SRL (0), RLC/RRC (C), SRA/SLA (A7),
SWAP (quartets).
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
116

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 116


Systèmes Embarqués à Microcontrôleurs

 Instructions de tests et de branchements


conditionnels
 réalisation des branchements conditionnels, à partir de
tests effectués sur les indicateurs ou le bit d'une
mémoire.
 JRxx (JREQ…), BTJT, BTJF.

 Instructions de saut inconditionnels et d'appel de


sous programmes
 Ruptures de séquence, sans conditions préalables.
 Certaines entraînent une sauvegarde du contexte.
 JRA (relatif), JRT, JRF, JP, CALL, CALLR, NOP, RET.
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
117

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 117


Systèmes Embarqués à Microcontrôleurs

 Instructions de positionnement de bits


 Mise à 0 ou à 1 du bit du rang et du registre
spécifiés.
 BSET, BRES.
 Instructions d'opérations sur la pile
 PUSH, POP, RSP.

 Instructions de gestion d'interruptions


 TRAP, WFI (attendre Int), HALT, IRET.

 Instructions de modification des flag du CC


 SIM, RIM, SCF, RCF.
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
118

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 118


Systèmes Embarqués à Microcontrôleurs

 Edition
 Utiliser un éditeur de texte comme EDIT.COM.
 Choisir un nom de fichier avec l'extension ".asm".
 Format du code source en assembleur
 1ère ligne réservée pour spécifier le chemin du fichier
"*.tab".
ex : c:\st7tools\asm\st7\
 Toute autre ligne a en général la syntaxe suivante :
[label[:]] [opcode] [operand] [;comment]
début : ld A, #$12 ;charge 12h dans l'accumulateur
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
119

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 119


Systèmes Embarqués à Microcontrôleurs

 Constitué dans l’ordre de :


 Directives d’assemblage.
 Déclaration de constantes.
 Déclaration de variables (zones de la mémoire de
données).
 Sous-routines.
 Programme principal.
 Sous-routines d’interruption.

Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI


120

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 120


Systèmes Embarqués à Microcontrôleurs

 TITLE "titre"
 Indique le titre du projet de programmation dans le
listing.
 MOTOROLA
 Adopte la représentation des nombres de Motorola
(% : binaire; ~ : octal; $ : hexadécimal).
 Autres : Intel, Texas, Zilog.
 #INCLUDE "fich_asm"
 Inclut un autre fichier assembleur.
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
121

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 121


Systèmes Embarqués à Microcontrôleurs

 #DEFINE sym valeur


 Définit un symbole comme chaîne de caractère.

 BYTES
 Définit la longueur des labels qui suivent comme
égale à un octet (en page zéro).
 Autres : WORDS (2 octets : mémoire étendu),
LONGS (label doit être défini par EQU).
 Pour changer la longueur par défaut, faire suivre le
label d'un suffixe .b, .w ou .l.
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
122

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 122


Systèmes Embarqués à Microcontrôleurs

 SEGMENT
[nom] SEGMENT [@_Départ] [Option_combin] 'Classe'
 Attribue un bloc d'instructions ou de données à un
segment.
 @_Départ : Byte (placement libre), Word (multiple de
2), Long (*4), Para (*16), 64 (*64), 128 (*128), Page
(*256), 1K (*1024), 4K (*4096).
 Option_combin : aucun (mis à la suite des autres
segments), AT @_départ-@_fin, Common (superposé
à ceux de mêmes nom et classe).
 Classe (zone d'espace mémoire) : ROM, RAM0, RAM,
Stack, IO.
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
123

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 123


Systèmes Embarqués à Microcontrôleurs

 EQU (label EQU valeur)


 Définit un symbole.

 DC.B (label DC.B valeur ou liste_valeurs)


 Définit une (des) constante (s) codées sur un octet.
 Autres : DC.W (1 mot), DC.L (2 mots).

 STRING (label STRING "chaîne" ou Liste


ASCII)
 Définit une chaîne de caractères.
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
124

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 124


Systèmes Embarqués à Microcontrôleurs

 DS.B (label DS.B valeur)


 Déclare une variable ou un tableau d’un nombre
d’éléments égal à valeur, codés chacun sur un octet.
 Autres : DS.W (mots), DS.L (doubles mots).
 #IFDEF (#IFDEF sym …#ELSE …#ENDIF)
 Vérifie si un symbole a été défini par (#DEFINE).
 Permet de réaliser un assemblage conditionnel.
*
 indique la valeur du registre PC.
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
125

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 125


Systèmes Embarqués à Microcontrôleurs

 MACRO (nom MACRO [Liste_Paramètres])


 Définit une macro.
 MEND
 Indique la fin du bloc d'instructions d'une macro.
 LOCAL (LOCAL symbol)
 Définit un label local (Eviter des duplications).
 #IFB (#IFB arg …#ELSE …#ENDIF)
 Définit le traitement à faire si un argument manque.
 #IFLAB (#IFLAB arg …#ELSE …#ENDIF)
 Vérifie si 1 argument est un label (sinon utiliser #arg).
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
126

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 126


Systèmes Embarqués à Microcontrôleurs

 st7/ ; Spécifie l'ensemble d'instructions du processeur cible.


 ;********************************************************
 ;* EXEMPLE : INTERFACE PARALLELE DU ST72251 *
 ;* UTILISATION DES PORTS D'ENTREE/SORTIE *
 ;********************************************************
 ;*FICHIER : Exemple.asm DATE : 22/10/05 *
 ;********************************************************
 TITLE "Commande du port B via PC5 : Exemple.ASM"
 MOTOROLA ;Adopte Motorola comme format de représentation
 ;des nombres.
 ;********************************************************
 ;* INCLUSION DE FICHIERS *
 ;********************************************************
 #INCLUDE "st72251.inc" ; Inclut le fichier de déclaration des
; registres st72251 comme externe
 ;********************************************************
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
127

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 127


Systèmes Embarqués à Microcontrôleurs

 ;***************************************************
 ;* DEFINITION DE SYMBOLES *
 ;***************************************************
 #define bit5 5 ; Bit correspondant au pin 5.
 #define bit3 3 ; Bit correspondant au pin 3.
 ;***************************************************
 ;* R0M SEGMENT *
 ;***************************************************
 WORDS ; La longeur des adresses ci_dessous est 16 bits.
 segment 'rom'
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
128

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 128


Systèmes Embarqués à Microcontrôleurs

 ;Code du programme**********************************

 ;**************************************************
 ;* ROUTINE PRINCIPALE MAIN *
 ;**************************************************
 .main
 ; Initialisation
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 BRES PCDDR,#bit5 ;Pin 5 du Port C en entrée
 BRES PCOR ,#bit5 ;Sans pull-up ni interruption.

 BSET PBDDR,#bit3 ;Pin 3 du Port B en sortie


 BSET PBOR ,#bit3 ;Symétrique.
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
129

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 129


Systèmes Embarqués à Microcontrôleurs

 ; Boucle principale~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 .loop
 LD A,PCDR
 AND A,#%00100000; Masquage de tous les bits sauf le bit 5.
 RRC A ; Rotation à droite 2 fois pour obtenir
 RRC A ; le bit 5 sur le bit 3.
 LD PBDR,A ; Copie l'état de PC5 sur le port B.
 NOP ; Attente pendant 2 cycles (0.5 µs
 ; pour un quartz de 8 MHZ).
 JP loop ;Retour à loop.

Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI


130

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 130


Systèmes Embarqués à Microcontrôleurs

 ***************************************************
 ;* SOUS-ROUTINES D'INTERRUPTION *
 ;**************************************************
 ; Routine dummy
 .dummy
 IRET ; Sous-routine vide qui retourne à main.
 ;**************************************************
 ;* SEGMENT DES VECTEURS D'INTERRUPTION *
 ;**************************************************
 segment 'vectit'
 ;**************************************************
 ;* MAPPING DES VECTEURS D'INTERRUPTION *
 ;**************************************************
 DC.W dummy ;FFE0-FFE1h location
 DC.W dummy ;FFE2-FFE3h location
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
131

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 131


Systèmes Embarqués à Microcontrôleurs

 .i2c_it DC.W dummy ;FFE4-FFE5h location


 DC.W dummy ;FFE6-FFE7h location
 DC.W dummy ;FFE8-FFE9h location
 DC.W dummy ;FFEA-FFEBh location
 DC.W dummy ;FFEC-FFEDh location
 .timb_it DC.W dummy ;FFEE-FFEFh location
 DC.W dummy ;FFF0-FFF1h location
 .tima_it DC.W dummy ;FFF2-FFF3h location
 .spi_it DC.W dummy ;FFF4-FFF5h location
 DC.W dummy ;FFF6-FFF7h location
 .ext1_it DC.W dummy ;FFF8-FFF9h location
 .ext0_it DC.W dummy ;FFFA-FFFBh location
 .softit DC.W dummy ;FFFC-FFFDh location
 .reset DC.W main ;FFFE-FFFFh location
 END
 ;***********************************END OF FILE ***
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
132

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 132


Systèmes Embarqués à Microcontrôleurs

 st7/
 ;*************************************************
 ; TITLE: ST72251.ASM
 ; AUTHOR: PPG Microcontroller Applications Team
 ; DESCRIPTION: ST72251 Register and memory mapping
 ;**************************************************
 BYTES ; following addresses are 8 bit length
 ;**************************************************
 segment byte at 0-71 'periph'
 ;**************************************************
 ;**************************************************
 ; I/O Ports registers
 ;**************************************************
 .PCDR DS.B 1 ; port C data register
 .PCDDR DS.B 1 ; port C data direction register
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
133

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 133


Systèmes Embarqués à Microcontrôleurs

 .PCOR DS.B 1 ; port C option register


 DS.B 1 ; not used
 .PBDR DS.B 1 ; port B data register
 .PBDDR DS.B 1 ; port B data direction register
 .PBOR DS.B 1 ; port B option register
 DS.B 1 ; not used
 .PADR DS.B 1 ; port A data register
 .PADDR DS.B 1 ; port A data direction register
 .PAOR DS.B 1 ; port A option register
 DS.B 1 ; not used
 reserved0 DS.B 20 ; unused
 ;*******************************************************
 ; Miscellaneous registers
 ;*******************************************************
 .MISCR DS.B 1 ; miscellaneous register
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
134

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 134


Systèmes Embarqués à Microcontrôleurs

 ; SPI registers
 ;**************************************************
 .SPIDR DS.B 1 ; SPI data register
 .SPICR DS.B 1 ; SPI control register
 .SPISR DS.B 1 ; SPI status register
 ;**************************************************
 ; Watchdog register
 ;**************************************************
 .WDGCR DS.B 1 ; watchdog register
 reserved1 DS.B 3 ; unused
 ;**************************************************
 ; I2C registers
 ;**************************************************
 .I2CCR DS.B 1 ; i2c control register
 .I2CSR1 DS.B 1 ; i2c status register 1
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
135

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 135


Systèmes Embarqués à Microcontrôleurs

 .I2CSR2 DS.B 1 ; i2c status register 2


 .I2CCCR DS.B 1 ; i2c clock control register
 .I2COAR1 DS.B 1 ; i2c own add register 1
 .I2COAR2 DS.B 1 ; i2c own add register 2
 .I2CDR DS.B 1 ; i2c data register
 reserved3 DS.B 2 ; unused
 ;****************************************************
 ; timer A registers
 ;****************************************************
 .TACR2 DS.B 1 ; timer A control register 2
 .TACR1 DS.B 1 ; timer A control register 1
 .TASR DS.B 1 ; timer status register
 .TAIC1HR DS.B 1 ; timer A input capture 1 high register
 .TAIC1LR DS.B 1 ; timer A input capture 1 low register
 .TAOC1HR DS.B 1 ; timer A output compare 1 high register
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
136

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 136


Systèmes Embarqués à Microcontrôleurs

 .TAOC1LR DS.B 1 ; timer A output compare 1 low register


 .TACHR DS.B 1 ; timer A counter high register
 .TACLR DS.B 1 ; timer A counter low register
 .TAACHR DS.B 1 ; timer A alternate counter high register
 .TAACLR DS.B 1 ; timer A alternate counter low register
 .TAIC2HR DS.B 1 ; timer A input capture 2 high register
 .TAIC2LR DS.B 1 ; timer A input capture 2 low register
 .TAOC2HR DS.B 1 ; timer A output compare 2 high register
 .TAOC2LR DS.B 1 ; timer A output compare 2 low register
 reserved4 DS.B 1 ; unused
 ;*****************************************************
 ; timer B registers
 ;*****************************************************
 .TBCR2 DS.B 1 ; timer B control register 2
 .TBCR1 DS.B 1 ; timer B control register 1
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
137

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 137


Systèmes Embarqués à Microcontrôleurs

 .TBSR DS.B 1 ; timer B status register


 .TBIC1HR DS.B 1 ; timer B input capture 1 high register
 .TBIC1LR DS.B 1 ; timer B input capture 1 low register
 .TBOC1HR DS.B 1 ; timer B output compare 1 high register
 .TBOC1LR DS.B 1 ; timer B output compare 1 low register
 .TBCHR DS.B 1 ; timer B counter high register
 .TBCLR DS.B 1 ; timer B counter low register
 .TBACHR DS.B 1 ; timer B alternate counter high register
 .TBACLR DS.B 1 ; timer B alternate counter low register
 .TBIC2HR DS.B 1 ; timer B input capture 2 high register
 .TBIC2LR DS.B 1 ; timer B input capture 2 low register
 .TBOC2HR DS.B 1 ; timer B output compare 2 high register
 .TBOC2LR DS.B 1 ; timer B output compare 2 low register
 reserved5 DS.B 32 ; unused
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
138

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 138


Systèmes Embarqués à Microcontrôleurs

 ;**************************************************
; ADC registers
 ;**************************************************

 .ADCDR DS.B 1 ; adc data register


 .ADCCSR DS.B 1 ; adc control status register
 ; DS.B 14
 ;**************************************************

Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI


139

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 139


Systèmes Embarqués à Microcontrôleurs

 segment byte at 80-FF 'ram0' ;Zero Page


 ;**************************************************
 WORDS ; following addresses are 16 bit length
 ;**************************************************
 segment byte at 100-13F 'ram1'
 ;**************************************************
 segment byte at 140-17F 'stack'
 ;**************************************************
 segment byte at E000-FFDF 'rom'
 ;**************************************************
 segment byte at FFE0-FFFF 'vectit'
 ;**************************************************
 end
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
140

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 140


Systèmes Embarqués à Microcontrôleurs

 ;**************************************************
 ; TITLE: ST72251.INC
 ; AUTHOR: PPG Microcontroller Applications Team
 ; DESCRIPTION: ST72251 Register and memory mapping
 ;**************************************************
 EXTERN PCDR.b ; port C data register
 EXTERN PCDDR.b ; port C data direction register
 EXTERN PCOR.b ; port C option register
 EXTERN PBDR.b ; port B data register
 EXTERN PBDDR.b ; port B data direction register
 EXTERN PBOR.b ; port B option register
 EXTERN PADR.b ; port A data register
 EXTERN PADDR.b ; port A data direction register
 EXTERN PAOR.b ; port A option register
 ;**************************************************
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
141

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 141


Systèmes Embarqués à Microcontrôleurs

 ; Miscellaneous registers
 ;**************************************************
 EXTERN MISCR.b ; miscellaneous register
 ;**************************************************
 ; SPI registers
 ;**************************************************
 EXTERN SPIDR.b ; SPI data register
 EXTERN SPICR.b ; SPI control register
 EXTERN SPISR.b ; SPI status register
 ;**************************************************
 ; Watchdog register
 ;**************************************************
 EXTERN WDGCR.b ; watchdog register
 ;**************************************************
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
142

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 142


Systèmes Embarqués à Microcontrôleurs

 ; I2C registers
 ;**************************************************
 EXTERN I2CCR.b ; i2c control register
 EXTERN I2CSR1.b ; i2c status register 1
 EXTERN I2CSR2.b ; i2c status register 2
 EXTERN I2CCCR.b ; i2c clock control register
 EXTERN I2COAR1.b ; i2c own add register 1
 EXTERN I2COAR2.b ; i2c own add register 2
 EXTERN I2CDR.b ; i2c data register
 ;**************************************************
 ; timer A registers
 ;**************************************************
 EXTERN TACR2.b ; timer A control register 2
 EXTERN TACR1.b ; timer A control register 1
 EXTERN TASR.b ; timer status register
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
143

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 143


Systèmes Embarqués à Microcontrôleurs

 EXTERN TAIC1HR.b ; timer A input capture 1 high register


 EXTERN TAIC1LR.b ; timer A input capture 1 low register
 EXTERN TAOC1HR.b ; timer A output compare 1 high register
 EXTERN TAOC1LR.b ; timer A output compare 1 low register
 EXTERN TACHR.b ; timer A counter high register
 EXTERN TACLR.b ; timer A counter low register
 EXTERN TAACHR.b ; timer A alternate counter high register
 EXTERN TAACLR.b ; timer A alternate counter low register
 EXTERN TAIC2HR.b ; timer A input capture 2 high register
 EXTERN TAIC2LR.b ; timer A input capture 2 low register
 EXTERN TAOC2HR.b ; timer A output compare 2 high register
 EXTERN TAOC2LR.b ; timer A output compare 2 low register
 ;*******************************************************
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
144

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 144


Systèmes Embarqués à Microcontrôleurs

 ; timer B registers
 ;**************************************************
 EXTERN TBCR2.b ; timer B control register 2
 EXTERN TBCR1.b ; timer B control register 1
 EXTERN TBSR.b ; timer B status register
 EXTERN TBIC1HR.b ; timer B input capture 1 high register
 EXTERN TBIC1LR.b ; timer B input capture 1 low register
 EXTERN TBOC1HR.b ; timer B output compare 1 high
register
 EXTERN TBOC1LR.b ; timer B output compare 1 low register
 EXTERN TBCHR.b ; timer B counter high register
 EXTERN TBCLR.b ; timer B counter low register
 EXTERN TBACHR.b ; timer B alternate counter high register
 EXTERN TBACLR.b ; timer B alternate counter low register
 EXTERN TBIC2HR.b ; timer B input capture 2 high register
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
145

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 145


Systèmes Embarqués à Microcontrôleurs

 EXTERN TBIC2LR.b ; timer B input capture 2 low register


 EXTERN TBOC2HR.b ; timer B output compare 2 high register
 EXTERN TBOC2LR.b ; timer B output compare 2 low register

 ;**************************************************
; ADC registers
 ;**************************************************
 EXTERN ADCDR.b ; adc data register
 EXTERN ADCCSR.b ; adc control status register

Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI


146

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 146


Systèmes Embarqués à Microcontrôleurs

 Créer un projet :
 File>New workspace...>Create workspace and project
 Désigner les noms et emplacements du workspace
ainsi que le toolset et le µcontrôleur utilisé.
 Ajouter les fichiers nécessaires à “Source Files”,
“Include Files” et “External Dependencies” (bouton
droit>Add Files to Folder).
 Modifier la configuration (settings) si nécessaire.
 Compiler et commencer le débogage
 Workspace (.stw), Projet (.stp), Debug et Release (.exe).
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
147

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 147


Systèmes Embarqués à Microcontrôleurs

 [1] J.L. Grégoriadès, J.M. Delaplace. Les microcontrôleurs


ST7 : description et mise en œuvre. Editions Dunod, 1999
 [2] http://mcu.st.com/mcu/ : Site de STmicroelectronics sur
les microcontrôleurs ST…
 [3] http://mcu.st.com/mcu/modules.php?name=Training :
Site de formation ST7 en ligne
 [4] Daniel Etiemble. Introduction aux systèmes embarqués.
Univ. Paris Sud. http://www.techniques-ingenieur.fr/
 [5] Sébastien Roy. Systèmes embarqués et microcontrôleurs.
Design II. Univ. Laval. http://wcours.gel.ulaval.ca/
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI
148

Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 148