Carte d'interface sur port Parallele (21 Sorties - 16 entrées) (Version retravaillée par Mr Gautier)

Gaël Gautier, professeur d'électronique en Lycée Professionnel, nous fait part dans cet article, d'une réécriture de la carte d'entrées/sorties sur port parallèle. Un schéma et PCB plus propre, une description détaillée avec une approche pédagogique du port et un exemple de code en Visual Basic sont au rendez-vous.

Description de la carte

implant

Schéma électrique

schema

Description du fonctionnement

Les données en sortie du PC sont appliquées sur les broches D7 (poids fort) à D0 (poids faible) du port imprimante.
Ces données ne sont transmises et mémorisées en sortie des circuits 74HC574 (bascules D) sur un des 3 ports de sorties (J2, J3 et J4) que lorsque un front montant est appliqué sur leur broche CLK.
Ainsi :

  • un front montant sur la broche STROBE commande la transmission de la donnée vers le bus J2 (8 bits)
  • un front montant sur la broche AUTOFEED commande la transmission de la donnée vers le bus J3 (8 bits)
  • un front montant sur la broche INIT commande la transmission de la donnée vers le bus J4 (5 bits - attention, seuls les 5 bits de poids forts sont transmis en sortie de la carte : les 3 bits de poids faibles D2D1D0 sont réservés à la partie acquisition de données)

Les entrées sont quant à elles appliquées sur des 74HC151 (multiplexeurs 8 vers 1) commandés par les bits D0 à D2 du port imprimante, via le circuit U3.
En fonction du code transmis sur ces bits (selon le même protocole que la transmission de données sur le bus J4), les multiplexeurs aiguillent les signaux présents sur les bus J5 et J6 vers leurs sorties.

entree

Si le code ABC est 000, c'est la donnée présente en J5-1 qui est transmise en sortie Y de U4.
Si J5-1 = 0, alors :
Y = 1
Q1 est alors saturé
ACK = 0
La valeur écrite dans le registre du PC correspondant est ACK = 0.
Si J5-1 = 1, alors :
Y = 0
Q1 est alors bloqué
ACK = 1
La valeur écrite dans le registre du PC correspondant est ACK = 1.

 

Si le code ABC est 000, c'est la donnée présente en J6-1 qui est transmise en sortie Y de U5.
Si J6-1 = 0, alors :
Y = 0
Q1 est alors bloqué
BUSY = 1
La valeur écrite dans le registre du PC correspondant est BUSY = 0 (1).
Si J6-1 = 1, alors :
Y = 1
Q1 est alors saturé
BUSY = 0
La valeur écrite dans le registre du PC correspondant est BUSY = 1 (1).

(1) : la valeur appliquée sur l'entrée BUSY du port imprimante est complémentée par le PC avant son écriture dans le registre.

La carte est alimentée en 9V soit via le connecteur pour transformateur 9V, soit par deux bornes 2mm J7 et J8.
Le pont de diode BR1 permet de protéger la carte (et donc le port parallèle !) d'une erreur de polarité lors du branchement de l'alimentation. Quelque soit le sens du branchement, le + de l'alimentation est appliqué en entrée du régulateur et le moins sur sa masse.
La régulateur 7805 permet ensuite de fournir une tension d'alimentation de 5V stable à l'ensemble du montage. Cette tension d'alimentation 5V ainsi que la masse sont transmises sur les connecteurs J2 à J6 afin de permettre éventuellement l'alimentation des montages auxquels la carte entrées /sorties est susceptible d'être connectée.

Description des connecteurs d'entrées/sorties

La carte dispose donc de 21 sorties disponibles sur les bus J2 (8 bits), J3 (8 bits) et J4 (5 bits) ainsi que de 16 entrées sur les bus J5 (8 bits) et J6 (8 bits).

connect

Adressage de la carte

signaux

Une description du brochage du port est disponible en annexe ainsi que le document relatif a la construction: annexe