Brevet FR2651626A1 — publié le 19910308

CIRCUIT POUR COMMANDER LA GENERATION D'UN SIGNAL D'ACCUSE DE RECEPTION ET D'UN SIGNAL D'OCCUPATION DANS UNE INTERFACE PARALLELE COMPATIBLE CENTRONICS La présente invention se rapporte généralement à un circuit de commande de communication de données dans un système utilisant une interface parallèle compatible Centronics. En particulier, la présente invention se rapporte à un circuit pour générer un signal d'accusé de réception et un signal d'occupation, dans lequel les deux signaux ci-dessus commandent l'envoi et la réception de données transmises entre au moins deux stations de communication. D'une manière générale, une imprimante laser, par exemple, utilisant une interface parallèle compatible Centronics applique une méthode spécifique de communication de données pour transmettre des données entre des systèmes de communication de données, lequel est conforme aux prescriptions de Centronics. Par exemple, dans une méthode classique, lorsqu'une donnée est transmise depuis un autre dispositif de communication de données, un signal d'impulsion de commande S1 délivré à partir d'un câble d'interface Centronics 30 sera transmis en même temps que le signal de communication de données, tel qu'illustré à la figure 1.Si le signal d'impulsion de commande S1 est généré, un signal d'occupation S2 de l'état logique haut sera généré pour empêcher la communication de données différentes jusqu'à ce que le traitement de données de la donnée en cours de communication soit entièrement exécuté par 1'UC 10. Dans ce cas, le signal d'occupation S2 est appliqué à une borne d'interruption de 1'UC 10 de façon à informer celle-ci de la réception des données.L'UC 10 commence ensuite la lecture de la donnée reçue à partir de l'autre dispositif de communication de données et génère un signal d'accusé de réception S3 à partir d'une porte de sortie Y1 de celui-ci vers une borne d'accusé de réception AR du câble d'interface Centronics 30 afin d'envoyer celui-ci vers l'autre dispositif de communication de données de façon que la fin de la réception de données puisse être indiquée à l'autre dispositif de communication de données. A peu près au même moment, le signal d'occupation S2 de niveau haut logique, généré par le générateur de signal d'occupation 20, effectuera la transition de l'état logique haut vers l'état bas afin de se rendre prêt pour la réception d'une autre donnée. Par ailleurs, si l'UC 10 est dans une condition qui rend impossible la réception de la donnée, le signal d'occupation S2 doit être de nouveau passé à l'état logique haut. C'est-à-dire que si le générateur de signal d'occupation 20 génère le signal d'occupation S2 sous le contrôle d'un premier signal d'impulsion de commande Sg qui commande la génération et libère la condition d'occupation conformément à la réception de données en provenance de 1'UC 10, alors le signal d'occupation S2 et un second signal de commande S6 délivré par 1'UC 10 sont appliqués à une porte OU G1 qui applique le résultat logique combiné de ceci à une borne d'occupation OCCUPATION du câble d'interface Centronics 30. Dans l'intervalle, le second signal de commande S6 est utilisé pour générer ou libérer la condition d'occupation en conformité avec les besoins de 1'UC 10. Par ailleurs, eu égard à la relation temporelle du signal d'accusé de réception S3 et du signal d'occupation S2 après la réception de la donnée, considéré à l'emplacement de l'autre dispositif de communication de données (émetteur), le signal d'occupation S2 du récepteur (dans ce cas le système de la fig. 1) devient l'état bas logique après que l'émetteur ait envoyé une trame de données. De plus, si l'émetteur reçoit le signal d'accusé de réception S3 généré par le récepteur, l'émetteur sera prêt à envoyer une autre trame de données. I1 convient de noter que ces opérations sont commandées par 1'UC 10 au moyen d'un logiciel. Comme illustré à la fig. 3, le système représenté à la fig. 1 reçoit une donnée à l'instant tl, enregistre la donnée à l'aide de l'UC 10 à l'instant t2 et génère en séquence le signal d'occupation S2 et le signal d'accusé de réception S3 à l'instant t3 à travers la porte de sortie, de sorte que le système informe le récepteur qu'il est prêt à recevoir la donnée suivante. Par suite, l'émetteur transmet la donnée suivante au moment de l'instant t3 et de nouveau 1'UC 10 du récepteur est alimentée avec le signal d'occupation S2 généré par le générateur de signal d'occupation 20. Dans l'intervalle, conformément à la méthode classique telle que représenté à la fig. 3, si la donnée suivante est transmise à partir de l'émetteur à l'instant t3 auquel le signal d'occupation S2 et le signal d'accusé de réception S3 passent au niveau logique bas, un temps prédéterminé est requis pour que le signal d'accusé de réception S3 passe au niveau logique haut, ce qui peut provoquer un mauvais fonctionnement de 1'UC 10 du fait que le traitement de données devrait être effectué pendant que le signal d'accusé de réception S3 est toujours à l'état logique bas. Afin de résoudre ce problème, il est proposé une méthode consistant à retarder le signal d'occupation S2 jusqu'à ce que le. signal d'accusé de réception S3 passe au niveau logique haut à l'instant t4. Dans ce cas, toutefois, un autre problème se présente en ce que, dans certains cas, ce que l'on appelle l'établissement d'une liaison est seulement exécuté par le signal d'impulsion de commande S1 et le signal d'accusé de réception 53. De plus, lorsque le signal d'accusé de réception S3 est traité dans 1'UC 10 par le logiciel, le signal d'accusé de réception S3 demeure à l'état logique bas pendant 10 ttsec environ pendant lesquelles 1'UC 10 génère seulement le signal d'accusé de réception S3 sans traiter d'autres données. Ainsi, C'est le rendement global du système qui est détérioré. De plus, dans le cas où le signal d'occupation S2 et le signal d'accusé de réception S3 sont tous deux traités par logiciel, comme illustré aux fig. 3 et 4, la sortie sera générée à partir d'une porte de sortie Y0 et par l'autre porte de sortie Y1 de 1'UC 10, ce qui peut amener 1'UC 10 à prendre un temps d'exécution relativement long. Le temps d'exécution d'une telle longueur peut être considéré comme négligeable dans certains cas, toutefois lorsque l'on arrive à une situation où un grand nombre de données doivent faire l'objet d'une communication, le rendement du système sera affecté de façon indésirable dans des proportions significatives. C'est par suite un but de la présente invention de créer un circuit pour commander de manière appropriée la génération d'un signal d'occupation et d'un signal d'accusé de réception afin de permettre une communication de données rapide, précise entre les systèmes de communication de données. Pour atteindre le but ci-dessus et pour présenter les autres caractéristiques de la présente invention, un circuit inventif comprend : un câble d'interface Centronics couplé pour générer un signal de lecture lors de la réception de données en provenance d'un dispositif de communication de données ; un générateur de signal d'occupation couplé électriquement au câble d'interface Centronics pour générer un signal d'occupation en réponse au signal de lecture et un signal de commande de génération de signal d'occupation ; une unité centrale de traitement couplée de façon à commander le système tout entier afin de générer un signal de fin de traitement de données reçues en réponse au signal d'occupation ; un générateur de signal d'accusé de réception couplé au câble d'interface Centronics afin de générer un signal d'accusé de réception en réponse à l'état du signal de fin de traitement de données reçues et un compteur pour compter une horloge prédéterminée sensible à l'état du signal de fin de traitement de données reçues pour délivrer au générateur de signal d'accusé de réception un signal de commande de génération de signal d'accusé de réception et pour délivrer au générateur de signal d'occupation le signal d'occupation. Les caractéristiques et avantages de l'invention ressortiront d'ailleurs de la description qui va suivre à titre d'exemple en référence aux dessins annexés, sur lesquels la fig. 1 représente un circuit d'interface compatible Centronics classique. la fig. 2 représente un circuit d'interface compatible Centronics inventif. les fig. 3 et 4 représentent des formes d'onde des signaux de commande en conformité avec le circuit d'interface compatible Centronics classique, et la fig. 5 représente des formes d'onde des signaux de commande en conformité avec la présente invention. En se référant principalement à la fig. 2, un circuit inventif, sous la forme seulement d'un mode de réalisation préféré, comprend une UC (unité central de traitement) 10 pour commander le système tout entier, auquel un générateur de signal d'occupation 20 est couplé pour délivrer à une borne d'interruption INT de 1'UC 10 un signal d'occupation S2 généré par celle-ci. Le générateur de signal d'occupation 20 génère le signal d'occupation S2 afin d'alimenter à la fois la borne d'interruption INT de 1'UC 10 et une borne d'occupation OCCUPATION d'un câble d'interface Centronics 30 à travers une porte logique G1 sous le contrôle d'un signal de lecture S1 généré à partir du câble d'interface Centronics et un autre signal de commande prédéterminé.Le câble d'interface Centronics 30 est conçu pour générer le signal de lecture S1 lorsqu'une donnée est reçue en provenance d'un autre dispositif de communication de données. De plus, un circuit de commande de génération de signal d'accusé de réception 100 est couplé au câble d'interface Centronics 30 afin de commander la génération du signal d'accusé de réception S32 délivré au câble d'interface Centronics 30 sous le contrôle de 1'UC 10. Un signal de commande provenant du circuit de commande de génération de signal d'accusé de réception 100 est couplé à une borne de remise à zéro du générateur de signal d'occupation 20 afin de commander la génération du signal d'occupation S2. Eu égard à la construction du circuit de commande de génération de signal d'accusé de réception 100, un générateur d'horloge 60 génère une horloge d'une fréquence prédéterminée et le signal d'horloge est couplé à une borne d'entrée d'une porte logique ET G3 qui produit une combinaison logique à l'aide d'un signal de commande spécifique provenant d'une bascule D 40 en réponse au signal de fin de traitement de données S31 en provenance de llUC 10.La sortie de la porte logique ET G3 est appliquée à un compteur 50 qui compte la sortie de la porte G3 pour générer un signal de commande de génération de signal d'accusé de réception S8 et le signal de libération d'occupation Sg. Ensuite, la sortie d'une porte ET G4 qui combine logiquement le signal de commande de génération de signal d'accusé de réception S8 et un signal de commande de réinitialisation (REINITIALISATION) est couplée à une borne de remise à zéro RAZ de la bascule D 40 qui génère le signal d'accusé de réception S32 synchronisé avec le signal de fin de traitement de données S31. De plus, la borne de remise à zéro RAZ du générateur de signal d'occupation 20 est couplée à la sortie de la porte ET G2 qui combine logiquement le signal de commande de réinitialisation REINITIALISATION avec le signal de libération d'occupation 59. Lors du fonctionnement, si une donnée est reçue en provenance de l'autre dispositif de communication de données, le signal de lecture S1 est délivré au générateur de signal d'occupation 20 à partir du câble d'interface Centronics 30 à l'instant t7 de la fig. 5. A ce moment, le signal d'occupation S2 d'état logique haut est généré par le générateur de signal d'occupation 20 et est appliqué à une borne d'entrée de la porte OU G1 et en même temps à la borne d'interruption INT de 1'UC 10, informant ainsi l'autre système de communication de données que le système est dans l'état de réception de données. Lorsque 1'UC 10 achève le traitement de données par le signal d'interruption (renvoi ci-après, par commodité, au signal d'occupation S2 appliqué à la borne d'interruption INT de 1'UC 10), alors, le signal de fin de traitement de données S31 est généré à travers la porte de sortie Y1 qui active le circuit de commande de génération de signal d'accusé de réception 100. Le signal de fin de traitement de données positionne la valeur initiale du compteur 50 à zéro. Par ailleurs, la bascule D 40 est rythmée sur le front montant du traitement de données pour produire l'état logique haut à travers une borne inversante Q de celle-ci sur la borne d'entrée de signal d'accusé de réception AR du câble d'interface Centronics 30. Le signal d'accusé de réception d'état logique haut qui est la sortie de la borne inversante Q de la bascule D 40 passe à l'état logique bas à l'instant tg de la fig. 5. A ce moment, 1'UC 10 achève l'opération d'établissement de liaison Centronics et se prépare à recevoir la donnée suivante. Après l'instant tg, puisque la sortie non inversante Q de la bascule D 40 qui est appliquée à une borne d'entrée de la porte ET G3 se trouve à l'état logique haut comme représenté à la fig. 5, la sortie d'horloge CLKout du générateur d'horloge 60 sera délivrée à la borne d'entrée d'horloge CKin du compteur 50, auquel l'horloge est comptée à travers la porte ET G3. Dans ce mode de réalisation, la valeur de comptage maximale du compteur 50 est établie pour compter jusqu'à environ 10 psec en réglant le générateur d'horloge 60. Par suite, si le compteur atteint la valeur maximale, le signal d'accusé de réception S32 passe à l'état logique haut à l'instant tll. Dans ce cas, le signal d'occupation S2 passe à l'état logique bas à l'instant tlo auquel la valeur du compteur est la moitié, c'est-à-dire 5 iisec, de la valeur de comptage maximale (10 ase). A ce moment, le signal de libération d'occupation Sg en provenance du compteur 50 est appliqué au générateur de signal d'occupation 20 à travers la porte ET G2, libérant l'état d'occupation.Par suite, à l'instant tlo, il est possible de recevoir la donnée suivante. Comme énoncé jusqu'ici, conformément à la présente invention, du fait que 1'UC 10 commande la génération du signal d'occupation et du signal d'accusé de réception seulement au moyen du signal de commande de génération d'accusé de réception, le rendement du système peut être amélioré. De plus, à la différence de la méthode classique, il n'est pas nécessaire que le système inventif perde environ 10 iisec du fait que 1'UC 10 achève la génération du signal d'occupation en accédant à une porte unique. C'est un autre avantage de la présente invention que même dans le cas où on utilise un système de communication pourvu d'une UC relativement lente, une communication de données stable et précise est assurée grâce au fait que le signal d'occupation et le signal d'accusé de réception sont générés mécaniquement, en assurant un intervalle de temps suffisant. Bien que des constructions et procédures spécifiques de l'invention soient illustrées et décrites ici, cela ne signifie pas que l'invention est limitée aux éléments et constructions décrits. Un spécialiste de la technique reconnaîtra aisément que les éléments ou sous-ensembles particuliers peuvent être utilisés sans sortir de la portée et ni du cadre de l'invention. REVENDICATION 1. Circuit pour commander la génération d'un signal d'accusé de réception et d'un signal d'occupation (100) dans une interface parallèle compatible Centronics, caractérisé en ce qu'il comprend : un câble d'interface Centronics (30) couplé pour générer un signal de lecture (S1) lors de la réception d'une donnée en provenance d'un dispositif de communication de données ;; un générateur de signal d'occupation couplé électriquement au câble d'interface Centronics (30) pour générer un signal d'occupation (S2) en réponse au signal de lecture (S1) et un signal de commande de génération de signal d'occupation une unité centrale de traitement (10) couplée de façon à contrôler le système tout entier pour générer un signal de fin de traitement de données reçues (S31) en réponse au signal d'occupation (S2) un générateur de signal d'accusé de réception couplé audit câble d'interface Centronics (30) pour générer un signal d'accusé de réception en réponse à l'état dudit signal de fin de traitement de données reçues (S31), et un compteur (50) pour compter une horloge prédéterminée sensible à l'état dudit signal de fin de traitement de données reçues (S31) pour alimenter ledit générateur de signal d'accusé de réception avec un signal de commande de génération de signal d'accusé de réception (S8) et pour alimenter ledit générateur de signal d'occupation avec le signal d'occupation (S2).