2.6.1 L'adressage des Entrées/Sorties · 2. - Transmission de données (ligne 2), 3. - Réception...

36
2.6 - LES ÉCHANGES D'ENTRÉE-SORTIE DANS LES SYSTÈMES A BASE DE MICROPROCESSEURS ET MICROCONTRÔLEURS 2.6.1 L'adressage des Entrées/Sorties Chaque périphérique est pourvu d'une adresse spécifique Deux philosophies d'adressage: 1- Adressage direct : Les périphériques sont adressés distinctement des positions mémoires 2- Adressage des périphériques comme des positions mémoires Mémoire E/S (1) (2) Remarque : En mode 1, 4 signaux : écriture, lecture en mémoire et écriture, lecture sur périphérique 4 instructions En mode2, 2 signaux ; lecture, écriture 2 instructions 2.6.2 La programmation des entrées/sorties parallèles et séries Mode parallèle : Exemple : liaison centronics Transmission de données par une liaison parallèle (8 ou 16-bit) Rapide Faibles distances Mode série : Exemple: liaison RS-232 Transmission bit par bit Plus lente FFFF 0000 Mém. E/S FFFF 0000 FF 00

Transcript of 2.6.1 L'adressage des Entrées/Sorties · 2. - Transmission de données (ligne 2), 3. - Réception...

Page 1: 2.6.1 L'adressage des Entrées/Sorties · 2. - Transmission de données (ligne 2), 3. - Réception de données (ligne 3). La plupart des autres lignes sont utilisées pour le contrôle

2.6 - LES ÉCHANGES D'ENTRÉE-SORTIE DANS LES SYSTÈMES A BASE DE MICROPROCESSEURS ET MICROCONTRÔLEURS

2.6.1 L'adressage des Entrées/Sorties Chaque périphérique est pourvu d'une adresse spécifique Deux philosophies d'adressage:

1- Adressage direct : Les périphériques sont adressés distinctement des positions mémoires

2- Adressage des périphériques comme des positions mémoires Mémoire E/S

(1) (2) Remarque : En mode 1, 4 signaux : écriture, lecture en mémoire et écriture, lecture sur périphérique 4 instructions En mode2, 2 signaux ; lecture, écriture 2 instructions 2.6.2 La programmation des entrées/sorties parallèles et séries Mode parallèle : Exemple : liaison centronics Transmission de données par une liaison parallèle (8 ou 16-bit) Rapide Faibles distances Mode série : Exemple: liaison RS-232 Transmission bit par bit Plus lente

FFFF 0000

Mém.

E/S

FFFF 0000

FF 00

Page 2: 2.6.1 L'adressage des Entrées/Sorties · 2. - Transmission de données (ligne 2), 3. - Réception de données (ligne 3). La plupart des autres lignes sont utilisées pour le contrôle

Longues distances Deux types : Synchrone Asynchrone Trois modes : Simplex, Half Duplex, Duplex 2.6.3 Les trois stratégies d'échange Le mode programmé (mode scrutation)

