Vous êtes sur la page 1sur 6

STAGE NOVEMBRE 2000

MICROCONTRLEUR
w Des convertisseurs analogique / numrique pour le traitement de signaux
analogiques.

LE MICROCONTRLEUR

Avantages :
Encombrement rduit,
Circuit imprim peu complexe,
Faible consommation,
Cot rduit.

1- MISE EN SITUATION.
ORGANISATION FONCTIONNELLE D'UN SYSTEME A MICROCONTROLEUR"

Unit de traitement lectronique


ACTIONNEUR

CAPTEURS

Interfaage
d'entre

Unit centrale de
traitement

Inconvnient :
Systme de dveloppement onreux,
Programmation ncessitant un matriel adapt.

Interfaage de
sortie

OSCIN OSCOUT RESET


OPERATEUR

OSCILLATEUR

Signaux analogique,

M MOIRE
PROGRAMME

numrique et/ou logique

INT

CHIEN
M ICROPROCESSEUR

ROM

EEPROM

RAM

Ces fonctions peuvent tre ralises par des circuits intgrs analogiques ou
logiques. Mais, lorsque lobjet technique devient complexe, et quil est alors
ncessaire de raliser un ensemble important de traitements dinformations, il
devient plus simple de faire appel une structure base de microcontrleur.

BUS DONNES - CONTRLE - ADRESSES

C.A.N

2- DESCRIPTION ET STRUCTURE INTERNE.

PADIOLLEAU JEAN-LUC

PORT A

TIMER2

Un microprocesseur (C.P.U.),
De la mmoire de donne (RAM et EEPROM),
De la mmoire programme (ROM, OTPROM, UVPROM ou EEPROM),
Des interfaces parallles pour la connexion des entres / sorties,
Des interfaces sries (synchrone ou asynchrone) pour le dialogue avec
dautres units,
w Des timers pour gnrer ou mesurer des signaux avec une grande prcision
temporelle,

SRIE

PARALLLE

TIMER1

w
w
w
w
w

INTERFACE

INTERFACE

SCLK

TIMERS

Un microcontrleur se prsente sous la forme dun circuit intgr runissant tous


les lments dune structure base de microprocesseur. Voici gnralement ce
que lon trouve lintrieur dun tel composant :

DE

GARDE

SOUT

Un objet technique, intgrant de llectronique, fait souvent apparatre des


fonctions ayant pour rle le traitement dinformations : oprations arithmtiques
(addition, multiplication...) ou logiques ( ET, OU...) entre plusieurs signaux dentre
permettant de gnrer des signaux de sortie.

M MOIRE
DE DONNE

SIN

Signaux numriques traits

PORT C

S ignaux numriques traiter

PORT B

Signaux analogique,
numrique et/ou logique

Le schma fonctionnel prcdent reprsente une architecture de Von Neumann


(Commune la plupart des microprocesseurs) o la mmoire programme partage
le mme bus que la mmoire de donne. Larchitecture de Harvard, qui dispose
de bus distincts pour les donnes et pour le programme, est plus rarement utilise.

PAGE A-1

STAGE NOVEMBRE 2000

2.1. C.P.U. (MICROPROCESSEUR).


Un microprocesseur excute squentiellement les instructions stockes dans la
mmoire programme. Il est capable doprer sur des mots binaires dont la taille,
en bits, est celle du bus des donnes (parfois le double pour certains
microcontrleurs). Il est gnralement constitu des lments suivants :
w Un ou plusieurs registres accumulateurs contenant temporairement les
oprandes ainsi que les rsultats des oprations,
w Des registres auxiliaires permettant de relayer les accumulateurs,
w Des registres dindex pour le mode dadressage indirect,
w Un compteur programme pointant ladresse de la prochaine instruction
excuter, sa taille est celle du bus des adresses,
w Une unit arithmtique et logique (ALU) permettant deffectuer des
oprations entre laccumulateur et une oprande,
w Un registre code condition indiquant certaines particularits en ce qui
concerne le rsultat de la dernire opration (retenu, zro, interruption...).
On peut noter quil existe 2 catgories de microprocesseur : les CISC et les RISC.
CISC (Complex Instruction Set Computer) : Ce microprocesseur possde un
nombre important dinstructions. Chacune delles sexcute en plusieurs
priodes dhorloges.
RISC (Reduced Instruction Set Computer) : Ce microprocesseur possde un
nombre rduit dinstructions. Chacune delles sexcute en une priode
dhorloge.

