Accueil | Page d'électronique
Le port Parallèle d'IBM
Table des matières
Les ordinateurs PC,
XT, AT avaient originellement la possibilité de brancher trois
imprimantes à communication parallèle. Le système offrait trois
adresses de base de port d'entrée-sortie du processeur, soit 278, 378,
et 3BC (en hexadécimal). Chacun des ports est utilisable seulement si
une carte d'interface est présente à l'intérieur de l'ordinateur.
Souvent, cette interface est intégrée, par exemple, à un contrôleur de
disque dur.
Le port parallèle
du PC a été spécifiquement conçu pour y brancher des imprimantes
comportant une interface de communication parallèle pour pouvoir
dialoguer avec l'ordinateur. Mais on peut aussi utiliser ce port comme un port général d'entrées-sorties pour une infinité d'autres applications.
Le port présente 12 sorties et 4 entrées qui peuvent être accédées par
le processeur par des instructions de lecture et d'écriture sur le port
désiré.
Le port parallèle
est rendu disponible grâce à un connecteur de 25 fils de type D (DB25)
femelle. Il est situé à l'arrière de l'ordinateur. Il est fait de 25
trous, disposés comme suit:
Figure 1:
Plus précisément, les 25 broches sont numérotées comme suit:
Figure 2:
______________________________________________________
/ \
\ 13 12 11 10 9 8 7 6 5 4 3 2 1 /
\ /
\ 25 24 23 22 21 20 19 18 17 16 15 14 /
\________________________________________________/
|
Chaque broche a une fonction particulière, relative à son utilisation avec une imprimante, et portent chacune un nom particulier:
Tableau 1:
| # | Nom |
| 1 | STROBE |
| 2 | D0 |
| 3 | D1 |
| 4 | D2 |
| 5 | D3 |
| 6 | D4 |
| 7 | D5 |
| 8 | D6 |
| 9 | D7 |
| 10 | Acknoledge |
| 11 | Busy |
| 12 | PE |
| 13 | SCLT |
|
|
| # | Nom |
| 14 | AUTOFEED |
| 15 | ERROR |
| 16 | INIT |
| 17 | SLCT IN |
| 18 | Mise à la Terre |
| 19 | Mise à la Terre |
| 20 | Mise à la Terre |
| 21 | Mise à la Terre |
| 22 | Mise à la Terre |
| 23 | Mise à la Terre |
| 24 | Mise à la Terre |
| 25 | Mise à la Terre |
|
Débutons par un exemple simple: Le contrôle de l'allumage de DELs
(petites lumières semblables à celles qui témoignent de l'activité de
votre disque dur). DEL est une abbréviation de "diode
électroluminescente".
D'abord, il faut
savoir, en gros, ce qui se passe lorsque l'on envoie une commande au
port. Il existe trois types de broches, disponibles par le connecteur
décrit ci-haut.
Figure 3:
|
 |
