43
République Tunisienne Ministère de l’Enseignement Supérieur et de la Recherche Scientifique et de la Technologie Notes de cours Circuits d’Interfaces 4 ème niveau Informatique Industrielle Mohamed Ali KAMMOUN Année Universitaire : 2006-2007 Version : 2.0 Institut Supérieur des Etudes Technologiques de Mahdia

notes de cours circuits d'interfacesmakammoun.mypressonline.com/index_fichiers/Supports... · Le microprocesseur 8086/88 possède cinq types (catégories) de pins : adresse, donnée,

  • Upload
    votram

  • View
    217

  • Download
    0

Embed Size (px)

Citation preview

Page 1: notes de cours circuits d'interfacesmakammoun.mypressonline.com/index_fichiers/Supports... · Le microprocesseur 8086/88 possède cinq types (catégories) de pins : adresse, donnée,

République Tunisienne Ministère de l’Enseignement Supérieur et de la Recherche Scientifique et de la Technologie

Notes de cours Circuits d’Interfaces

4ème niveau Informatique Industrielle

Mohamed Ali KAMMOUN

Année Universitaire : 2006-2007 Version : 2.0

Institut Supérieur des Etudes Technologiques de Mahdia

Page 2: notes de cours circuits d'interfacesmakammoun.mypressonline.com/index_fichiers/Supports... · Le microprocesseur 8086/88 possède cinq types (catégories) de pins : adresse, donnée,

Table des matières

CHAPITRE I :....................................................................................................................................................... 5 LE MICROPROCESSEUR 16 BITS 8086/8088 ................................................................................................ 5

1. INTRODUCTION.......................................................................................................................................... 2 2. LES BROCHES DU 8086 .............................................................................................................................. 2

2.1. Les lignes d’adresses et de données ................................................................................................ 2 2.2. Le signal d’horloge ......................................................................................................................... 3 2.3. Les lignes de contrôle et d’état........................................................................................................ 3

3. SEGMENTATION DE LA MEMOIRE ............................................................................................................... 4 4. INTERFACES AVEC LES ENTREES/SORTIES .................................................................................................. 4

CHAPITRE II : ..................................................................................................................................................... 6 L’INTERFACE PARALLELE I8255 ................................................................................................................. 6

1. PRESENTATION .......................................................................................................................................... 7 2. LES FONCTIONS DES LIGNES DE CONTROLE DU PPI 8255 ........................................................................... 8 3. LE MOT DE CONTROLE ............................................................................................................................... 8

3.1. Format du mot de contrôle pour la commande standard ................................................................ 9 3.2. Format du mot de contrôle pour la commande Set/Reset du port C ............................................... 9

4. LES MODES DE FONCTIONNEMENT DU 8255............................................................................................. 10 4.1. Mode 0 : Entrées/Sorties Parallèles.............................................................................................. 10 4.2. Mode 1 : Entrées/Sorties Parallèles avec Dialogue...................................................................... 11

4.2.1. Mode 1 en entrée ...................................................................................................................................... 11 4.2.2. Mode 1 en sortie ....................................................................................................................................... 12

4.3. Mode 2 : Entrée/Bus bidirectionnelle ........................................................................................... 14 CHAPITRE III :.................................................................................................................................................. 16 L’INTERFACE SERIE I8251............................................................................................................................ 16

1. PRESENTATION ........................................................................................................................................ 17 2. ARCHITECTURE DU 8251 ......................................................................................................................... 17

2.1. Interface de connexion au Modem ................................................................................................ 17 2.2. Bloc d’émission ............................................................................................................................. 17 2.3. Bloc de réception........................................................................................................................... 18

3. PROGRAMMATION DU 8251 ..................................................................................................................... 18 3.1. Accès aux registres........................................................................................................................ 18 3.2. Programmation ............................................................................................................................. 19

3.2.1. Mot de sélection de mode ......................................................................................................................... 19 3.2.2. Mot de commande .................................................................................................................................... 20 3.2.3. Mot d’état ................................................................................................................................................. 21

CHAPITRE IV :.................................................................................................................................................. 22 LE CONTROLEUR D’INTERRUPTIONS PROGRAMMABLE I8259 ...................................................... 22

1. DEFINITION.............................................................................................................................................. 23 2. AFFECTATION DES INTERRUPTIONS DANS LE CAS DES PC........................................................................ 23 3. ARCHITECTURE ET REGISTRES DU 8259................................................................................................... 24

3.1. Architecture du 8259..................................................................................................................... 24 3.2. Registres du 8259.......................................................................................................................... 24