Mode programmé Mode interruption (Cas d'urgence)

Non

Non

Le périphérique 1 a-t-il quelque chose à communiquer ?

Sauvegarde du contexte

Passage au sous-programme de

service

Restitution du contexte

Le périphérique 2 a-t-il quelque chose à communiquer ?

Le périphérique 3 a-t-il quelque chose à communiquer ?

Oui

Oui

Oui

Non

Non

CPU

E/S

Demande

Int. autorisée

BUS

Vers périphérique

A

A

A

Page 3: 2.6.1 L'adressage des Entrées/Sorties · 2. - Transmission de données (ligne 2), 3. - Réception de données (ligne 3). La plupart des autres lignes sont utilisées pour le contrôle

Mode Accès direct mémoire (DMA) Relier directement le périphérique à la mémoire sans intervention de la CPU Très grande vitesse de transfert de données Trois techniques : DMA par arrêt du microprocesseur DMA par vol de cycle DMA multiplexé 2.6.4 LES E/S SÉRIES

2.6.4.1 Transmission série Asynchrone et synchrone Transmission asynchrone :

Les mots sont transmis isolés dans le temps, le mot est borné par un bit start et un ou deux bits stop, on ajoutera parfois un bit de parité. (rendement faible)

Transmission synchrone:

Les mots sont transmis sous forme d'une trame de mots successifs, borné par des caractères de départ start et de fin stop. (rendement meilleur)

2.6.4.2 La norme RS232C Introduction Les liaisons séries permettent la communication entre deux systèmes numériques en limitant le nombres de fils de transmission. La liaison série aux normes RS-232C est utilisée dans tous les domaines de l'informatique (ex : port de communication com1 et com2 des PC, permettant la communication avec des périphériques tels que modem et souris). Elle est de type asynchrone, c'est à dire qu'elle ne transmet pas de signal horloge. La liaison RS-232C est une spécification électrique et mécanique uniquement. La manière de transférer les données doit être définie par un protocole. La norme RS-232C a connu plusieurs évolutions et améliorations (ex: RS-422, RS-423, RS-485). Le schéma fonctionnel est le suivant :

Le terme "RS-232C" se réfère à un ensemble de spécifications relatives à ce type d'interface. La norme RS-232C a été conçue par l'Association des Industries Électroniques (AIE).

Page 4: 2.6.1 L'adressage des Entrées/Sorties · 2. - Transmission de données (ligne 2), 3. - Réception de données (ligne 3). La plupart des autres lignes sont utilisées pour le contrôle

Les ingénieurs de l'AIE n'étant pas assurés quant aux types d'équipement qui seraient développés dans le futur, ont préféré laisser disponible un grand nombre de lignes afin que la norme RS-232C soit aussi flexible que possible. De nos jours, la plupart de ces lignes ne sont pas utilisées par les micro-ordinateurs. La figure suivante montre le brochage (affectations des broches) d'un connecteur RS-232C. Celui qui est représenté ici est un connecteur "DB-25" est le type le plus usuel. Le "DB-25" a 25 broches, mais certaines interfaces sérielles utilisent un connecteur plus petit DB-9, possédant 9 broches. Dans les cas les plus fréquents, seulement sept de ces lignes sont utilisées. Toutefois, notons qu'un système RS-232C peut fonctionner en n'utilisant que 3 lignes.

Brochage du connecteur DB-25

Remarque: Une des difficultés consiste donc à savoir comment à été conçu l'équipement qui vous intéresse. Est-il configuré comme un DTE ou comme un DCE ? Voici comment procéder: (Les indications sont données pour un connecteur 25 broches) A l'aide d'un voltmètre, placez la pointe de touche noire sur la broche 7. Mesurez les tensions entre cette broche et les broches 2 et 3. Si la valeur de tension obtenue pour la broche 2 est plus négative que celle de la broche 3, cela signifie que l'on est configuré en DTE, sinon on est en DCE. La transmission série nécessite un minimum de 2 fils comportant les trames de données en émission (Tx) et en réception (Rx). L'adaptation des données se fait à l'aide d'un circuit adaptateur de ligne (ex : MAX232), qui transforme les niveaux logiques issus du système numérique en niveaux logiques compatibles avec les normes RS-232C et vice versa.

Page 5: 2.6.1 L'adressage des Entrées/Sorties · 2. - Transmission de données (ligne 2), 3. - Réception de données (ligne 3). La plupart des autres lignes sont utilisées pour le contrôle

Avant adaptation : Les niveaux logiques sont les suivants : niveau 0 = 0 V niveau 1 = 5 V

Après adaptation : Les niveaux logiques sont les suivants : niveau 0 = +12 V niveau 1 = -12 V

Configuration minimale: Dans une liaison RS-232C, une extrémité est désignée comme "Equipement Terminal de Données" ou ETD (DTE), et l'autre est appelée "Equipement de Communication de Données" ou ECD (DCE). Les diverses lignes de la liaison sont nommées par rapport à l'ordinateur. Par exemple, la ligne 2 est nommée "TRANSMISSION DE DONNÉES" parce qu'elle transporte le signal qui est émis à partir de l'ordinateur. Dans un système ordinateur/modem, l'ordinateur est le terminal (ETD) ou terminal de données, et le modem est le communicateur ou (ECD). Dans l'interface la plus simple possible, les trois lignes clés sont reliées aux points 2, 3, et 7 sur le connecteur RS-232C. Cela est illustré par la figure 5. La ligne 2 transporte les "données transmises" du terminal au communicateur. La ligne 3 transporte les "données reçues" du communicateur au terminal. La ligne 7 est une masse pour les deux lignes précitées.

Page 6: 2.6.1 L'adressage des Entrées/Sorties · 2. - Transmission de données (ligne 2), 3. - Réception de données (ligne 3). La plupart des autres lignes sont utilisées pour le contrôle

Liaison RS-232C sur trois fils

"Poignée de main" La figure suivante montre une interface RS-232C plus complexe. Ce diagramme est spécifique au type d'interface qui peut être utilisé pour relier l'ordinateur à un modem. Cette interface comporte les trois lignes montrées sur la figure précédente à savoir:

1. - Masse (ligne 7), 2. - Transmission de données (ligne 2), 3. - Réception de données (ligne 3).

La plupart des autres lignes sont utilisées pour le contrôle de la "poignée de main" entre l'ordinateur et le modem. Les concepteurs ont voulu s'assurer que l'ordinateur n'enverrait pas de caractères tant que le modem n'est pas prêt. Par exemple, la ligne 20 est le "Terminal de Données Prêt" (DTR) et la ligne 6 est le "Prêt à recevoir" (DSR). Au début de la "poignée de main", l'ordinateur met la ligne DTR au niveau haut pour signaler au modem "Je suis prêt à envoyer,. Et vous?" Quand le modem est prêt, il répondra en mettant la ligne DSR au niveau haut. L'ordinateur n'enverra pas de données tant que les deux lignes sont "vrai". Un autre type de "poignée de main" utilise la ligne 4 qui équivaut à la "Demande d'Émission" (RTS), et la ligne 5 ou "Prêt à envoyer" (CTS). Pour commencer ce cycle de "poignée de main", l'ordinateur met au niveau haut la ligne "Demande d'Émission". Si le modem est prêt, il fera de même pour la ligne "Prêt à Envoyer". Quelques liaisons RS-232C n'utilisent pas ce contrôle matériel de la "poignée de main"; celle-ci est contrôlée de façon logicielle. Les codes spéciaux de contrôle sont envoyés de long en large sur les lignes de données. (Vous vous rappellerez que, avec le contrôle matériel de la "poignée de main", les signaux de contrôle sont envoyés sur des lignes de contrôle séparées). Un protocole commun de "poignée de main" est appelé "XON/XOFF". L'ordinateur et le DCE échangent les caractères "DC1" et "DC3". Sur certaines tables ASCII, "DC1" est codé comme CTRL-Q (code hexadécimal 11) et "DC3" est codé comme CTRL-S (code hexadécimal 13). A chaque instant, ces caractères spéciaux apparaissent dans la file des données, l'ordinateur ou le modem détectent les caractères et agissent sur eux.

Page 7: 2.6.1 L'adressage des Entrées/Sorties · 2. - Transmission de données (ligne 2), 3. - Réception de données (ligne 3). La plupart des autres lignes sont utilisées pour le contrôle

A n'importe quel moment où les données sont envoyées à travers des lignes téléphoniques, des erreurs de transmission peuvent s'y glisser. Un autre protocole de "poignée de main" appelé "X Modem" utilise les caractères ASCII "ACK" et "NAK" pour surveiller la transmission et le contrôle d'erreur. Dans ce protocole, un long fichier est envoyé comme une série de "blocs". Chaque bloc est précédé d'un caractère de "Début de Texte", et terminé par un caractère de "Fin de Texte". Le caractère de "Début De texte" est abrégé STX, mais il peut aussi être codé comme CRTL-A (code hexadécimale 02). Le caractère de "Fin De texte" est abrégé ETX. Il peut aussi être codé comme CTRL-B (code hexadécimal 03). Au bout de chaque bloc, un code spécial de vérification d'erreur est inclus. Pour chaque bloc, l'ordinateur calcule ce code de vérification d'erreur, basé sur les données à envoyer dans ce bloc. Le code de vérification d'erreur est transmis, avec le reste du bloc. S'il n'y a aucune erreur de transmission, le code de vérification d'erreur s'harmonise avec l'information reçue dans le bloc, et le modem reconnaît que le bloc a été reçu correctement. Si tout s'est bien déroulé, le modem envoie en retour un code de reconnaissance (ACK, CTRL-F, $06). A n'importe quel moment où le code de vérification d'erreur ne s'harmonise pas avec l'information dans le bloc, le modem n'envoie pas le code de reconnaissance (NAK, CTRL-O, $15). Cela indique à l'ordinateur de transmettre à nouveau ce bloc. Certaines autres lignes RS-232C peuvent être utilisées sur certaines interfaces. La ligne 8 est "Porteuse Détectée". Quand le modem réalise une connexion sur la ligne téléphonique, il devrait détecter la porteuse qui est toujours présente quand la ligne téléphonique est active. En mettant la ligne 8 "vrai", le modem peut indiquer à l'ordinateur qu'il a détecté la porteuse. La ligne 12 peut être employée comme un indicateur de vitesse. Le modem peut mettre cette ligne au niveau haut quand il passe à une vitesse de fonctionnement élevée. La ligne 22 est "Sonnerie Détectée". Certains modems utilisent la ligne 22 pour indiquer qu'ils ont réalisé la connexion intégrale à la ligne téléphonique, et le téléphone sonne à l'autre bout du fil.

Liaison complète RS-232C

Page 8: 2.6.1 L'adressage des Entrées/Sorties · 2. - Transmission de données (ligne 2), 3. - Réception de données (ligne 3). La plupart des autres lignes sont utilisées pour le contrôle

Protocole de transmission : Afin que les éléments communicants puissent se comprendre, il est nécessaire d'établir un protocole de transmission. Ce protocole devra être le même pour les deux éléments afin que la transmission fonctionne correctement. Paramètres rentrant en jeu :

• Longueur des mots : 7 bits (ex : caractère ascii) ou 8 bits • La vitesse de transmission : les différentes vitesses de transmission son réglables

à partir de 110 bauds (bits par seconde) de la façon suivante : 110 bds, 150 bds, 300 bds, 600 bds, 1200 bds, 2400 bds, 4800 bds, 9600 bds.

• Parité : le mot transmis peut être suivi ou non d'un bit de parité qui sert à détecter

les erreurs éventuelles de transmission. Il existe deux types de parité. parité paire : le bit ajouté à la donnée est positionné de telle façon que le nombre des états 1 soit paire sur l'ensemble donné + bit de parité ex : soit la donnée 11001011 contenant 5 état 1, le bit de parité paire est positionné à 1, ramenant ainsi le nombre de 1 à 6. parité impaire : le bit ajouté à la donnée est positionné de telle façon que le nombre des états 1 soit impaire sur l'ensemble donné + bit de parité ex : soit la donnée 11001001 contenant 5 état 1, le bit de parité paire est positionné à 0, laissant ainsi un nombre de 1 impaire..

• Bit de start : la ligne au repos est à l'état logique 1 pour indiquer qu'un mot va être transmis la ligne passe à l'état bas avant de commencer le transfert. Ce bit permet de synchroniser l'horloge du récepteur.

• Bit de stop : après la transmission, la ligne est positionnée au repos pendant 1, 2

ou 1,5 périodes d'horloge selon le nombre de bits de stop. Format des trames : Le bit de start apparaît en premier dans la trame puis les données (poids faible en premier), la parité éventuelle et le (les) bit(s) de stop. exemple : Soit à transmettre en parité paire, avec 2 bits de stop, le caractère B dont le codage ascii est 1000010(2) la trame sera la suivante :

Page 9: 2.6.1 L'adressage des Entrées/Sorties · 2. - Transmission de données (ligne 2), 3. - Réception de données (ligne 3). La plupart des autres lignes sont utilisées pour le contrôle

Contrôle de flux :

Matériel (CTS/RTS) Dans les explications suivantes, l'équipement qui envoie les données sera appelé l'émetteur et celui qui les reçoit le récepteur, quand bien même ils sont en fait émetteur et récepteur. L'émetteur envoie des données. Le récepteur les stocke dans une mémoire tampon. Lorsque cette mémoire atteint un seuil de remplissage défini, le récepteur supprime son signal CTS (passage au 1 logique). L'émetteur arrête immédiatement d'envoyer des données. Le récepteur continue de traiter les données qu'il a dans sa mémoire tampon. Lorsque sa mémoire tampon arrive au seuil espace libre suffisant, il remet le signal CTS (passage au 0 logique). L'émetteur se remet à envoyer des données. Le cycle recommence jusqu'à ce que toutes les données aient été envoyées.

Logiciel (XON/XOFF)

Dans les explications suivantes, l'équipement qui envoie les données sera appelé l'émetteur et celui qui les reçoit le récepteur, quand bien même ils sont en fait émetteur et récepteur. L'émetteur envoie des données. Le récepteur les stocke dans une mémoire tampon. Lorsque cette mémoire atteint un seuil de remplissage défini, le récepteur envoie le code XOFF ( caractère de code décimal 17) à l'émetteur. L'émetteur arrête immédiatement d'envoyer des données. Le récepteur continue de traiter les données qu'il a dans sa mémoire tampon. Lorsque sa mémoire tampon arrive au seuil espace libre suffisant, il envoie le code XON (caractère de code décimal 19) à l'émetteur. L'émetteur se remet à envoyer des données. Le cycle recommence jusqu'à ce que toutes les données aient été envoyées. Les normes RS-422A, RS-423, RS485, appleTalk (lignes balancées) Au fil des années, les concepteurs ont trouvé quelques inconvénients avec les interfaces utilisant la norme RS-232C: L'interface RS-232C présente une limitation de vitesse; ce qui s'érige en problème dès qu'un équipement rapide est utilisé. De plus, l'interface RS-232C ne fonctionne pas correctement quand les câbles dépassent une longueur de 15 mètres, et les lignes de la RS-232C sont également sensibles au "bruit" électrique. Dans l'objectif de pallier à ces insuffisances, l'AIE a introduit la norme RS-422A. Sur plusieurs plans, une interface RS-422A est similaire à la RS-232C. Par exemple, la plupart des lignes de contrôle sont identiques et les niveaux de tension sont les mêmes. La particularité de la norme RS-422 réside dans la manière dont sont gérées les lignes de transmission et de réception des signaux. Vous vous rappellerez que dans une interface RS-232C, il y a deux lignes; une pour la transmission des données, une autre pour leur réception. Ces deux signaux utilisent la masse (ligne 1) comme référence.

Page 10: 2.6.1 L'adressage des Entrées/Sorties · 2. - Transmission de données (ligne 2), 3. - Réception de données (ligne 3). La plupart des autres lignes sont utilisées pour le contrôle

La norme RS-422A utilise les fluctuations entre les lignes de transmission et de réception. Les signaux transmis et reçus sont réellement gérés par deux lignes plutôt qu'une. La différence de potentiel se mesure entre ces deux lignes plutôt qu'entre une ligne et la masse. L'avantage d'un tel modèle est que les deux lignes subissent le bruit de la même façon; de la sorte, le bruit ne déforme pas le signal. Par exemple, si un bruit impulsionnel engendre un changement de +1 V sur une de ces lignes, il engendrera également +1 V sur l'autre ligne. La différence de potentiel entre les deux lignes reste la même. Les circuits RS-422 utilisent des connecteurs DB-37, avec 37 broches. Circuits d'interface Les données "parallèles" sur le bus de données de l'ordinateur doivent être converties en une suite de données "série". Les niveaux de tension, à l'intérieur de l'ordinateur, sont compatibles TTL (+5v et 0v) et doivent par conséquent être convertis aux niveaux de tension +12v et -12v conventionnels pour la liaison RS-232C. Examinons le première étape de cette conversion de données "parallèles" en données "série". L'opération est assurée par un circuit intégré appelé "Récepteur/Emetteur Universel Asynchrone" ou UART. Il existe certaines différences de dénomination pour ce type de circuit. Un circuit intégré similaire est appelé "Adaptateur d'Interface de Communications Asynchrones" ou ACIA. Dans un ordinateur de type MACINTOSH, le circuit intégré qui réalise cette conversion est appelé UART d'entrée/sortie. Parfois, un seul circuit intégré peut gérer deux ports série distincts. La figure suivante montre le schéma bloc simplifié d'un UART. A gauche, les tampons de données de l'UART sont reliés à huit lignes de données dans l'ordinateur. Quand ce dernier veut envoyer un caractère vers l'extérieur par l'intermédiaire de l'UART, il active le circuit intégré au moyen des lignes de sélection du circuit. La ligne de lecture/écriture est maintenue au niveau bas, et l'ordinateur est autorisé à "écrire" un caractère dans un espace mémoire temporaire de l'UART appelé "registre". Les sept ou huit bits de ce caractère sont chargés en même temps dans le registre au format parallèle. Le caractère est alors codé en une série de bits "0" et "1", représentant le code ASCII du caractère. Quand tous les signaux de synchronisation des échanges sont corrects (Demande d'émission, Prêt à envoyer, etc...), les circuits émetteurs envoient le caractère vers l'extérieur, bit par bit. La conversion se déroule en sens inverse lorsque l'UART reçoit un caractère. Les bits du caractère reçu sont stockés bit par bit dans un autre registre. Quand l'UART est activé, et que la ligne de lecture/écriture est au niveau haut, les bits sont envoyés, au format parallèle, aux huit lignes du bus de données de l'ordinateur. L'UART offre un large éventail de possibilités. Il peut, par exemple, être programmé pour des fonctionnements à diverses vitesses - 300 bps, 600 bps, 1200 bps, et plus. La vitesse de transmission est contrôlée par un nombre stocké dans un emplacement mémoire, au sein de l'UART, appelé "registre".

