HARDWARE ★ ELECTRONIQUE : LE PORT IMPRIMANTE ★

Dossier/rubrique éléctronique : Le Port Imprimante|Siou/Amslive n7)

Hello, c'est Siou again qui va vous présenter son 2ème article d'électronique fondamentale... euh pardon pour le CPC... Rappelez vous, la dernière fois je vous avais parlé des mille pattes et comment les faire griller... Bon, cette fois on va voir le port imprimante. Quoi ? Vous connaissez déjà ? Vous êtes sûr ?

Bon pour commencer on va donner un petit schéma des connexions du port. Je rappelle pour ceux qui ne le savent pas qu'il se situe a l'arrière gauche de votre CPC... Pour repérer les pistes (connexions), referez vous au chapitre 7 Page 41 de votre manuel. Oui c'est sûr il y a plus de choses que sur le manuel... En premier lieu, il faut rappeler que ce port est dédié à envoyer des informations à une imprimante. Ces informations sont envoyées sous forme parallèle (les 8 bits de données en même temps). Ce sont Les pins 2 à 9. Tout de suite, on voit qu'il y a un problème car où se trouve D7 ? Ben euh, envolé dans une astuce de conception... En fait,

D7 n'est pas relié au port et seuls les bit 0 à 6 sont disponibles sur ce port ! L'imprimante elle reçoit GND (0v) sur son entrée D7 puisque la pin 9 est à la masse. Mais pourquoi donc ? 

Par soucis d'économie, D7 a été remplace par /STROBE car le composant qui gère la sortie du port ne comporte que 8 fils. Il fallait donc supprimer un fil. Mais ce n'est pas grave car (en général) on peut parfaitement imprimer avec seulement 7 bits. /STROBE, lui, est un signal qui donne le départ à l'imprimante. Il se commande avec D7. La seule chose à savoir c'est que /STROBE c'est D7 inversé.

Bon mais qu'est-ce que c'est tout ces trucs a droite dans le tableau ? Ah oui ! Si vous avez suivi la dernière fois, sur la colonne TYPE vous avez le type (!) de sortie de la PIN. Suivant les CPC, le composant de sortie est soit un 74LS273 (TTL) soit un 74HC273 (CMOS). Dans les deux cas, ce sont des sorties TOTEM POLE. La sortie /STROBE est encore particulière car elle est inversée par un 74LS132. C'est donc toujours un TTL. Quant au BUSY on va voir plus tard... La 3ème colonne donne le courant MAXIMUM de sortie pour chaque PIN pour chaque niveau. Par exemple, si vous avez un CMOS en sortie, D5 ne pourra absorber QUE 0.5 mA environ en fournir QUE 0.2mA. Impossible donc espérer voir une LED s'allumer (10mA mini) ! Par contre avec un TTL, c'est faisable SEULEMENT dans un sens car seule la sortie à 0 absorbe suffisamment (environ), mais ça va quand même chauffer quelque peu... C'est pour cela que si l'on veut commander quelque chose avec ce port, on interpose des composants capables d'être commandés avec peu de courant tout en en fournissant beaucoup en sortie (les transistors par exemple).

Ces valeurs de courant (que l'on trouve dans les ouvrages spécialisés) indiquent donc ce que l'on peut brancher derrière le port imprimante. En général, si vous avez un TTL en sortie, un CMOS risque de ne pas bien fonctionner. Il vaut mieux respecter les familles si on est pas sûr de son coup.

Voyons un peu maintenant la PIN BUSY. La c'est assez spécial. Cette PIN est reliée au PIO (programmable Input Ouput) 8255 sur le port B (B6). Cela veut dire que ce composant peut être programmé de façon à ce que son port (le B ici) puisse être mis soit en configuration sortie (Idem aux sortie TTL TOTEM POLE) ou bien en configuration entrée. Là où c'est encore plus curieux, c'est que la patte en question est reliée au +5v via une résistance de 2.2Ko dans le CPC ! Eh pourquoi donc ?

Ca ne vous rappelle rien ? Mais si, les collecteurs ouverts. En fait, le BUSY est prévu pour être connecté à une sortie collecteur ouvert (de TTL par exemple). Le fait d'avoir une résistance au +5v ne veut pas forcement dire que ça ne marche pas avec une sortie TOTEM POLE car en fait la résistance n'ajoute que 0.45 mA quand la sortie est à 0 (un TTL offre 8 mA). Simplement encore une fois il ne faut pas connecter cette entrée à n'importe quoi. Si vous tentez avec une sortie de CMOS, il va y avoir surprise car le CMOS ne délivre que 0.5mA et ça sera très juste pour garantir un bon fonctionnement.

Pour en revenir 2 secondes au PIO, vu que la PIN BUSY est programmable, il est théoriquement possible de program la PIN en sortie ! Et utiliser le BUSY comme une 8ème sortie pour le port imprimante. Mais ceci est TRES risqué et sera probablement FATAL à quelques composants du CPC. En voici l'explication: Pour programmer BUSY en sortie, il faut programmer tout le port B en sortie et donc entre autre des pins provenant de sorties TOTEM POLE du CRTC et des straps a la masse... A éviter donc. Mais vous voyez qu'il est possible de griller son CPC juste par programmation !

Pour terminer, voici l'explication du fonctionnement du réseau sur CPC que vous devriez être capable de comprendre maintenant. A chaque CPC, la PIN /STROBE sert pour envoyer les bits sur le fil (le fil du réseau = un fil pour la donnée, un fil pour la masse) et BUSY pour la réception. Toutes les entrées BUSY des CPC sont reliées ensemble et chaque CPC convertit le /STROBE TOTEM POLE en STROBE OC (OC = open collector = collecteur ouvert). Chaque CPC peut donc, sans risquer de griller sa sortie /STROBE, envoyer sur le réseau. Tous les BUSY récupèrent la même information. Si deux CPC envoient des informations différentes, il se passe la chose suivante: Si un CPC envoie 0, quels que soient les niveaux des autres CPC, le BUSY sera a 0. Le réseau se comporte donc comme un grand ET. C'est pourquoi on dit souvent que les collecteurs ouverts servent a faire des ET ou des OU cables (voir annexe). Si vous avez bien suivi, vous avez aussi remarque que plus on met de CPC, plus il a de résistances sur le réseau vers le +5 (une dans chaque CPC). Comme elles so toutes en parallèle, cela divise la valeur globale et si cette valeur devient trop petite, la sortie d'un CPC ne peut plus absorber le courant (au niveau 0) devenu trop grand et le réseau ne fonctionne plus !

Voila, cet article est terminé (ouf !). Il est assez technique mais bon faut bien un peu changer... Eh puis, je vous prépare pour une prochaine fois ou je vais parler du bus d'extension du CPC. Allez, relisez bien l'article une dizaine de fois et vous serez armé !

OU:
E    S
0 0:0
0 1:1
1 0:1
1 1:1

ET:
E    S
0 0:0
1 0:0
0 1:0
1 1:1

AMSLIVE n°7 , Siou

★ ANNÉE: 1998
★ AUTEUR: SIOU

Page précédente : Dossier/rubrique éléctronique (Siou/Amslive n5)

CPCrulez[Content Management System] v8.7-desktop/cache
Page créée en 173 millisecondes et consultée 37 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.