Post on 07-Sep-2019
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 1
Mme Fatima-Zahra BELOUADHAFilière Génie Informatique-EMI
Polycopié de cours
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 2
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI 2
INTRODUCTION AUX SYSTÈMES EMBARQUÉS
COMPOSANTS DES SYSTÈMES EMBARQUÉS
CAS DES MICROCONTROLEURS ST7
DÉVELOPPEMENT D’APPLICATIONS
EMBARQUÉES À BASE DE ST7
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 3
Définitions et domaines d’utilisationCaractéristiques et spécificitésArchitectures logiciellesCommunication via les NTIC
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI 3
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 4
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 5
Appareils ménagers,Appareils numériquesTransportRéseaux et télécommunicationContrôle de processus industrielsSystèmes d'alarmeOrdinateurs, tablettes…
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI 5
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 6
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 7
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 couteux).
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI 7
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 8
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 memes 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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 9
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 μcontroleurs 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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 10
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 11
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 12
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 13
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 14
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 15
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 16
Technologie des circuits
Architecture simple
Exemples typiques
Alimentation et horloge
Reset et controleur d’interruptions
Mémoires de programme et de données
Interfaces, périphériques et unités d’E/S
CPU/Microcontroleurs : exemples et types Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI 16
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 17
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 18
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 19
Système hôte
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI 19
CPUM
ém
oir
e
Actionneur
Interface d’entrée
Oscillateur
RESET
INT
Bus
Donnée
s – C
ontr
ôle
- Adre
sses
Interface de sortie
Capteur
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 20
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI 20
Unité centrale
OscillateurInterface de commande
Circuit d’alimentation
Unité de traitement spécialisée : Décodeur
MP3, ADC, ampli
OscillateurInterface-carte SD
Source [5]
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 21
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI21
Analogique digital
Préprocesseur CCD
Codeur décodeur
JPEGMicrocontrôleur
UARTInterface bus ISA
Contrôleur DMA
Coprocesseur traitement pixels Digital
analogique
Multiplexeur Accumulateur
Contrôleur Affichage
Contrôleur mémoire
Contrôleur LCD
Len
tilles
CC
DSource [4]
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 22
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 23
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 24
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 25
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 26
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 27
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 28
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 29
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 30
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 31
1 seul espace d’adressage pour le programme et les données.
Conséquence Réduction de l'espace d'adressage.
Espace mémoire de
données RAM
Non utilisé
Espace mémoire de programme
ROM
Vecteurs de reset et
d’interruptionsFFFFh
0000h
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI 31
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 32
2 espaces d’adressage
séparés pour le
programme et les données.
Conséquences Augmentation
de l'espace d'adressage. Protection de l’espace
programme contre les
destructions accidentelles.
Espace mémoire de programme
ROM
Vecteurs de reset et
d’interruptions FFFh
000h
Espace mémoire
de données
RAM
FFh
00h
FF0h
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI 32
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 33
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 34
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 35
Mémoire A15 A14 A13 A12…A0 Plage d'adresses
Mémoire 1 0 0 10…0
1…1
2000H
3FFFH
Mémoire 2 0 1 00…0
1…1
4000H
5FFFH
Mémoire 3 1 0 00…0
1…1
8000H
9FFFH
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI 35
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 36
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI 36
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 37
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 38
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI 38
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 39
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI 39
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 40
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 41
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 42
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 43
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 44
Un port possède en général 3 registres :
Registre de direction : pour une configuration enentré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 enentrée ou en sortie.
Chacun de ces registres possède une adressedans l’espace d’adressage.
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI 44
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 45
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 46
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 47
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 48
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 49
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 50
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 51
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 52
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 53
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 54
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 55
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
Ré
fére
nce
Const
ruct
eur
Vites
se
RAM
RO
M/E
PRO
M/F
lash
EEPR
OM
Tim
er
Arc
hitec
ture
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI 55
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 56
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 57
Description et schéma fonctionnelStructure et registres interneEspace mémoireModes d'adressageUtilisation de la pileTypes, caractéristiques et modes d’interruptionsContrôleur d’horlogeTypes de resetManipulation des périphériques intégrés
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI 57
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 58
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 59
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 60
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI 60
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 61
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI 61
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 62
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 63
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 64
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 65
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 66
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI 66
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 67
Une instruction est constituée de :
Elle est codée sur 1 ou +ieurs octets en mémoire
Code opératoire (héxadécimal)
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI 67
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 68
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 69
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 70
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 71
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 72
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 73
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 74
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 75
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 76
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 77
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 78
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 79
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI 79
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 80
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 81
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 82
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI 82
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 83
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 84
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI 84
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 85
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 86
.Main…BSET Control_reg, #IT_enable ; autorise l'interruptionRIM ; met le bit I à 0….Int_routine…BRES Status_reg, #IT_flag ; sinon la même interruption
; sera appelée infinimentIRET ; Retour de l'interruption
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI 86
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 87
Interruption Adresse du vecteurFFE0-FFE1hFFE2-FFE3h
I2c FFE4-FFE5hFFE6-FFE7hFFE8-FFE9hFFEA-FFEBhFFEC-FFEDh
timer B FFEE-FFEFhFFF0-FFF1h
timer A FFF2-FFF3hSPI FFF4-FFF5h
FFF6-FFF7hext1 FFF8-FFF9hext0 FFFA-FFFBhSoftware FFFC-FFFDhReset FFFE-FFFFh
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI 87
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 88
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI 88
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 89
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 90
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 91
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 92
PSM1
bit2
PSM2
bit1
SMS
bit0
Signification
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 93
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 94
Port Configuration d'entrée (DDR=0)
Configuration de sortie (DDR=1)
OR = 0 OR = 1 OR = 0 OR = 1
Port A :PA0-PA7
Flottant Flottant avecinterruption
Drain ouvert,fort courant
(Optioninterdite)
Port B :PB0-PB7
Flottant Pull-up avecinterruption
Drain ouvert symétrique
Port C :PC0-PC5
Flottant Pull-up avecinterruption
Drain ouvert symétrique
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI 94
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 95
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 96
Le watchdog est commandé par le registre WDGCR.
Il peut être activé de façon matérielle (dès la mise sous tension) ou logicielle (bit 7=1).
Bits Description0-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é.
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI 96
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 97
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 98
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 99
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 100
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 101
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 102
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 103
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 104
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 105
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 106
PIN CH2 CH1 CH00 0 0 01 0 0 12 0 1 03 0 1 14 1 0 05 1 0 16 1 1 07 1 1 1
Systèmes embarqués à microcontrôleurs. Mme F.Z. BELOUADHA. Filière Génie Informatique-EMI 106
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 107
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 108
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 109
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 110
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 111
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 112
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 113
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 114
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 115
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 116
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 117
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 118
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 119
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 120
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 121
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 122
#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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 123
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 124
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 125
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 126
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 127
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 128
;***************************************************
;* 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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 129
;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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 130
; 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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 131
*************************************************** ;* 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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 132
.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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 133
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 134
.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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 135
; 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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 136
.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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 137
.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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 138
.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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 139
;************************************************** ; 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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 140
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 141
;************************************************** ; 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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 142
; 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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 143
; 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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 144
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 145
; 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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 146
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 147
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
Systèmes Embarqués à Microcontrôleurs
Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 148
[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