Page 11: 2.6.1 L'adressage des Entrées/Sorties · 2. - Transmission de données (ligne 2), 3. - Réception de données (ligne 3). La plupart des autres lignes sont utilisées pour le contrôle

Pour changer la vitesse de transmission, l'ordinateur active le circuit intégré et inscrit une nouvelle valeur dans ce registre. D'autres registres assurent d'autres fonctions telles que la longueur des mots, type de parité, le nombre de bits d'arrêt, etc...

Structure de base d'un circuit UART

Signaux sur les lignes téléphoniques Après que l'UART ait réalisé cette conversion, un ensemble circuits internes au "modem" convertissent les signaux RS-232C en une série de tons audibles qui peuvent être envoyés sur la ligne téléphonique. Ces circuits reçoivent également des signaux acoustiques en provenance de la ligne téléphonique, les convertissent en signaux RS-232C, et les envoient à l'ordinateur. De nos jours, la plupart des modems possèdent des connecteurs qui peuvent se brancher directement sur le réseau téléphonique. Ces modems sont dits à "couplage direct". Sur les anciens modèles de modems, le combiné téléphonique devait être présent. Ces modems étaient "à couplage acoustique". Les ingénieurs en informatique devaient trouver le moyen d'envoyer l'information numérique sur ce réseau téléphonique analogique. Le système devait être aussi rapide et fiable aussi possible. Comme les ordinateurs devenaient de plus en plus rapide et traitaient de plus gros volumes de

