Cour Et Tp Cpi 2015 2016

Embed Size (px)

Citation preview

  • 8/17/2019 Cour Et Tp Cpi 2015 2016

    1/29

    O M M A N D E D ’ U N P R O E S S U S P A R O R D I N A T E U R

    ©2016 0M.GNETCHEJO

    Support deCours de C.P.I

    Année Académique 2015/2016Par

    GNETCHEJO PATRICK JUVETP.L.E.T

    INSTITUT UNIVERSITAIRE ET STRATEGIQUE DE l’ESTUAIRE

    INSTITUT SUPERIEUR DE TECHNOLOGIE DE L’ESTUAIRE

  • 8/17/2019 Cour Et Tp Cpi 2015 2016

    2/29

    O M M A N D E D ’ U N P R O E S S U S P A R O R D I N A T E U R

    ©2016 1M.GNETCHEJO

    Programme de CPI II2

    CHAPITRE 0 : RAPPELS DU LANGAGE C/C++

    CHAPITRE I : LES PORTS D’E/S DU PC

    CHAPITRE II : INTERFACE DE COMMANDE

    CHAPITRE III : LE PIA 8085 ET L’ACIA 8250

    CHAPITRE IV : PROGRAMMATION D’UN GRAFCET EN C/C++

    CHAPITRE V : TP SUR LA COMMANDE DES PROCESSUS- Démarrage des moteurs asynchrone- Chenillard- Feux de carrefour- Processus industriels

  • 8/17/2019 Cour Et Tp Cpi 2015 2016

    3/29

    O M M A N D E D ’ U N P R O E S S U S P A R O R D I N A T E U R

    ©2016 2M.GNETCHEJO

    1. INTRODUCTION

    Longtemps dans la commande ordinée on a utilisé seulement les cartes intégrées (cartesd’extension) pour les applications industrielles. Les cartes étaient alors connectées sur les ports (ISA (Industry Standard Architecture), PCI ( Peripheral Component Interconnect ), etSCSI(Small computer System Interface)). Avec l’expansion des moyens de communication,la commande ordinée à intégrer la domotique (applications domestiques) et l’on a commencéà utiliser les ports LPT, COM, USB pour commander les processus industriels.

    2. LE PORT LPT Cette interface était à l’origine conçu pour commander les imprimantes, elle utilise la

    transmission parallèle (c'est-à-dire envoie toutes les données écrites à la fois). La distancenormalisée qui sépare l’interface et le PC est d’environ 3m, mais le flux d’informationtransmis est le plus important. Au fur et à mesure des évolutions des besoins en débitdifférents types de ports parallèles sont apparus :-unidirectionnel 4 bits-bidirectionnel 8 bits-type 1 standard-type 3 (DMA d’IBM) DMA=direct memory access-EPP (port parallèle étendu)-ECP (port à capacité étendu)

    2.1. Présentation du Port parallèle

    Destiné à l'origine à l'imprimante du PC, le port parallèle fait l'objet de nombreusesapplications. Il est matérialisé par un connecteur DB 25 femelle et possède un nombreimportant de broches utiles pour l'émission et la réception de signaux logiques aux normesTTL (0/5V).

    Il est nécessaire de bien connaître le fonctionnement du port parallèle afin de pouvoir le programmer pour de multiples utilisations (lecture de cartes à puce, pilotage de cartes

    électroniques, programmation d'un microcontrôleur par le port parallèle,...).

    Chapitre

    1LES PORTS D’E/S DU PC

  • 8/17/2019 Cour Et Tp Cpi 2015 2016

    4/29

    O M M A N D E D ’ U N P R O E S S U S P A R O R D I N A T E U R

    ©2016 3M.GNETCHEJO

    2.2. Brochage du port parallèle

    No de broche Nom Direction Niveau de repos1 Strobe Sortie 12 Donnée d0 Sortie 03 Donnée d1 Sortie 04 Donnée d2 Sortie 05 Donnée d3 Sortie 0

    6 Donnée d4 Sortie 07 Donnée d5 Sortie 08 Donnée d6 Sortie 09 Donnée d7 Sortie 010 Acknowledge Entrée 011 Busy Entrée 112 Paper end Entrée 013 Select Entrée 014 Autofeed Sortie 015 Error Entrée 116 Initialize printer Sortie 117 Select input Sortie 018 à 25 Ground -/ -/

    -strobe : cette ligne est active à l’état bas, elle » indique à l’imprimante que les données sont présentes et qu’il faut les prendre-D0 à D7 :c’est le bus de données, on ne peut qu’écrire sur ce port a moins d’avoir un port parallèle étendu (ECP ou EPP) ou les données sont en entrées/sorties-acknowledge (ack) :l’imprimante met à « 0 »cette ligne pour indiquer à l’ordinateur qu’elle

    a bien reçu les données émises.-Busy : cette ligne est mise à « 0 » par l’imprimante lorsque son buffer de réception est plein-paper end (PE) : cette ligne passe au niveau haut lorsqu’il n’y a plus de papier dansl’imprimante-Select : au niveau haut elle indique que l’imprimante a été sélectionnée-Autofeed : lorsque ce signal est à l’état 1 l’imprimante effectue un saut de ligne à chaquecaractère reçu

    -Error : à l’état bas elle indique que l’imprimante a détecté une erreur-Initialize printer (INT) : cette broche permet à l’ordinateur d’initialiser la commande

  • 8/17/2019 Cour Et Tp Cpi 2015 2016

    5/29

    O M M A N D E D ’ U N P R O E S S U S P A R O R D I N A T E U R

    ©2016 4M.GNETCHEJO

    -Select input : elle permet à l’ordinateur de mettre l’ordinateur hors ligne-Ground : c’est la masse de l’ordinateur

    2.3. Présentation logicielIl est très facile de programmer cette interface, le port LPT comporte seulement 3 registres ;-registre de commande (sortie)-registre d’état (entrée)-registre de données (sortie) (E/S pour EPP et ECP)------------------------ Adresse Adresse AdressePort parallèle Données Etat Commande1 378 (hexa) 379 (hexa) 37A (hexa)2 278 (hexa) 279 (hexa) 27A (hexa)3 3BC (hexa) 3BD (hexa) 3BE (hexa)

    2.3.1. Registre de données

    Bits 7 6 5 4 3 2 1 0 Nom D7 D6 D5 D4 D3 D2 D1 D0Broches 9 8 7 6 5 4 3 2

    Le nombre qu’on peut écrire sur le registre de données va de 0 à 255.On écrit dans le programme en décimal mais la machine convertit en binaire avant d’envoyer la donnée au

    port. Pour 8 bits, Nous avons 256 combinaisons.Exemple : donner l’état de chaque bit pour l’envoie de la commande 100 au registre dedonnéesSolution (100)10 = (64)16 = (01100100)2

    0 1 1 0 0 1 0 0D7 D6 D5 D4 D3 D2 D1 D0

    2.3.2. Registre d’étatPour LPT registre d’état 379 (hexa)

    Bit 7 6 5 4 3 2 1 0 Nom Busy Ack Pe Select Error * * *Broches

    * indique les bits indéfinis, le programmeur n’a pas accès à ce dernier

    2.3.3. Registre de commandePour LP¨T registre de commande 37A (hexa)

  • 8/17/2019 Cour Et Tp Cpi 2015 2016

    6/29

    O M M A N D E D ’ U N P R O E S S U S P A R O R D I N A T E U R

    ©2016 5M.GNETCHEJO

    Bit 7 6 5 4 3 2 1 0 Nom * * * * input Init p autofeed strobe

    Le port LPT est compatible au TTL standard Niveau logique « 1 » : 5v Niveau logique « 0 » : 0v

    2.3.4. Programmation du port LPT

    Ecrire sur le port de données : en COutportb (0x378, valeur) ; avec 0 ≤ valeur ≤ 255En C++

    Outp (0x378, valeur) ;Lire sur le port d’état : en CValeur = inportb (0x379) ; // retourne la valeur du portEn C++Valeur = inp (0x379) ;

    3. LES PORTS COM

    Ils ont été conçus originellement pour relier l’ordinateur au réseau téléphonique ou à unmodem. Cependant, les souris et les claviers utilisent également une transmission série avec pour avantage une transmission sur une distance plus longue.

    3.1. Hardware

    3.2. Brochage

    Broche E/S Désignation Fonction1 Entrée Dcd (data carrier detect) Détection de porteuse2 Entrée Rd (receiver data) Réception de données3 Sortie Td (transmit data) Emission de données4 Sortie Dtr (data terminal ready) Ordinateur prêt5 / Gnd (ground) Masse

    6 Entrée Dsr (data set ready) Modem prêt7 Sortie Rts (requiest to send) Demande d’émission8 Entrée Cts (clear to send) Prêt pour transmettre

  • 8/17/2019 Cour Et Tp Cpi 2015 2016

    7/29

    O M M A N D E D ’ U N P R O E S S U S P A R O R D I N A T E U R

    ©2016 6M.GNETCHEJO

    9 Entrée Ri (ring indicator) Indicateur de sonnerie

    3.3. Technologie

    La technologie du port COM est celle de la norme RS232

    -état haut : 12v-état bas :-12v-résistance d’entrée : 10Kohms-courant de sortie max : 10mALes sorties du port COM sont protégées contre les courts-circuits, mais leur programmationest un peu plus fastidieuse que celle des LPT

    3.4. SoftwareLe port série du PC utilise l’UART 8250 (universal asynchronous receiver and transmiter),l’uart contient 10 registres qui commandent les entrées/sorties du port série.

    4. LE PORT USB Le câble se compose de 4 fils et il comporte un connecteur mâle de type A à une extrémité(connexion vers l'hôte) et un autre connecteur mâle de type A ou B à l'autre extrémité

    (connexion vers l'appareil). Un blindage est fortement recommandé pour une utilisation à 12Mbits/s ou plus. La longueur maximale est de 5 mètres

  • 8/17/2019 Cour Et Tp Cpi 2015 2016

    8/29

    O M M A N D E D ’ U N P R O E S S U S P A R O R D I N A T E U R

    ©2016 7M.GNETCHEJO

    1. INTRODUCTION L’ordinateur sur ses différents ports, ne propose que des niveaux de tension compatibles TTL(5V et 0V).Dans le cas des ports LPT(line printer)ou encore 12V et -12V dans le cas des portsCOM(computer output machine ).ces niveaux de tension sont très faible pour alimenter des processus industriels fonctionnant sous 220V ou 380V.il faut donc concevoir des interfaces decommande ou encore les interfaces de puissance. Ces dispositifs font d’ une part adapter lescaractéristiques électriques de l’ordinateur à celle des processus industriels commandés ; et d’autre part (si nécessaire) assurer une isolation galvanique entre les deux ensembles.

    2. Interface à transistor et à relais

    Il est essentiellement conçu autour d’un relais électromagnétique ou électronique.

    2.1. ExempleSoit à commander une lampe de 220V-40W partant d’une broche de données du port LPT (8 broches pour les données ,5 broches pour le registre d’état).Le relais électromagnétique à lescaractéristiques suivantes : bobine 12V/240Ω ; les contacts : 250 Vac/5A

    Schéma de montage

    Chapitre

    2INTERFACE DE COMMANDE

    2.2. Fonctionnement

    Pour Vcde=0, le transistor est bloqué, aucuncourant ne circule dans la bobine du relais, parconséquent, la lampe ne brille pas.Pour Vcde=1, (environ 5V) le transistor T estsaturé (R est judicieusement choisi pour cela), lerelais s’enclenche et la lampe peut alors briller.D est la diode de roue libre, elle protège letransistor contre les surtensions induitesdéveloppées par le relais et par la bobine durelais lors des commutations.

  • 8/17/2019 Cour Et Tp Cpi 2015 2016

    9/29

    O M M A N D E D ’ U N P R O E S S U S P A R O R D I N A T E U R

    ©2016 8M.GNETCHEJO

    2.3.- Dimensionnement des composants

    1) Relais déjà connu : en général, choisir un relais adapté à la charge (caractéristiquesélectriques des contacts adaptées à celle de la charge2) Diode de roue libre (diode ultra rapide)Choix de diodes très rapideDiode de signal pour les petits courants. Exple : 1N4148Diodes Schottky rapides dans les autres cas.

    3) Resistances

    -RL on a Vcc-RL.Iled-Vled-VCEsat=0 or VCEsat ≈0RL= Vcc-Vled / IledDans la pratique, on peut prendre Iled=10mA et Vled=2V-RB on a Vcom-Rb.Ib –Vbe = 0Or quand T est saturé, Vcom = VohTTL (tension de sortie état haut), d’ouRB = VohTTL – Vbe / IbAussi, Ib=Icsat / ß *Fs (Fs : facteur de saturation, on peut prendre Fs=2)Finalement, RB= (VohTTL – Vbe). ß / Icsat.FsAvec Icsat = Iled + Irel, VohTTL (min)=2,4V VohTTL (max)=5V4) le transistor T est choisi en fonction de la tension et du courant le traversant ; pour lesfaible puissance comme dans le cas ci-dessus on pourra choisir les transistor de faible puissance (2N2222, BC137 , BC337 ); pour les grande puissance , les transistors de typeDarlington (TIP147 ,BD131…)

    3. Interface à thyristor ou triac

    Le thyristor ou le triac sont des composants de choix dans les commandes des interfacesde puissance à cause de leur grande commutation comparée à celle des relais ou contacteurs

    utilisés traditionnellement dans ce cas. Comme nous disposons des ports de PC qui nefournissent que des tensions continues. Nous n’étudierons que l’amorçage par tensionscontinues.

    3.1. Dispositifs d’amorçage

    Ce dispositif d’amorçage n’est pas très utilisé à cause du fait que le port LPT du PC n’estisolé de la partie puissance. Ainsi, un défaut sur cette partie puissance pourrait endommager

    sérieusement l’ordinateur.

  • 8/17/2019 Cour Et Tp Cpi 2015 2016

    10/29

    O M M A N D E D ’ U N P R O E S S U S P A R O R D I N A T E U R

    ©2016 9M.GNETCHEJO

    3.2. Fonctionnement

    -Lorsque Vcde est à l’état bas, le transistor est bloqué, IG est nul, le thyristor est alors bloqué.-Lorsque Vcde est à l’état haut, le transistor est saturé, occasionnant l’amorçage et laconduction du thyristor (à condition que IG soit suffisant, ie IG ≥ Igt, Igt : courant nécessaireà l’amorçage d’un thyristor) ; la charge est alors alimentée

    3.3. Dimensionnement

    Résistance RC

    On a Vcc – Rc.Ig – Vcesat – Vgk =0(Vcesat ≈ 0)

    RC = Vcc – Vgk / Ig, on déduit alors : RCmax = Vcc – Vgt / Igt Resistance RB

    On a : Vcde – Rb.Ib – Vbe – Vgk = 0RB = Vcde- Vbe-Vgk / IbLe thyristor est amorcé lorsque Vcde = VohRB = (Voh – Vbe – Vgt).ß /Igt.Fs

    Transistor T : transistor petits signaux

    -courant collecteur : Icmax > Igmax-tension collecteur – emetteur maximale : Vcemax > Vcc(Vcemax est aussi désignée Vceo)Vceo : collector to emettor voltage open base-facteur d’amplification en courant du transistor ßmin = 100

    Thyristor

    - courant d’anode IAmax > courant de charge

    - tension d’ anode-cathodeVDRM >ÊS

  • 8/17/2019 Cour Et Tp Cpi 2015 2016

    11/29

    O M M A N D E D ’ U N P R O E S S U S P A R O R D I N A T E U R

    ©2016 10M.GNETCHEJO

    VRRM > ÊSIl est prudent de prendre une marge de sécurité d’au moins 50%, d’où ITmax ≥ 1,5 IchargeVDRM ≥ 1,5 ÊS, VRRM ≥ 1,5 ÊS

    3.4. Amorçage par opto-triac

    3.4.1. Charge Résistive

    Ce circuit s'appuie sur l'utilisation d'un optotriac de type MOC3041, un optotriac n'étant ni plus ni moins qu'une forme particulière d'unoptocoupleur . Ce composant assure à lui seull'isolation électrique (galvanique) entre la partie commande (l'entrée au niveau TTL 0 V / 5 V)et la partie puissance (230 V / 8 A). L'entrée de l'optotriac MOC3041 est une simpleLED,dont la chute de tension est de l'ordre de 1,6 V et le courant de fonctionnement nominal de 15mA. Si on applique une tension compatible TTL, c'est à dire de +5 V, directement sur cetteLED, l'optotriac aura une durée de vie de quelques microsecondes. Très intéressant, mais pasassez long pour en profiter vraiment. Il convient donc, comme pour toute LED, d'ajouter unerésistance en série pour limiter le courant qui la parcourt. La valeur de la résistance doit êtrecalculée comme indiquée : :Rled = (5V - 1,6V) / 0,015A = 220 ohms

    3.4.2. Charge inductive

    La commande d'une ampoule à filament, purement résistive, ne pose pas de problème particulier au triac (je laisse volontairement de côté l'aspect parasitage), le courant et latension sont en phase au moment des commutations. Mais si l'on veut commander des charges possédant une composante inductive importante, telle que transformateur ou moteur (pourfaire varier sa vitesse), il en est tout autrement, car le courant circulant dans la charge n'est pas

    en phase avec la tension présente à ses bornes. Si l'on utilise un montage simple tel qu'un deceux présentés ci-avant, on risque fort d'obtenir des aléas de fonctionnement tels que

  • 8/17/2019 Cour Et Tp Cpi 2015 2016

    12/29

    O M M A N D E D ’ U N P R O E S S U S P A R O R D I N A T E U R

    ©2016 11M.GNETCHEJO

    redéclenchement intempestif (au moment de la coupure du courant dans la charge), voire dansle pire des cas la destruction pure et simple du triac si aucune protection par fusible (ou autre)n'est prévue.

    Commande directe d'un triac Une solution simple au problème de la commande de charges inductives consiste à ajouterune cellule RC série en parallèle sur le triac (appelé aussi snubber), entre ses deux électrodesA1 et A2, afin de limiter les surtensions pouvant se produire au moment où le triac se bloque(la coupure d'un courant dans une charge inductive provoque ce phénomène, connu aussi deceux qui manipulent la commande de relais avec des composants électroniques).

    4. Interfaçage avec des darlingtons en circuit intégré ULN2803 / ULN2804

    Les circuits intégrés ULN2803 et ULN2804 comportent tous deux huit transistors NPN

    darlington dans un même boîtier à 18 broches. Ce type de circuit est idéal dès l'instant où ils'agit de commander un ensemble de plusieurs relais, LED ou ampoules.- Pour une commande en +5 V (standard TTL), choisissez l’ULN2803.- Pour une commande en +3 V à +15 V (standard CMOS), choisissez le ULN2804.

    Les diodes internes, qui sont reliées entre chaque sortie et un point commun accessible sur la broche 10 du boîtier, permettent de se passer des diodes externes de protection normalement

  • 8/17/2019 Cour Et Tp Cpi 2015 2016

    13/29

    O M M A N D E D ’ U N P R O E S S U S P A R O R D I N A T E U R

    ©2016 12M.GNETCHEJO

    requises quand on pilote un relais ou autre charge inductive. Le schéma suivant montre unexemple d'utilisation d'un tel circuit, où les huit transistors darlington intégrés sont exploitéset où la broche 10 du CI (cathode commune des 8 diodes internes) est reliée au +Valim.

    Exercices :

  • 8/17/2019 Cour Et Tp Cpi 2015 2016

    14/29

    O M M A N D E D ’ U N P R O E S S U S P A R O R D I N A T E U R

    ©2016 13M.GNETCHEJO

    LE PIA 8255 ET L’ACIA 8250

    I. Le pia 8255

    1. Introduction : Le 8255A est un circuit d'E/S destiné à être utilisé avec les microprocesseurs Intel.

    Il possède 24 broches qui peuvent être individuellement programmés en 2 groupes de 12 et il peut utiliser 3 modes fondamentaux de fonctionnement : mode 0, mode 1 et mode 2.

    2. Description fonctionnelle du 8255 :

    Chapitre

    3

  • 8/17/2019 Cour Et Tp Cpi 2015 2016

    15/29

    O M M A N D E D ’ U N P R O E S S U S P A R O R D I N A T E U R

    ©2016 14M.GNETCHEJO

    2.1. Description générale des fonctions de broches:

    2.2. Schéma synoptique de 8255A:

    N ° B ro ch e N om de b ro ch e F on ctio n5 R D / U n s ig na l ba s su r ce tte en tré e au to ris e le

    pa s s age de donné e du 8255 ve r s la CPU36 W R / U n s ig na l ba s su r ce tte en tré e au to ris e le

    pa s s age de donnée de l a CPU ve r s 82556 C S / U n s ig na l ba s su r ce tte en tré e s é le c tio nne

    l e 8 2 5 5 e t a s su r e son d ia logue avec CP U8 & 9 A 0 & A 1 C es d eux b ro ch es re pré se n te n t le s de u x

    bi t s l es p lus fa ib les du bus d 'adresses e tperme t ten t l a sé lec t ion d 'un por t du 8255

    36 R E S E T U n n iv ea u lo g iqu e 1 in itia lise le 8 25 52 7,2 8,2 9,3 0, B us do nn ée s C e s b ro ch es re pré se nte nt le bu s d e31 ,32 ,33 ,3 4 d o n né e s du 8 25 5 A , e n co m m en ça nt d u

    poid le p lus fa ib le jusqu 'au p lus for t4 ,3 ,2 ,1 ,4 0 ,3 9 , P OR T A C es broc he s re p ré se n ten t le p o rt A du

    38 ,37 b it le p lu s fa ib le à c e lu i du p lu s fo rt18 ,19 ,20 ,2 1 , P O RT B C es b roc he s re p ré se n ten t le p o rt B du22 ,23 ,24 ,2 5 b it le p lu s fa ib le à c e lu i du p lu s fo rt14 ,15 ,16 ,1 7 , P O RT C C es b roc he s re p ré se n ten t le p o rt C d u13 ,12 ,11 ,1 0 b it le p lu s fa ib le à c e lu i du p lu s fo rt7 G N D C 'e s t la m a s se du 8 2 5 5A26 V C C C 'e s t la b roch e d 'a lim en ta tio n d u 8 2 55

  • 8/17/2019 Cour Et Tp Cpi 2015 2016

    16/29

    O M M A N D E D ’ U N P R O E S S U S P A R O R D I N A T E U R

    ©2016 15M.GNETCHEJO

    a- Amplificateur Tampon de Bus de données :

    Cet amplificateur de 8 bits, bidirectionnel à trois états est utilisé pour interfacer le 8255A au bus de données du système. La donnée est transmise ou reçu par :L'amplificateur durant l'exécution des instructions IN et OUT du CPU. Les mots de contrôleet l'information d'état sont aussi transférés à travers l'amplificateur tampon du Bus dedonnées.

    b- Logique de contrôle et de lecture/écriture :

    La fonction de ce bloc est de contrôler tous les transferts internes et externes des données etdes mots de contrôle de CPU, il crée les signaux de commande des 2 groupes de contrôle.

    __- CS : Chip Select (sélection de boîtier):Un niveau "bas" sur cette entrée autorise la communication entre le 8255A et la CPU.

    __- RD : Read (lecture):Un niveau "bas" sur cette entrée autorise le 8255A à envoyer une donnée ou une

    information d'état au CPU par l'intermédiaire du bus de données. Autrement dit, cette entrée permet au CPU de lire une donnée provenant du 8255A.

    __- WR : Write (écriture):Un niveau "bas" sur cette entrée autorise la CPU à écrire une donnée ou un mot de contrôle

    dans le 8255A.- A0 et A1: Port select 0 and Port select 1 (Sélection du circuit d'entrée 0 et 1):

    Ces signaux d'entrée associés aux signaux d'EntréeRD et WR , Contrôlent la sélection d'undes 3 circuits d'accès ou du registre de contrôle.

    - Reset (remise à zéro):

    Un niveau "haut" sur cette entrée met à 0 tous les registres internes y compris le registre decontrôle et met tous les ports d'E/S en mode 0 et en entrée.

    c- Registres de Contrôle du groupe A et B:

    La configuration fonctionnelle de chaque circuit d'accès est programmée par l'envoi d'un motde contrôle au 8255A par la CPU.Ce mot de contrôle contient une information telle que le mode, la mise à 1 d'un bit, la mise à

    0 d'un bit,... Qui initialise la configuration fonctionnelle du 8255A.

  • 8/17/2019 Cour Et Tp Cpi 2015 2016

    17/29

    O M M A N D E D ’ U N P R O E S S U S P A R O R D I N A T E U R

    ©2016 16M.GNETCHEJO

    Chacun des blocs de contrôle accepte les commandes de la logique de contrôled'écriture/lecture, reçoit les mots de contrôle du bus interne et envoie les commandes propresà ces circuits d'accès associés.

    - Contrôle du groupe A: circuit d'accès A et circuit d'accès C (C4 à C7)- Contrôle du groupe B: circuit d'accès B et circuit d'accès C (C0 à C3)

    d- Les ports A, B et C:

    Le 8255A possède 3 circuits d'accès de 8 bits (A,B et C). Qui peuvent être configurés sous 3modes.

    e- Le bus d’adresse.

    A1 A0 Registre

    0 0 Port A0 1 Port B

    1 0 Port C1 1 Registre de contrôle

    3. Les modes de fonctionnement :

    Le mode de fonctionnement est sélectionné par le bit 5 et 6 du registre de contrôle quiconfigure en plus les 3 ports en E ou en Sortie (bits 0,1,2,3 et 4) et d'actionner le PIA.

    Bits du registre de contrôle:

  • 8/17/2019 Cour Et Tp Cpi 2015 2016

    18/29

    O M M A N D E D ’ U N P R O E S S U S P A R O R D I N A T E U R

    ©2016 17M.GNETCHEJO

    1- Mode 0: E/S classiques:

    Ce mode permet d'utiliser 1 des 4 ports (A,B,C inf, et C sup) Comme entrée ousortie, indépendamment les uns des autres.

    Il existe 16 configurations entrée/sortie possibles qui peuvent être représentéesdans le tableau suivant:

    Direction des données: valeur duE: entrée registre de

    S: sortie contrôleProgrammation du PIA 8255 en mode 0

    Exemple : on veut configurer le port A en sortie , port B en entrée , portc haut entrée et port C bas sortie :

    Donnez le mot de commandele mot decommande est 93H

    II-1 ) Exemple d'application en mode 0 :

    Exemple 1 : On donne le schéma de la figure 1,

    A/ on veut écrire un programme qui permet de faire clignoter les diodes Led . Jusqu'à l'appuisur SW0

    B ) On veut écrire un programme qui affiche les chiffres de 0 à 15 sur les 7 segments.

    C ) On veut écrire un programme qui permet de faire clignoter les diodes paires si on appuiesur SW0 et les diodes impaires si on appuie sur SW1

    A B C4-C7 C0-C3 Hexa Décimal

    S S S S 80 128

    S S S E 81 129

    S S E S 88 136

    S S E E 89 137

    S E S S 82 130

    S E S E 83 131

    S E E S 8A 138

    S E E E 8B 139

    E S S S 90 144

    E S S E 91 145

    E S E S 98 152

    E S E E 99 153

    E E S S 92 146

    E E S E 93 147

    E E E S 9A 154

    E E E E 9B 155

  • 8/17/2019 Cour Et Tp Cpi 2015 2016

    19/29

    O M M A N D E D ’ U N P R O E S S U S P A R O R D I N A T E U R

    ©2016 18M.GNETCHEJO

    2- Mode 1:

    Dans le mode 1, seuls les ports A et B sont disponibles pour le transfert parallèle des données, aussi bien les entrées que les sorties sont verrouillées. les2x4 bits du port C servent aux signaux de dialogue (d'échange) pour les ports Aet B. Deux configurations possibles l'Entrée et la Sortie:

    a- Mode 1 en Entrée:

    En entrée du mode 1, les ports A et B sont en entrées. Le port B utilise les bitsC0,C1 et C2 pour l'asservissement et le port A utilise les bits C3,C4 et C5.

    Le périphérique place une donnée de 8 bits sur A7-A0 (ou B7-B0) puis génèreun STB (strobe) lequel charge la donnée dans le latch d'entrée. Ceci a pour effetl'activation du signal IBF (Input Buffer Full) à 1. Un niveau haut sur la sortieINTR peut être utilisé pour interrompre le Microprocesseur lors d'une demande

    du périphérique. L'INTR est activé quand STB=0,IBF=1 et INTE=1 et mise à 0 par le front descendant de RD.

  • 8/17/2019 Cour Et Tp Cpi 2015 2016

    20/29

    O M M A N D E D ’ U N P R O E S S U S P A R O R D I N A T E U R

    ©2016 19M.GNETCHEJO

    b- Mode 1 en Sortie:

    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 microprocesseurINTR=0 et met OBF=0 pour signifier au périphérique que son buffer de sortieest plain et qu'il peut donc venir chercher la donnée.

    ACK=0 est une réponse qui indique que le périphérique a reçu la donnée provenant de la CPU et qui a pour effet de faire cesser OBF=1, de nouveauACK=1,OBF=1 et INTE=1.

    Fait interrompre le microprocesseur pour qu'il puisse écrire la donnée suivante.

    3- Mode 2:

    Le mode 2 permet d'avoir un bus bidirectionnel sur le port A. Cinq bits du portC sont utilisés pour le status et le contrôle du port A.

    - Signaux de contrôle de bus bidirectionnel d'E/S:INTR=1 pour interrompre le microprocesseur lorsque le port a accepté ou

    transmis une donnée.- Signaux de contrôle en Ecriture:OBF=0 indique que le microprocesseur sort une donnée par le port A.

    - Signaux de contrôle en Lecture:STB=0 Charge la donnée dans le latch d'entrée.IBF=1 indique que la donnée a été chargée dans le latch d'entrée.

  • 8/17/2019 Cour Et Tp Cpi 2015 2016

    21/29

    O M M A N D E D ’ U N P R O E S S U S P A R O R D I N A T E U R

    ©2016 20M.GNETCHEJO

    II. L’ACIA 8250

  • 8/17/2019 Cour Et Tp Cpi 2015 2016

    22/29

    O M M A N D E D ’ U N P R O E S S U S P A R O R D I N A T E U R

    ©2016 21M.GNETCHEJO

  • 8/17/2019 Cour Et Tp Cpi 2015 2016

    23/29

    O M M A N D E D ’ U N P R O E S S U S P A R O R D I N A T E U R

    ©2016 22M.GNETCHEJO

  • 8/17/2019 Cour Et Tp Cpi 2015 2016

    24/29

    O M M A N D E D ’ U N P R O E S S U S P A R O R D I N A T E U R

    ©2016 23M.GNETCHEJO

  • 8/17/2019 Cour Et Tp Cpi 2015 2016

    25/29

    O M M A N D E D ’ U N P R O E S S U S P A R O R D I N A T E U R

    ©2016 24M.GNETCHEJO

  • 8/17/2019 Cour Et Tp Cpi 2015 2016

    26/29

  • 8/17/2019 Cour Et Tp Cpi 2015 2016

    27/29

    O M M A N D E D ’ U N P R O E S S U S P A R O R D I N A T E U R

    ©2016 26M.GNETCHEJO

  • 8/17/2019 Cour Et Tp Cpi 2015 2016

    28/29

    O M M A N D E D ’ U N P R O E S S U S P A R O R D I N A T E U R

    ©2016 27M.GNETCHEJO

    Chapitre

    4PROGRAMMATION D’UN

    GRAFCET EN C/C++

  • 8/17/2019 Cour Et Tp Cpi 2015 2016

    29/29

    O M M A N D E D ’ U N P R O E S S U S P A R O R D I N A T E U R

    end