chapitre 2. système à microprocesseur (3 semaine)...microprocesseurs & dsp 11 2.2 architecture...

17
Microprocesseurs & DSP 7 Chapitre 2. Système à microprocesseur (3 semaine) 2.1 Composants annexes au microprocesseur : Le processeur à lui seul ne peut rien faire. Il faut lui adjoindre d'autres composants pour pouvoir réaliser un système numérique. 2.1.1 Décodeurs : Un décodeur est un circuit possédant n entrées et n sorties numérotées (figure 2.1). À tout moment, une et une seule sortie est active : celle dont le numéro correspond à la valeur binaire présente sur les n entrées. Le décodeur traduit donc la valeur d’entrée en une information de position spatiale. Fig.2.1 Décodeur 3 vers 8. Avec la valeur 6 en entrée (110 en binaire), la sortie numéro 6 est activée. Un décodeur peut être utilisé pour n’activer qu’au plus un composant 3-états à la fois, puisqu’au plus une seule de ses sorties est active à la fois. 2.1.2 Multiplexeurs : Ces sont des circuits d’aiguillage pour les signaux logiques. Un multiplexeur possède 2 n entrées de données, n entrées de commandes, et une seule sortie. On indique sur la commande le numéro (en binaire) de l’entrée de donnée qui va être aiguillée en sortie. On a en figure 2.2 un exemple de multiplexeur 8 vers 1 sur la commande duquel est écrit ( ; la sortie reflète alors l’état de la sixième entrée : E6. Fig.2.2 Multiplexeur 8 vers 1.L’entrée numéro 6 est aiguillée vers la sortie.

Upload: others

Post on 12-Jul-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Chapitre 2. Système à microprocesseur (3 semaine)...Microprocesseurs & DSP 11 2.2 Architecture : Un système à base de microprocesseur est formé des trois éléments : - Une unité

Microprocesseurs & DSP 7

Chapitre 2. Système à microprocesseur(3 semaine)

2.1 Composants annexes au microprocesseur :

Le processeur à lui seul ne peut rien faire. Il faut lui adjoindre d'autres composants pour

pouvoir réaliser un système numérique.

2.1.1 Décodeurs :

Un décodeur est un circuit possédant n entrées et n sorties numérotées (figure 2.1). À tout moment,

une et une seule sortie est active : celle dont le numéro correspond à la valeur binaire présente sur les n

entrées. Le décodeur traduit donc la valeur d’entrée en une information de position spatiale.

Fig.2.1 Décodeur 3 vers 8. Avec la valeur 6 en entrée (110 en binaire), la sortie numéro6 est activée.

Un décodeur peut être utilisé pour n’activer qu’au plus un composant 3-états à la fois, puisqu’au plus

une seule de ses sorties est active à la fois.

2.1.2 Multiplexeurs :

Ces sont des circuits d’aiguillage pour les signaux logiques. Un multiplexeur possède 2nentrées de

données, n entrées de commandes, et une seule sortie. On indique sur la commande le numéro (en binaire) de

l’entrée de donnée qui va être aiguillée en sortie. On a en figure 2.2 un exemple de multiplexeur 8 vers 1 sur