3.2.1. Mot de commande d’initialisation 1 : Initialisation Command Word 1 (ICW1)....................................... 24 3.2.2. Mot de commande d’initialisation 2 : Initialisation Command Word 2 (ICW2)....................................... 25 3.2.3. Mot de commande d’initialisation 3 : Initialisation Command Word 3 (ICW3)....................................... 25 3.2.4. Mot de commande d’initialisation 4 : Initialisation Command Word 4 (ICW4)....................................... 26 3.2.5. Mot de contrôle d’opération 1 : Operation Control Word 1 (OCW1)....................................................... 27 3.2.6. Mot de contrôle d’opération 2 : Operation Control Word 2 (OCW2)....................................................... 27 3.2.7. Mot de contrôle d’opération 3 : Operation Control Word 3 (OCW3)....................................................... 28 3.2.8. IRR : (Interrupt Request Register = registre demande d'interruption) ...................................................... 29 3.2.9. ISR : (In Service Register = registre interruption en service) ................................................................... 29

Page 3: notes de cours circuits d'interfacesmakammoun.mypressonline.com/index_fichiers/Supports... · Le microprocesseur 8086/88 possède cinq types (catégories) de pins : adresse, donnée,

4. PROGRAMMATION DU 8259 ..................................................................................................................... 29 CHAPITRE V : ................................................................................................................................................... 31 LE TIMER PROGRAMMABLE LE I8253/8254 ............................................................................................ 31

1. INTRODUCTION........................................................................................................................................ 32 2. STRUCTURE INTERNE............................................................................................................................... 32 3. ACCES AUX REGISTRES............................................................................................................................ 33

3.1. Adresses ........................................................................................................................................ 33 3.2. Mot de commande ......................................................................................................................... 34

3.2.1. Procédure d’écriture.................................................................................................................................. 34 3.2.2. Procédure de lecture ................................................................................................................................. 34

4. MODES DE FONCTIONNEMENT ................................................................................................................. 35 4.1. Mode 0 : Envoi d’une demande d’interruption en fin de décomptage .......................................... 35 4.2. Mode 1 : Re-déclenchement par impulsion extérieur.................................................................... 36 4.3. Mode 2 : Timer d’intervalle périodique ........................................................................................ 36

4.3.1. Mode 3 : Générateur d’ondes carrées ....................................................................................................... 37 4.3.2. Mode 4 : Strobe déclenché par logiciel..................................................................................................... 37 4.3.3. Mode 5 : Strobe déclenché par matériel (hardware) ................................................................................. 38

BIBLIOGRAPHIE.............................................................................................................................................. 39

Page 4: notes de cours circuits d'interfacesmakammoun.mypressonline.com/index_fichiers/Supports... · Le microprocesseur 8086/88 possède cinq types (catégories) de pins : adresse, donnée,

Table des figures Fig. 1: Schéma interne du 8255.................................................................................................. 7 Fig. 2 : Brochage du 8255 .......................................................................................................... 8 Fig. 3 : Format du mot de contrôle............................................................................................. 9 Fig. 4 : Format du mot de contrôle en mode Set/Reset ............................................................ 10 Fig. 5 : Le 8255 en mode 1 en entrée ....................................................................................... 11 Fig. 6 : Fonctionnement du 8255 en mode 1 Entrée ................................................................ 12 Fig. 7 : Le 8255 en mode 1 en sortie ........................................................................................ 13 Fig. 8 : Fonctionnement du 8255 en mode 1 Sortie ................................................................. 14 Fig. 9 : Fonctionnement en mode 2.......................................................................................... 14 Fig. 10 : Le 8255 en mode 2..................................................................................................... 15 Fig. 11 : Structure interne du 8251........................................................................................... 17 Fig. 12 : Structure du 8259....................................................................................................... 24 Fig. 13 : Organigramme d’initialisation du 8259..................................................................... 30 Fig. 14 : Brochage du 8253 ...................................................................................................... 32 Fig. 15 : Architecture du 8253 ................................................................................................. 33 Fig. 16 : Structure interne du 8253/8254.................................................................................. 33

Page 5: notes de cours circuits d'interfacesmakammoun.mypressonline.com/index_fichiers/Supports... · Le microprocesseur 8086/88 possède cinq types (catégories) de pins : adresse, donnée,

CHAPITRE I :

Le Microprocesseur 16 bits 8086/8088

Plan :

1. Introduction

2. Les broches du 8086

3. Segmentation de la mémoire

4. Interfaçage avec les Entrées/Sorties

Page 6: notes de cours circuits d'interfacesmakammoun.mypressonline.com/index_fichiers/Supports... · Le microprocesseur 8086/88 possède cinq types (catégories) de pins : adresse, donnée,

CHAPITRE I : Le microprocesseur 16 bits 8086/8088 ISET Mahdia

Informatique Industrielle niveau 4 Med Ali KAMMOUN 2

1. Introduction Créé en 1978 par Intel, le 8086 a été l'un des premiers microprocesseurs 16 bits. Il dispose d'un bus de données sur 16 bits, ce qui constituait à l’époque à la fois un avantage en raison de cette puissance, et un inconvénient car les circuits spécifiques 16 bits d'accompagnement n'existaient pas encore. Force était donc d’uti1iser les « anciens » circuits périphériques 8 bits dans des montages plus complexes. C'est ce qui a amené Intel à créer un sous-produit du 16 bits 8086 mais avec une différence considérable : son bus de données externe est sur 8 bits. C’est le 8088, né en 1979. Ainsi, le microprocesseur 16 bits en interne peut utiliser des circuits périphériques 8 bits dont le double avantage est qu ils existaient et qu'ils étaient économiques. C'est pourquoi le 8088 est désigné par « vrai-faux» 16 bits.

2. Les broches du 8086 Le microprocesseur 8086/88 possède cinq types (catégories) de pins : adresse, donnée, contrôle/état, horloge et alimentation. Nous citons ci-après les principaux pins

2.1. Les lignes d’adresses et de données

Le prix d revient d’un circuit intégré dépend, pour beaucoup, du nombre de ses broches avec les boîtiers DIP. Si l’on diminue le compte des broches, on réduit le prix. C’est ce qui a incité divers fabricants à élaborer des astuces allant dans ce sens. En fait, et dans tous les cas, cela consiste à faire passer plusieurs signaux par la même broche, soit en les complémentant, soit en les multiplexant dans le temps. C’est effectivement le cas, avec le 8086/88, en particulier avec des broches communes adresses et données notées AD.

* AD0 – AD15 : L’observation de départ est la suivante : lorsque le microprocesseur émet une adresse sur le bus d’adresse, seule cette adresse est présente sur le bus car la donnée n’est par encore nécessaire. On va demander au circuit destinataire de l’adresse de l’échantillonner et de la verrouiller, c’est-à-dire de la mémoriser et de la prendre en compte. Après, le bus d’adresse n’a plus aucun rôle à jouer et on peut impunément l’exploiter pour faire transiter une donnée.

Puisque l’adresse et la donnée n’ont pas besoin d’être simultanément présents sur le bus, on peut utiliser le même qui servira, à tour de rôle, à l’une ou à l’autre. C’est ce que l’on appelle le multiplexage temporel (dans le temps, à des instants différents). La partie multiplexée du bus est repérée par les lettres AD, pour adresses-données. Avec le 8088, il s’agit de huit broches, notées AD0 à AD7. Pour le 8086 il s’agit de 16 broches AD0 à AD15.

Ces lignes peuvent donc être des lignes de sortie ou d’entrée selon qu’il sa d’écriture ou de lecture. Elles se mettent en troisième état lors de l’acquittement dune interruption ou d’un hold.

* A19 - A16 : Ces lignes possèdent une double fonction : la première l’adressage, au

début de chaque cycle machine, des quatre bits de plus forts poids de l’adresse matérielle à 20 bits. La seconde, une fois l’adresse est verrouillée :

Page 7: notes de cours circuits d'interfacesmakammoun.mypressonline.com/index_fichiers/Supports... · Le microprocesseur 8086/88 possède cinq types (catégories) de pins : adresse, donnée,

CHAPITRE I : Le microprocesseur 16 bits 8086/8088 ISET Mahdia

Informatique Industrielle niveau 4 Med Ali KAMMOUN 3

A17 et A16 deviennent les lignes d’état S4 et S3 qui décodées donnent le segment en

cours. A18 : devient la ligne S5 qui donne l’état du flag d’interruption. A19 : devient la ligne d’état S6 (à 0 indique que le microprocesseur est sur le bus).

2.2. Le signal d’horloge Pour ce signal on utilise le générateur d’horloge 8284 qui permet de fournir à l’entrée CLK le tiers de la fréquence délivrée par un quartz connecté en résonance série.

2.3. Les lignes de contrôle et d’état ALE : Le front descendant de ce signal permet de verrouiller l’adresse dans un latch afin de la garder sur le bus jusqu’à la fin du cycle et permettre ainsi aux pins d’adresse de changer de fonction. La ligne ALE n’est jamais mise en 3ième état. RD : Ligne read, active à l’état bas indique que le microprocesseur est entrain de lire à partir de la mémoire ou d’un port d’E/S. WR : Ligne write, active à l’état bas indique que le microprocesseur est entrain d’écrire dans la mémoire ou sur un port d’E/S.

MIO / : Ce signal spécifie si le cycle machine en cours est entrain d’adresser un port d’E/S (niveau haut) ou une mémoire (niveau bas).

MXMN / : Cette entrée, mise à 1 configure le système dans le mode minimum (les lignes de contrôle ont été définis dans ce cas); mise à 0, ces lignes changent de signification et le système est configuré dans le mode maximum, le contrôleur de bus 8288 est alors indispensable et s’il y a plusieurs processeurs, l’arbitre de bus 8289 sera en plus nécessaire.

RDT / : C’est une sortie qui décide pour le transmetteur (8286/8287) de la direction ces données sur le bus : à l’état haut c’est le sens de l’écriture (Data transmit), à l’état bas c’est le sens de la lecture par le microprocesseur (Data Receive). Ce signal est mis en 3ième état lors de l’acquittement d’un hold. HOLD/HLDA : A l’état haut c’est une demande par un autre maître pour le contrôle du bus. Le microprocesseur répond l’acquittement HLDA (HOLD ACKNOWLEDGE à l’état haut) à la fin de l’opération de transfert de donnée en cours. Le microprocesseur ne fait passer ce signal à l’état bas qu’une fois le HOLD reçu est à 0. INTR : C’est un signal de demande d’interruption, active à l’état haut. Sa présence est automatiquement détectée lors du dernier cycle horloge de chaque instruction. Lorsqu’il est à 1, le µp saute à une routine d’exécution de l’interruption (via une table des vecteurs d’interruptions se trouvant dans la mémoire du système) afin de servir le périphérique demandeur. Ce signal est synchronisé intérieurement et devra être validé par la mise à 1 du bit correspondant du registre de flags.

Page 8: notes de cours circuits d'interfacesmakammoun.mypressonline.com/index_fichiers/Supports... · Le microprocesseur 8086/88 possède cinq types (catégories) de pins : adresse, donnée,

CHAPITRE I : Le microprocesseur 16 bits 8086/8088 ISET Mahdia

Informatique Industrielle niveau 4 Med Ali KAMMOUN 4

RESET : Ce signal sert à démarrer ou redémarrer le système : à son front positif, le µp termine ses activités ; au front descendant tous les registres internes sont mis à 0 sauf CS à FFFFH. Le signal RESET est fourni par le circuit 8284 qui possède un trigger de Schmitt interne dont l’entrée RES est reliée à un circuit RC possédant une constante de temps d’au moins 50µs (après que l’alimentation ait atteint 4,5V). L’hystérésis du trigger empêche la sortie RESET d’osciller lorsque la tension d’entrée commute.

3. Segmentation de la mémoire

En assembleur, on appelle segment de mémoire le mécanisme de base de la gestion des adresses pour des processeurs de type 80x86. Les instructions sont stockées dans le registre IP. Il s'agit d'adresses dont la taille est de 16 bits. Or, avec 16 bits il n'est possible d'adresser que 216= 64 Ko.

Les bus d'adresses récents possèdent toutefois 32 bits. Les adresses qu'ils véhiculent sont donc constituées de deux composantes de 16 bits:

• un segment de 16 bits • un déplacement (ou offset en anglais) de 16 bits

Les segments sont stockés dans des registres de 16 bits, dont les deux principaux sont:

• Le segment de données: DS (Data Segment) • Le segment de code: CS (Code segment)

Le processeur utilise le segment CS pour lire le code d'une instruction. Lors de la lecture de celui-ci il crée une adresse de 32 bits formée de la paire constituée par le registre segment CS et le registre de déplacement IP, on note cette paire CS:IP. Le registre segment CS est initialisé automatiquement au chargement du programme sur le segment contenant la première instruction à exécuter. Le segment DS permet au processeur d'aller chercher les données stockées à une adresse. Il crée alors la paire constituée du registre segment DS et de l'adresse 16 bits indiquée dans l'instruction. C'est au programmeur de définir dans le code source l'adresse du segment de donnée à utiliser, en initialisant le registre DS.

4. Interfaces avec les entrées/sorties Le 8086 et le 8088 acceptent tous les deux, pour les entrées/sorties, la projection E/S et la projection mémoire. La projection E/S permet à un composant d’E/S de résider dans un espace adresse séparé ou salé (les premiers 64KO de l’espace adresse) ; les instructions IN et OUT seront alors utilisées pour la communication. La projection mémoire permet aux composant d’E/S de résider en mémoire toutes les instructions du microprocesseur pourraient être utilisées pour les E/S.

• Le 8086 accepte les composants E/S 8 bits et 16 bits. Un composant E/S 8 bits peut être mis sur la partie basse ou sur la partie haute du bus de donnée (autant mettre un nombre égal sur chacune des moitiés pour équilibrer la charge du bus).

Page 9: notes de cours circuits d'interfacesmakammoun.mypressonline.com/index_fichiers/Supports... · Le microprocesseur 8086/88 possède cinq types (catégories) de pins : adresse, donnée,

CHAPITRE I : Le microprocesseur 16 bits 8086/8088 ISET Mahdia

Informatique Industrielle niveau 4 Med Ali KAMMOUN 5

• Lorsqu’un composant d’E/S est mis sur la moitié basse, toutes les adresses de ses registres doivent être paires et il sera sélectionné à l’aide de A=0. De même un composant d’E/S mis sur la moitié haute n’aura que des adresses impaires, la sélection s’effectue par A0=1.

• Comme le 8088 possède un bus de donnée de 8 bits, il est normalement conçu

pour accepter des composants E/S 8 bits sans aucune restriction sur la parité de l’adresse.

Page 10: notes de cours circuits d'interfacesmakammoun.mypressonline.com/index_fichiers/Supports... · Le microprocesseur 8086/88 possède cinq types (catégories) de pins : adresse, donnée,

CHAPITRE II :

L’Interface Parallèle i8255

Plan :

1. Présentation

2. Les fonctions des lignes de contrôle du PPI 8255

3. Le mot de contrôle

4. Les modes de fonctionnement du 8255

Page 11: notes de cours circuits d'interfacesmakammoun.mypressonline.com/index_fichiers/Supports... · Le microprocesseur 8086/88 possède cinq types (catégories) de pins : adresse, donnée,

CHAPITRE II : L’Interface Parallèle i8255 ISET Mahdia

Informatique Industrielle niveau 4 Med Ali KAMMOUN 7

1. Présentation

L’interface programmable 8255 est un circuit à liaison parallèle destiné à faire les échanges des données entre un microprocesseur et divers dispositifs extérieurs. Puisque il est programmable, on peut l’utiliser dans diverses configurations.

Le 8255 possède 24 bits d’entrées-sorties réparties sur 3 ports A, B et C. Ces derniers peuvent être programmés indépendamment l’un de l’autre soit en entrées soit en sorties. Il existe 3 modes de fonctionnement, et il est possible de les attribuer à certains ports individuellement ou en regroupant certaines lignes des ports A ou B avec celles du port C. En plus des caractéristiques communes aux trois ports, chacun de ceux-ci possède des propriétés particulières permettant ainsi au 8255 de satisfaire de nombreux besoins.

• Le port A : possède deux mémoires tampon destinées à l’entrée et à la sortie de 8

bits de données. Il est donc possible de l'utiliser en mode bidirectionnel. • Le port B : possède une seule mémoire tampon destinée aux entrées-sorties de 8

bits, complétée par un amplificateur tampon d'entrée de 8 bits. • Le port C : c'est le plus complexe, il possède une mémoire tampon destinée aux

sorties et un amplificateur tampon d'entrée de 8 bits. Il possède la particularité de pouvoir être divisé en deux ports d'entrée-sortie de 4 bits, qu'on peut associer aux ports A et B. Il est possible de les utiliser pour générer les lignes d'état et de contrôle nécessaires aux systèmes connectés au port A (ou B) et aux éventuels signaux d’interruption destinés au microprocesseur. Dans ce mode de fonctionnement, certains bits du registre d’accès au port C deviennent un masque d’interruption. Le port C possède une autre particularité, qui est le pouvoir d’être modifié bit par bit par une seule instruction de sortie.

Fig. 1: Schéma interne du 8255

Page 12: notes de cours circuits d'interfacesmakammoun.mypressonline.com/index_fichiers/Supports... · Le microprocesseur 8086/88 possède cinq types (catégories) de pins : adresse, donnée,

CHAPITRE II : L’Interface Parallèle i8255 ISET Mahdia

Informatique Industrielle niveau 4 Med Ali KAMMOUN 8

La connexion avec le microprocesseur se fait par l’intermédiaire d’un bus de 8 bits et de 6 lignes permettant le contrôle du 8255A. Le mode de fonctionnement est défini dans un registre du mot de contrôle, chargé à travers un bus de 8 bits en utilisant la configuration appropriée des lignes de contrôle.

Fig. 2 : Brochage du 8255

2. Les fonctions des lignes de contrôle du PPI 8255

Le PPI 8255 dispose de plusieurs lignes de contrôle dont nous allons succinctement voir les fonctions. Ces lignes sont utilisées pour effectuer des opérations d'entrée-sortie ainsi que pour le chargement du registre de contrôle.

• CS : C’est la broche de validation du boîtier (actif au niveau bas). • RD : Un niveau bas appliqué sur cette entrée permet de lire l’état du groupe

sélectionné ou une donnée. • WR : Un niveau bas appliqué sur cette entrée permet d’écrire dans le port de contrôle

ou d’envoyer une donnée sur l'un des ports. • A0 et A1 : ces 2 entrées sont reliées aux lignes d’adresses A0 et A1 du bus de

l’ordinateur. Elles permettent de sélectionner l’un des 4 ports contenus dans le boîtier (A, B, C ou le registre de contrôle).

• RESET : un niveau haut appliqué sur cette entrée de remise à zéro positionne les 3 ports en entrées et annule toute écriture réalisée dans le registre de contrôle.

3. Le mot de contrôle

Le 8255 dispose d'un mot de contrôle qui permet de configurer les 3 ports en entrées ou en sorties. Ce mot est chargé dans un registre de 8 bits utilisant la combinaison appropriée des lignes A et B. Ensuite les 24 lignes d'entrée-sortie de 8255 sont réparties en 2 groupes. Le groupe A rassemble les 8 bits du port A et les bits 4 à 7 du port C. Le groupe B rassemble les 8 bits du port B et les bits 0 à 3 du port C.

Page 13: notes de cours circuits d'interfacesmakammoun.mypressonline.com/index_fichiers/Supports... · Le microprocesseur 8086/88 possède cinq types (catégories) de pins : adresse, donnée,

CHAPITRE II : L’Interface Parallèle i8255 ISET Mahdia

Informatique Industrielle niveau 4 Med Ali KAMMOUN 9

Les combinaisons des lignes de contrôle sont représentées dans le tableau suivant:

A1 A0 RD WR CS OPERATION 0 0 0 1 0 Lecture port A 0 1 0 1 0 Lecture port B 1 0 0 1 0 Lecture port C ou du REG STATUS (modes 1 et 2) 0 0 1 0 0 Ecriture port A 0 1 1 0 0 Ecriture port B 1 0 1 0 0 Ecriture port B 1 1 1 0 0 Ecriture de mot de contrôle X X X X 1 Non sélectionné 1 1 0 1 0 Etat interdit

3.1. Format du mot de contrôle pour la commande standard

Fig. 3 : Format du mot de contrôle

Exemple Le mot 90H permet de programmer le 8255 en mode 0 avec le port A en entrée et les

ports B et C en sortie.

3.2. Format du mot de contrôle pour la commande Set/Reset du port C

Les bascules du port C peuvent être mises à 1 ou 0 indépendamment : il s’agit d’une commande dite SET/RESET. Dans ce cas le mot de commande doit être déterminé selon le format suivant :

Page 14: notes de cours circuits d'interfacesmakammoun.mypressonline.com/index_fichiers/Supports... · Le microprocesseur 8086/88 possède cinq types (catégories) de pins : adresse, donnée,

CHAPITRE II : L’Interface Parallèle i8255 ISET Mahdia

Informatique Industrielle niveau 4 Med Ali KAMMOUN 10

Fig. 4 : Format du mot de contrôle en mode Set/Reset

Exemple Le mot 0BH permet de mettre à 1 le bit 5 du port C

4. Les modes de fonctionnement du 8255 Le 8255 possède trois modes de fonctionnement (mode 0, mode 1 et mode 2).

4.1. Mode 0 : Entrées/Sorties Parallèles

Le mode 0 permet des opérations simples d’entrée-sortie sur les trois ports. Il dispose de 24 lignes d’entrées-sorties : port A, huit lignes ; port B, huit lignes ; port C, deux groupes de quatre lignes (groupe haut et groupe bas)

Selon l'application souhaitée, chaque groupe devra être déclaré en entrée ou en sortie. Pour chacun des quatre groupes, les lignes entrée/sortie peuvent être utilisées comme lignes de données proprement dites ou comme signal. En plus de cette possibilité, les deux groupes du port C permettent d’utiliser chaque entrée/sortie comme signal de commande pour générer une impulsion (positive ou négative).

Dans ce mode, les données en sortie sont mémorisées dans le 8255. Elles restent inchangées jusqu’à une nouvelle programmation, tandis que les entrées ne sont pas mémorisées.

On attribue au bit concerné dans le mot de contrôle, l’état 1 pour le choix du mode entrée et l’état 0 pour celui du mode de sortie. En mode de fonctionnement 0, il existe donc 16 configurations possibles. Il s’agit donc de déterminer le mot de commande en fonction de l’application souhaitée qu’il faut programmer dans le registre de contrôle.

Remarque

Toute information lue sur un port programmé en sortie est sans signification et toute tentative d’écriture sur un port programmé en entrée est sans action.

Cas particulier du port C: Si on utilise C-BAS en sortie et C-HAUT en entrée, ou

inversement ; on effectuera une instruction d’entrée ou de sortie sur le port complet (8 bits). Seul les 4 bits correspondants (C-BAS ou C-HAUT) auront une signification lors d’une opération de lecture, ou une action lors d’une opération d’écriture.

Page 15: notes de cours circuits d'interfacesmakammoun.mypressonline.com/index_fichiers/Supports... · Le microprocesseur 8086/88 possède cinq types (catégories) de pins : adresse, donnée,

CHAPITRE II : L’Interface Parallèle i8255 ISET Mahdia

Informatique Industrielle niveau 4 Med Ali KAMMOUN 11

4.2. Mode 1 : Entrées/Sorties Parallèles avec Dialogue

Dans ce mode de fonctionnement, seuls les ports A et B sont disponibles pour te transfert parallèle des données en entrée ou en sortie. Les 2x4 bits du port C servent aux signaux de dialogue.

On distingue deux configurations : l’entrée et la sortie.

4.2.1. Mode 1 en entrée

Les ports A et B sont programmés en entrée. Les signaux de dialogue correspondants sont respectivement PC3, PC4, PC5 et PC0, PC1, PC2. Les deux bits restants (PC6 et PC7) peuvent être programmés soit en entrée soit en sorties.

Fig. 5 : Le 8255 en mode 1 en entrée Signification des signaux de dialogue

• STB\ (STROBE) : signal en entrée permettant l’échantillonnage de la donnée présente sur le port associé. Un niveau bas sur cette entrée autorise le passage, de la donnée dans le registre d’entrée. celui-ci sera verrouillé au front montant de STB\.

• IBF (Input Buffer Full) : signal en sortie indicateur de prête en entrée du port. Cette

sortie est mise à 1 sur front descendant de STB\. Elle sera remise à 0 sur front montant de RD\ : c’est à dire lorsqu’on aura effectué la lecture de la donnée.

• INTR lnterrup Request (Demande d’interruption) : signal en sortie pouvant être utilisé

pour effectuer une demande d’interruption au CPU. Elle passe à 1 sur le front montant de STB\ si le masque qui lui est associé (INTE) est préalablement mis à 1. INTR est remis à 0 sur le front descendant de RD\ (lecture de l’information).

PA7- - PA0

INTEA

PC4

PC3

D7- - D0

STBA\ IBFA

INTR

2 E/SRD\

Port A

PC5

PB7- - PB0

INTEB

PC2

PC0

D7- - D0

STBB\ IBFB

INTR

RD\

Port B

PC1

PC7-6

Page 16: notes de cours circuits d'interfacesmakammoun.mypressonline.com/index_fichiers/Supports... · Le microprocesseur 8086/88 possède cinq types (catégories) de pins : adresse, donnée,

CHAPITRE II : L’Interface Parallèle i8255 ISET Mahdia

Informatique Industrielle niveau 4 Med Ali KAMMOUN 12

Remarque INTE est mis à 1 par une commande SET/RESET du bit du port C correspondant à son rang dans le mot d’état (soit PC4 pour INTEA et PC2 pour INTEB). Fonctionnement

Le périphérique place une donnée de 8 bits sur A7-A0 (ou B7-B0) puis génère un

strobe (STB\=0) qui charge cette donnée dans le latch d’entrée. Ceci a pour effet l’activation du signal IBF à 1, indiquant au CPU que la donnée est prête à l’entrée du port.

Fig. 6 : Fonctionnement du 8255 en mode 1 Entrée Mot de commande

Port A 1 0 1 1 1/0 X X X

Port B 1 X X X X 1 1 X

Mot d’état (Port A/Port B) : adresse port C

Groupe A Groupe B E/S E/S IBFA INTEA INTRA INTEB IBFB INTRB

4.2.2. Mode 1 en sortie Les ports A et B sont programmés en sortie. Les signaux de dialogue correspondants sont respectivement PC3, PC6. PC7 et PC0, PC1, PC2. Les deux bits restants (PC4 et PC5) peuvent être programmés sait en entrée soit en sorties.

1 : input 0 : output

Page 17: notes de cours circuits d'interfacesmakammoun.mypressonline.com/index_fichiers/Supports... · Le microprocesseur 8086/88 possède cinq types (catégories) de pins : adresse, donnée,

CHAPITRE II : L’Interface Parallèle i8255 ISET Mahdia

Informatique Industrielle niveau 4 Med Ali KAMMOUN 13

Fig. 7 : Le 8255 en mode 1 en sortie Signification des signaux de dialogue

• ACK\(Acknowledge) signal en entrée. Un niveau 0 sur cette entrée signale au 8255 que la donnée a été prise en compte.

• OBF\ (Output Buffer Full): signal en sortie indicateur de donnée prête en sortie du

port. Cette sortie est mise à 1 sur front montant de WR\ c’est à dire lors d’une opération de sortie sur le port associé. Elle sera remise à 0 sur front descendant de ACK\ (réponse du périphérique comme quoi il a bien reçu la donnée).

• INTR Demande d’interruption ; signal en sortie. Cette sortie passe à 1 sur front

montant de ACK\ si le masque qui lui est associé est à 1. Elle est remise à 0 sur e front descendant de WR\.

Fonctionnement Pour la sortie en mode 1, le microprocesseur écrit la donnée dans le port A (ou B). Le front montant de WR\ fait cesser l’interruption du µP (INTR=0), et met OBF\=0 pour signifier au périphérique que son buffer de sortie est plein et qu’il peut donc venir chercher une donnée requis la donnée ce dernier répond par ACK\=0 qui a pour effet de faire cesser OBF\=1. De nouveau ACK\=1, OBF\=1 et INTE=1 (par le bit SET/RESET de PC6 pour A et celui de PC2 pour B) fait interrompre le µP pour que celui-ci écrive la donnée suivante.

PA7- - PA0

INTEA

PC6

PC3

D7- - D0

ACKOBFA\

INTR

2 E/SWR\

Port A

PC7

PB7- - PB0

INTEB

PC2

PC0

D7- - D0

ACKOBFB

INTR

WR\

Port B

PC1

PC5-4

Page 18: notes de cours circuits d'interfacesmakammoun.mypressonline.com/index_fichiers/Supports... · Le microprocesseur 8086/88 possède cinq types (catégories) de pins : adresse, donnée,

CHAPITRE II : L’Interface Parallèle i8255 ISET Mahdia

Informatique Industrielle niveau 4 Med Ali KAMMOUN 14

Fig. 8 : Fonctionnement du 8255 en mode 1 Sortie Mot de commande

Port A 1 0 1 0 1/0 X X X

Port B 1 X X X X 1 0 X

Mot d’état (port A/port B) : adresse port C

Groupe A Groupe B OBFA INTEA E/S E/S INTRA INTEB OBFB INTRB

4.3. Mode 2 : Entrée/Bus bidirectionnelle Le mode 2 permet d’avoir un bus bidirectionnel sur le port A. Cinq bits du port C sont utilisés pour le status et le contrôle du port A permettant un handshake similaire à celui du mode 1.

Fig. 9 : Fonctionnement en mode 2

Page 19: notes de cours circuits d'interfacesmakammoun.mypressonline.com/index_fichiers/Supports... · Le microprocesseur 8086/88 possède cinq types (catégories) de pins : adresse, donnée,

CHAPITRE II : L’Interface Parallèle i8255 ISET Mahdia

Informatique Industrielle niveau 4 Med Ali KAMMOUN 15

Fig. 10 : Le 8255 en mode 2 Mots de commande : port A

Port A 1 1 X X X 1/0 1/0 1/0

Mot d’état (port A/port B): adresse port C

Groupe A Groupe B OBFA INTE1 IBFA INTE2 INTRA X X X

D7- - D0

INTE1

PC6

PC3

ACKOBFA\

INTR

3 E/S

WR\

Port A

PC7

INTE2

PC5

PA7- - PA0

STBA

IBFB\

RD\

PC4

PC2-0

Page 20: notes de cours circuits d'interfacesmakammoun.mypressonline.com/index_fichiers/Supports... · Le microprocesseur 8086/88 possède cinq types (catégories) de pins : adresse, donnée,

CHAPITRE III :

L’Interface Série i8251

Plan :

1. Présentation

2. Architecture du 8251

3. Programmation du 8251

Page 21: notes de cours circuits d'interfacesmakammoun.mypressonline.com/index_fichiers/Supports... · Le microprocesseur 8086/88 possède cinq types (catégories) de pins : adresse, donnée,

CHAPITRE III : L’Interface Série i8251 ISET Mahdia

Informatique Industrielle niveau 4 Med Ali KAMMOUN 17

1. Présentation Le 8251 est une interface série programmable en asynchrone et en synchrone (USART). C’est un circuit capable de transmettre ou de recevoir des caractères de 5 à 8 bits.

2. Architecture du 8251

Fig. 11 : Structure interne du 8251 Le 8251 comprend, principalement, une interface de connexion au modem, un bloc d’émission et un bloc de réception.

2.1. Interface de connexion au Modem Cette interface est connectée au modem avec les signaux suivants :

• DSR: Data Set Ready (Modem prêt): signal d’entrée. • DTR : Data Terminal Ready (Ordinateur prêt) : signal de sortie. • RTS : Request To Send (Demande pour émettre) : signal de sortie. • CTS : Clear To Send (Prêt pour émettre) : signal d’entrée. • TxD : Transmit Data (Emission de données) : signal de sortie. • RxD : Receive Data (Réception de données) : signai d’entrée.

2.2. Bloc d’émission Ce bloc comprend :

REG Mode

REG Contrôle

REG Status

REG décalage récepteur

REG Buffer IN

REG décalage émetteur

REG Buffer OUT

RxC\ TxC\ CLK

RxD

Entrée

DTR\ DSR\

RTS\ CTS\

TxD

Sortie

SYNDET TxE RESET TxRDY RxRD RD\ WR\ CS\ C/D\

8254 mode 3

D7…D0

DEC. ADR.

A0

READY Vers MODEM

Page 22: notes de cours circuits d'interfacesmakammoun.mypressonline.com/index_fichiers/Supports... · Le microprocesseur 8086/88 possède cinq types (catégories) de pins : adresse, donnée,

CHAPITRE III : L’Interface Série i8251 ISET Mahdia

Informatique Industrielle niveau 4 Med Ali KAMMOUN 18

Deux registres • Un registre tampon (BUFFER OUT) qui reçoit du CPU les données parallèles. • Un registre de transmission qui converti les données à transmettre en série et insère des bits ou des caractères suivant le mode de fonctionnement.

Une sortie série de caractères : TxD. Deux sorties d’état:

• TxRDY (Transmitter Ready) Au niveau 1, cette sortie signale que le registre tampon est prêt à accepter un nouveau caractère (pendant que le registre de transmission émet le précédent). • TxE (Transmitter Empty) Au niveau 1, cette sortie indique que la transmission du caractère est terminée et que le registre de transmission est vide.

Une entrée d’horloge de transmission TxC\ : Cette horloge peut être égale à 1, 16 ou 64 fois la vitesse de transmission en Bauds dans le mode asynchrone.

2.3. Bloc de réception Ce bloc comprend :

Deux registres : • Un registre de réception qui transforme les données série en parallèle. • Un registre tampon (Buffer IN) qui envoie au CPU les données parallèles.

Une entrée série de caractères: RxD. Une sortie d’état: RxRDY (Receiver Ready)

Au niveau 1, cette sortie indique que le registre de réception est prêt à recevoir un caractère. Une entrée d’horloge de réception

Cette horloge peut être égale à 1, 16 ou 64 fois la vitesse de réception en Bauds dans le mode asynchrone.

Une borne SYNDET (Synchro detect) : utilisée en mode synchrone, elle peut émettre ou recevoir suivant le mode de synchronisation choisit : interne ou externe. • Synchro interne : cette borne délivre un niveau haut lorsque le 8251 a détecté le mot de synchro. • Synchro externe : cette borne reçoit un niveau haut lorsqu’il y a eu détection (par un système extérieur) du mot de synchro.

3. Programmation du 8251

3.1. Accès aux registres L’accès aux registres du 8251 s’effectue de la façon suivante CS 0/ ADC = RD WR Transfert 0 0 0 1 Lecture du registre buffer data in. 0 0 1 0 Ecriture dans le registre buffer data out. 0 1 0 1 Lecture du registre STATUS. 0 1 1 0 Ecriture dans le registre mode ou contrôle

Le reste des combinaisons met le bus de données en état haute impédance.

Page 23: notes de cours circuits d'interfacesmakammoun.mypressonline.com/index_fichiers/Supports... · Le microprocesseur 8086/88 possède cinq types (catégories) de pins : adresse, donnée,

CHAPITRE III : L’Interface Série i8251 ISET Mahdia

Informatique Industrielle niveau 4 Med Ali KAMMOUN 19

3.2. Programmation Avant l’utilisation, le 3251 doit recevoir successivement un mot de sélection de mode et un mot de commande. Ceci ne peut être effectué que si l’USART a, au préalable, reçu le signal RESET = 1 ou le mot de commande de RESET.

3.2.1. Mot de sélection de mode Le mot de sélection de mode a le format suivant : S2 S1 EP PEN L2 L1 B2 B1 Mode asynchrone

B2 B1 Vitesse en bauds 0 1 Fréquence clock 1 0 Fréquence clock/16 1 1 Fréquence clock/64

L2 L1 Longueur du caractère

0 0 5 bits 0 1 6 bits 1 0 7 bits 1 1 8 bits

PEN Parity Enable : autorisation de parité

0 Pas de génération de bit de parité 1 Bit de parité ajouté

EP Even Parity : parité paire

0 Parité impaire 1 Parité paire

S2 S1 Bits de stop

0 0 Invalide 0 1 1 bits 1 0 1.5 bits 1 1 2 bits

Mode synchrone Seuls les bits S1 et S2 ont une signification différente.

S1 External Syrchro Detect : ESD 0 SYNDET est une sortie 1 SYNDET est une entrée

( 01/ == WRetDC ) 00 : mode synchrone ≠ 00 : mode asynchrone

Page 24: notes de cours circuits d'interfacesmakammoun.mypressonline.com/index_fichiers/Supports... · Le microprocesseur 8086/88 possède cinq types (catégories) de pins : adresse, donnée,

CHAPITRE III : L’Interface Série i8251 ISET Mahdia

Informatique Industrielle niveau 4 Med Ali KAMMOUN 20

S2 Single Character Synchro: SCS

0 Deux caractères de synchro 1 Un seul caractère de synchro

Remarque Dans le cas du mode synchrone, le ou les caractères de synchronisation doivent être chargés dans le 8251 (Ecriture avec C/D=1) immédiatement après l’envoie du mode.

3.2.2. Mot de commande Quel que soit le mode choisi, ce mot est unique. Il a le format suivant : EH IR RTS ER SBRK RxE DTR TxEN

Bit Signification TxEN Ce bit à 1 autorise la transmission. DTR Un niveau 1 force la sortie DTR à 0. RxE Ce bit à 1 autorise la réception.

SBRK Send Break caractère : Un niveau 1 force la sortie TxD à 0. ER Error Reset : Un niveau 1 remet à 0 les indicateurs d’erreur du mot

d’état : PE — 0E — FE. RTS Un niveau 1 force la sortie à 0. IR Internal Reset : Un niveau 1 a la même action que l’entrée RESET et

permet de reprogrammer le 8251 en lui envoyant un nouveau mot de sélection de mode.

EH Enter Hunt : Un niveau 1 autorise la recherche du mot de synchro en mode synchrone.

Remarque Lors de la mise sous tension la première 1 e 8251 peut se trouver au niveau du registre de mode, caractère de synchronisation ou du registre de contrôle afin de garantir qu’il se trouve bien au niveau du registre de contrôle avant l’émission de la commande de reset interne, le constructeur recommande la séquence d’initialisation du cas pire : écriture de trois 00H consécutifs à l’adresse A0=1 afin de configurer le 8251 dans le mode synchrone avec deux caractères de synchronisation égales à 00H. Le reset interne pourrait alors suivre : écrire 40H dans le registre de contrôle. Une séquence d’initialisation pourrait être la suivante :

INIT PROC NEAR MOV DX, CNT ; CNT=adresse du registre mode/contrôle XOR AL, AL ; AL ← 00H OUT DX, AL ; écriture OUT DX, AL ; de 00H OUT DX, AL ; trois fois MOV AL, 40H ; puis le REST interne OUT DX, AL MCV AL, 7AH ; écriture du mot de sélection du mode

( 01/ == WRetDC )

Page 25: notes de cours circuits d'interfacesmakammoun.mypressonline.com/index_fichiers/Supports... · Le microprocesseur 8086/88 possède cinq types (catégories) de pins : adresse, donnée,

CHAPITRE III : L’Interface Série i8251 ISET Mahdia

Informatique Industrielle niveau 4 Med Ali KAMMOUN 21

OUT DX, AL MOV AL, 37H ; écriture du mot de commande OUT DX, AL RET

INIT ENDP

3.2.3. Mot d’état Le format du registre de STATUS est le suivant : DSR SYNDET FE OE PE TxE RxRDY TxRDY Les cinq bits DSR, SYNDET, TxE, RXRDY et TXRDY ont la même signification que les bornes du même type. Les trois autres sont les indicateurs d’erreur :

Bit Signification PE Parity error: Erreur de parité. OE Overrun Error : Erreur de recouvrement. Ce bit est mis à 1 lorsqu’un

caractère reçu écrase le précédent pas encore lu par le CPU. FE Framing Error : Erreur de format. Ce bit est mis à 1 lorsqu’un bit de stop

manque à la fin du caractère. Ces indicateurs sont remis à 0 par le bit ER du mot de commande.

( 01/ == RDetDC )

Page 26: notes de cours circuits d'interfacesmakammoun.mypressonline.com/index_fichiers/Supports... · Le microprocesseur 8086/88 possède cinq types (catégories) de pins : adresse, donnée,

CHAPITRE IV :

Le Contrôleur d’Interruptions Programmable

i8259

Plan :

1. Définition

2. Affectation des interruptions dans le cas d’un PC

3. Architectures et registres du 8259

4. Programmation du 8259

Page 27: notes de cours circuits d'interfacesmakammoun.mypressonline.com/index_fichiers/Supports... · Le microprocesseur 8086/88 possède cinq types (catégories) de pins : adresse, donnée,

CHAPITRE IV : Le Contrôleur d’Interruption Programmable i8259 ISET Mahdia

Informatique Industrielle niveau 4 Med Ali KAMMOUN 23

1. Définition Pour recevoir des données et changer les états des ports d'Entrée/Sortie, il y a deux méthodes disponibles. La première consiste à sonder le port, donc à lire l'état du port à intervalles fixes, pour déterminer si des données ont bien été reçues, ou si un changement d'état a eu lieu. On peut alors se brancher sur un sous-programme pour effectuer le sous-programme souhaité. Comme vous pouvez l'imaginer, cette méthode utilise beaucoup de temps processeur. Temps qui pourrait être utilisé à d'autres tâches, comme rafraîchir l'écran, afficher l'heure,... Une meilleure solution est l'utilisation des interruptions. Ici, le processeur peut effectuer les tâches auxiliaires, comme rafraîchir l'écran, afficher l'heure,... Lorsqu’un port d’Entrée/Sortie réclame votre attention, comme lors de la réception d’un octet, ou que son état a changé, il envoie alors une demande d’interruption (IRQ) au processeur. Le processeur arrête alors l’instruction qu’il était en train d’exécuter, sauvegarde le contenu de ses registres dans la pile, et exécute la routine d’interruption correspondant à celle demandée, laquelle pourra par exemple retirer l’octet du port et le placer dans un tampon. Une fois la routine d’interruption terminée, le processeur restaure le contenu de la pile, et reprend sa tâche, là où il s’était arrêté. L’utilisation de cette méthode permet de ne pas gaspiller de temps CPU à scruter les ports E/S. Par contre, cela oblige le périphérique à faire une demande d’interruption.

2. Affectation des interruptions dans le cas des PC IRQ0 : Horloge temps réel (18,2Hz), sortie voie 0 du 8254. IRQ1 : Interface clavier, contrôleur 8042. IRQ2 : Réservé pour la mise en série d’un contrôleur d'interruption No2 -IRQ8 : Horloge dateur programmable 146818. -IRQ9 : Cartes extension -IRQ10 : Cartes extension. -IRQ11 : Cartes extension. -IRQ12 : Cartes extension. -IRQ13 : 80287 en option. -IRQ14 : Cartes extension (carte disque). -IRQ15 : Cartes extension. IRQ3 : Interface série COM2 + Cartes extension. IRQ4 : Voie série COM1 + Cartes extension. IRQ5 : Cartes extension. IRQ6 : Contrôleur disquettes et Cartes extension. IRQ7 : Interface parallèle imprimante et cartes extension.

Page 28: notes de cours circuits d'interfacesmakammoun.mypressonline.com/index_fichiers/Supports... · Le microprocesseur 8086/88 possède cinq types (catégories) de pins : adresse, donnée,

CHAPITRE IV : Le Contrôleur d’Interruption Programmable i8259 ISET Mahdia

Informatique Industrielle niveau 4 Med Ali KAMMOUN 24

3. Architecture et registres du 8259

3.1. Architecture du 8259

Fig. 12 : Structure du 8259

3.2. Registres du 8259 Si le PIC a été réinitialisé, il doit être initialisé avec 2 des 4 mots (Initialization Command Words ICW) avant qu'il ne puisse accepter et traiter des interruptions. Ici vous trouvez les 4 mots d'initialisations possibles

3.2.1. Mot de commande d’initialisation 1 : Initialisation Command Word 1 (ICW1)

Bit(s) Fonction 7:5 Adresse du vecteur d’interruption en mode MCS-80/85 4 Doit être à “1” pour ICW1

1 Détection sur niveau 3 0 Détection sur front 1 Appel d’adresse en intervalle de 4 2 0 Appel d’adresse en intervalle de 8 1 Un seul PIC 1 0 En mode Cascade 1 On utilisera ICW4 0 0 Pas besoins de ICW4

Page 29: notes de cours circuits d'interfacesmakammoun.mypressonline.com/index_fichiers/Supports... · Le microprocesseur 8086/88 possède cinq types (catégories) de pins : adresse, donnée,

CHAPITRE IV : Le Contrôleur d’Interruption Programmable i8259 ISET Mahdia

Informatique Industrielle niveau 4 Med Ali KAMMOUN 25

Le contrôleur d'interruptions programmable 8259 offre de nombreuses caractéristiques qui ne sont pas utilisées dans le PC. Il est aussi compatible avec les processeurs MCS-80/85. Tout ce dont nous avons à nous soucier est que le PC tourne en mode simple (un seul PIC) ou en mode Cascade (plus d'un PIC) ainsi que de savoir si le mot de commande d'initialisation 4 est nécessaire ou non. Si aucun ICW4 n'est utilisé, alors tous ses bits seront à 0. Comme nous l'utilisons en mode 8086, nous devons utiliser un ICW4.

