Cette interface est largement utilisée pour toutes les applications simples ce 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 parallèle 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) ------------------------------ \ 1 2 3 4 5 7 8 ... 13 / \ 14 15 16 17 18 .......25 / --------------------------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ériphérique. Il possède 17 broches utilisables ainsi que 8 broches reliées à la masse. Leurs affectations physiques sont les suivantes: BROCHE NOM Sortie du PC Entré dans le PC -------------------------------------------------------- 1 /STROBE X X 2 D0 X X si EPP 3 D1 X X si EPP 4 D2 X X si EPP 5 D3 X X si EPP 6 D4 X X si EPP 7 D5 X X si EPP 8 D6 X X si EPP 9 D7 X X si EPP 10 /ACK X 11 BUSY X 12 PE X 13 SELECT X 14 /AUTOFEED X X 15 /ERROR X 16 /INIT X X 17 /SELECT IN X X 18-25 MASSE X X |
Description des signaux |
|
Performances |
La vitesse de transmission maximale que l'on peut espérer obtenir
avec un tel port est de l'ordre de 150ko/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 2Mo/s
soit un débit environ treize fois supérieur. Si il reste
inférieur au débit du bus ISA (8Mo/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ême caractéristiques. Sa
particularité est qu'il permet au périphérique 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 parallèle
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écessaire au contrôle total
des signaux. En fait, si vous possédez plusieurs ports parallèles
il y aura autant de groupe de trois registres que de nombre de port. Cette
précision peut paraître évidente mais cela ne coûte
rien de le dire...
|
Lignes de données (378h) |
A moins que vous ne possèdiez une interface parellè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 inversée) . * . . . . . . /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&eactues . . * . . . . . BID CTRL . . . * . . . . IRQ INABLE . . . . * . . . SELECT IN (Logique inversée) . . . . . * . . /INIT . . . . . . * . AUTOFEED (Logique inversée) . . . . . . . * /STROBE (Logique inversée) |
Auteurs: Eric
Larchevêque et
Laurent
Lellu
|
![]() |