Logo REF-Union

Les documents du REF-Union

Micro-informatique

PC et compatibles

SM1-02

Page d'accueil Recherche par mots-clés

Le port parallèle des PC et compatibles

SM1-01 : Le port série des PC et compatibles Index : Micro-informatique

Cette interface est largement utilisée pour toutes les applications simples de contrôle se branchant sur un PC. Ce petit texte de description est tiré du livre Montages Avancés Pour PC. Vous pouvez le copier à condition de le garder intact. Afin d'améliorer ce document, toutes les suggestions sont bienvenues.

Géométrie

Le port paralèlle des PC et compatibles se présente sous la forme d'une prise DB25 femelle dont voici la géométrie :


DB25 femelle (vue de derrière)
BrocheNomSortieEntrée
1/STROBEXX
2D0XX si EPP
3D1XX si EPP
4D2XX si EPP
5D3XX si EPP
6D4XX si EPP
7D5XX si EPP
8D6XX si EPP
9D7XX si EPP
10/ACKX
11BUSYX
12PEX
13SELECTX
14/AUTOFEEDXX
15/ERRORX
16/INITXX
17/SELECT INXX
18-25MASSEXX

Ce port ayant avant tout été pensé pour communiquer avec une imprimante, vous vous apercevrez que la plupart de ses signaux ont un rapport avec ce périphrique. Il posséde 17 broches utilisables ainsi que 8 broches reliées à la masse. Leurs affectations physiques sont les suivantes :

Description des signaux

STROBE : cette ligne active basse indique à l'imprimante que des données sont présentes sur les lignes D0 à D7 et qu'il faut les prendre en compte.

