Microcontroleur_1_

6
LE MICROCONTRÔLEUR 1- MISE EN SITUATION. U n i t é d e t r a i t e m e n t é l e c t r o n i q u e Interfaçage d'entrée Unité centrale de traitement Interfaçage de sortie CAPTEURS ACTIONNEUR OPERATEUR O R G A N I S A T I O N F O N C T I O N N E L L E D ' U N S Y S T E M E A M I C R O C O N T R O L E U R " Signaux analogique, numérique et/ou logique Signaux numériques traités Signaux numériques à traiter Signaux analogique, numérique et/ou logique Un objet technique, intégrant de l’électronique, fait souvent apparaître des fonctions ayant pour rôle le traitement d’informations : opérations arithmétiques (addition, multiplication...) ou logiques ( ET, OU...) entre plusieurs signaux d’entrée permettant de générer des signaux de sortie. Ces fonctions peuvent être réalisées par des circuits intégrés analogiques ou logiques. Mais, lorsque l’objet technique devient complexe, et qu’il est alors nécessaire de réaliser un ensemble important de traitements d’informations, il devient plus simple de faire appel à une structure à base de microcontrôleur. 2- DESCRIPTION ET STRUCTURE INTERNE. Un microcontrôleur se présente sous la forme d’un circuit intégré réunissant tous les éléments d’une structure à base de microprocesseur. Voici généralement ce que l’on trouve à l’intérieur d’un tel composant : w Un microprocesseur (C.P.U.), w De la mémoire de donnée (RAM et EEPROM), w De la mémoire programme (ROM, OTPROM, UVPROM ou EEPROM), w Des interfaces parallèles pour la connexion des entrées / sorties, w Des interfaces séries (synchrone ou asynchrone) pour le dialogue avec d’autres unités, w Des timers pour générer ou mesurer des signaux avec une grande précision temporelle, w Des convertisseurs analogique / numérique pour le traitement de signaux analogiques. Avantages : Encombrement réduit, Circuit imprimé peu complexe, Faible consommation, Coût réduit. Inconvénient : Système de développement onéreux, Programmation nécessitant un matériel adapté. MICROPROCESSEUR ROM RAM EEPROM CHIEN DE GARDE TIMERS C.A.N INTERFACE PARALLÈLE INTERFACE SÉRIE BUS DONNÉES - CONTRÔLE - ADRESSES OSCILLATEUR MÉMOIRE PROGRAMME MÉMOIRE DE DONNÉE RESET OSCIN OSCOUT INT TIMER1 TIMER2 PORT A PORT B PORT C SOUT SCLK SIN Le schéma fonctionnel précédent représente une architecture de “Von Neumann” (Commune à la plupart des microprocesseurs) où la mémoire programme partage le même bus que la mémoire de donnée. L’architecture de “Harvard”, qui dispose de bus distincts pour les données et pour le programme, est plus rarement utilisée. STAGE NOVEMBRE 2000 MICROCONTRÔLEUR PADIOLLEAU JEAN-LUC PAGE A-1

description

cours de microcontroleur

