• Aucun résultat trouvé

Cours 18, Le port parallèle

N/A
N/A
Protected

Academic year: 2022

Partager "Cours 18, Le port parallèle"

Copied!
13
0
0

Texte intégral

(1)

Etienne Tremblay

Ordinateurs, Structure et Applications

GIF-1001

Université Laval, Hiver 2012

Cours 18, Le port parallèle

(2)

GIF-1001

Définition et historique

Le port parallèle a été introduit en 1981 par IBM afin de contrôler des

imprimantes à ruban (dot matrix printer). Ce port est plus rapide que le port série et il a été créé afin de suppléer au manque de vitesse de ce dernier.

Par la suite, le port parallèle a été utilisé pour des disques portables, des tape backups, des lecteurs de CD-ROM et dans plusieurs applications maisons.

La version standard du protocole pour le port parallèle (SPP = Standard Parallel Port), sortie en 1981, avait plusieurs faiblesses: manque de

spécifications électriques, bus de donnée unidirectionnel, lent, très exigeant au niveau software (E/S programmée nécessitant une séquence de

plusieurs opérations d’E/S). Pour ces raisons, différents protocoles de communication ont été créés afin de communiquer avec un appareil connecté au port parallèle.

Le comité IEEE1284 a standardisé le port parallèle en 1994. Ce comité, constitué de gros joueurs dans l’industrie de l’ordinateur (Lexmark, IBM, Texas Instruments et autres), a établi la norme IEEE1284.Cette norme définit cinq protocoles utilisables sur le port parallèle, incluant le protocole standard, afin de rester compatible avec le passé. Ces protocoles sont décrits plus loin.

(3)

Caractéristiques principales

• Le port parallèle est un port point-à-point. Il sert à relier un unique périphérique à un PC.

• La vitesse maximale de communication sur le port parallèle est

autour de 2Mbps. La vitesse maximum de communication sur le port parallèle en utilisant le premier protocole établi en 1981 était autour de 150kbps.

• Le port parallèle utilise habituellement un connecteur DB25 femelle sur le PC et un connecteur Centronics 36 broches mâle sur le

périphérique.

• Il y a 8 lignes de données sur les 25 lignes du port parallèle. Ce port est donc parallèle.

• La longueur maximum des câbles utilisés sur ce port est de 10 pieds. Avant 1994, elle était autour de 6 pieds.

• Les premières versions du port étaient unidirectionnelles: le PC envoyait des données à une imprimante! Les protocoles les plus récents pour le port parallèle sont bidirectionnels.

(4)

GIF-1001

Connecteur et Signal