D0 à D7 : c'est le bus de données sur lequel véhicule la valeur du caractère à imprimer. On ne peut écrire sur ce port, à moins d'avoir un port parallèle étendu (c'est le cas pour les ports de type ECP/EPP).

ACK : l'imprimante met à 0 cette ligne pour indiquer à l'ordinateur qu'elle a bien reçu le caractère transmis et que ce dernier peut continuer la transmission.

BUSY : cette ligne est mise à 0 par l'imprimante lorsque son buffer de réception est plein. L'ordinateur est ainsi averti que celle-ci ne peut plus recevoir de données. Il doit attendre que cette ligne revienne à 1 pour recommencer à émettre.

PE : signifie « paper error ». L'imprimante indique par cette ligne à l'ordinateur que l'alimentation en papier a été interrompue.

SELECT : cette ligne indique à l'ordinateur si l'imprimante est « on line » ou « off line ».

AUTOFEED : lorsque ce signal est à 1, l'imprimante doit effectuer un saut de ligne à chaque caractère « return » reçu. En effet, certaines imprimantes se contentent d'effectuer un simple retour du chariot en présence de ce caractère.

ERROR : indique à l'ordinateur que l'imprimante a détecté une erreur.

INIT : l'ordinateur peut effectuer une initialisation de l'imprimante par l'intermédiaire de cette ligne.

SELECT IN : l'ordinateur peut mettre l'imprimante hors ligne par l'intermédiaire de ce signal.

MASSE : c'est la masse du PC.

Performances

La vitesse de transmission maximale que l'on peut espérer obtenir avec un tel port est de l'ordre de 150 ko/s. Les ports plus récents, de type EPP (pour Enhanced Parallel Port, développé par Xircom, Zenith et Intel en 1991), permettent d'atteindre un débit de 2 Mo/s soit un débit environ treize fois supérieur. S'il reste inférieur au débit du bus ISA (8 Mo/s) il permet néanmoins la réception de périphériques tels que des lecteurs de CD-ROM ou des disques durs. En plus d'un débit supérieur, les ports EPP sont bidirectionnels. Encore plus récent, le port ECP (Extended Capacity Port) possède la particularité d'être Plug and Play (traduire par : branchez et utilisez). Il dérive du port EPP et en possède les mêmes caractéristiques. Sa particularité est qu'il permet au périphrique branché sur celui-ci de s'identifier à la machine dés le démarage. Ainsi l'imprimante peut s'autoconfigurer lors du lancement du systéme d'exploitation (à condition que ce dernier et le BIOS soient eux aussi compatibles Plug and Play). Mais du point de vue de l'électronicien amateur, l'avantage de ces ports est sans conteste leur bidirectionnalité.

Néanmoins, que ceux qui n'ont pas de port étendu se rassurent, il est tout à fait possible de rendre bidirectionnel le port grâce à une petite astuce. L'interface paralèlle possède en effet 4 bits en entrée (ACK, BUSY, PE et SELECT). Il suffit de multiplexer les 8 bits dont on veut effectuer l'acquisition en deux quartets. La sélection du quartet haut ou du quartet bas s'effectue par une ligne libre du port (SELECT IN par exemple). Ainsi un simple multiplexeur du type 74LS157 résout le probléme...

Programmation

Cette interface se programme de manière trés simple : trois registres seulement sont nécessaires au contrôle total des signaux. En fait, si vous possédez plusieurs ports parallèles il y aura autant de groupes de trois registres que de nombre de ports. Cette précision peut paraître évidente, mais cela ne coûte rien de le dire...

Lignes de données (378h)

À moins que vous ne possédiez une interface parallèle étendue, ce registre n'est accessible qu'en écriture. L'écriture d'un octet dans ce registre place immédiatement les lignes D0-D7 aux niveaux demandés sur la prise. Il est une croyance populaire qui dit que les données ne deviennent valables en sortie que si la ligne STROBE est à l'état bas, mais il n'en est rien. Il n'y a pas de logique interne de ce type dans les interfaces parallèles.

7 6 5 4 3 2 1 0
* . . . . . . .  D7
. * . . . . . .  D6
. . * . . . . .  D5
. . . * . . . .  D4
. . . . * . . .  D3
. . . . . * . .  D2
. . . . . . * .  D1
. . . . . . . *  D0

Etat de l'imprimante (379h)

Ce registre, accessible uniquement en lecture, est l'image de l'état des lignes ERROR, SELECT, PE, ACK et BUSY. Il faut cependant remarquer que le bit 7 du registre (correspondant à l'image de la ligne BUSY) est inversé par rapport à l'entrée. Un inverseur est en effet présent entre la prise et le registre. Attention donc à ne pas se tromper.

7 6 5 4 3 2 1 0
* . . . . . . .  /BUSY (logique inverse)
. * . . . . . .  /ACK
. . * . . . . .  PE
. . . * . . . .  SELECT
. . . . * . . .  /ERROR
. . . . . * * *  Indéfini

Commande de l'imprimante (37Ah)

Ce dernier registre est accessible à la fois en lecture et en écriture. Les 4 premiers bits sont l'image des lignes StrOBE, AUTOFEED, INIT et SELECT IN (attention ici aussi aux inverseurs placés entre la prise et le registre). Le bit 4 autorise ou non le déclenchement d'une interruption lorsque ACK passe à l'état bas (c'est à dire quand l'imprimante valide la réception d'un caractère).

Le bit BIT CtrL n'a de sens que pour les ports bidirectionnels (EPP, ECP). En mettant ce bit à 1, le port est accessible en écriture.

7 6 5 4 3 2 1 0
* * . . . . . .  Inutilisées
. . * . . . . .  BID CtrL
. . . * . . . .  IRQ ENABLE
. . . . * . . .  SELECT IN (logique inverse)
. . . . . * . .  /INIT
. . . . . . * .  AUTOFEED (logique inverse)
. . . . . . . *  /STROBE  (logique inverse)
Eric Larchevêque et Laurent Lellu
extrait du livre Montages Avancés pour PC

Page d'accueil Recherche par mots-clés

Le port parallèle des PC et compatibles

SM1-01 : Le port série des PC et compatibles Index : Micro-informatique
Publié par le Réseau des Émetteurs Français - octobre 1996
Mise à jour le 15 février 2001 par Montages avancés pour PC.