3.2.2. Mot de commande d’initialisation 2 : Initialisation Command Word 2 (ICW2)

L’ICW2 sélectionne quelle information sur les vecteurs est conservée sur le bus, lors de la seconde impulsion INTA. Lors de l'utilisation du mode 8086, seuls les bits de 3 à 7 sont utilisés: 00001000 pour PIC1 et 01110000 pour PIC2. Si vous souhaitez reloger la table des vecteurs d'IRQ, vous devez utiliser ce registre.

Bit 8086/8080 Mode MCS 80/85 Mode 7 I7 A15 6 I6 A14 5 I5 A13 4 I4 A12 3 I3 A11 2 - A10 1 - A9 0 - A8

3.2.3. Mot de commande d’initialisation 3 : Initialisation Command Word 3 (ICW3)

Il y a deux ICW3 différents. Le premier est utilisé si le PIC est un maître, et l'autre est utilisé pour les esclaves. Le premier tableau donne l'ICW3 en maître:

Bit Fonction 7 IR7 est connecté à l’esclave 6 IR6 est connecté à l’esclave 5 IR5 est connecté à l’esclave 4 IR4 est connecté à l’esclave 3 IR3 est connecté à l’esclave 2 IR2 est connecté à l’esclave 1 IR1 est connecté à l’esclave 0 IR0 est connecté à l’esclave