Il existe plusieurs types de connecteurs pour le port parallèle. Les principaux connecteurs sont DB25 femelle (à l’arrière d’un PC) et Centronics 36 broches (voir l’illustration ci-dessous ou

http://www.ntanet.net/nta/cables.html pour une photo).

Les broches du port parallèle fonctionnent à un niveau TTL (0-5Vdc).

Elles peuvent fournir jusqu’à 14mA et elles sont reliées directement à l’alimentation 5Vdc de votre PC.

Le port parallèle utilise 25 broches dont les directions sont données par la table ci-dessous.

Le rôle des broches et la séquence d’activation utilisée afin de

transmettre ou recevoir un byte sont déterminés par le protocole de communication utilisé (voir plus loin).

DB-25, femelle

Centronics

1

14 13

25

1

19 18

36

Rôle Pins DB25

Entrée 10 à 13, 15 Sortie 1,14,16,17 Entrée/Sortie 2 à 9

Masse 18 à 25

(5)

Protocole de communication

Il existe cinq protocoles de communication reconnus dans la norme IEEE 1284 pour le port parallèle: Protocol Standard (SPP) ou Compatibility Mode, Nibble Mode, Byte Mode, Enhanced Parallel Port (EPP) et Extended Capability Parallel Port (ECP). Chacun de ces protocoles ou modes utilise les 5 entrées, 4 sorties et 8 lignes bidirectionnelles (lignes de données) de façon différente. Les acétates qui suivent décrivent chacun de ces modes. Vous retrouverez également un résumé du rôle des broches en fonction du mode dans la table ci-dessous (voir les références pour plus de détail).

DB25 pin E/S SPP Nibble Byte EPP ECP

1 S nSTROBE nSTROBE HostClk nWRITE HostClk

14 S nAUTOFEED HostBusy HostBusy nDATASTB HostAck 17 S nSELECTIN 1284Active 1284Active nADDRSTB 1284Active

16 S nINIT nINIT nINIT nRESET nReverseRequest

10 E nACK PtrClk PtrClk nINTR PeriphClk

11 E BUSY PtrBusy PtrBusy nWAIT PeriphAck

12 E PE AckDataReq AckDataReq user defined nAckReverse

13 E SELECT Xflag Xflag user defined Xflag

15 E nERROR nDataAvail nDataAvail user defined nPeriphRequest

2-9 E/S D[8:1] D[8:1] D[8:1] AD[8:1] Data[8:1]

18-25 - GND GND GND GND GND

(6)

GIF-1001

Compatibility Mode

• Le mode standard est apparu le premier. Dans ce mode, les 8 lignes de données servent de sorties seulement. Il s’agit de données

envoyées vers une imprimante… Les 4 lignes de sortie servent à contrôler l’imprimante (avertir que des données arrivent, forcer un déroulement de papier, initialiser l’imprimante et mettre l’imprimante hors ligne) et les 5 lignes d’entrée servent pour donner un statut de l’imprimante (imprimante occupée, manque de papier, accusé

réception de données, erreur et imprimante en ligne ou non).

• Le mode standard est le plus vieux. Il a plusieurs faiblesses importantes. Tout d’abord, le port est unidirectionnel. Le

périphérique ne peut pas envoyer de données au PC! Ensuite, ce mode est très demandant au niveau logiciel. En effet, il faut faire plusieurs opération d’E/S pour transmettre un seul byte: lire si l’imprimante est occupée, mettre les données sur le port, signaler l’envoi de données et signaler la fin de l’envoi. Ce nombre

d’opérations réduit terriblement la vitesse.

(7)

Nibble Mode

• Le mode nibble a été introduit par Hewlett Packard. Dans ce mode, 4 des 5 lignes d’entrées servent à transmettre la moitié d’un byte (4 bits = un nibble) de l’imprimante vers le PC. Du multiplexage temporel permet au

périphérique d’envoyer des bytes complets en deux étapes. Les autres lignes d’entrées ou de sorties sont adaptées au concept.

• Le mode nibble est aussi très exigeant au niveau logiciel.

Pour cette raison, on peut transférer environ 50kbps maximum d’un périphérique vers le PC.

• Le mode nibble est compatible 100% avec le mode standard sans modifications matérielles.

• Malgré sa lenteur, le mode nibble est très utilisé pour les

périphériques devant envoyer peu de données au PC

comme les imprimantes.

(8)

GIF-1001

Byte Mode (enhanced bi-directional)

• Dans le mode byte, les huit lignes de données sont bidirectionnelles. Les lignes d’entrées et de sorties servent à gérer le flux et la direction des données.

• Comme pour les deux modes précédents, le

mode Byte est très exigeant au niveau logiciel et donc peu rapide (il est tout de même deux fois plus rapide que le mode nibble pour les données allant d’un périphérique vers le PC).

• Le mode Byte exige que les 8 lignes de données soient bidirectionnelle, contrairement aux deux modes précédents. Toutefois, aucun autre

matériel n’est requis.

(9)

Enhanced Parallel Port

• Le protocole ECP est l’un des plus récent. Dans ce protocole, les lignes de données servent tour à tour de lignes d’adresses et de lignes de données, dans un sens ou dans l’autre.

• Les lignes de sortie indiquent si on lit/écrit des données ou une

adresse. Un ligne de sortie sert au reset du périphérique. En ce qui concerne les lignes d’entrée, une sert pour la gestion du flux de données, une autre sert d’interruption et le rôle des trois autres lignes est laissé au choix du fabricant du périphérique.

• Du matériel est ajouté au contrôleur du port parallèle afin qu’une

seule instruction d’E/S soit nécessaire afin d’écrire ou de lire un byte (pour la description du matériel, voir le 82360 d’Intel ☺). Ainsi, le

taux de transfert des données devient entre 500K byte par secondes et 2M bytes par seconde (ce qui est à peu près la vitesse maximum du bus ISA sur lequel le contrôleur de port est habituellement

connecté).

• Les anciens protocoles sont supportés sur un port parallèle amélioré (enhanced).

(10)

GIF-1001

Extended Capability Parallel Port

• Le mode ECP est plus récent encore que le mode EPP. Nécessitant un contrôleur un peu plus complexe que ce dernier, il permet

l’utilisation de DMA (les bytes envoyés à l’imprimante proviennent directement de la mémoire), supporte le PlugNPlay (un appareil est détecté lors de sa connexion) et peut contrôler un périphérique ayant plusieurs fonctionnalités comme une imprimante/télécopieur (le

contrôleur est un canal d’E/S). Par ailleurs, le ECP a des

performances similaires au EPP et il supporte également les autres protocoles du port parallèle.

• Dans le mode ECP, les lignes de données sont bidirectionnelles et les autres lignes gèrent le flux de données.

• Même s’il est le summum de ce qui ce fait en matière de protocole pour le port parallèle, ce dernier est de plus en plus remplacé par le USB et le FireWire.

(11)

Le port parallèle et le x8086 + programmation avec un PC

• Le port parallèle est apparu en 1981 et le 286, en 1982. L’utilisation de port parallèle connecté au bus système ou au bus ISA remonte à plus de 25 ans!

• Comme pour le port série, il est possible d’accéder directement aux ports de l’interface parallèle avec un 8086. Ces ports permettent de contrôler tous les paramètres de la communication. LPT1 est

habituellement situé aux ports 378h à 37Ah alors que LPT2 est habituellement situé aux ports 278h à 27Ah. C’est le BIOS, lors de la mise sous tension de l’ordinateur, qui alloue les ports aux

interfaces détectées.

• Il y a moyen de combiner l’utilisation de ces ports avec l’utilisation des interruptions du port parallèle (interruption matérielle IRQ7).

• L’interruption 17h du BIOS, conçue pour le mode parallèle standard, permet aussi de communiquer par le port parallèle. Notez que cette interruption est maintenant dépassée, tout comme le mode

standard.

• Il existe des fonctions et des composantes déjà toutes faites pour communiquer sur le port parallèle…

(12)

GIF-1001

Conception d’un périphérique sur le port parallèle

La conception d’un périphérique sur le port parallèle est très simple, car le port a plusieurs entrées et sorties 5Vdc. Pour cette raison, le port parallèle est très prisé pour de petits montages simples. Il permet de créer

rapidement un contrôle par PC.

Comme le 5Vdc et la masse de port parallèle sont ceux du PC, l’utilisation de ce port doit se faire avec certaines précautions. Le port parallèle est facile à endommager…

Les accès au port parallèle sont souvent protégés sous Windows. Il faut habituellement opérer en mode administrateur pour y accéder.

Plusieurs librairies de fonctions (dll) sont disponibles sur Internet afin d’accéder facilement à vos ports parallèles.

(13)

Références et exercices

• Références

http://www.aurel32.net/elec/port_parallele.php – http://www.fapo.com/1284int.htm

Références

Documents relatifs

Si l’on compare la survie des abeilles groupées nourries de miel pur à celle d’abeilles groupées disposant de miel !-- 10 % de gelée royale, on constate

Pour utiliser la JVM en mode debugage distant il faut lui paramètrer le port d'attente.. Pour ce faire plusieurs solutions (en voici 2) : on utilise un script sh afin de lancer

[r]

Evoke, divided into four sections: first, the potential to use video games as citizenship education tools is discussed; second, the unique game genre (alternate reality games)

Les élèves rencontrent le participe passé en tant que forme verbale utile à la formation et la conjugaison des temps composés et utilisent le participe présent souvent sans

Assure un transfert transparent de données entre utilisateurs de service réseau en leur rendant invisible la façon dont les ressources de communication sont mises en

Un projet européen pour mieux comprendre les procédures d’expertise et pour identifier les experts judiciaires dans chacun des Etats de l’Union européenne.... Liste d’Experts

Le programme management de la mode de MODART International s’adresse à des étudiants passionnés par le secteur de la mode et qui souhaitent occuper des fonctions