2.2 MMOIRES PROGRAMMES.


Ce dispositif contient les instructions du programme que doit excuter le
microprocesseur. Ce type de mmoire (appele mmoire morte), est
uniquement accessible en lecture. Sa programmation ncessite une procdure
particulire et un matriel adquate.

MICROCONTRLEUR
Ce dispositif permet de mmoriser temporairement les donnes gnres par le
microprocesseur pendant les diffrentes phases du traitement numrique
(rsultats doprations, tats des capteurs...). Ces mmoires sont accessibles en
criture et en lecture.
On en trouve 2 types :
w De la mmoire vive (RAM) volatile (donnes perdues en cas de coupure
de lalimentation) ayant un temps de lecture et criture assez court
(quelques ns),
w De la mmoire morte (EEPROM) non-volatile (donnes conserves en
cas de coupure de lalimentation) ayant un temps dcriture assez lev
(quelques ms) par rapport au temps de lecture qui est assez faible
(quelques ns).

2.4 LINTERFACE PARALLLE.


Ce type dinterface, rpartie sur plusieurs ports (maximum 8 bits), permet de
prendre en compte des tats logiques appliqus en entre (tat de capteurs) ou
de gnrer des signaux binaires en sortie (commande dactionneurs). Les
broches de ces ports peuvent donc tre configures en entre ou en sortie,
avec diffrentes options (rsistances de rappel, sorties collecteurs ouverts,
interruption...). La configuration ainsi que ltat logique de ces broches est
obtenue par des oprations dcriture ou de lecture dans diffrents registres
associs chaque port. On trouve gnralement :
w Un registre de direction pour une configuration en entre ou en sortie,
w Un registre de donne recopiant les tats logiques de chaquebroche de
port,
w Un registre doption permettant plusieurs configurations en entre ou en
sortie.

Il en existe diffrents types selon leur mode de programmation :


w De la ROM dont le contenu est programm lors de sa fabrication.
w De la PROM programmable lectriquement une seule fois par le
dveloppeur (appele aussi OTPROM),
w De la EPROM programmable lectriquement et effaable aux U-V (appele
aussi UVPROM),
w De la EEPROM programmable et effaable lectriquement.

2.3 MMOIRES DE DONNES.


PADIOLLEAU JEAN-LUC

PAGE A-2

STAGE NOVEMBRE 2000

MICROCONTRLEUR

2.5 LINTERFACE SRIE.


Ce type dinterface permet au microcontrleur de communiquer avec dautres
systmes base de microprocesseur. Les donnes envoyes ou reues se
prsentes sous la forme dun succession temporelle (sur un seul bit) de valeurs
binaires images dun mots. Il y a 2 types de liaison srie : synchrone et
asynchrone.
Liaison srie synchrone.
Dans ce dispositif la transmission est synchronis par un signal dhorloge mis
par lunit matre.
SCLK

Sout
UNIT

UNIT

Sin

MATRE

Sclk

t
SOUT

ESCLAVE

ou

SIN

D7 D6 D5 D4 D3 D2 D1 D0

w Bit de start : la ligne au repos est l'tat logique 1 pour indiquer qu'un mot
va tre transmis la ligne passe l'tat bas avant de commencer le
transfert. Ce bit permet de synchroniser l'horloge du rcepteur.
w Bit de stop : aprs la transmission, la ligne est positionne au repos
pendant 1, 2 ou 1,5 priodes d'horloge selon le nombre de bits de stop.
w Niveau de tension : Un 0 logique est matrialis par une tension
comprise entre 3 et 25V, un 1 par une tension comprise entre -25 et -3 V.
Des circuits spcialiss comme le MAX 232 ralise la conversion partir
de niveau TTL.