Page 30: notes de cours circuits d'interfacesmakammoun.mypressonline.com/index_fichiers/Supports... · Le microprocesseur 8086/88 possède cinq types (catégories) de pins : adresse, donnée,

CHAPITRE IV : Le Contrôleur d’Interruption Programmable i8259 ISET Mahdia

Informatique Industrielle niveau 4 Med Ali KAMMOUN 26

Et pour les esclaves :

Bit(s) Fonction 7 0 6 0 5 0 4 0 3 0

ID de l’esclave 000 Esclave 0 001 Esclave 1 010 Esclave 2 011 Esclave 3 100 Esclave 4 101 Esclave 5 110 Esclave 6

2:0

111 Esclave 7

3.2.4. Mot de commande d’initialisation 4 : Initialisation Command Word 4 (ICW4)

La encore, la plupart de ces fonctions spéciales ne sont pas utilisées avec le 8259 en mode 8086.

Bit(s) Fonction 7 0 6 0 5 0

1 Special Fully Nested Mode 4 0 Not Special Fully Nested Mode 0x Mode Non – Bufférisé 10 Mode Bufférisé - Esclave

3:2

11 Mode Bufférisé - Maître 1 Auto EOI (End Of Interruption) 1 0 Normal EOI 1 8086/8080 Mode 0 0 MCS-80/85