Page 12: 2.6.1 L'adressage des Entrées/Sorties · 2. - Transmission de données (ligne 2), 3. - Réception de données (ligne 3). La plupart des autres lignes sont utilisées pour le contrôle

données, les ingénieurs ont commencé par développer des méthodes pour la transmission d'informations numériques sur le réseau téléphonique. Modulation de fréquence La norme 103 de la société de téléphone "BELL" a été le premier système de ce type. Un modem utilisant cette norme peut traiter des données à près 300 bits par seconde (ou 300 bauds). Parce que chaque caractère requiert 10 bits ou plus, la réelle vitesse de transmission est d'environ 30 caractères par seconde. Les données numériques sont converties en une série de tons acoustiques, et ces tons sont envoyés sur la ligne téléphonique. Les circuits indiquent la différence entre un "1" et un "0" par le changement de la fréquence du signal de sortie analogique (Figure 11A). Ainsi, la fréquence est utilisée pour indiquer un changement d'un "1" à un "0," d'où le nom de "modulation de fréquence". Sous cette norme, le modem utilise diverses gammes de tons, suivant qu'il est "appelant" ou "répondeur". Les fréquences de fonctionnement de cette norme sont les suivantes: Modem Bit Fréquence (Hz) Appelant transmission "1" 1270 "0" 1070 réception "1" 2225 "0" 2025 Répondeur transmission "1" 2225 "0" 2025 réception "1" 1270 "0" 1070 Tous ces tons sont dans la plage de fréquences de 1070 à 2225 Hz; ce qui signifie qu'elles sont audibles.