Les premières sont
celles de SORTIE. Elles ont sont soit branchées au +5 volts de
l'alimentation interne de l'ordinateur (comme le "+" d'une batterie de
5 volts), soit branchées à la Terre (le "-" de la batterie).
Le second type de
broches est celui des ENTRÉES. Grâce à celles-ci, l'ordinateur (ou le
logiciel) est capable de savoir de quelle façon vous avez branché ces
broches. Si vous en reliez une à la Terre (le "-" de la batterie),
l'ordinateur vous rapportera un "zéro" (0) lorsque vous lui demanderez
de lire le port. Si vous branchez la broche au "+5" volts, l'ordinateur
rapportera un "un" (1).
Le dernier type, le
plus simple, est celui des broches de mise à la Terre, ou "GROUND", en
anglais. Elles correspondent au "-" de la "batterie" interne de
l'ordinateur, et sont toutes reliées ensemble dans l'ordinateur.
En plus concret, voici la liste des broches, avec en plus, les détails quant à leur fonction d'entrée ou de sortie:
Tableau 2:
| # | Nom | Fonction |
| 1 | STROBE | Sortie |
| 2 | D0 | Sortie |
| 3 | D1 | Sortie |
| 4 | D2 | Sortie |
| 5 | D3 | Sortie |
| 6 | D4 | Sortie |
| 7 | D5 | Sortie |
| 8 | D6 | Sortie |
| 9 | D7 | Sortie |
| 10 | Acknoledge | ? |
| 11 | Busy | ? |
| 12 | PE | ? |
| 13 | SCLT | ? |
|
| # | Nom | Fonction |
| 14 | AUTOFEED | ? |
| 15 | ERROR | ? |
| 16 | INIT | ? |
| 17 | SLCT IN | ? |
| 18 | Mise à la Terre | Aucun |
| 19 | Mise à la Terre | Aucun |
| 20 | Mise à la Terre | Aucun |
| 21 | Mise à la Terre | Aucun |
| 22 | Mise à la Terre | Aucun |
| 23 | Mise à la Terre | Aucun |
| 24 | Mise à la Terre | Aucun |
| 25 | Mise à la Terre | Aucun |
|
Le branchement
d'une DEL utilise les broches de SORTIE, et s'effectue comme sur
l'illustration ci-haut. Une DEL possède un "sens", c'est-à-dire qu'il
faut la brancher seulement en respectant sa polarité. Le "+" va avec le
"+" de l'alimentation, et le "-" va au "-", c'est-à-dire le "ground",
ou mise à la Terre.
Une DEL ne supporte
que 6 milliampères entre ses deux broches. C'est pourquoi on doit
mettre un résistance, habituellement de 330 ohms, en SÉRIE avec la DEL.
Ces résistances sont codées à l'aide de bandes de couleur, ce qui
permet de déterminer leur résistance (voir une autre section de ce
site, à venir bientôt).
| Figure 4: Registre de données (sortie) |
 |
| Accès: Adresse de base |
|
| Figure 5: Registre d'état (entrée) |
 |
| Accès: Adresse de base + 1 |
|
| Figure 6: Registre de commande (sortie) |
 |
| Accès: Adresse de base + 2 |
|
|
Donc, pour ce que nous voulons faire, c'est-à-dire commander l'allumage d'une DEL, vous devrez vous procurer:
Chaque registre est
accessible en lecture ou en écriture, à l'aide d'instructions
spécifiques à chaque langage de programmation. Par exemple, en BASIC,
pour écrire sur le port des zéros sur le registre de données, on
écrirait:
OUT &H278, 0
Ceci signifie que
l'on envoie la valeur zéro (en décimal), dans le port de l'imprimante,
ayant ici pour numéro 278, en hexadécimal.
Pour lire sur registre d'état, on écrirait:
Lecture = INP (&H279)
Comme vous avez pu
le remarquer sur les trois figures précédentes, ce qu'on appelle le
"port parallèle" s'étend sur trois registres. Toutefois, chaque port
parallèle possède une adresse de base, désignée par une des trois
adresses suivantes, en hexadécimal: 378, 278, et 3BC. Cette adresse
correspond au registre de données (sortie). Les registres d'état
(entrée) et de commande (sortie) sont ceux qui suivent l'adresse de
base. Voici un tableau qui vous permettra de mettre tout ceci au clair:
Tableau 3:
| # de port | Registre de données | Registre d'état | Registre de commande |
| 1 | 378 | 379 | 37A |
| 2 | 278 | 279 | 27A |
| 3 | 3BC | 3BD | 3BE |
L'accès aux ports se fait par les instructions OUT et INP. Pour envoyer la valeur 255 sur le port de données, vous devez écrire:
OUT &H278, 255
Le &H278 est l'adresse du port de données, qui varie
d'un ordinateur à l'autre. Remarquez la notation hexadécimale, précédée
de &H, qui permet au programme de savoir qu'on utilise la forme
hexadécimale. (Pour plus d'information, voir la section précédente.)
Pour lire sur le port, on utilise l'instruction INP (port), où port représente le numéro du port, comme dans cet exemple:
ValeurSurLePort = INP (&H279)
Après l'exécution de cette ligne, la variable
ValeurSurLePort contiendra, vous l'aurez deviné, la valeur que
l'ordinateur a pu lire sur le port &h279.
Cette valeur, seule, est souvent inutile. Vous devrez l'analyser, pour en retirer l'information que vous recherchez.
Langage C
Brancher
Accueil | Page d'électronique
Par Nicolas Marchildon