Special Fully Nested Mode : 0 : mode normal d'imbrication des interruptions. Le bit correspondant du registre des interruptions en service ISR est mis à 1 et reste dans cet état jusqu'a ce qu'une fin

Page 31: notes de cours circuits d'interfacesmakammoun.mypressonline.com/index_fichiers/Supports... · Le microprocesseur 8086/88 possède cinq types (catégories) de pins : adresse, donnée,

CHAPITRE IV : Le Contrôleur d’Interruption Programmable i8259 ISET Mahdia

Informatique Industrielle niveau 4 Med Ali KAMMOUN 27

d'interruption survienne ou, si la fin d'interruption automatique est programmée, jusqu'au dernier front montant du signal INTA. 1 : ce bit autorise le mode spécial d'imbrication des interruptions ; dans ce mode, un esclave qui a déjà une interruption en service pourra en faire prendre en compte d'autres par le maître, si elles sont de plus forte priorité (dans le mode normal, le maître les ignore jusqu'a la commande EOI). Généralement ce bit est mis à 0 (non utilisé). Non-Buffered mode et Normal EOI sont aussi à 0. La seule chose à mettre à 1 est le mode 8086/8080, par le bit0.

3.2.5. Mot de contrôle d’opération 1 : Operation Control Word 1 (OCW1) Une fois les mots de commande d'initialisation envoyés au PIC, vous pouvez traiter les Operation Control Words, dans n'importe quel ordre et n'importe quand pendant le travail du PIC. Operation Control Word 1 (OCW1), est utilisé pour masquer les entrées du PIC.