la commande duquel est écrit (; la sortie reflète alors l’état de la sixième entrée : E6.

Fig.2.2 Multiplexeur 8 vers 1.L’entrée numéro 6 est aiguillée vers la sortie.

Page 2: Chapitre 2. Système à microprocesseur (3 semaine)...Microprocesseurs & DSP 11 2.2 Architecture : Un système à base de microprocesseur est formé des trois éléments : - Une unité

Microprocesseurs & DSP 8

Bien sûr, les multiplexeurs peuvent être mis en parallèle pour aiguiller des bus entiers. On mettra

alors en commun les lignes de commande, et en parallèle les lignes de données.

2.1.3 Mémoires :

Cette section est consacrée aux circuits utilisés dans la mémoire centrale des ordinateurs, qui contient

les programmes et les données manipulés par les programmes. Une mémoire est constituée de cellules

mémoires (bascules bistables) qui sont regroupées pour former des cases mémoires. Ces cases mémoires sont

ordonnées et chaque case mémoire est identifiée par une adresse unique obtenue par la combinaison binaire

d'un ensemble de fils constituant le bus d'adresse. Cette adresse est généralement exprimée en hexadécimal.

L'ensemble de fils permettant de lire ou d'écrire sur chaque cellule mémoire forme le bus de donnée. Lorsque

le bus d'adresse est composé de n fils, la taille de la mémoire est T=2ncases ou mots. Le nombre m de fils du

bus de donnée quant à lui indique la largeur des mots mémoires. La largeur dépend de l’architecture utilisée.

(voir figure 2.3). On peut donc voir une mémoire comme un ruban de cases numérotées.

Fig.2.3 Organisation mémoire.

De telles mémoires se classent en deux grands types, selon qu’elles sont en lecture seule ou en

lecture-écriture.

2.1.3.1 R.A.M :

Les RAMs (Random Access Memory) peuvent être lues et écrites, et l’attribut random indique que

ces lectures-écritures peuvent se faire à des suites d’adresses totalement quelconques, par opposition à des

mémoires de type séquentiel (comme les disques durs) qui font des séries d’accès à des adresses

consécutives.

Une RAM peut être statique ou dynamique.Chaque bit mémoire d’une RAM statique (SRAM) est

constitué d’une bascule, et conserve son état tant qu’elle est alimentée. A l’inverse, chaque bit d’une RAM

dynamique (DRAM) est composé d’une capacité, qui doit être rafraîchie périodiquement par une

électronique séparée. Les RAMs statiques ont un taux d’intégration plus faible que les RAM dynamiques,

Page 3: Chapitre 2. Système à microprocesseur (3 semaine)...Microprocesseurs & DSP 11 2.2 Architecture : Un système à base de microprocesseur est formé des trois éléments : - Une unité

Microprocesseurs & DSP 9

puisqu’un bit mémoire nécessite 6 transistors dans un cas, une capacité et un transistor dans l’autre.

2.1.3.2 R.O.M : Les ROMs (Read Only Memory) sont fonctionnellement identiques aux RAMs, mais ne

permettent que la lecture et pas l’écriture. Utilisées dans la mémoire centrale d’un ordinateur, les RAMs

pourront stocker les programmes et les données, alors que les ROMs vont seulement stocker des programmes

invariables, comme par exemple le programme exécuté au démarrage de la machine, et stocké dans la ROM

dite de BIOS. Dans certains ordinateurs plus anciens, tout le système d’exploitation était stocké en ROM, ce

qui permettait d’avoir un système incorruptible et au démarrage rapide.

Les ROMs existent également dans un grand nombre de types différents, principalement selon la

façon dont on peut programmer leur contenu (invariable, par définition).

- Il y a d’abord les ROMs programmées par masque à l’usine ; elles sont produites en grand nombre avec un

faible coût à l’unité, mais leur contenu ne peut jamais être mis à jour ultérieurement.

- Les PROMs (Programmable Rom) sont programmables par un appareil spécial, qui généralement détruit

par un courant fort une liaison interne correspondant à un bit.

- Les EPROMs (Erasable PROM) fonctionnent de la même façon, mais possèdent une fenêtre transparente et

peuvent être effacées par une exposition d’une vingtaine de minutes aux rayons ultraviolets.

- Elles sont maintenant souvent remplacées par des EEPROMs (Electrically EPROM), reprogrammables

électriquement. Les mémoires Flash sont également une forme de mémoires effaçables électriquement, mais

on réserve généralement le terme EEPROM aux mémoires capables d’effacer à l’échelle du mot, et le terme

"mémoires Flash" à celles qui effacent à l’échelle de blocs. Dans les deux cas, le temps d’effacement est long

par rapport au temps de lecture, et elles ne peuvent pas être considérées comme une forme spéciale de RAM.

On trouve de la mémoire EEPROM et flash dans les assistants personnels, dans les sticks mémoire sur ports

USB, pour le stockage du firmware de nombreux appareils (BIOS d’ordinateurs, lecteurs de DVD, tuners

satellites, etc...)

Les boîtiers mémoires disposent d'un certain nombre de connections externes leur permettant d'être

reliés ensemble sur un même bus de donnée et de pouvoir accéder à ce bus indépendamment des autres.

L'entrée notée CE (Chip Enable) ou CS (Chip Select), souvent complémentée, permet de déconnecter

électroniquement la mémoire du bus de donnée (bus de donnée à l'état haute impédance). L'entrée R/W

permet d'autoriser l'écriture ou la lecture de la mémoire.

Fig.2.4 Interface d’un boîtier de RAM statique de n mots de m bits, avec données lues et écrites communes.

Page 4: Chapitre 2. Système à microprocesseur (3 semaine)...Microprocesseurs & DSP 11 2.2 Architecture : Un système à base de microprocesseur est formé des trois éléments : - Une unité

Microprocesseurs & DSP 10

Lire une mémoire consiste à placer sur le bus d'adresse les coordonnées de la case mémoire, la

sélectionner à l'aide du CS, et ensuite transférer son contenu sur le bus de donnée externe (Figure 2.5) .

Fig.2.5 Chronogramme de lecture d'une case mémoire.

2.1.3.3 Associations de blocs mémoires :

En pratique les circuits mémoires ont des caractéristiques ne leur permettant pas de satisfaire

directement les exigences d'espace mémoires dans les systèmes électroniques. On associe donc différents

circuits mémoires afin de remplir ces exigences a savoir augmenter la zone adressable et ou la largeur des

mots mémoires. On procède pour cela soit à un agrandissement du bus de données (association parallèle),

soit à un agrandissement du bus d'adresse (association série), soit les deux la fois.

- Association en parallèle : On effectue une mise en parallèle des blocs mémoires élémentaire afin

d'augmenter la largeur des mots, c'est-à-dire la largeur du bus de données, le bus d'adresse commun aux blocs

élémentaire restant inchangé. On pourrait par exemple associer en parallèle 4 blocs mémoires de 8 bits pour

former un mots mémoires de 32 bits.

- Association en série : On effectue une association série des blocs mémoires pour augmenter le nombre de

mots mémoires, c'est-à-dire la capacité de la zone adressable. Pour ce faire on augmente la largeur du bus

d'adresse.

Fig.2.6 Association de circuits mémoires

Page 5: Chapitre 2. Système à microprocesseur (3 semaine)...Microprocesseurs & DSP 11 2.2 Architecture : Un système à base de microprocesseur est formé des trois éléments : - Une unité

Microprocesseurs & DSP 11

2.2 Architecture :

Un système à base de microprocesseur est formé des trois éléments :

- Une unité de traitement centrale (CPU : Central Processing Unit)

- Une mémoire (ROM et RAM)

- Des ports d'entrées/sorties.

Les trois modules sont interconnectés à l'aide de trois bus (comme le montre la figure suivante) : bus

de données, bus d'adresses et bus de contrôles ou commandes.

Fig.2.7 Système à base de microprocesseur.

- Le bus de données : c'est un ensemble de fils bidirectionnels qui va permettre le transfert de données entre

les différents éléments du système. C'est par ce bus que sont transmises les données qui doivent être traitées

par le microprocesseur. C'est également par ce bus que transitent les résultats en sortie du microprocesseur.

Autrement dit, toutes les données entrantes et sortantes du microprocesseur sont véhiculées par le bus de

données qui fixe la longueur du mot échangé avec la mémoire.

- Le bus d'adresses : il permet d'adresser un élément par le microprocesseur, il est unidirectionnel, il

détermine la capacité maximale d'adressage du système, c'est à dire le nombre maximum de mots de la

mémoire associée (ex : 16 bits "adressent" 64 Kmots).

- Le bus de commande/contrôle : c'est un bus qui permet de véhiculer les signaux de contrôles et de

commandes tels que l'horloge, les signaux R/W, etc ... Ce bus sert à coordonner tous les échanges

d'informations décrits précédemment. Il véhicule des données qui valident la mémoire et les ports

d'entrées/sorties. Il introduit des délais d'attente lorsque des informations sont envoyées à un périphérique qui

présente une vitesse de traitement réduite. Le bus de commandes évite les conflits de bus lorsque deux

éléments cherchent à communiquer en même temps.

La mémoire sert au rangement de deux types d'informations :

-Des données : les informations traitée par le microprocesseur.

-Des instructions : ensemble d'informations codées qui gère l'activité du microprocesseur.

Les interfaces d'entrées sorties vont permettre au microprocesseur de communiquer avec le monde

extérieur. Nous trouvons des ports utilisés exclusivement pour l'entrée, et d'autres ports exclusivement pour

Page 6: Chapitre 2. Système à microprocesseur (3 semaine)...Microprocesseurs & DSP 11 2.2 Architecture : Un système à base de microprocesseur est formé des trois éléments : - Une unité

Microprocesseurs & DSP 12

la sortie. Il existe aussi des ports bidirectionnels. Donc le microprocesseur peut lire des données à partir d'un

périphérique d'entrée (exemple souris, clavier, disque dur, etc...) de même il peut restituer le résultat de son

traitement au monde extérieur en adressant des périphériques de sortie (tels que l'imprimante, l'écran, etc...)

En résumé, les interfaces d'entrées/sorties vont soulager le microprocesseur pour la communication avec le

monde extérieur.

Le microprocesseur doit donc contrôler les fonctions effectuées par les autres modules, il doit chercher ainsi

que décoder des instructions rangées en mémoire, et il doit adresser des interfaces d'entrées/sorties pour lire

des données du monde extérieur, et restituer le résultat de son traitement.

Conception d’un plan mémoire :

L'espace mémoire total adressable par un microprocesseur est divisé sur les différents périphériques

par zones. Des zones vides peuvent exister. Chaque zone est délimitée par une adresse de début et une

adresse de fin. Chaque zone possède une taille fixe.

Fig.2.8 Cartographie mémoire.

Le Tableau suivant donne l'espace adressable en fonction de la largeur du bus d'adresses :

Nombre de bits 8 10 16 20 24 30

Espace mémoire 256 Octets 1 Ko 64 Ko 1 Mo 16 Mo 1 Go

Décodage d’adresses :

Le but du décodage d'adresse est de déterminer les combinaisons logiques des fils d'adresse qui

permettent d'activer le boîtier mémoire adéquat. Le décodage de type linéaire associe un composant à un bit

de sélection du microprocesseur. Les bits de sélection sont les bits de poids fort du bus d'adresses. Les bits de

poids faible permettent d’accéder aux cases mémoires à l’intérieur du composant. Méthode simple ne

nécessitant aucun composant externe et valable pour systèmes à nombre de boîtiers mémoires ou

périphériques réduit. Le décodage par zone ne gaspille pas le nombre de bits réservés pour le décodage. Un

décodeur d'adresse permet de sélectionner les boîtiers mémoires ou périphériques par plages d'adresses.

Page 7: Chapitre 2. Système à microprocesseur (3 semaine)...Microprocesseurs & DSP 11 2.2 Architecture : Un système à base de microprocesseur est formé des trois éléments : - Une unité

Microprocesseurs & DSP 13

Exemples de décodage d'adresses :

Cas 1 : Le microprocesseur et le circuit de mémoire ont la même largeur de bus d'adresses (16 bits).

Cas 2 : 1 x µP avec bus d'adresses de 16bits, 2 x Circuits mémoire de 32Ko.

Cas 3 : 1 x µP avec bus d'adresses de 16bits, 2 x Circuits mémoire de 16Ko. Décodage par inverseur.

Il y a des images de mémoire (zone accessible par adresses différentes).

Page 8: Chapitre 2. Système à microprocesseur (3 semaine)...Microprocesseurs & DSP 11 2.2 Architecture : Un système à base de microprocesseur est formé des trois éléments : - Une unité

Microprocesseurs & DSP 14

Cas 4 : 1 x µP avec bus d'adresses de 16bits, 2 x Circuits mémoire de 16Ko. Décodage par 74LS139.

Cas 5 : 1 x µP avec bus d'adresses de 16bits, 8 x Circuits mémoire de 8Ko. Décodage par 74LS138.

2.3 Circuits d’entrées-sorties (Différents types et usages) :

On appelle entrées-sorties dans un système à base de µP, les échanges d'informations entre le µP et

les périphériques qui lui sont connectés. Ainsi, le système peut réagir à des modifications de son

environnement, voire le contrôler. Elles sont parfois désignées par l'acronyme I/O.

Les périphériques sont reliés au µP par l’intermédiaire d'interfaces d'entrées/sorties munies d'un ou plusieurs

ports d'entrées et de sorties.

Page 9: Chapitre 2. Système à microprocesseur (3 semaine)...Microprocesseurs & DSP 11 2.2 Architecture : Un système à base de microprocesseur est formé des trois éléments : - Une unité

Microprocesseurs & DSP 15

Un port d'entrée est essentiellement composé de tampons trois états. Ceux-ci se comportent comme

des interrupteurs électroniques qui font apparaître, au moment voulu, les niveaux logiques du périphérique

d'entrée sur le bus de données; ces niveaux seront mémorisés dans un registre du µP.

Un port de sortie est essentiellement composé de bascules de type D. Celles-ci se comportent comme

de petites mémoires. Leur entrée est reliée au bus de données. Le processeur vient écrire un niveau logique 0

ou 1 dans chacun des bascules. Les sorties des bascules contrôlent les périphériques, généralement via un

étage de puissance.

Il existe deux méthodes classiques pour adresser les circuits d'entrées/sorties. La première méthode

consiste à séparer l'adressage de la mémoire et l'adressage des entrées/sorties. En plus du bus d'adresse, il y a

une ligne supplémentaire où le processeur indique s'il s'adresse à la mémoire ou aux circuits d'entrées/sorties.

Cette méthode a l'avantage d'augmenter d'une certaine façon l'espace d'adressage. C'est pourquoi les premiers

micro-processeurs l'utilisaient car leur espace d'adressage était souvent réduit. Cette méthode a par contre

l'inconvénient de nécessiter des instructions spécifiques pour accéder aux circuits d'entrées/sorties.

La seconde méthode consiste à réserver une partie de l'adressage de la mémoire aux entrées/sorties.

On parle d'entrées/sorties en mémoire. Cette méthode réduit donc l'espace d'adressage disponible pour la

mémoire mais ce n'est pas gênant sur les micro-processeurs modernes qui disposent d'un (très) large espace

d'adressage. Elle permet aussi l'utilisation des instructions de chargement et rangement pour accéder aux

circuits d'entrées/sorties et de bénéficier ainsi des différents modes d'adressage. Cette méthode est toujours

utilisée sur les micro-processeurs RISC car elle diminue le nombre d'instructions et simplifie le décodage de

celles-ci.

Scrutation des circuits d'entrées/sorties

Lorsqu'un circuit d'entrée/sortie a reçu une donnée, le micro-processeur doit venir la lire pour la

récupérer. Les buffers de ces circuits sont généralement assez petits. Ceci implique que la donnée doit être

lue rapidement. Sinon, des données qui arrivent risquent d'être perdues.

Il existe essentiellement deux méthodes pour éviter que des données soient perdues. La première

consiste à faire en sorte que le micro-processeur interroge régulièrement les différents circuits d'entrée/sortie

pour savoir si une donnée est disponible. Cette méthode est la plus simple. Par contre, elle utilise beaucoup le

micro-processeur même quand il n'a aucune entrée/sortie. La seconde utilise les interruption qui permettent

aux circuit d'entrée/sortie de prévenir le micro-processeur lorsqu'une donnée est disponible. Le micro-

processeur interrompt alors la tâche en cours pour lire la donnée et la placer dans un buffer en mémoire où

elle est mise en attente pour une tâche.

L'interface d'E/S possède de la mémoire tampon pour stocker les données échangées (1 octet à

quelques Méga-octets, suivant le type d'interface). L'interface stocke aussi des informations pour gérer la

communication avec le périphérique :

Page 10: Chapitre 2. Système à microprocesseur (3 semaine)...Microprocesseurs & DSP 11 2.2 Architecture : Un système à base de microprocesseur est formé des trois éléments : - Une unité

Microprocesseurs & DSP 16

- des informations de commande, pour définir le mode de fonctionnement de l'interface: sens de transfert

(entrée ou sortie), mode de transfert des données (par scrutation ou interruption), etc. Ces informations de

commandes sont communiquées à l'interface lors de la phase d'initialisation de celle-ci, avant le début du

transfert.

- des informations d'état, qui mémorisent la manière dont le transfert c'est effectué (erreur de transmission,

réception d'informations, etc...). Ces informations sont destinées au µP.

La communication entre l'interface d'entrées/sorties et les périphériques peut être série (sur un seul fil

bit par bit) ou parallèle (sur plusieurs fils). Malgré la rapidité de la liaison parallèle, elle n'est pas adaptée à

certaines applications. En effet ce type de liaison a des faiblesses lorsqu'il s'agit de communiquer avec un

organe pour une longue distance, on préfère donc utiliser la liaison série malgré son faible débit contre la

liaison parallèle. Le circuit 8255 d'Intel est un exemple d'interface d'entrée/sortie parallèle.

La liaison entre l'émetteur et le récepteur en mode série peut être : Simplexe, Half duplexe ou Full

duplexe. La vitesse de transmission est mesurée en bps (bits par seconde), mais aussi en BAUD (nombre des

changements du signal par Seconde). Les vitesses normalisées sont : 50, 75, 110, 150, 300, 600, 1200,

2400,4800, 9600, 19200, 38400 bauds. Il existe 2 types de communications série: Synchrone et Asynchrone.

Communications asynchrones : la transmission s'effectue caractère par caractère. Un caractère comprend :

- un bit de départ (START),

- des bits de donnée selon un format variable (5, 6, 7, 8 bits),

- un bit de parité (optionnel),

- un ou plusieurs bits d'arrêt (Stop).

Communications synchrones : Avec la communication synchrone les données sont transmissent d'une

manière continue. Il est donc nécessaire d'effectuer la synchronisation des caractères au début du bloc de

données (avec un signal d'horloge). Le circuit 8250 est un exemple d'interface d'entrée/sortie série.

Une troisième méthode est utilisée lors d'un transfert de la mémoire RAM à un port d'E/S. Pour éviter

que le µP effectue des opérations de lecture et d'écriture répétées (un certain temps est perdu entre le

traitement de chaque octet), une procédure est mise au point pour l'accès direct à la mémoire (Direct Memory

Access), qui permet de transférer des données de la mémoire RAM au port d'E/S sans passer par le µP. Pour

cela, on utilise un contrôleur DMA, qui reprend le rôle du µP, c'est à dire qu'il gère les transferts de la RAM

aux ports d'E/S.

2.4 Interfaçage avec le monde extérieur :

Un système à base de µP communique avec le monde extérieur par l’intermédiaire d'interfaces

d'entrées/sorties. Les périphériques d'entrée/sortie peuvent êtres des claviers, écrans, ... s'il s'agit d'un

système informatique ou des interrupteurs, moteurs, ... s'il s’agit d'un système industriel ou autres.

Page 11: Chapitre 2. Système à microprocesseur (3 semaine)...Microprocesseurs & DSP 11 2.2 Architecture : Un système à base de microprocesseur est formé des trois éléments : - Une unité

Microprocesseurs & DSP 17

2.4.1 Interfaçage de capteurs :

Les capteurs sont des dispositifs utilisés en industrie pour transformer l'état d'une grandeur physique

observée en une grandeur utilisable, telle qu'une tension électrique. Les capteurs passifs sont modélisables

par une impédance et nécessitent un apport énergétique extérieur pour fonctionner. Les capteurs actifs

effectuent directement la transformation en grandeur électrique. La grandeur de sortie est une différence de

potentiel directement exploitable.

Les capteurs présentent différents types de sortie :

Capteurs Analogiques : Le signal électrique de sortie possède une valeur analogique qui est une

fonction de la grandeur physique mesurée par le capteur. Exemple : thermocouple.

Capteurs Numériques : La sortie est une séquence d'états logiques qui forment un nombre. Exemple :

codeur optique absolu.

Capteurs Logiques : La sortie peut prendre deux états logiques 1 ou 0. Exemple : capteur de fin de

course.

La sortie analogique des capteurs analogiques doit être convertie en numérique pour être traitée avec

un système numérique. Cette tâche se fait par un convertisseur analogique-numérique qui transforme un

signal électrique analogique (tension, courant) en une valeur numérique. Généralement, il possède:

- une entrée "début de conversion" qui permet de démarrer la conversion (Start)

- une sortie "fin de conversion" qui indique que la conversion est terminée (End)

- une ou plusieurs entrées analogiques (courant ou tension)

- plusieurs sorties numériques, dont le nombre est fonction de la résolution (8, 10 ou 12 bits)

Fig.2.14 Schéma d'un Convertisseur A-N typique.

Fig.2.15 a) et b) interfaçage de switch, c) interfçage de capteur passif.