(A) Modulation de fréquence

Page 13: 2.6.1 L'adressage des Entrées/Sorties · 2. - Transmission de données (ligne 2), 3. - Réception de données (ligne 3). La plupart des autres lignes sont utilisées pour le contrôle

Modulation de phase différentielle

Méthodes de transmission du modem

9600 bps et au-delà Les modems récents utilisent des techniques de compression des données, en plus de la modulation d'amplitude en quadrature, pour atteindre un taux de transmission de 33600 bps. De nos jours, il y a plusieurs "normes" concurrentes pour les modems de vitesses supérieures à 9600 bps. Lorsque vous configurez une interface utilisant des modems de vitesses supérieures à 9600 bps, vous devez être certains que les modems aux deux extrémités de la ligne sont compatibles. Ces techniques de transmission à haute vitesse utilisent le câble coaxial, ou des fibres optiques pour le transfert à grande vitesse d'informations numériques.

Page 14: 2.6.1 L'adressage des Entrées/Sorties · 2. - Transmission de données (ligne 2), 3. - Réception de données (ligne 3). La plupart des autres lignes sont utilisées pour le contrôle

2.6.5 INTERFACES PARALLÈLES 2.6.5.1 Principe:

Exemple de liaison parallèle, sur 8 bits

2.6.5.2 Interface périphérique programmable PPI 8255: Présentation: L'un des circuits programmables les plus courants est le circuit Interface périphérique programmable PPI Intel 8255. Il dispose de 4 groupes (de 4 ou 8 lignes) d'entrées/sorties.