Bit PIC 2 PIC 1 7 Masque IRQ15 Masque IRQ7 6 Masque IRQ14 Masque IRQ6 5 Masque IRQ13 Masque IRQ5 4 Masque IRQ12 Masque IRQ4 3 Masque IRQ11 Masque IRQ3 2 Masque IRQ10 Masque IRQ2 1 Masque IRQ9 Masque IRQ1 0 Masque IRQ8 Masque IRQ0

Un bit à 1 correspond à inhiber l'interruption portant le même numéro d'ordre ; un 0 correspond à l'autoriser

3.2.6. Mot de contrôle d’opération 2 : Operation Control Word 2 (OCW2) Operation Control Word 2 permet de sélectionner la façon dont agit End of Interrupt (EOI). La seule chose qui nous intéresse dans ce registre est la commande non spécifique à l'EOI que nous devons écrire à la fin des ISR.

Page 32: notes de cours circuits d'interfacesmakammoun.mypressonline.com/index_fichiers/Supports... · Le microprocesseur 8086/88 possède cinq types (catégories) de pins : adresse, donnée,

CHAPITRE IV : Le Contrôleur d’Interruption Programmable i8259 ISET Mahdia

Informatique Industrielle niveau 4 Med Ali KAMMOUN 28

Bit(s) Fonction 000 Arrêt de rotation automatique 001 Fin d'interruption 010 Pas d'opération 011 Fin d'interruption No 100 Rotation des priorités a chaque EOI 101 Rotation des priorités a chaque EOI non spécifique 110 La priorité la plus élevée est No