Page 12: Chapitre 2. Système à microprocesseur (3 semaine)...Microprocesseurs & DSP 11 2.2 Architecture : Un système à base de microprocesseur est formé des trois éléments : - Une unité

Microprocesseurs & DSP 18

2.4.2 Interfaçage d'actionneurs :

Pour modifier le comportement ou l’état d'un système (agir sur l'environnement extérieur), on utilise

les actionneurs qui transforment l'énergie qui leurs est fournie en un phénomène physique exemple

mouvement de déplacement ou de rotation. Exemple d'actionneurs : Moteurs électriques, vérin hydraulique

ou pneumatique, résistance chauffante, etc...

Les actionneurs sont des dispositifs de moyenne ou grande puissance et nécessitent donc des

énergies très grandes. La commande des actionneurs à partir de systèmes à base de µP passe par des

dispositifs d'amplification de puissance, exemples : relais, transistors de puissance, triacs, thyristors, etc...

Fig.2.16 Branchement de différents actionneurs.

2.4.3 Exemples d’application :

Beaucoup de périphériques, de capteurs et d'actionneurs peuvent êtres connectés avec les interfaces

d'entrées/sorties parallèles. Si le nombre de périphériques dépasse le nombre de lignes disponibles sur une

interface on peut rajouter le nombre d'interface nécessaire pour relier tout les périphériques.