2.6 LE CAN.
Le CAN intgr dans les microcontrleurs est gnralement du type
Approximations successives. Il possde plusieurs entres multiplexes
accessibles via les broches des ports de linterface parallle. Le CAN possde
normalement 2 registres :
w Un registre de donnes contenant le rsultat de la conversion,
w Un registre de contrle permettant de lancer et de surveiller la conversion.

2.7 LE TIMER.

Ce dispositif ne possde pas de signal dhorloge de synchronisation. Les


units en liaison possdent chacune une horloge interne cadence la mme
frquence. Lorsquune unit veut mettre un mot binaire, elle gnre un front
descendant sur sa ligne mettrice. A la fin de lmission de ce mot, la ligne
repasse au niveau haut. La donne transmettre peut contenir un bit
supplmentaire appel parit et servant la correction derreurs.

Le Timer permettent de raliser les fonctions suivantes :

UNIT

UNIT

MATRE

ESCLAVE

TXD

TXD

TXD

PARIT

RXD

Ce dispositif est un systme anti-plantage du microcontrleur. Il sassure quil


ny ait pas d'excution prolong dune mme suite dinstruction.

RXD
D0 D1 D2 D3 D4 D5 D6 P

PARAMTRES RENTRANT EN JEU POUR LA NORME RS232 :


w Longueur des mots : 7 bits (ex : caractre ascii) ou 8 bits
w La vitesse de transmission : elle est dfini en bits par seconde ou bauds.
Elle peut prendre des valeurs allant de 110 115 200 bds.
w Parit : le mot transmis peut tre suivi ou non d'un bit de parit qui sert
dtecter les erreurs ventuelles de transmission.
PADIOLLEAU JEAN-LUC

Gnration dun signal priodique modul ou non en largeur dimpulsion,


Gnration dune impulsion calibre,
Temporisation,
Comptage d'vnements.

2.8 LE CHIEN DE GARDE.

OU

TRAMES

w
w
w
w

Plusieurs registres associs au Timer permettent de configurer les diffrents


modes dcrits prcdemment.

BIT DE STOP

RXD

BIT DE START

Liaison srie asynchrone.

Un compteur prchargeable se dcrmente rgulire au rythme de la frquence


dhorloge. Si aucun prchargement nest effectu avant quil natteigne la valeur
0 un Reset est gnr relanant ainsi le microcontrleur. Il faut donc penser
prcharger rgulirement ce chien de garde par programme lorsquil est activ.

2.9 LES SIGNAUX DHORLOGE.

PAGE A-3

STAGE NOVEMBRE 2000

MICROCONTRLEUR

Le signal dhorloge permet de cadencer le fonctionnement du microcontrleur.


Ce dernier intgre gnralement une porte Trigger de Schmitt afin de raliser
un oscillateur. Pour lobtenir on place un quartz entre les deux broches OscIn
et OscOut comme lindique le schma suivant :
Microcontrleur
2

1
Q1

C1

8MHz

22pF

Un niveau bas sur cette entre entrane une rinitialisation complte du


microprocesseur : linstruction en cours est arrte. Dune faon gnrale ce
signal est active la mise sous tension. Un bouton poussoir est souvent
rajout afin quune rinitialisation manuelle soit possible.
Lorsque le signal de RESET est activ, tous les registres sont initialis et le
compteur programme se place une adresse spcifique appele Vecteur de
RESET.

OSCout

OSCin

3.2 INITIALISATION : RESET .

C2
22pF

VDD
R1
10k

3- MODE DE FONCTIONNEMENT.

D1
1N4148
RESET

S1

Le microprocesseur excute squentiellement les instructions codes en binaire


et prsentent dans la mmoire programme. Linitialisation de cette squence
peut se faire de diffrentes manires selon le mode de fonctionnement.