7:5

111 Rotation à chaque int.No 4 0 3 0

000 Action en IRQ 0 or 8 001 Action en IRQ 1 or 9 010 Action en IRQ 2 or 10 011 Action en IRQ 3 or 11 100 Action en IRQ 4 or 12 101 Action en IRQ 5 or 13 110 Action en IRQ 6 or 14

2:0

111 Action en IRQ 7 or 15

3.2.7. Mot de contrôle d’opération 3 : Operation Control Word 3 (OCW3) Les bits 0 et 1 permettent de lire l'état du registre Interrupt Request Register (IRR) et du registre In-Service Register (ISR). Ceci est fait en configurant comme précisé ci-dessous ces bits, puis en lisant le registre à l'adresse de base. Par exemple nous voulions lire le registre In-Service Register (ISR), et donc les bits 0 et 1 sont mis à 1. La lecture au registre de base va renvoyer l'état du registre In-Service Register.

Bit(s) Fonction 7 0 6 ESMM 5 SMM 4 0 3 1

1 Poll Command 2 (P) 0 No Poll Command 00 Reservé 01 Reservé 10 Lecture du Interrupt Request Register

1:0

11 Lecture du In-Service Register ESMM : (Enable Special Mask Mode) à 1, ce bit autorise SMM, sinon le bit SMM est ignore.

Page 33: notes de cours circuits d'interfacesmakammoun.mypressonline.com/index_fichiers/Supports... · Le microprocesseur 8086/88 possède cinq types (catégories) de pins : adresse, donnée,

CHAPITRE IV : Le Contrôleur d’Interruption Programmable i8259 ISET Mahdia

Informatique Industrielle niveau 4 Med Ali KAMMOUN 29

SMM : (Special Mask Mode) 1 : mode spécial sélectionné, 0 : mode spécial arrêté. Le mode spécial de masquage permet de résoudre des problèmes d'occupation abusive du CPU par une routine d'interruption ; en effet, lorsque l'une d'elle demande un temps d'exécution important, elle bloque toutes celles qui ont une priorité plus faible. Il n'est pas toujours possible de placer ces routines longues en faible priorité car il peut être nécessaire d'exécuter une tache importante au début de la procédure d'interruption. Par contre, une fois cette tache accomplie, il est possible d'accepter les priorités plus faibles avant la fin de la procédure. Pour cela, il faut exécuter la séquence d'opération suivante : - Masquer uniquement le bit correspondant à la routine en cours. - Mettre le 8259 en mode spécial de masquage à l'aide de OCW3. - Autoriser les interruptions : toutes les interruptions sont alors autorisées sans tenir compte de leur priorité plus faible. Avant de sortir de la routine, il faut exécuter une séquence inverse : - Bloquer le mode spécial de masquage. - Rétablir un masquage normal. P : (Poll command = commande de scrutation) - 0 : mode normal - 1 : le signal INT est inhibe ; chaque lecture du microprocesseur est considérée comme une reconnaissance d'interruption ; durant cette lecture le 8259 met sur le bus le mot suivant : B7 B6 B5 B4 B3 B2 B1 B0 I X X X X W2 W1 W0 W2 à W0 : est le numéro de la demande d'interruption de plus haute priorité. I : est à 1 lorsqu'une interruption a été demandée.