Transcript of Microcontroleur_1_

  • LE MICROCONTRLEUR

    1- MISE EN SITUATION.

    Unit de traitement lectronique

    Interfaage d'entre

    Unit centrale de traitement

    Interfaage de sortie

    CAPTEURS

    ACTIONNEUR

    OPERATEUR

    ORGANISATION FONCTIONNELLE D'UN SYSTEME A MICROCONTROLEUR"

    Signaux analogique,

    numrique et/ou logique

    Signaux numriques traitsSignaux numriques traiterSignaux analogique,

    numrique et/ou logique

    Un objet technique, intgrant de llectronique, fait souvent apparatre desfonctions ayant pour rle le traitement dinformations : oprations arithmtiques(addition, multiplication...) ou logiques ( ET, OU...) entre plusieurs signaux dentrepermettant de gnrer des signaux de sortie.

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

    2- DESCRIPTION ET STRUCTURE INTERNE.Un microcontrleur se prsente sous la forme dun circuit intgr runissant tousles lments dune structure base de microprocesseur. Voici gnralement ceque lon trouve lintrieur dun tel composant :

    w Un microprocesseur (C.P.U.),w De la mmoire de donne (RAM et EEPROM),w De la mmoire programme (ROM, OTPROM, UVPROM ou EEPROM),w Des interfaces parallles pour la connexion des entres / sorties,w 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,

    w Des convertisseurs analogique / numrique pour le traitement de signauxanalogiques.

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

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

    MICROPROCESSEUR ROM RAM EEPROMCHIEN

    DE

    GARDE

    TIMERS C.A.N INTERFACE

    PARALLLE

    INTERFACE

    SRIE

    BUS DONNES - CONTRLE - ADRESSES

    OSCILLATEUR MMOIREPROGRAMME

    MMOIREDE DONNE

    RESETOSCIN OSCOUT

    INT

    TIM

    ER1

    TIM

    ER2

    PO

    RT A

    PO

    RT B

    PO

    RT C

    SO

    UT

    SC

    LK

    SIN

    Le schma fonctionnel prcdent reprsente une architecture de Von Neumann(Commune la plupart des microprocesseurs) o la mmoire programme partagele mme bus que la mmoire de donne. Larchitecture de Harvard, qui disposede bus distincts pour les donnes et pour le programme, est plus rarement utilise.

    STAGE NOVEMBRE 2000 MICROCONTRLEUR

    PADIOLLEAU JEAN-LUC PAGE A-1

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

    Un microprocesseur excute squentiellement les instructions stockes dans lammoire programme. Il est capable doprer sur des mots binaires dont la taille,en bits, est celle du bus des donnes (parfois le double pour certainsmicrocontrleurs). Il est gnralement constitu des lments suivants :

    w Un ou plusieurs registres accumulateurs contenant temporairement lesoprandes 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 unnombre important dinstructions. Chacune delles sexcute en plusieurspriodes dhorloges.

    RISC (Reduced Instruction Set Computer) : Ce microprocesseur possde unnombre rduit dinstructions. Chacune delles sexcute en une priodedhorloge.

    2.2 MMOIRES PROGRAMMES.

    Ce dispositif contient les instructions du programme que doit excuter lemicroprocesseur. Ce type de mmoire (appele mmoire morte), estuniquement accessible en lecture. Sa programmation ncessite une procdureparticulire et un matriel adquate.

    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.

    Ce dispositif permet de mmoriser temporairement les donnes gnres par lemicroprocesseur pendant les diffrentes phases du traitement numrique(rsultats doprations, tats des capteurs...). Ces mmoires sont accessibles encriture et en lecture.

    On en trouve 2 types :

    w De la mmoire vive (RAM) volatile (donnes perdues en cas de coupurede lalimentation) ayant un temps de lecture et criture assez court(quelques ns),

    w De la mmoire morte (EEPROM) non-volatile (donnes conserves encas 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 deprendre en compte des tats logiques appliqus en entre (tat de capteurs) oude gnrer des signaux binaires en sortie (commande dactionneurs). Lesbroches 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 estobtenue par des oprations dcriture ou de lecture dans diffrents registresassocis 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.

    STAGE NOVEMBRE 2000 MICROCONTRLEUR

    PADIOLLEAU JEAN-LUC PAGE A-2

  • 2.5 LINTERFACE SRIE.

    Ce type dinterface permet au microcontrleur de communiquer avec dautressystmes base de microprocesseur. Les donnes envoyes ou reues seprsentes sous la forme dun succession temporelle (sur un seul bit) de valeursbinaires images dun mots. Il y a 2 types de liaison srie : synchrone etasynchrone.

    Liaison srie synchrone.

    Dans ce dispositif la transmission est synchronis par un signal dhorloge mispar lunit matre.

    UNIT

    MATRE

    UNIT

    ESCLAVE

    Sout

    Sin

    Sclk

    t

    t

    SCLK

    SINouSOUT

    D7 D6 D5 D4 D3 D2 D1 D0

    Liaison srie asynchrone.

    Ce dispositif ne possde pas de signal dhorloge de synchronisation. Lesunits en liaison possdent chacune une horloge interne cadence la mmefrquence. Lorsquune unit veut mettre un mot binaire, elle gnre un frontdescendant sur sa ligne mettrice. A la fin de lmission de ce mot, la lignerepasse au niveau haut. La donne transmettre peut contenir un bitsupplmentaire appel parit et servant la correction derreurs.

    UNIT

    MATRE

    UNIT

    ESCLAVE

    TXD

    t

    TXD

    RXD RXD

    TXD D0 D5D4D3D2D1 D6

    OURXD

    BIT D

    E S

    TA

    RT

    BIT D

    E S

    TO

    P

    PA

    RIT

    TRAMES

    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.

    w Bit de start : la ligne au repos est l'tat logique 1 pour indiquer qu'un motva tre transmis la ligne passe l'tat bas avant de commencer letransfert. Ce bit permet de synchroniser l'horloge du rcepteur.

    w Bit de stop : aprs la transmission, la ligne est positionne au repospendant 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 tensioncomprise 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 partirde niveau TTL.

    2.6 LE CAN.

    Le CAN intgr dans les microcontrleurs est gnralement du typeApproximations successives. Il possde plusieurs entres multiplexesaccessibles via les broches des ports de linterface parallle. Le CAN possdenormalement 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.

    Le Timer permettent de raliser les fonctions suivantes :

    w Gnration dun signal priodique modul ou non en largeur dimpulsion,w Gnration dune impulsion calibre,w Temporisation,w Comptage d'vnements.

    Plusieurs registres associs au Timer permettent de configurer les diffrentsmodes dcrits prcdemment.

    2.8 LE CHIEN DE GARDE.

    Ce dispositif est un systme anti-plantage du microcontrleur. Il sassure quilny ait pas d'excution prolong dune mme suite dinstruction.

    Un compteur prchargeable se dcrmente rgulire au rythme de la frquencedhorloge. Si aucun prchargement nest effectu avant quil natteigne la valeur0 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.

    STAGE NOVEMBRE 2000 MICROCONTRLEUR

    PADIOLLEAU JEAN-LUC PAGE A-3

  • Le signal dhorloge permet de cadencer le fonctionnement du microcontrleur.Ce dernier intgre gnralement une porte Trigger de Schmitt afin de raliserun oscillateur. Pour lobtenir on place un quartz entre les deux broches OscInet OscOut comme lindique le schma suivant :

    OS

    Cin

    OS

    Cout

    Q1

    8MHzC1

    22pF

    C222pF

    11 2Microcontrleur

    3- MODE DE FONCTIONNEMENT.

    Le microprocesseur excute squentiellement les instructions codes en binaireet prsentent dans la mmoire programme. Linitialisation de cette squencepeut se faire de diffrentes manires selon le mode de fonctionnement.

    3.1 LE FONCTIONNEMENT EN INTERRUPTIONS..

    Le microcontrleur, dans son environnement, est destin traiter desinformations en temps rel . Lapplication est couple au monde extrieur,par lchange frquent de messages et de signaux des instants prvus. Il estdans lobligation de changer dtat en fonction des priorits relatives delopration en cours et de celle qui lui est demand. Il interrompt ou non ledroulement 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.

    Quelque soit lentre dinterruption active, le microprocesseur ralise destches 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 traitementdinterruption ;

    - la prise en compte dune interruption ne se fait jamais pendant lexcutiondune instruction.En plus des deux interruptions dfinies prcdemment, le ST6 possde uneentre dinitialisation.

    3.2 INITIALISATION : .RESET

    Un niveau bas sur cette entre entrane une rinitialisation complte dumicroprocesseur : linstruction en cours est arrte. Dune faon gnrale cesignal est active la mise sous tension. Un bouton poussoir est souventrajout afin quune rinitialisation manuelle soit possible.

    Lorsque le signal de RESET est activ, tous les registres sont initialis et lecompteur programme se place une adresse spcifique appele Vecteur deRESET.

    RESET

    VDD

    R1

    10k

    C310n

    S1

    RESET

    D11N4148

    3.3 INSTRUCTIONS ET MODES DADRESSAGES.

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

    LDI A,0FFh

    Code opration

    Oprandes

    Langage machine Langage assembleur

    17 FF

    Code opration

    Oprandes

    Adresse

    08E1 LABEL

    Les modes dadressages sont les diffrents moyens qui permettent aumicroprocesseur daccder une oprande en vue de tester ou de modifier lecontenu dun registre ou dune mmoire.

    Mode dadressage inhrent ou implicite.Ladressage inhrent concerne les instructions qui ne comportent pasdoprande, cette dernire tant implicite. Il sagit gnralement des oprationsde mise 0 et dincrmentation ou de dcalage de bits

    STAGE NOVEMBRE 2000 MICROCONTRLEUR

    PADIOLLEAU JEAN-LUC PAGE A-4

  • Mode dadressage immdiat.Ce mode dadressage permet de charger les registres internes dumicroprocesseur directement avec la valeur de loprande.

    Mode dadressage direct.Dans ce mode dadressage loprande correspond une adresse o est situe

    la donne de lopration .

    Mode dadressage index ou indirect.Ce mode dadressage sapplique aux registres dindex. Ces dernierscontiennent une adresse mmoire dans laquelle est place la donne delopration.

    Mode dadressage relatif.Ce mode dadressage est rserv pour les instructions de rupture de squenceconditionnel. La condition provient gnralement du rsultat de loprationprcdente (rsultat nul, ayant entran une retenue ...) o de ltat dun bit.

    Mode dadressage tendu.

    Ce mode dadressage permet deffectu des ruptures de squence sanscondition afin datteindre une adresse non successive dans la mmoireprogramme.

    4- DESCRIPTION ET PROGRAMMATION DE LA TCHE ACCOMPLIR.

    On dfinit dans le cahier des charges lensemble des commandes ou actions quedoit raliser le microcontrleur. Ces dfinitions sont donnes dans un ordrespcifique : il sagit dun fonctionnement squentiel. Avant den gnrer le codemachine binaire comprhensible par le microcontrleur, des tapes intermdiairessont ncessaires afin de rduire les risques derreurs et les difficults.

    On fait dabord apparatre le cycle de fonctionnement laide de deuxreprsentations normalises : lalgorithme et lalgorigramme. On peut ensuite crirele programme associ en utilisant diffrents langages :

    - Un langage assembleur spcifique au type du microprocesseur qui est traduiten code machine lors de lopration dassemblage.

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

    4.1 LALGORITHME..

    Dfinition : srie des actes ou oprations lmentaires, quil faut excuter ensquence pour accomplir une tache quelconque, en suivant un enchanementstrict.

    Reprsentation normalise : lalgorithme stablit par une succession dephrases simples.

    4.2 LALGORIGRAMME

    Dfinition : il sagit dune reprsentation graphique et normalise de lalgorithme.

    Reprsentation normalise : il sagit de dessiner une suite de symboles dfinitcomme il suit :

    Dbut

    Fin

    Opration Gnrale

    Entre de donnes

    Test avec

    Commencement

    Fin de procdure

    condition vrai ?OUI

    NON

    Appel d'une

    ou sortie de rsultats

    sous - procdure

    alternarive

    de procdure

    4.3 DVELOPPEMENT DU PROGRAMME ET MISE AU POINT.

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

    STAGE NOVEMBRE 2000 MICROCONTRLEUR

    PADIOLLEAU JEAN-LUC PAGE A-5

  • Edition

    Assemblage

    Simulation

    Programmation

    ouEmulation

    Essai

    Saisie du programme en langage assembleur

    Traduction du langage assembleur ou volu

    Vrification du fonctionnement du programme avec :

    Remplissage de la mmoire programme avecle programme en code machine

    Vrification relle du fonctionnement

    - soit un logiciel simulant le microcontrleur ;- soit une carte lectronique, connecte un PC

    et pilot par un logiciel, fonctionnant comme lemicrocontrleur.

    en code machine.ou compilation

    ou volu

    Lmulateur est un dispositif (assez onreux) qui permet de remplacer lemicrocontrleur afin deffectuer la vrification et la mise au point du programme.Cest une carte lectronique comportant, dun cot un connecteur compatible avecle botier du microcontrleur quil mule, et de lautre, une connexion de typeRS232 (ou autre) relie micro-ordinateur.

    La mise au point peut alors se faire en pas pas ou avec des points darrtpermettant ainsi de cerner trs rapidement les bugs de certaines routines.

    Le simulateur , beaucoup moins coteux, permet la mme chose mais de faonbeaucoup moins efficace car il ne tient pas ou trs peu compte de lenvironnementdu microcontrleur

    4.4 STRUCTURE DUN PROGRAMME.

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

    1- Directives d'assemblage ou de

    2- Dclaration des constantes

    3- Dclaration des variables

    4- Sous-programmes

    compilation

    5- Programme principal

    6- Programme d'interruption

    5- EXEMPLES DE MICROCONTRLEURS.

    1322164 o4 Ko128 o8 MHzThomsonST 6265

    RISC83325124 Ko512 o20 MHzAtmelAT90S8515

    Etendu8122512X256 o8 MHzMotorola68HC11

    A1

    8216X1 Ko 644 MHzMotorola6805 S2RISC4113X1Kx1436 o20 MhzMicrochip16C71

    0232X4 Ko128 o12 MhzIntel8051

    Pa

    rtic

    ula

    rit

    EN

    TR

    E

    S A

    NA

    LO

    GIQ

    UE

    S

    TIM

    ER

    E /

    S L

    OG

    IQU

    ES

    EE

    PR

    OM

    RO

    M /

    EP

    RO

    M /

    FL

    AS

    H

    RA

    M

    VIT

    ES

    SE

    FA

    BR

    ICA

    NT

    R

    F

    RE

    NC

    E

    STAGE NOVEMBRE 2000 MICROCONTRLEUR

    PADIOLLEAU JEAN-LUC PAGE A-6

    Les directives indiquentgnralement les liens versdautres fichiers contenant desdfinitions de registres ou desous-programmes.

    Les constantes correspondentgnralement des adressesmmoires.

    Les variables sont des zones de lammoire de donnes.