RESET

C3
10n

3.1 LE FONCTIONNEMENT EN INTERRUPTIONS.


Le microcontrleur, dans son environnement, est destin traiter des
informations en temps rel . Lapplication est couple au monde extrieur,
par lchange frquent de messages et de signaux des instants prvus. Il est
dans lobligation de changer dtat en fonction des priorits relatives de
lopration en cours et de celle qui lui est demand. Il interrompt ou non le
droulement normal du programme en fonction dune demande externe.
Celles-ci sont vues du microcontrleur comme des demandes dinterruption.
On note deux types dinterruption :
- NMI (No Maskable Interrupt) : interruption non - masquable,
- IRQ (Interrupt Request) : interruption masquable.

3.3 INSTRUCTIONS ET MODES DADRESSAGES.


Les instructions contenues dans la mmoire programme sont une suite de mots
binaires dcods puis excuts par le microprocesseur, appele langage machine.
Ces codes sont difficilement comprhensibles par le programmateur. Cest la
raison pour laquelle ils sont traduits en diffrents mots faisant partis du langage
assembleur. Le codage dune instruction seffectue de la faon suivante :
Langage machine
08E1 17 FF

Langage assembleur
LABEL LDI A,0FFh

Oprandes
Code opration
Adresse

Oprandes
Code opration

Quelque soit lentre dinterruption active, le microprocesseur ralise des


tches identiques :
- dans tout les cas, le programme principal est interrompu ;
- le processeur doit sauvegarder le contenu du PC dans la pile ;
- le processeur excute une squence privilgie, reflet du type de traitement
dinterruption ;

Les modes dadressages sont les diffrents moyens qui permettent au


microprocesseur daccder une oprande en vue de tester ou de modifier le
contenu dun registre ou dune mmoire.

- la prise en compte dune interruption ne se fait jamais pendant lexcution


dune instruction.
En plus des deux interruptions dfinies prcdemment, le ST6 possde une
entre dinitialisation.

Mode dadressage inhrent ou implicite.


Ladressage inhrent concerne les instructions qui ne comportent pas
doprande, cette dernire tant implicite. Il sagit gnralement des oprations
de mise 0 et dincrmentation ou de dcalage de bits

PADIOLLEAU JEAN-LUC

PAGE A-4

STAGE NOVEMBRE 2000

MICROCONTRLEUR

Mode dadressage immdiat.


Ce mode dadressage permet de charger les registres internes du
microprocesseur directement avec la valeur de loprande.

Dfinition : srie des actes ou oprations lmentaires, quil faut excuter en


squence pour accomplir une tache quelconque, en suivant un enchanement
strict.

Mode dadressage direct.


Dans ce mode dadressage loprande correspond une adresse o est situe
la donne de lopration .

Reprsentation normalise : lalgorithme stablit par une succession de


phrases simples.

Mode dadressage index ou indirect.


Ce mode dadressage sapplique aux registres dindex. Ces derniers
contiennent une adresse mmoire dans laquelle est place la donne de
lopration.
Mode dadressage relatif.
Ce mode dadressage est rserv pour les instructions de rupture de squence
conditionnel. La condition provient gnralement du rsultat de lopration
prcdente (rsultat nul, ayant entran une retenue ...) o de ltat dun bit.
Mode dadressage tendu.
Ce mode dadressage permet deffectu des ruptures de squence sans
condition afin datteindre une adresse non successive dans la mmoire
programme.

4- DESCRIPTION ET PROGRAMMATION DE LA TCHE ACCOMPLIR.


On dfinit dans le cahier des charges lensemble des commandes ou actions que
doit raliser le microcontrleur. Ces dfinitions sont donnes dans un ordre
spcifique : il sagit dun fonctionnement squentiel. Avant den gnrer le code
machine binaire comprhensible par le microcontrleur, des tapes intermdiaires
sont ncessaires afin de rduire les risques derreurs et les difficults.
On fait dabord apparatre le cycle de fonctionnement laide de deux
reprsentations normalises : lalgorithme et lalgorigramme. On peut ensuite crire
le programme associ en utilisant diffrents langages :

