Brevet FR2668840A1 — publié le 19920507

Cette invention concerne un dispositif pour réaliser l'interface entre une unité d'entrée et un ordinateur, et plus particulièrement un dispositif tampon de type premier entré premier sorti (FIFO) pour réaliser l'interface d'un numériseur à balayage ou d'un télécopieur présentant une vitesse de transmission de données supérieure à la vitesse de transmission de données de l'ordinateur. Actuellement, on réalise l'interface entre une unité d'entrée, telle qu'un numériseur à balayage ou un télécopieur, et un ordinateur au moyen d'une unité de mémoire de type premier entré premier sorti (FIFO) agissant comme tampon de sortie pour l'unité d'entrée La taille mémoire de l'unité de mémoire est habituellement de 0,5 K octets, qui est souvent insuffisante du fait des grandes quantités de données venant de l'unité d'entrée. Le fonctionnement des moyens d'interface classiques est le suivant: l'unité d'entrée présente habituellement une vitesse de transmission de données supérieure à la vitesse de réception de données de l'ordinateur L'unité d'entrée envoie des données à l'unité de mémoire, qui est rapidement remplie du fait de la vitesse de transmission relativement élevée de l'unité d'entrée L'unité d'entrée arrête alors d'envoyer des données à l'unité de mémoire et l'ordinateur commence à lire les données stockées dans l'unité de mémoire L'unité d'entrée reprend la transmission de données à l'unité de mémoire uniquement lorsque l'ordinateur a fini de lire toutes les données stockées dans l'unité de mémoire Les inconvénients des moyens d'interface classiques sont les suivants: (a) Le mouvement d'une tête de lecture/écriture de l'unité d'entrée est brutalement arrêté lorsque l'unité de mémoire est pleine Du fait du principe d'inertie, la tête de lecture/écriture sera avancée plus loin que ce qui a été effectivement lu, de sorte qu'il est constamment nécessaire d'ajuster la position de la tête de lecture/écriture avant que la transmission de données puisse être reprise L'ajustement fréquent peut endommager la tête de lecture/écriture et provoquer un bruit irritant et inutile, à cause des vibrations de la tête de lecture/écriture et de son mécanisme de commande. (b) La transmission de données par l'unité d'entrée est fréquemment arrêtée L'unité d'entrée reste inactive lorsque l'ordinateur est en train de lire des données stockées dans les moyens d'interface La durée totale de transmission des données de l'unité d'entrée vers l'ordinateur est ainsi relativement longue. Par conséquent, le but de la présente invention est de procurer un dispositif tampon de type premier entré premier sorti pour réaliser l'interface entre une unité d'entrée, telle qu'un numériseur à balayage ou un télécopieur, et un ordinateur, ce dispositif tampon permettant l'exécution simultanée d'opérations de lecture et d'écriture en ne rencontrant aucun conflit, réduisant de cette façon la durée totale pour transmettre des données de l'unité d'entrée vers l'ordinateur. Par conséquent, la forme de réalisation préférée d'un dispositif tampon selon la présente invention est utilisée pour réaliser l'interface entre une unité d'entrée et un ordinateur L'ordinateur présente une première sortie de signal impulsionnel pour lancer la lecture d'un octet de données d'entrée provenant de l'unité d'entrée dans le dispositif tampon, et une seconde sortie de signal impulsionnel pour lancer la réception par l'ordinateur d'un octet de données provenant du dispositif tampon Le dispositif tampon comprend des moyens formant bus de données et des moyens de contrôle incluant des moyens de comptage d'écriture présentant une sortie d'adresse d'écriture incrémentée par la première sortie de signal impulsionnel, des moyens de comptage de lecture présentant une sortie d'adresse de lecture incrémentée par la seconde sortie de signal impulsionnel, des moyens pour réinitialiser les moyens de comptage d'écriture et les moyens de comptage de lecture lorsque la sortie d'adresse d'écriture est égale à la sortie d'adresse de lecture, et des moyens de multiplexage ayant les sorties d'adresse de lecture et d'écriture comme entrées et une sortie d'adresse mémoire. Les moyens de multiplexage sélectionnent la sortie d'adresse d'écriture comme sortie d'adresse mémoire lorsque la première sortie de signal impulsionnel est présente Lorsque le premier signal impulsionnel est absent, les moyens de multiplexage sélectionnent la sortie d'adresse de lecture comme sortie d'adresse mémoire Un bloqueur "trois états" sert de moyen de tampon d'entrée pour recevoir l'octet de données d'entrée issu de l'unité d'entrée Les moyens de tampon d'entrée sont activés par la première sortie de signal impulsionnel pour émettre l'octet de données d'entrée, reçu vers les moyens formant bus de données Des moyens de mémoire statique à accès aléatoire (RAM statique) comportent plusieurs emplacements de mémoire et plusieurs lignes d'adresse pour accéder sélectivement à chacun des emplacements de mémoire Les lignes d'adresse reçoivent la sortie d'adresse mémoire des moyens de multiplexage. Lorsque le premier signal impulsionnel est présent, les moyens de mémoire statique à accès aléatoire stockent l'octet de données d'entrée, reçu sur les moyens formant bus de données, dans l'emplacement de mémoire accédé selon la sortie d'adresse d'écriture Lorsque le premier signal impulsionnel est absent, les moyens de mémoire statique à accès aléatoire envoient un octet de données de sortie, stocké dans l'emplacement mémoire accédé selon la sortie d'adresse de lecture, vers les moyens formant bus de données Un second bloqueur "trois états" sert de moyen de tampon de sortie pour envoyer l'octet de données de sortie vers l'ordinateur lorsque la seconde sortie de signal impulsionnel est présente Les moyens de tampon de sortie reçoivent l'octet de données de sortie, provenant des moyens formant bus de données, lorsque aucune des première et seconde sorties de signal impulsionnel n'est présente Le dispositif tampon permet un fonctionnement ininterrompu d'une unité d'entrée, telle qu'un numériseur à balayage, présentant une vitesse de transmission de données égale ou supérieure à la vitesse de réception de données de l'ordinateur. D'autres particularités et avantages de cette invention apparaîtront dans la description détaillée suivante de la forme de réalisation préférée en référence aux dessins annexés, dans lesquels: la figure 1 est un schéma synoptique de la forme de réalisation préférée d' un dispositif tampon selon la présente invention; la figure 2 est un schéma synoptique d'un contrôleur du dispositif de tampon représenté en figure 1; la figure 3 est un chronogramme illustrant les opérations d'écriture et de lecture de la réalisation préférée; la figure 4 est un autre chronogramme illustrant l'exécution simultanée des opérations d'écriture et de lecture par la réalisation préférée; et la figure 5 est un schéma de circuit de la réalisation préférée. Ce qui suit est une liste des divers signaux de contrôle utilisés dans la description et dans les dessins annexés, avec leurs définitions. ( 1) /FE Un état logique haut indique que la réalisation préférée est dans un état vide. ( 2) /IW Un état logique bas indique qu'un octet de données provenant de l'unité d'entrée à balayage est en train d'être lu par la réalisation préférée. ( 3) /IR Un état logique bas indique que l'ordinateur est en train de lire un octet de données provenant de la réalisation préférée. ( 4) OSC Entrée d'horloge d'oscillateur. ( 5) /WLOC Un état logique bas provoque l'envoi, par un tampon d'entrée de la réalisation préférée, de l'octet de données provenant de l'unité d'entrée à balayage vers le bus de données. ( 6) /RAMW Un état logique bas signifie que les données sur le bus de données doivent être stockées dans une RAM statique de la réalisation préférée. ( 7) /RLOC Un état logique bas provoque l'envoi, par un tampon de sortie de la réalisation préférée, de données vers l'ordinateur. ( 8) /RAMR Un état logique bas signifie qu'un octet de données provenant de la RAM statique doit être envoyé au bus de données. ( 9) RL Un état logique haut permet la réception par le tampon de sortie de données présentes sur le bus de données. ( 10) Tx-Req C'est un signal de requête de transmission émis par la réalisation préférée à destination de l'unité d'entrée à balayage. En référence aux figures 1 et 2, la forme de réalisation préférée d'une unité d'interface d'ordinateur selon la présente invention comprend, telle que représentée, un tampon d'entrée 10, un contrôleur de RAM , une RAM statique 40, et un tampon de sortie 50. Un bloqueur trois états est utilisé comme tampon d'entrée 10 Un octet de données d'entrée 11, venant d'une unité d'entrée à balayage non représentée, est reçu par le tampon d'entrée 10 En référence à la figure 2, le contrôleur de RAM 20 reçoit trois signaux d'entrée issus de l'ordinateur: /IW, /IR et OSC Le contrôleur de RAM 20 comprend un circuit logique de contrôle 35 qui présente une sortie de signal de contrôle /WLOC pour permettre le transfert de l'octet de données d'entrée 11 du tampon d'entrée 10 vers le bus de données, une sortie de signal de contrôle /RAMW de sorte qu'un octet de données, présent sur le bus de données, puisse être stocké dans la RAM statique 40, une sortie de signal de contrôle /RAMR de sorte qu'un octet de données, issu de la RAM statique 40, puisse être lu sur le bus de données, une sortie de signal de contrôle RL pour permettre au tampon de sortie 50 de recevoir un octet de données présent sur le bus de données, et une sortie de signal de contrôle /RLOC pour permettre la lecture par l'ordinateur de l'octet de données reçu par le tampon de sortie 50 Le signal impulsionnel /IW sert d'entrée à un compteur d'adresse d'écriture 26 Le signal impulsionnel /IR sert d'entrée à un compteur d'adresse de lecture 29. Un multiplexeur 36 reçoit le signal de contrôle /RAMW comme entrée de sélection pour choisir entre une sortie d'adresse d'écriture (WCNT) du compteur d'adresse d'écriture 26 et une sortie d'adresse de lecture (RCNT) du compteur d'adresse de lecture 29 L'adresse sélectionnée sert d'entrée d'adresse RAM à la RAM statique 40 On montrera dans la discussion qui suit que, à cause de la disposition duale de bloqueurs des tampons d'entrée et de sortie 10 et 50 de la présente invention, les opérations de lecture et d'écriture peuvent être exécutées simultanément en ne rencontrant aucun conflit. Un autre avantage découlant de l'utilisation de la disposition duale des bloqueurs est que la RAM statique peut fonctionner avec un temps d'accès relativement plus faible Pour une meilleure compréhension du fonctionnement de la réalisation préférée, des chronogrammes illustrant la réalisation préférée dans différentes phases de fonctionnement sont représentés en figures 3 et 4. En référence au chronogramme de la figure 3, la réalisation préférée est dans un état vide au début du fonctionnement de la réalisation préférée (/FE est à un niveau logique haut) et WCNT ainsi que RCNT sont tous deux initialement " 0 " La logique de contrôle 35 du contrôleur de RAM 20 envoie le signal Tx-Req à l'unité d'entréee à balayage L'unité d'entrée à balayage répond en envoyant un octet de données d'entrée 11 au tampon d'entrée 10 L'ordinateur envoie le signal impulsionnel /IW (indiqué par A) au tampon d'entrée 10 et à la logique de commande 35 Le signal impulsionnel /IR n'est pas envoyé par l'ordinateur à ce stade La logique de contrôle 35 génère le signal de contrôle /WLOC qui est envoyé au tampon d'entrée 10 (indiqué par C), et les données reçues par la tampon d'entrée 10 sont envoyées sur le bus de données (indiqué par D) Le signal de contrôle /RAMW est ensuite envoyé par la logique de contrôle 35 de sorte que les données sur le bus de données puissent être stockées dans la RAM statique 40 (indiqué par E) à l'emplacement de mémoire accédé selon WCNT (indiqué par la lettre B dans cette figure). A la fin du signal impulsionnel /IW (indiqué par F), l'octet de données sur le bus de données a été stocké dans la RAM statique 40 WCNT est incrémenté d'une unité (indiqué par G) Puisque la réalisation préférée contient maintenant des données, le signal de contrôle /FE change pour un état logique bas (indiqué par H) Le signal de contrôle /RAMW retourne à un état logique haut, /RAMR change pour un état logique bas, et /RCNT est envoyé sur les lignes d'adresse RAM (indiqué par I). L'octet de données stocké dans l'emplacement de mémoire accédé selon RCNT est envoyé sur le bus de données (indiqué par J) Le signal de contrôle RL est à un niveau logique haut-lorsque aucun des signaux impulsionnels /IW et /IR n'est présent (indiqué par K> Le signal de contrôle RL permet alors au tampon de sortie 50 de recevoir l'octet de données sur le bus de données (indiqué par M). Afin de lire un octet de données à partir de la réalisation préférée, l'ordinateur envoie le signal impulsionnel /IR (indiqué par L) La logique de contrôle envoie le signal de contrôle /RLOC (indiqué par N) de sorte que l'octet de données reçu par le tampon de sortie puisse être lu par l'ordinateur sur les lignes de données de sortie 51 A la fin du signal impulsionnel /RLOC (indiqué par 0), RCNT est incrémenté d'une unité (indiqué par P) Quand RCNT devient égal à WCNT, un comparateur 39 du contrôleur de RAM 20 envoie un signal à la logique de contrôle 35 La logique de contrôle 35 répond en envoyant le signal RESET (réinitialisation) aux compteurs d'adresse de lecture et d'écriture 29 et 26 (indiqué par Q) L réalisation préférée est alors rétablie à l'état vide (comme indiqué par le front montant R du signal de contrôle /FE). La figure 4 est un chronogramme illustrant un autre fonctionnement de la réalisation préférée La vitesse de transmission de données de l'unité d'entrée à balayage est normalement supérieure à la vitesse de réception de données de l'ordinateur Le signal impulsionnel /IW est synchronisé avec la vitesse de transmission de données du numériseur à balayage tandis que le signal impulsionnel /IR est synchronisé avec la vitesse de réception de données de l'ordinateur Ainsi, le signal impulsionnel /IR peut apparaître à mi-chemin pendant le signal impulsionnel /IW Les points A', B', C', D' et E' illustrent l'exécution des opérations d'écriture décrites en figure 3 A mi-chemin pendant le signal de contrôle /IW, le signal de contrôle /IR subit un changement d'état (indiqué par F') et le signal de contrôle /RLOC est envoyé vers le tampon de sortie 50 (indiqué par G') de sorte que les données antérieures RCNT O reçues par le tampon de sortie 50 puissent être lues par l'ordinateur sur les lignes de données de sortie 51 A la fin du signal de contrôle /RLOC (indiqué par H'), RCNT est incrémenté d'une unité, et le signal de contrôle RL change pour un état logique haut (indiqué par I') Le tampon de sortie 50 reçoit un nouvel octet de données issu de l'emplacement de mémoire de la RAM statique 40 accédé selon RCNT 1 Il est ainsi montré que les opérations de lecture peuvent être réalisées simultanément avec les opérations d'écriture en ne rencontrant aucun conflit Ceci est rendu possible par les dispositions duales de bloqueurs des tampons d'entrée et de sortie 10 et 50 puisque des opérations simultanées de lecture et d'écriture de la RAM statique 40 ne sont pas possibles. La figure 5 est un schéma de circuit détaillé de la réalisation préférée Les tampons d'entrée et de sortie 10 et 50 appartiennent de préférence à l'une des familles logiques TTL à vitesse élevée et faible puissance, telle que le type Schottky avancé de faible puissance (ALS) La RAM statique 40 est de préférence une RAM statique de 32 K à 100 ns Le contrôleur de RAM 20 est de préférence fabriqué en utilisant une disposition en tableau de portes programmables et consiste en deux compteurs à 14 bits 26 et 29, un comparateur 39 et un multiplexeur 36 pour former une puce de circuit intégré à 64 broches En comparaison avec des unités d'interface classiques, l'espace mémoire est augmenté 64 fois tandis que le temps de transmission total est réduit d'approximativement vingt deux pour cent La vitesse de transmission est par conséquent augmentée d'un facteur 4,5. REVENDICATIONS 1 Dispositif tampon pour réaliser l'interface entre une unité d'entrée et un ordinateur, ledit ordinateur ayant une première sortie de signal impulsionnel (/IW) pour lancer la lecture, par ledit dispositif tampon, d'un octet de données d'entrée ( 11) issu de ladite unité d'entrée, et une seconde sortie de signal impulsionnel (/IR) pour lancer la réception, par ledit ordinateur, d'un octet de données issu dudit dispositif tampon, ledit dispositif tampon comprenant: des moyens formant bus de données; des moyens de contrôle ( 20) comportant des moyens de comptage d'écriture ( 26) ayant une sortie d'adresse d'écriture (WCNT) incrémentée par ladite première sortie de signal impulsionnel (/IW) des moyens de comptage de lecture ( 29) ayant une sortie d'adresse de lecture (RCNT) incrémentée par ladite seconde sortie de signal impulsionnel (/IR) des moyens pour réinitialiser lesdits moyens de comptage d'écriture ( 26) et lesdits moyens de comptage de lecture ( 29) lorsque ladite sortie d'adresse d'écriture (WCNT) est égale à ladite sortie d'adresse de lecture (RCNT) et des moyens de multiplexage ( 36) ayant lesdites sorties d'adresse d'écriture (WCNT) et de lecture (RCNT) comme entrées et une sortie d'adresse mémoire, lesdits moyens de multiplexage ( 36) sélectionnant ladite sortie d'adresse d'écriture (WCNT) comme sortie d'adresse mémoire lorsque ladite première sortie de signal impulsionnel (/IW) est présente, lesdits moyens de multiplexage ( 36) sélectionnant ladite sortie d'adresse de lecture (RCNT) comme sortie d'adresse mémoire lorsque ladite première sortie de signal impulsionnel (/IW) est absente; des moyens ( 10) formant tampon d'entrée recevant ledit octet de données d'entrée ( 11) issu de ladite unité d'entrée et activés par ladite première il sortie de signal impulsionnel (/IW) pour émettre ledit octet de données d'entrée ( 11) reçu, vers lesdits moyens formant bus de données; des moyens ( 40) de mémoire statique à accès aléatoire ayant plusieurs emplacements de mémoire et plusieurs lignes d'adresse pour accéder sélectivement à chacun de ces emplacements de mémoire, lesdites lignes d'adresse recevant ladite sortie d'adresse mémoire desdits moyens de multiplexage ( 36), lesdits moyens ( 40) de mémoire statique à accès aléatoire stockant ledit octet de données d'entrée ( 11), reçu sur lesdits moyens formant bus de données, dans l'un desdits emplacements de mémoire accédé selon ladite sortie d'adresse d'écriture (WCNT) lorsque ledit premier signal impulsionnel (/IW) est présent, lesdits moyens ( 40) de mémoire statique à accès aléatoire envoyant un octet de données de sortie, stocké dans l'un desdits emplacements de mémoire accédé selon ladite sortie d'adresse de lecture (RCNT), sur lesdits moyens formant bus de données lorsque ledit premier signal impulsionnel (/IW) est absent; et des moyens ( 50) formant tampon de sortie envoyant ledit octet de données de sortie vers ledit ordinateur lorsque ladite seconde sortie de signal impulsionnel (/IR) est présente, lesdits moyens ( 50) formant tampon de sortie recevant ledit octet de données de sortie desdits moyens formant bus de données lorsque aucune desdites première et seconde sorties de signal impulsionnel (/IW, /IR) n'est présente. 2 Dispositif selon la revendication 1, dans lequel lesdits moyens ( 10) formant tampon d'entrée et lesdits moyens ( 50) formant tampon de sortie sont des bloqueurs à trois-états.