148
Systèmes Embarqués à Microcontrôleurs Mme Fatima-Zahra BELOUADHA. Filière Génie Informatique-EMI. 2ème année. 1 Mme Fatima-Zahra BELOUADHA Filière Génie Informatique-EMI Polycopié de cours

 · ° ± Ø æ ä ° ± æ ä ^° ± ä ` 6\vwqph hpedutxp hqirxl (pehgghg v\vwhpv

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

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

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