4.2 LALGORIGRAMME
Dfinition : il sagit dune reprsentation graphique et normalise de lalgorithme.
Reprsentation normalise : il sagit de dessiner une suite de symboles dfinit
comme il suit :
Opration Gnrale

OUI

condition vrai ?

Test avec
alternarive

NON

Appel d'une
sous - procdure

Entre de donnes
ou sortie de rsultats

Dbut

Commencement
de procdure

Fin

Fin de procdure

4.3 DVELOPPEMENT DU PROGRAMME ET MISE AU POINT.


Que ce soit dans un langage assembleur ou volu, lcriture du programme
ainsi que sa mise au point doivent suivre le diagramme suivant:

- Un langage assembleur spcifique au type du microprocesseur qui est traduit


en code machine lors de lopration dassemblage.
- Un langage volu (C, Pascal et Basic) utilisant des procdures adaptes au
type de microprocesseur et qui est traduit en code machine par une opration
de compilation effectue par un Cross - compilateur.

4.1 LALGORITHME.
PADIOLLEAU JEAN-LUC

PAGE A-5

STAGE NOVEMBRE 2000

Saisie du programme en langage assembleur


ou volu

1- Directives d'assemblage ou de
compilation
2- Dclaration des constantes

Assemblage
ou compilation

Traduction du langage assembleur ou volu


en code machine.

3- Dclaration des variables

Les constantes correspondent


gnralement des adresses
mmoires.

4- Sous-programmes

Les variables sont des zones de la


mmoire de donnes.

6- Programme d'interruption

RAM

ROM / EPROM / FLASH

EEPROM

E / S L OGIQUES

T IMER

ENTRES ANALOGIQUES

5- EXEMPLES DE MICROCONTRLEURS.

Intel
12 Mhz
Microchip 20 Mhz
Motorola 4 MHz

128 o
36 o
64

4 Ko
1Kx14
1 Ko

X
X
X

32
13
16

2
1
2

0
4
8

RISC

Motorola

8 MHz

256 o

512

22

Etendu

Atmel

20 MHz

512 o

4 Ko

512

32

RISC

Thomson

8 MHz

128 o

4 Ko

64 o

21

13

Vrification relle du fonctionnement

Lmulateur est un dispositif (assez onreux) qui permet de remplacer le


microcontrleur afin deffectuer la vrification et la mise au point du programme.
Cest une carte lectronique comportant, dun cot un connecteur compatible avec
le botier du microcontrleur quil mule, et de lautre, une connexion de type
RS232 (ou autre) relie micro-ordinateur.
La mise au point peut alors se faire en pas pas ou avec des points darrt
permettant ainsi de cerner trs rapidement les bugs de certaines routines.
Le simulateur , beaucoup moins coteux, permet la mme chose mais de faon
beaucoup moins efficace car il ne tient pas ou trs peu compte de lenvironnement
du microcontrleur

8051
16C71
6805 S2
68HC11
A1
AT90S
8515
ST 6265

VITESSE

Essai

Remplissage de la mmoire programme avec


le programme en code machine

5- Programme principal

FABRICANT

Programmation

Vrification du fonctionnement du programme avec :


- soit un logiciel simulant le microcontrleur ;
- soit une carte lectronique, connecte un PC
et pilot par un logiciel, fonctionnant comme le
microcontrleur.

RFRENCE

Simulation
ou
Emulation

Les directives indiquent


gnralement les liens vers
dautres fichiers contenant des
dfinitions de registres ou de
sous-programmes.

Particularit

Edition

MICROCONTRLEUR

4.4 STRUCTURE DUN PROGRAMME.


La saisie dun programme, que a soit en langage assembleur ou volu, doit
suivre la structure suivante :

PADIOLLEAU JEAN-LUC

PAGE A-6