Brevet FR2690753A1 — publié le 19931105

TESTEUR D'IMPRIMANTE. La présente invention a pour objet un circuit électronique testeur d'imprimante destiné en particulier, mais non exclusivement, à être utilisé lors de la réparation de tels appareils. On sait que dans la mesure où des imprimantes sont constituées par des ensembles électromagnétiques, ils sont soumis à une et par suite tombent relativement souvent en panne, ou présentent des anomalies de tortionnement. Il est donc nécessaire de les réparer assez fréquemment. Avant d'effectuer toute réparation, il convient de diagnostiquer la panne. Or, il n'existe pas de moyens simples pour tester de manière rapide le fonctionnement d'une imprimante. La présente invention a pour objet de pallier cet inconvénient. Dans les systèmes informatiques, la communication entre l'unité centrale et l'imprimante s'effectue le plus souvent par une liaison parallèle sur 8 bits avec des signaux de dialogue selon le protocole connu sous la désignation de "CENTRONICS", société qui a défini ce standard dans les années 1970. Ce type d'interface s'identifie par un connecteur trapézoïdal à 36 contacts plats en deux rangées. Les imprimantes n'utilisant pas ce mode font appel à l'interface série connue sous la désignation de RS 232, soit avec 5 broches, soit non standardisée. La majorité des imprimantes et des ordinateurs personnels sont équipés d'une interface parallèle. La vitesse de transmission peut atteindre jusqu'à 200 000 octets par seconde en fonction de la capacité du périphérique récepteur. Dans le protocole de transmission ltCENTRONICSl,, un octet d'informations binaires est transmis sur les huit fils de données et il envoie si le contact "BUSY" est à l'état bas, une impulsion négative sur le fil "STROBE" ou fil de synchronisation d'une durée d'environ une microseconde. Cette impulsion indique à l'imprimante que la donnée est valable. L'imprimante lit alors l'octet de donnée et signale à l'émetteur que l'octet suivant peut être envoyé en émettant une impulsion négative sur un fil ACK. Ainsi , si l'imprimante n'est pas en ligne, la liaison "BUSY" est à l'état haut et l'imprimante ne lit pas l'octet. Le signal "BUSY" également généré par l'imprimante passe simultanément à l'état haut lors de la lecture de l'octet de donnée. Il repasse à l'état bas à la fin de l'émission d'impulsion négative de la ligne ACK qui accuse réception des données par l'imprimante. Ce cycle n'est interrompu que si le signal transmis par une ligne particulière passe à l'état haut ce qui veut dire que l'imprimante n'est pas alimentée en papier. Selon la présente invention, le dispositif testeur d'imprimante est caractérisé en ce qu'il comprend un boîtier émetteur générant une succession de signaux de test dans un ordre déterminé et incluant un compteur binaire, une porte logique et une mémoire morte chargée avec le programme de test. Ces signaux soigneusement déterminés permettent de vérifier toutes les fonctions de l'imprimante. D'autres caractéristiques et avantages de l'invention apparaîtront au cours de la description qui va suivre d'un mode de réalisation donné à titre d'exemple non limitatif en regard des figures qui représentent - La figure 1 un schéma par bloc du testeur selon l'invention; - la figure 2 un organigramme des signaux. Sur la figure 1, on voit que le connecteur parallèle met à la disposition de l'utilisateur une alimentation continue en + 5 volts à la broche 18. Cette broche est utilisée pour alimenter le boîtier émetteur et ses composants à savoir un compteur binaire 1, une porte logique 2, et une mémoire de type "EPROM" 3. Après la mise sous tension du boîtier émetteur par l'interrupteur 4, une pression sur l'interrupteur 5 met l'entrée G1 ou entrée "Reset" du compteur binaire 2 dans l'état haut. Ce compteur binaire avantageusement du type 4040, comprend 14 étages et 12 sorties identifiés sous QO à Q13. Le passage à l'état haut de l'entrée "Reset" réinitialise tous les étages du compteur et amène toutes les sorties dans l'état logique bas indépendamment du signal d'horloge. La fermeture de l'interrupteur 5 conduit également à forcer l'entrée G1 de la porte logique 2 qui est de préférence du type 74 244 ce qui place les sorties du bus dans l'état de haute impédance qui interdit toute communication avec l'imprimante par le bus 13 de transmission des données. Le compteur 1 étant réinitialisé à 0, l'interrupteur 4 amené à l'état 1 devient passant ce qui a pour effet de mettre la ligne 31 du connecteur parallèle à l'état haut et de mettre l'imprimante en service ou "ON LINE" c'est à dire prête à recevoir des données sur le bus de transmission de données 13. Sauf si l'entrée G2 de la porte 2 est à l'état haut (ce qui signifie que l'imprimante n'est pas en état de fonctionner par manque de papier) le bus 13 peut transmettre des données. Les sorties de la porte 2 sont dans l'état de haute impédance. Lorsque du papier a été remis dans l'imprimante, la ligne 12 passe à l'état bas et les sorties de la porte 2 reprennent leur état logique. Une pression sur l'interrupteur 5a provoque une mise à l'état bas de la ligne "STROBE" 1 qui est la ligne de synchronisation. A ce moment, l'imprimante peut lire le bus de données et renvoyer par la ligne 10 une impulsion négative à l'émetteur ce qui a pour effet de prévenir émetteur que l'imprimante est prête à recevoir de nouvelles données sur le bus 13. La ligne 10 est utilisée pour incrémenter l'entrée ACK du compteur binaire 1. Le compteur binaire 1 est incrémenté lors de de chaque front descendant sur l'entrée d'horloge CK ce qui permet d'émettre sur le bus de données un nouvel octet et à l'imprimante d'imprimer le caractère correspondant. Le compteur binaire 1 est relié à l'EPROM 3 par le bus de données 13. A chaque impulsion négative, donc à chaque front descendant le compteur binaire est incrémenté de 1 ce qui permet de lire l'adresse suivante de l'EPROM 3 et de mettre les fils du bus dans l'état correspondant à la lecture de l'adresse de I'EPROM 3, chaque adresse comprenant un code de type ASCII. Mais, pour que l'imprimante imprime ce code il faut que le signal "STROBE" de la ligne 1 émette une impulsion négative de une microseconde comme cela apparaît sur la figure 21 ce qui est fait puisque le signal ACK 10 est dérivé sur une base de temps 6, du type NE 555, par exemple. Le boîtier comporte également une diode LED 7 reliée à la ligne Il destiné à prévenir l'utilisateur que l'imprimante est prête à recevoir des données. Si l'imprimante est occupée, la LED reste éteinte. Une seconde diode LED 8 branchée sur la ligne 13 prévient l'utilisateur que l'imprimante est connectée ou non. Si l'imprimante est en ligne elle met la ligne 23 à l'état haut ce qui a pour effet d'allumer la LED 8 et vice et versa. Un interrupteur 9 à deux positions relie la ligne 23 à la masse ce qui permet à l'utilisateur d'ajouter un signal LF (saut de ligne) à chaque code CR (de retour de chariot) que génére le programme de l'EPROM 3. Le signal CR est un code de la table ASCII qui permet de commander l'imprimante en vue du retour à la ligne. Le code de l'"American Standard code for Information Interchange" ASCII est normalisé pour la transmission et la représentation des caractères spéciaux des chiffres et des lettres. Un caractère est affecté à chacun des nombres de O à 22. Si le boîtier émetteur envoie, par exemple le code binaire 88, l'imprimante imprimera un "X". L'EPROM 3 contient un programme permettant de mettre les huit bits du bus dans un état bas ou haut suivant le codage des caractères à imprimer. La table ASCII contient les codes et indique pour chaque caractère l'état des fils du bus. Par exemple, si on doit imprimer la lettre "A" majuscule les fils du bus sont à l'état suivant Dl D2 D3 D4 D5 D6 D7 D8 Binaire O 1 0 0 0 0 0 1 Hexadecimal 41 Decimal 65 Les codes de la table ASCII sont aussi des codes de contrôle et les 31 premiers codes de cette table indiquent à l'imprimante ce qu'elle doit faire. Par exemple, le code "13" correspond au signal CR qui conduit l'imprimante à faire un retour chariot c'est à dire à ramener la tête d'impression à sa place initiale qui est sa position maximale à gauche. On utilise ces codes pour faire exécuter des actions particulières à l'imprimante comme la montée du papier, le retour à la ligne, le saut de ligne, le saut de page, l'écriture en mode condensé etc... Afin que l'imprimante fasse la différence entre un caractère imprimable et une instruction, ces dernières sont précédées par le code ESC qui est égal à 27 en décimal et à E en hexadécimal car seul le premier caractère suivant le symbole ESC est une instruction tous les autres étant considérés comme des codes imprimables. Le programme de l'EPROM 3 avec les codes de la table ASCII introduit tous les 80 caractères, un code CR qui provoque le retour à la ligne et un code LF qui provoque la montée du papier d'une ligne et ainsi de suite jusqu'à ce que l'utilisateur fasse une intervention sur l'interrupteur 5. Il va de soi que de nombreuses variantes peuvent être introduites, notamment par substitution de moyens techniquement équivalent sans pour autant sortir du cadre de l'invention. REVENDICATIONS 1. Testeur d'imprimante caractérisé en ce qu'il comprend un boîtier émetteur générant une succession de signaux de test dans un ordre déterminé et comprenant un compteur binaire (1), relié à une base de temps (6), une porte logique (2) et une mémoire morte (3) chargée avec le programme de test. 2. Testeur selon la revendication 1, caractérisé en ce que une diode LED (7) est connectée sur la ligne de lecture. 3. Testeur selon l'une des revendications 1 ou 2, caractérisé en ce que une seconde diode LED (8) est connectée sur le boîtier entre la ligne 23 et la masse.