On prendra comme exemple d'interface parallèle le circuit 8255 d'Intel :

Fig.2.17 Branchement de l'interface // 8255 avec un microprocesseur.

Page 13: Chapitre 2. Système à microprocesseur (3 semaine)...Microprocesseurs & DSP 11 2.2 Architecture : Un système à base de microprocesseur est formé des trois éléments : - Une unité

Microprocesseurs & DSP 19

Exemple 1 : Ensemble d'interrupteurs et de LEDs interfacés avec le 8255

Exemple 2 : Interfaçage d'un module d'affichage 7-seg. avec le 8255

Exemple 3 : Interfaçage d'un C.A-N avec le 8255

Page 14: Chapitre 2. Système à microprocesseur (3 semaine)...Microprocesseurs & DSP 11 2.2 Architecture : Un système à base de microprocesseur est formé des trois éléments : - Une unité

Microprocesseurs & DSP 20

Exemple 4 : Interfaçage d'un clavier 16-touches avec le 8255

Exemple 4 : Interfaçage d'un modem avec le 8250

2.5 Les interruptions :

Ce mode d'échange est principalement basé sur l'initiative du périphérique. Grâce à ce mécanisme

d'interruption, le dispositif périphérique prend l'initiative de l'échange. Une interruption est un événement qui