Circuit PPI 8255

Page 15: 2.6.1 L'adressage des Entrées/Sorties · 2. - Transmission de données (ligne 2), 3. - Réception de données (ligne 3). La plupart des autres lignes sont utilisées pour le contrôle

Constitution interne du 8255

Programmation du PPI 8255 Modes de Contrôle LE 8255 permet 3 modes de fonctionnement différents (modes 0, 1 et 2)

Mode 0: Ports A et B sont configurés en entrée ou en sortie et le port C est divisé en deux groupes de 4-bits qui sont configurés en entrée ou en sortie.

Mode 1: Même chose que mode 0, sauf que le port C est utilisé pour le handshaking et le contrôle.

Mode 2: Port A est bidirectionnel (entrée et sortie) et Port C est utilisé pour le handshaking. Port B n'est pas utilisé.

Ce qui donne 24 lignes commandables. Les configurations se font par l'écriture d'un mot de commande dans un registre de contrôle à l'adresse : adresse de base +3 Les ports A, B et C sont, respectivement, aux adresses : adresse de base, adresse de base+1, adresse de base +2.

Page 16: 2.6.1 L'adressage des Entrées/Sorties · 2. - Transmission de données (ligne 2), 3. - Réception de données (ligne 3). La plupart des autres lignes sont utilisées pour le contrôle
Page 17: 2.6.1 L'adressage des Entrées/Sorties · 2. - Transmission de données (ligne 2), 3. - Réception de données (ligne 3). La plupart des autres lignes sont utilisées pour le contrôle
Page 18: 2.6.1 L'adressage des Entrées/Sorties · 2. - Transmission de données (ligne 2), 3. - Réception de données (ligne 3). La plupart des autres lignes sont utilisées pour le contrôle

8255 CONFIGURATION DES MODES CONTROL WORD (HEX)

CONTROL WORD (DECIMAL)

PORT A

PORT B

PORT C

80 128 OUT OUT OUT 82 130 OUT IN OUT 85 133 OUT OUT IN 87 135 OUT IN IN 88 136 IN OUT OUT 8A 138 IN IN OUT 8C 140 IN OUT IN 8F 143 IN IN IN

Page 19: 2.6.1 L'adressage des Entrées/Sorties · 2. - Transmission de données (ligne 2), 3. - Réception de données (ligne 3). La plupart des autres lignes sont utilisées pour le contrôle