3.2.8. IRR : (Interrupt Request Register = registre demande d'interruption) Ce registre 8 bits mémorise les demandes suivant leur numéro d'interruption IRQ ; chaque bit est actif (demande d'interruption) à l'état 1.

3.2.9. ISR : (In Service Register = registre interruption en service) Registre de 8 bits. Le bit d'IRR de plus haute priorité est inscrit dans ISR tandis qu'il est remis à 0 dans IRR. Dans le mode automatique, le bit de ISR est remis à zéro des que le vecteur d'interruption a été lu (voir bit AEOI de ICW4) : la demande d'interruption est considérée comme servie ; dans le cas contraire, un mot de commande est nécessaire pour effacer le bit concerne.

4. Programmation du 8259 La programmation de ce circuit comprend deux types de commandes :

Page 34: notes de cours circuits d'interfacesmakammoun.mypressonline.com/index_fichiers/Supports... · Le microprocesseur 8086/88 possède cinq types (catégories) de pins : adresse, donnée,

CHAPITRE IV : Le Contrôleur d’Interruption Programmable i8259 ISET Mahdia

Informatique Industrielle niveau 4 Med Ali KAMMOUN 30

- Les commandes d'initialisation effectuées par une séquence dans l'ordre ICW1, ICW2, ICW3, ICW4 - Les commandes d'opérations générées à tout moment après les commandes d'initialisation : OCW1, OCW2, OCW3.

Fig. 13 : Organigramme d’initialisation du 8259

Après un reset, le contrôleur est dans l'état suivant : - la détection des interruptions est remise à zéro, - le masque d'interruption est efface, - la priorité la plus basse est IRQ7, - l'adresse du mode esclave est mise a 7, - le mode de masque spécial est efface.

Début

Ecriture de ICW1 sur CSR

Ecriture de ICW2 sur Port

Mode Cascade ?

Ecriture de ICW3 sur Port

Ecriture de ICW4 sur Port

Fin

Non

Oui

Page 35: notes de cours circuits d'interfacesmakammoun.mypressonline.com/index_fichiers/Supports... · Le microprocesseur 8086/88 possède cinq types (catégories) de pins : adresse, donnée,

CHAPITRE V :

Le Timer Programmable le i8253/8254

Plan

1. Introduction

2. Structure Interne

3. Accès aux registres

4. Modes de fonctionnement

Page 36: notes de cours circuits d'interfacesmakammoun.mypressonline.com/index_fichiers/Supports... · Le microprocesseur 8086/88 possède cinq types (catégories) de pins : adresse, donnée,

CHAPITRE V : Le Timer Programmable i8253/8254 ISET Mahdia

Informatique Industrielle niveau 4 Med Ali KAMMOUN 32

1. Introduction

Lorsqu’on veut effectuer des mesures selon des intervalles de temps précis (cas de la conversion analogiques numériques), l’utilisation de l’horloge interne du PC ou des fonctions de temporisation fournies par les langages de programmation, reste insuffisante. En effet, beaucoup de cartes d’acquisition sont munies d’une horloge indépendante et de compteurs ou plutôt décompteurs programmables (timer).

Ce circuit établit des intervalles de temps avec précision ou compte des événements, puis émet une interruption à l’issue de son programme. Il pourra servir de :

générateur de rythme programmable. Compteur d’événements. Multiplicateur de rythme binaire. Horloge temps réel. Monostable. Contrôleur de moteur Générateur de Bauds en communication série Etc.

Son buffer 8 bits est à trois états ; le microprocesseur l’adresse de façon classique, par exemple à l’aide de ses instructions d’entrées-sorties (IN et OUT). Les données reçues par le 8253 ont 3 fonctions : 1 – programmer les modes de fonctionnement. 2 – charger les registres de comptage. 3 – lire les valeurs comptées.

2. Structure interne

Cette interface est constituée de trois circuits de comptage identiques possédant, chacun deux entrées « CLK » et « GATE » (gâchette) et une sortie « OUT ». Chacun possède également un registre de contrôle, un registre d’état (STATUS), un registre compteur « CR » pour recevoir le compte initial, un élément compteur «CE » effectuant le comptage mais accessible par le microprocesseur et un latch de sortie « OL » pour verrouiller le contenu du compteur CE et le rendre disponible pour la lecture. CR, CE et OL sont des paires de registre 8 bits.

1

2

3

4

5

6

7

8

9

10

11

12

24

23

22

21

20

19

18

17

16

15

14

13

8253

D7D7D7D7D7D7D7D7

CLK 0OUT 0

GATE 0GND

CLK 1

OUT 1GATE 1

CLK 2

OUT 2GATE 2

A0A1CSRDWRVcc

Fig. 14 : Brochage du 8253

Page 37: notes de cours circuits d'interfacesmakammoun.mypressonline.com/index_fichiers/Supports... · Le microprocesseur 8086/88 possède cinq types (catégories) de pins : adresse, donnée,

CHAPITRE V : Le Timer Programmable i8253/8254 ISET Mahdia

Informatique Industrielle niveau 4 Med Ali KAMMOUN 33

Fig. 15 : Architecture du 8253

Fig. 16 : Structure interne du 8253/8254

3. Accès aux registres

3.1. Adresses L’accès aux registres du 8254 s’effectue de la façon suivante :

STATUS

Oct. Bas

Contrôle

Oct. Haut

Oct. Haut

Oct. Haut

Oct. Bas

Oct. Bas

Registre

Compte (CR)

Compteur (CE)

Latch (OL)

Compteur 0

CLK

GATE

OUT

Compteur 1

Compteur 2

D7..D0 RD\ WR\ CS\ A0 A1

Page 38: notes de cours circuits d'interfacesmakammoun.mypressonline.com/index_fichiers/Supports... · Le microprocesseur 8086/88 possède cinq types (catégories) de pins : adresse, donnée,

CHAPITRE V : Le Timer Programmable i8253/8254 ISET Mahdia

Informatique Industrielle niveau 4 Med Ali KAMMOUN 34

CS RD WR 1A 0A fonction

0 1 0 0 0 Chargement compteur 0 0 1 0 0 1 Chargement compteur 1 0 1 0 1 0 Chargement compteur 2 0 1 0 1 1 Ecriture mot de mode 0 0 1 0 0 Lecture compteur 0 0 0 1 0 1 Lecture compteur 1 0 0 1 1 0 Lecture compteur 2 0 0 1 1 1 Pas d’opération : 3e état 1 X X X X Inhibitions 3e état 0 X X X X Pas d’opération : 3e état

Le chargement du compteur i se fait en écrivant dans son registre CR

3.2. Mot de commande

Le format du mot de commande est le suivant :

3.2.1. Procédure d’écriture Pour la procédure d’écriture, il faut se rappeler de deux conventions :

• Pour chaque compteur, il faut écrire dans l’ordre : le mot de contrôle puis le compte initial.

• Le compte initial doit se conformer au format binaire ou BCD indiqué par le mot de contrôle

3.2.2. Procédure de lecture On distingue deux types de commande :

Page 39: notes de cours circuits d'interfacesmakammoun.mypressonline.com/index_fichiers/Supports... · Le microprocesseur 8086/88 possède cinq types (catégories) de pins : adresse, donnée,

CHAPITRE V : Le Timer Programmable i8253/8254 ISET Mahdia

Informatique Industrielle niveau 4 Med Ali KAMMOUN 35

La commande Counter Latch (CL) : A pour effet de verrouiller, dans le registre OL correspondant, le contenu de l’élément compteur (CE) spécifié par les 2 MSB (bits plus significatifs) du mot de commande suivant

SC1 SC2 0 0 X X X X La commande Read Back : Elle permet la lecture soit du compte soit du status (validés par 0) du compteur dont le bit est validé par 1 dans le mot de commande suivant

1 1 Count\ Status\ CNT2 CNT1 CNT0 0 Cette commande permet de préparer le mot de status dont le format recopie les 6 bits de faibles poids du mot de contrôle :

Out RW1 RW0 M2 M1 M0 BCD

4. Modes de fonctionnement GATE = 1: valide le comptage (décomptage) GATE = 0 : le suspend mais n’a aucun effet sur la sortie OUT.

4.1. Mode 0 : Envoi d’une demande d’interruption en fin de décomptage

Après chargement de la valeur à décompter et temporisation d’une impulsion d’horloge, le décomptage commence. La sortie est au niveau bas. Lorsque le décomptage atteint 0, la sortie passe au niveau 1. Ce qui se traduit par l’émission d’une demande d’interruption. Elle reste à 1 jusqu’au changement d’un nouveau mode ou d’une nouvelle valeur. Le décomptage se poursuit.

Etat du pin out CR CE 0 : chargé 1 : non chargé

CLK

WR\

GATE

OUT

N=4

4 3 2 1 0

Page 40: notes de cours circuits d'interfacesmakammoun.mypressonline.com/index_fichiers/Supports... · Le microprocesseur 8086/88 possède cinq types (catégories) de pins : adresse, donnée,

CHAPITRE V : Le Timer Programmable i8253/8254 ISET Mahdia

Informatique Industrielle niveau 4 Med Ali KAMMOUN 36

4.2. Mode 1 : Re-déclenchement par impulsion extérieur

En position d’attente, la sortie est au niveau haut. Un front montant sur la gâchette GATE déclenche le décompte au top d’horloge qui suit. Alors la sortie passe à 0 et s’y maintient jusqu’à ce que le décompte arrive à 0.

Chaque front montant sur GATE relance le processus à partir du compte initial (si celui-ci n’a pas été modifié). En mode 1 le 8254 fonctionne en monostable.

4.3. Mode 2 : Timer d’intervalle périodique Après le chargement de CR par N, à la prochaine impulsion d’horloge s’effectue le transfert de CR à CE et le décomptage commence. Mais au contraire du mode 1 la sortie reste au niveau haut. Lorsque le compte arrive à 1 elle passe à zéro et y reste pendant une période et retourne à 1. Le décompteur repart alors à partir du compte initial pour un autre cycle identique. On génère ainsi des tops à intervalles réguliers. Le décompte est suspendu par le passage de GATE à 0 et reprend, depuis e compte initial, par son passage à 1.

CLK

WR\

GATE

OUT

N=4

4 3 2 1 0

CLK

WR\

GATE

OUT

N=4

4 3 2 1 0 4 3 4 3…

Page 41: notes de cours circuits d'interfacesmakammoun.mypressonline.com/index_fichiers/Supports... · Le microprocesseur 8086/88 possède cinq types (catégories) de pins : adresse, donnée,

CHAPITRE V : Le Timer Programmable i8253/8254 ISET Mahdia

Informatique Industrielle niveau 4 Med Ali KAMMOUN 37

4.3.1. Mode 3 : Générateur d’ondes carrées Ce mode est similaire au mode 2 sauf que OUT passe au niveau bas lorsque la moitié du compte initial est atteinte, soit N/2, et reste dans cet état jusqu’à ce que le compte arrive à 0 et le cycle recommence. Comme pour le mode 2, un niveau 1 sur GATE valide le décompte et un niveau 0 l’inhibe alors qu’un front montant le réinitialise. De ce fait, une valeur impaire amène (N+l)/2 avec sorties au niveau haut et (N-1)/2 au niveau bas. On utilise ce mode pour la génération de Bauds.

4.3.2. Mode 4 : Strobe déclenché par logiciel Ce mode est similaire au mode 0 sauf que OUT est au niveau haut pendant le décomptage et produit une seule impulsion négative lorsque le compte devient nul.

CLK

WR\

OUT

OUT

N=4

4 3 2 1 0 4 3 2 1 0

N=5

5 4 3 2 1 0 5 4 3 2 1

4 3 2 1 0 4

CLK

WR\

GATE

OUT

N=4 N=4

Page 42: notes de cours circuits d'interfacesmakammoun.mypressonline.com/index_fichiers/Supports... · Le microprocesseur 8086/88 possède cinq types (catégories) de pins : adresse, donnée,

CHAPITRE V : Le Timer Programmable i8253/8254 ISET Mahdia

Informatique Industrielle niveau 4 Med Ali KAMMOUN 38

4.3.3. Mode 5 : Strobe déclenché par matériel (hardware) Après le chargement de CR, un front montant sur GATE fait transférer CR dans CE à la prochaine impulsion d’horloge. Comme dans le mode 4, OUT reste à 1 pendant le décomptage puis passe à 0 pendant une période d’horloge lorsque le compte est nul. GATE peut réinitialiser le décomptage à tout moment.

4 3 2 1 0 4

CLK

WR\

GATE

OUT

N=4

Page 43: notes de cours circuits d'interfacesmakammoun.mypressonline.com/index_fichiers/Supports... · Le microprocesseur 8086/88 possède cinq types (catégories) de pins : adresse, donnée,

39

Bibliographie [1] Intel Corporation, 8255A/8255A-5 Programmable Peripheral Interface, Aout 1991. [2] Intel Corporation, 8251A Programmable Communication Interface, Novembre 1986. [3] Intel Corporation, 8259A Programmable Interrupt Controller, Décembre 1988. [4] Intel Corporation, 8253/8253-5 Programmable Interval Timer, Novembre 1986. www.chipdocs.com