provoque l'arrêt du programme en cours et provoque le branchement du microprocesseur à un sous-

programme particulier dit de "traitement de l'interruption".

2.5.1 Interruptions matérielles :

Une interruption est signalée au processeur par un signal électrique sur une borne spéciale. Lors de la

réception de ce signal, le processeur (traite) l'interruption dès la fin de l'instruction qu'il était en train

d'exécuter. Le traitement de l'interruption consiste soit :

- à exécuter une routine d'interruption qui est un programme appelé automatiquement lorsqu'une interruption

survient. L'adresse de début de la routine est donnée par la table des vecteurs d'interruptions.

Page 15: Chapitre 2. Système à microprocesseur (3 semaine)...Microprocesseurs & DSP 11 2.2 Architecture : Un système à base de microprocesseur est formé des trois éléments : - Une unité

Microprocesseurs & DSP 21

- à l'ignorer et passer normalement à l'instruction suivante : c'est possible uniquement pour certaines

interruptions, nommées interruptions masquables. Il est en effet parfois nécessaire de pouvoir ignorer les

interruptions pendant un certains temps (pour effectuer des traitements très urgents par exemple). Lorsque le

traitement est terminé, le µP démasque les interruptions et les prend alors en compte.

Lorsque le (programme d'interruption) traitant a effectué son travail, il exécute l'instruction spéciale

IRET qui permet de reprendre l'exécution à l'endroit où elle avait été interrompue.

Le microprocesseur 8086 possède trois lignes principales d'interruption : INTR, NMI, et RESET.

Si le système est relié à plusieurs périphériques, alors qu'il n'y a qu'un seul signal de demande d'interruption :

INTR, la présence d'un contrôleur d'interruptions devient une nécessité. C'est un circuit spécial, extérieur au

µP, dont le rôle est de distribuer et de mettre en attente les demandes d'interruptions provenant des différents

périphériques.

Fig.2.23 Contrôleur d'interruptions programmable.

Le contrôleur est relié aux interfaces gérant les périphériques par les bornes IRQ (InteRrupt

reQuest). Il gère les demandes d'interruption envoyées par les périphériques, de façon à les envoyer une par

une au µP (via INTR). Il est possible de programmer le contrôleur pour affecter des priorités différentes à

chaque périphérique. Avant d'envoyer l'interruption suivante, le contrôleur attend d'avoir reçu le signal INTA,

indiquant que le processeur a bien traité l'interruption en cours.

Une interruption est dite non masquable signifie qu'elle doit toujours être reconnue par le µP dés que

le signal électrique a été déclenché.

2.5.2 Interruptions logicielles :

Les interruptions logicielles sont semblables aux interruptions matérielles. L'unique différence réside

dans le fait que les interruptions logicielles sont émises par des programmes. Ces interruptions ont une

fonction définie . Pour un système informatique genre PC ces interruptions sont définies par le DOS et le

BIOS (exemple la lecture et l'écriture sur le disque, l'écriture des données à l'écran, etc..). Contrairement à

l'entrée INTR du µP, l'interruption logicielle ne peut être ni invalidé ni masquée.

Page 16: Chapitre 2. Système à microprocesseur (3 semaine)...Microprocesseurs & DSP 11 2.2 Architecture : Un système à base de microprocesseur est formé des trois éléments : - Une unité

Microprocesseurs & DSP 22

2.5.4 Traitement des interruptions :

Nous donnons ici le déroulement d'une interruption externe masquable (sur un PC) :

1. Un signal INT est émis par un périphérique (ou par l'interface gérant celui- ci).

2. Le contrôleur d'interruptions reçoit ce signal sur une de ses bornes IRQi. Dès que cela est possible (suivantles autres interruptions en attente de traitement), le contrôleur envoie un signal sur sa borne INT.

3. Le microprocesseur prend en compte le signal sur sa borne INTR après avoir achevé l'exécution de l'instruction en cours (ce qui peut prendre quelques cycles d'horloge). Si l'indicateur IF=0, le signal est ignoré, sinon, la demande d'interruption est acceptée.

4. Si la demande est acceptée, le microprocesseur met sa sortie INTA au niveau 0 pendant 2 cycles d'horloge,pour indiquer au contrôleur qu'il prend en compte sa demande.

5. En réponse, le contrôleur d'interruption place le numéro de l'interruption associé à la borne IRQi sur le busde données.

6. Le processeur lit le numéro de l'interruption sur le bus de données et l'utilise pour trouver le vecteur d'interruption. Ensuite, tout se passe comme pour un appel système c'est à dire que le processeur :

(a) sauvegarde les indicateurs du registre d'état sur la pile ;

(b) met l'indicateur IF à 0 (masque les interruptions suivantes) ;

(c) sauvegarde CS et IP sur la pile ;

(d) cherche dans la table des vecteurs d'interruptions l'adresse du traitant d'interruption, qu'il charge dans CS:IP.

7. La procédure traitant l'interruption se déroule. Pendant ce temps, les interruptions sont masquées (IF=0). Si le traitement est long, on peut dans certains cas ré-autoriser les interruptions avec l'instruction STI.

8. La procédure se termine par l'instruction IRET, qui restaure CS, IP et les indicateurs à partir de la pile, ce qui permet de reprendre le programme qui avait été interrompu.

2.6 Pile et ses utilisations :

Lors d'une interruption ou lors de l'appel à une fonction ou un sous-programme, certaines

informations relatives au programme en cours d'exécution (le contenu de certains registres du µP) sont

sauvegardées provisoirement dans la pile (stack en anglais), en attendant de les utiliser plus tard. La pile est

une petite zone en mémoire RAM réservée pour cet usage. Elle a une structure fondée sur le principe

"dernier arrivé, premier sorti" (LIFO pour last in, first out), ce qui veut dire, que le dernier élément ajouté à

la pile sera le premier à être utilisé. Le µP retient l'adresse du dernier élément.

Le terme "Empiler" est utilisé pour ajouter un élément à la pile ("Push" en anglais). Pour enlever un

élément de la pile on utilise le terme "Dépiler" ("Pop" en anglais).

Chargement de la pile :

-envoyer l'octet à sauvegarder à l'adresse pointée par le pointeur de pile.

-décrémenter le pointeur de pile pour indiquer la prochaine case libre.

Page 17: Chapitre 2. Système à microprocesseur (3 semaine)...Microprocesseurs & DSP 11 2.2 Architecture : Un système à base de microprocesseur est formé des trois éléments : - Une unité

Microprocesseurs & DSP 23

Déchargement de la pile :

-incrémenter le pointeur de pile pour revenir à la dernière case occupée

-lire l'octet pointé par le pointeur de pile.

Dans le µP 8086 le registre SP sert à indiquer l'adresse du sommet d'une pile dans la RAM. Les

instruction push et pop permettent respectivement d'empiler et de dépiler des données. Les instructions call

et ret utilisent la pile pour appeler une fonction et la quitter par la suite en retournant à l'instruction suivant

immédiatement l'appel.

En cas d'interruption, les registres FLAGS, CS et IP sont automatiquement empilés. Dans le cas d'un changement de niveau de priorité lors de l'interruption, les registres SS et SP le sont aussi.