2.6.5.3 Le PIA 6821 (Adaptateur d'interface périphérique) Le PIA est l'équivalent du PPI de Intel chez Motorola.

2.6.5.4 Interface CENTRONICS La commande d'une imprimante se fait en mode série ou en mode parallèle. En mode parallèle le câble et les connecteurs sont plus complexes et la distance est limitée par la nature de la liaison et des données (TTL). Fabriquant d'imprimantes la société Centronics a imaginé une liaison parallèle appelée de son nom et qui s'est imposée comme norme.

Page 20: 2.6.1 L'adressage des Entrées/Sorties · 2. - Transmission de données (ligne 2), 3. - Réception de données (ligne 3). La plupart des autres lignes sont utilisées pour le contrôle

Principe Les données sont transmises sur 8 fils en parallèle. Lorsqu'elles sont émises par le micro-ordinateur, celui-ci émet un ordre d'acquisition vers l'imprimante, c'est le signal STROBE (une synchronisation). L'imprimante répond par un signal BUZY. Dès qu'elle a terminé, elle émet un signal pour indiquer que cette acquisition s'est faite ACKNOWLEDGE, et qu'elle est disponible pour la donnée suivante.

Principe de l'échange en "poignée de main" entre le microprocesseur et l'imprimante

Dialogue entre le microprocesseur et l'imprimante

Page 21: 2.6.1 L'adressage des Entrées/Sorties · 2. - Transmission de données (ligne 2), 3. - Réception de données (ligne 3). La plupart des autres lignes sont utilisées pour le contrôle

Connexion Centronics

Page 22: 2.6.1 L'adressage des Entrées/Sorties · 2. - Transmission de données (ligne 2), 3. - Réception de données (ligne 3). La plupart des autres lignes sont utilisées pour le contrôle

Liaison micro-ordinateur à imprimante en mode parallèle

Page 23: 2.6.1 L'adressage des Entrées/Sorties · 2. - Transmission de données (ligne 2), 3. - Réception de données (ligne 3). La plupart des autres lignes sont utilisées pour le contrôle

(connexion type Centronics pour l'IBM PC) Exemple typique de connexion d'une imprimante parallèle à un microcontrôleur Liaison parallèle entre une imprimante parallèle et un microcontrôleur MC68HC11, à l'aide d'un circuit PIA 6821.

2.6.5.5 Commande de clavier Clavier 16 touches La commande d'un clavier relève, elle aussi, d'un mode de liaison parallèle. On procède par un "balayage" des touches. Une des techniques est la suivante : Exemple un clavier 16 touches, on utilise un mot de 8 bits, scindé en 2 groupes de 4-bits. Le clavier est organisé en 4 lignes par 4 colonnes.

Page 24: 2.6.1 L'adressage des Entrées/Sorties · 2. - Transmission de données (ligne 2), 3. - Réception de données (ligne 3). La plupart des autres lignes sont utilisées pour le contrôle

Il n'y a aucun contact entre les colonnes et les rangées, au repos. C'est la touche qui provoque le contact. Au départ les 4-bits sortant sont à 1, les bits 4 à 7 restent à 0 (des résistances de rappel au 0). Si une touche est pressée : la ligne correspondante passe à 1, la porte NOR (et non pas NAND sur la figure) passe de 1 à 0 et provoque une demande d'interruption. Le microprocesseur va émettre vers le circuit d'E/S des mots binaires chargés de balayer les colonnes : 0001, puis 0010, puis 0100 et 1000, cette séquence s'interrompe aussitôt qu'une touche pressé a été détectée (à chaque attaque d'une colonne par 1, les bits 4 à 7 sont lus jusqu'un bit à 1 soit détecté. Le processus s'arrête dès que la touche pressée a été localisée par sa colonne et sa ligne. Clavier de l'IBM PC La scrutation des touches se fait en mode parallèle, mais la liaison clavier à unité centrale se fait en mode série. Les touches du clavier (83, 105, ..) sont scrutés via deux ensembles électroniques: - l'interface située sur la carte unité centrale, - l'électronique intégrée au clavier (exemple microprocesseur 8048). Le connecteur d'accès à l'unité centrale est de type DIN à 5 broches.

Corriger : porte NOR et non pas NAND

Page 25: 2.6.1 L'adressage des Entrées/Sorties · 2. - Transmission de données (ligne 2), 3. - Réception de données (ligne 3). La plupart des autres lignes sont utilisées pour le contrôle

Remarque : Problème du régime transitoire dans la lecture d'une touche : Dans la pratique la connexion entre une ligne et une colonne ne se fait pas de manière idéale. Un contact ne donne pas un niveau logique franc et stable mais il peut osciller pendant un court laps de temps (2 à 20ms). Il faut donc attendre ( une dizaine de ms) que la connexion donne un niveau logique stable pour prendre en compte la touche activée. La figure suivante montre sur un chronogramme ces zones d'instabilités.

Zones d'instabilité lors de l'activation d'une touche.

2.6.5.6 Commande d'un moteur pas à pas Introduction: Le moteur pas à pas est un transducteur électromécanique que l'on associe à une logique de commande. Sa résolution est le nombre de pas par tour, correspondant à un nombre égal de déplacements angulaires, provoqués par des impulsions. Avantage par rapport au moteur classique : On peut connaître sa position au nombre de pas près ! Il existe trois types de moteur pas à pas:

• Moteur à aimant permanent • Moteur à reluctance variable • Moteur hybride

Le moteur à aimant permanent: Il est composé de deux parties :

Page 26: 2.6.1 L'adressage des Entrées/Sorties · 2. - Transmission de données (ligne 2), 3. - Réception de données (ligne 3). La plupart des autres lignes sont utilisées pour le contrôle

Le rotor qui est la partie mobile, il comporte un nombre pair de pôles à aimant permanent magnétisé dans le sens radial.

Le stator qui est la partie fixe, composé d'encoches comportant 2, 3, 4 enroulements électriques.

Remarque : Il existe deux catégories de moteurs pas à pas:

• Bipolaires • Unipolaires

Le moteur pas à pas bipolaire : Deux enroulements au stator avec courants bidirectionnels (voir schéma précèdent). Le moteur pas à pas unipolaire : Quatre enroulements au stator avec sens des courants unidirectionnels.

Page 27: 2.6.1 L'adressage des Entrées/Sorties · 2. - Transmission de données (ligne 2), 3. - Réception de données (ligne 3). La plupart des autres lignes sont utilisées pour le contrôle

Remarque : Les deux enroulements ne sont jamais excités ensembles. Les moteurs pas à pas à réluctance variable: Le rotor est constitué d'un nombre impair de pôles non magnétisés, la position du rotor est déterminée par la réluctance des tôles, le rotor suit les lignes de champs.

Page 28: 2.6.1 L'adressage des Entrées/Sorties · 2. - Transmission de données (ligne 2), 3. - Réception de données (ligne 3). La plupart des autres lignes sont utilisées pour le contrôle

Le moteur hybride: C'est une combinaison du moteur à aimant permanent et à reluctance variable. Le rotor est cylindrique magnétisé dans le sens axial à structures dentées (décalées les unes par rapport aux autres). Comparaison des différents types:

Page 29: 2.6.1 L'adressage des Entrées/Sorties · 2. - Transmission de données (ligne 2), 3. - Réception de données (ligne 3). La plupart des autres lignes sont utilisées pour le contrôle

Modes d'excitation des phases: Pour un moteur bipolaire: 1-Pas entier une phase excitée :

Remarque : Les courants dans les phases sont bidirectionnels, cela nécessite donc un circuit capable d'inverser le sens du courant dans un enroulement (L298).

Page 30: 2.6.1 L'adressage des Entrées/Sorties · 2. - Transmission de données (ligne 2), 3. - Réception de données (ligne 3). La plupart des autres lignes sont utilisées pour le contrôle

2-Pas entier, deux phases excitées :

Remarque : Dans ce mode de fonctionnement le couple est deux fois plus important.

Page 31: 2.6.1 L'adressage des Entrées/Sorties · 2. - Transmission de données (ligne 2), 3. - Réception de données (ligne 3). La plupart des autres lignes sont utilisées pour le contrôle

3-Micro pas, une phase excitée puis deux :

Remarque : Le couple est irrégulier dans ce mode de fonctionnement.

Page 32: 2.6.1 L'adressage des Entrées/Sorties · 2. - Transmission de données (ligne 2), 3. - Réception de données (ligne 3). La plupart des autres lignes sont utilisées pour le contrôle

Changement de sens : Pour changer le sens de rotation du rotor il faut inverser l'ordre d'excitation des phases. Commande des moteur pas à pas : La commande de ces moteurs est souvent confiée à deux circuits spécialisés intégrants pour l'un la partie séquentielle (L297) et pour l'autre la partie puissance (L298), parfois un seul et même circuit intègre les deux fonctions et suffit à piloter le moteur. Deux signaux sont nécessaires, un pour le sens (0 = sens horaire, 1= sens anti-horaire), l'autre étant un signal d'horloge synchrone sur fronts montants ou descendants suivant les circuits.

Pour faire tourner le moteur, il faut réaliser successivement l'alimentation des bobinages avec les polarités convenables. Comme à l'habitude il va falloir faire un compromis entre diverses solutions. Le micro-ordinateur, moyennant un programme (et une charge) relativement important est tout à fait capable de prendre en charge la commandes: le sens de rotation, le nombre

Page 33: 2.6.1 L'adressage des Entrées/Sorties · 2. - Transmission de données (ligne 2), 3. - Réception de données (ligne 3). La plupart des autres lignes sont utilisées pour le contrôle

de pas et la vitesse. La carte à des amplificateurs placés entre les fils de données du bus de l'Interface et les bobinages du moteur. D'un autre côté, il serait confortable de disposer d'une carte d'interface pour moteurs pas à pas à laquelle il suffirait de donner trois commandes: le sens de rotation, le nombre de pas et la vitesse. La carte d'interface risque alors de devenir complexe et par conséquent chère. Au titre du compromis, la commutation des bobinages du moteur est confiée à l'interface, les ordres d'avance et de sens de rotation seront du ressort du micro-ordinateur. Description du circuit de commande Pour la commutation correcte des tensions sur les bobinages du moteur, RTC diffuse un circuit intégré SAA 1027 (figure). Ce circuit alimente directement le moteur pas à pas à partir de signaux de commande relativement simples:

R qui donne le sens de rotation. T qui fait tourner le moteur d'un pas à chaque front positif. S qui bloque le moteur et rend le circuit SAA 1027 insensible aux autres commandes quand S=0.

Les connexions d'un SAA 1027 sont donc les suivantes:

Borne 2 (S) reliée au + 12 V fourni par le circuit intégré 7812. Borne 12 et 5 reliées à la masse. Bornes QI,2,3,4 reliées aux enroulements du moteur. Borne 14 reliée à une constante de temps 100 Ω/0.1 mFd. Borne 4 (Vb) reliée au 12 V par 270 Ω. Borne 13 (Vd) reliée au 12 V par une diode Zener de 5,1 V, afin d'augmenter légèrement le couple.

Il est possible de prévoir deux circuits SAA 1027. Il ne reste plus qu'à fournir les signaux convenables aux entrées T et R de ces deux circuits à partir des commandes délivrées par le micro-ordinateur. Les entrées S et T des circuits SAA 1027 nécessitent des signaux électriques variant entre 0 et 12 V ce qui interdit de les raccorder directement à des circuits TTL alimentés sous 5 V. L'adaptation entre 5 et 12 V est réalisée par des inverseurs à collecteurs ouverts type 7406 ou 7416 chargés par des résistances de 10 kΩ. Les commandes venant du micro-ordinateur se présentent sur les fils de données D0 à D3 Ces commandes sont présentées aux quatre bascules type D des circuits 74LS74 qui prennent en compte les états des fils D0 à D3 quand le fil d'écriture connecté a leur entrée d'horloge effectue sa transition positive.

Page 34: 2.6.1 L'adressage des Entrées/Sorties · 2. - Transmission de données (ligne 2), 3. - Réception de données (ligne 3). La plupart des autres lignes sont utilisées pour le contrôle

Comme l'ordre d'écriture consiste en une impulsion négative, son front positif est obligatoirement précédé d'un front négatif. Ce front négatif arme le monostable 74LS123 ce qui libère les mémoires de commande de pas. On remarque que les mémoires de commandes de sens ne sont pas connectées au monostable. A sa retombée, le monostable remet ou ne remet pas à zéro la bascule (cela dépend de la donnée que lui a fait prendre en compte l'impulsion d'écriture) ce qui provoque ou ne provoque pas une demande de pas. Le chronogramme est donné sur la figure suivante.

Page 35: 2.6.1 L'adressage des Entrées/Sorties · 2. - Transmission de données (ligne 2), 3. - Réception de données (ligne 3). La plupart des autres lignes sont utilisées pour le contrôle

.

Page 36: 2.6.1 L'adressage des Entrées/Sorties · 2. - Transmission de données (ligne 2), 3. - Réception de données (ligne 3). La plupart des autres lignes sont utilisées pour le contrôle

Exemple d'application :