3. Quelques ports utiles
Contenu de cette section
Voici quelques informations concernant la programmation des ports les plus
courants, pouvant servir, à des fins diverses, d'E/S TTL.
3.1 Le port parallèle
Le port parallèle (BASE = 0x3bc
pour /dev/lp0,
0x378 pour /dev/lp1 et 0x278 pour /dev/lp2)~: {source~: IBM
PS/2 model 50/60 Technical Reference, et quelques expériences}
En plus du mode standard, monodirectionnel en sortie, il existe, pour la
plupart des ports parallèles, un mode "étendu"
bidirectionnel.
Ce mode possède un bit de sens qui peut être positionné
en lecture
ou écriture. Malheurement, j'ignore comment sélectionner ce mode
étendu (il ne l'est pas par défaut)...
Le port BASE+0 (port de données) contrôle les signaux de
données du port
(D0 à D7 pour les bits 0 à 7, respectivement~;
états~:
0 = bas (0V), 1 = haut (5V)). Une écriture sur ce port recopie
(latches, NDT)
les données sur les broches. En mode d'écriture standard ou
étendu, une
lecture renvoie les dernières données écrites. En mode
de lecture
étendu, une lecture renvoie les données présentes sur
les broches
du périphérique connecté.
Le port BASE+1 (port d'état), en lecture seule, renvoie l'état
des signaux
d'entrée suivants~:
- Bits 0 et 1
réservés.
- Bit 2
IRQ status (ne correspond à aucune broche, j'ignore comment il se
comporte)
- Bit 3
-ERROR (0=haut)
- Bit 4
SLCT (1=haut)
- Bit 5
PE (1=haut)
- Bit 6
-ACK (0=haut)
- Bit 7
-BUSY (0=haut)
(Je ne suis pas certain des états hauts et bas.)
Le port BASE+2 (port de contrôle), en écriture seule (une
lecture renvoie
la dernière donnée écrite), contrôle les signaux
d'états
suivants~:
- Bit 0
-STROBE (0=haut)
- Bit 1
AUTO_FD_XT (1=haut)
- Bit 2
-INIT (0=haut)
- Bit 3
SLCT_IN (1=haut)
- Bit 4
si positionné à 1, autorise l'IRQ associée au port
parallèle
(qui intervient lors de la transition de -ACK de bas à haut).
- Bit 5
commande le sens du mode étendu (0 = écriture, 1 = lecture),
en écriture seule (une lecture ne renvoie rien d'utile
sur ce bit).
- Bits 6 et 7
réservés.
(Là non plus, je ne suis pas certain des états hauts et bas.)
Brochage (un connecteur 25 broches femelle sur le port) (e=entrée,
s=sortie)~:
1es -STROBE,
2es D0,
3es D1,
4es D2,
5es D3,
6es D4,
7es D5,
8es D6,
9es D7,
10e -ACK,
11e -BUSY,
12e PE,
13e SLCT,
14s AUTO_FD_XT,
15e -ERROR,
16s -INIT,
17s SLCT_IN,
18-25 Masse.
Les spécifications d'IBM précisent que les broches 1, 14, 16
et 17 (les
sorties de contrôle) sont à collecteurs ouverts,
connectées au
5V à travers des résistances de 4,7kiloohms (puits 20mA,
source 0,55mA,
niveau de sortie haut 5V moins la tension aux bornes de la
résistance). Les autres
broches ont un courant de puits de 24mA, de source de 15mA et leur niveau
de sortie haut est supérieur à 2,4V. L'état bas dans
les deux cas est
inférieur à 0,5V. Il est probable que les ports
parallèles des clones
s'écartent de cette norme.
Enfin, un avertissement~: attention à la mise à la masse.
J'ai
endommagé plusieurs ports parallèles en les connectant alors
que la machine
fonctionnait. Il est conseillé d'utiliser un port parallèle
non intégré
à la carte mère pour faire des choses pareilles.
3.2 Le port jeu
Le port jeu (ports 0x200-0x207)~: je n'ai pas de spécifications
là-dessus,
mais je pense qu'il doit y avoir au moins quelques entrées TTL et un
peu de
puissance en sortie. Si quelqu'un possède plus d'informations, qu'il
me le
fasse savoir...
3.3 E/S analogiques
Si vous voulez des E/S analogiques, vous pouvez
connecter des circuits convertisseurs analogiques-numériques (ADC) et/ou
numériques-analogiques (DAC) sur ces ports (astuce~: pour
l'alimentation, utilisez un connecteur d'alimentation (de lecteur)
inutilisé
que vous sortirez du boitier, à moins que votre composant ne consomme
très
peu, auquel cas le port lui-même peut fournir la puissance). Sinon,
achetez
une carte AD/DA (la plupart sont contrôlées par les ports
d'E/S). Ou, si
vous pouvez vous contenter de 1 ou 2 voies, peu précises, et
(probablement)
mal réglées en zéro, une carte son à bas prix,
supportée
par le pilote sonore de Linux, devrait faire l'affaire (et se montrera
plutôt rapide).
Chapitre suivant,
Chapitre Précédent
Table des matières de ce chapitre,
Table des matières générale
Début du document,
Début de ce chapitre
|