Brevet FR2650090A1 — publié le 19910125

-1- La présente invention se rapporte à des cartes vidéo destinées à être utilisées, par exemple, dans des ordinateurs personnels et, plus particulièrement, à des cartes vidéo prenant en charge aussi bien le modede carte vidéo de niveau 1 bit pour un moniteur noir et blanc que le mode de carte vidéo de niveau 2 bits pour un moniteur à 4 niveaux de gris. Jusqu'à présent, une carte vidéo monochrome connue prenait en charge un moniteur monochrome à 2 niveaux de gris (noir et blanc). Récemment, cependant, une carte vidéo monochrome améliorée a été mise au point en vue de prendre en charge un moniteur à 4 niveaux de gris (noir, blanc, grisl et gris2) en vue d'applications graphiques. Le premier moniteur monochrome à 2 niveaux de gris doit habituellement utiliser la carte de niveau 1 bit pour fournir deux types d'intensité vidéo (noir et blanc), tandis que le second moniteur monochrome à 4 niveaux de gris doit utiliser la carte vidéo de niveau 2 bits pour fournir quatre types d'intensité vidéo (noir, blanc, grisi et gris2). Les deux cartes vidéo ont classiquement des matériels différents. En d'autres termes, étant donné que le moniteur monochrome à 2 niveaux de gris et que le moniteur monochrome à 4 niveaux de gris fonctionnent chacun suivant son propre niveau binaire, ils ne sont pas compatibles. Par conséquent, la carte vidéo de niveau 1 bit ne peut jamais prendre en charge le moniteur à 4 niveaux de gris, et si la carte vidéo de niveau 2 bits est reliée à un moniteur noir et blanc, de nombreux inconvénients peuvent en découler, non seulement sur le plan de l'affectation de la mémoire et de la vitesse, mais également sur le plan du coot. La présente Invention a donc pour objet de fournir une carte vidéo capable d'être appliquée à différents types de moniteurs monochromes en sélectionnant le mode de niveau 1 bit ou le mode de niveau 2 bits. Selon un aspect de la présente invention, une carte vidéo capable d'assurer aussi bien le fonctionnement de niveau 1 bit que le fonctionnement de niveau 2 bits comporte un processeur graphique pour commander le fonctionnement de la carte vidéo sous la commande d'un ordinateur, une mémoire pour enregistrer et envoyer des -2- informations d'image sous la commande du processeur graphique, un commutateur destiné à délivrer en sortie les informations d'image en provenance de la mémoire en les fournissant en deux parties séparées, à savoir les bits de poids forts et les bits de poids faibles, un contrôleur de sortie vidéo pour générer sélectivement le fonctionnement de la carte vidéo de niveau 1 bit et le fonctionnement de niveau 2 bits en décalant la sortie du commutateur suivant un ordre de décalage donné selon le mode de fonctionnement de la carte vidéo sélectionné, à savoir soit le niveau 1 bit, soit le niveau 2 bits, et un connecteur pour transmettre la sortie du contrôleur de sortie vidéo à un moniteur. Afin de permettre de mieux comprendre la présente invention et d'illustrer la manière suivant laquelle elle peut être mise en oeuvre, une description va maintenant en être faite, à titre d'exemple, en référence aux dessins annexés, sur lesquels: La figure 1 est un schéma fonctionnel de la présente invention; La figure 2 est un schéma de circuit du contrôleur de mémoire du mode de réalisation de la figure 1; La figure 3 est un schéma de circuit de la mémoire du mode de réalisation de la figure 1; La figure 4 est un schéma de circuit du contrôleur de sortie vidéo du mode de réalisation de la figure 1; La figure 5A est un schéma de la forme d'onde d'un signal destiné à la première ligne de sélection dans le cas du fonctionnement en carte vidéo de niveau 1 bit; et La figure 5B est un schéma de la forme d'onde d'un signal destiné à la première ligne de sélection dans le cas du fonctionnement en carte vidéo de niveau 2 bits. La figure I est un schéma fonctionnel de la présente invention. Un processeur graphique 20 commande le fonctionnement général de la carte vidéo selon l'invention. Une interface hôte 10 assure l'échange des signaux de données et de commande entre un ordinateur personnel et le processeur graphique 20. Un contrôleur de mémoire 30 est relié au processeur graphique 20 afin de produire et d'appliquer des signaux de commande écriture ou des signaux de commande lecture -3- à une mémoire 80, laquelle enregistre les informations en provenance de l'ordinateur personnel. A l'aide d'une technique d'adressage à décodage, un décodeur d'adresse 40, relié aux lignes d'adresse du processeur graphique 20, sélectionne une adresse spécifiée au sein de la mémoire 80. Un tampon de données 50 transmet l'information depuis le processeur graphique 20 jusqu'à l'emplacement de mémoire sélectionné par le décodeur d'adresse 40. Un commutateur 90 tamponne les données 16 bits-en provenance de la mémoire 80 et n'envoie les données-de 16 bits au contrôleur de sortie vidéo 100 que huit bits à la fois, tandis que le contrôleur de sortie vidéo 100 décale les données 8 bits en provenance du commutateur 90 en fonction du mode de carte vidéo sélectionné, à savoir soit le niveau 1 bit, soit le niveau 2 bits, ou bien transmet en parallèle les données introduites. Le contrôleur de sortie vidéo 100 et un moniteur sont interconnectés par l'intermédiaire d'un connecteur 110. Un contrôleur de rythme 70, fourni par un oscillateur 60, produit les impulsions d'horloge appropriées destinées au processeur graphique et au contrôleur de sortie vidéo 100, en divisant la fréquence d'horloge. La figure'2 illustre plus en détail un exemple du contrôleur de mémoire 30 de la figure 1, dans lequel le premier contrôleur de mémoire 31 destiné à envoyer des signaux d'autorisation d'écriture à la mémoire 80 et un second contrôleur de mémoire 32 destiné à envoyer des signaux d'autorisation de sortie en série à la mémoire 80, sont tous deux commandés par deux lignes d'adresse LAD8-LAD9 et une ligne d'autorisation de sortie ou de transmission TR/OE. La figure 3 est un schéma fonctionnel plus détaillé d'un exemple de la mémoire 80. Cette mémoire, qui se compose de seize mémoires RAM dynamiques de 16K x 4 bits, est divisée en quatre parties, et chaque partie, qui se compose de quatre RAM, est dénommée bloc. Chaque bloc est sélectionné par les signaux de commande en provenance du contrôleur de mémoire 30. On se réfère à la figure 4 qui représente un schéma fonctionnel plus détaillé du contrôleur de sortie vidéo 100 de la figure 1. Un registre à décalage 101 décale les données introduites à partir du -4- commutateur 90 suivant un ordre de décalage requis, en fonction de l'état des première et seconde lignes de sélection SO,S1, ou délivre en parallèle les mêmes données que celles qui ont été introduites. A l'aide d'un cavalier 102, l'utilisateur sélectionne le mode de fonctionnement de la carte vidéo, à savoir soit le niveau 1 bit, soit le niveau 2 bits. L'exploitation en carte vidéo de niveau 2 bits est assurée par un diviseur 103 servant à diviser la période du contrôleur de rythme 70. Le processeur graphique 20 échange données, adresses et signaux de commande avec un ordinateur par l'intermédiaire de l'interface hôte 10. Le processeur graphique 20 commande la carte vidéo et envoie des images au moniteur en fonction des informations en provenance de l'ordinateur personnel, et avertit l'ordinateur personnel lorsque l'exécution d'une instruction donnée est terminée. Le processeur graphique 20 reçoit des impulsions d'horloge (CLK) du générateur de signaux d'horloge 70, et, à partir de ces signaux, un signal de synchronisation vidéo est produit. Par exemple, la ligne d'entrée VCLK de "TMS 34010" de Texas Instrument Co reçoit un signal d'horloge de 13,3 MHz lorsque le cycle de machine du processeur graphique 20 est de 40 MHz. Le processeur graphique 20 peut générer un signal de synchro horizontale (H-SYNC) de 65 KHz et un signal de synchro verticale (V-SYNC) de 62 KHz en divisant la fréquence de l'horloge d'entrée (V' CLOCK) conformément aux besoins; autrement, les fréquences de ces deux signaux de synchro (H/V-SYNC) peuvent être réglées par programmation lorsque l'on utilise "TMS 34010". En plus de la génération de ces signaux de synchro, le processeur graphique 20 génère des signaux d'adresse, le signal de transmission ou d'autorisation de sortie (TR/OE), le signal de strobage d'adresse de ligne (RAS) et le signal de strobage d'adresse de colonne (CAS) afin de rafraîchir la mémoire dynamique à accès sélectif (DRAM) 80, qui se compose d'une mémoire RAM vidéo (VRAM) pour le moniteur et d'une mémoire RAM banale pour dispositifs autres que le moniteur. Le signal TR/OE et les signaux d'adresse destinés à commander -5l'écriture ou la lecture du contenu de la mémoire 80 sont appliqués au contrôleur de mémoire 30, lequel fournit quatre signaux de commande de mémoire aux broches CTLO à CTL3, comme illustré sur la figure 2. Le premier contrôleur 31 fournit des signaux d'autorisation d'écriture aux broches WESO à WES3 en vue d'enregistrer des Informations dans la mémoire 80 sous la commande des signaux d'adresse en provenance des lignes LAD8 et LAD9 et du signal TR/OE. Le second contrôleur 32 fournit des signaux d'autorisation de sortie en série aux broches SOEO à SOE3 afin de délivrer en sortie les informations enregistrées, sous la commande des signaux d'adresses en provenance des lignes LAD8 et LAD9 et du signal TR/OE. Sur la figure 3, les signaux de commande CTLO-CTL3 sont équivalents aux signaux WES pendant la phase écriture, et sont équivalents aux signaux SOE pendant la phase lecture. Tant que le signal RAS et le signal CAS ne sont pas actifs, aucune adresse des mémoires DRAM n'est désignée. Le contenu adressé est ensuite chargé sur le bus de données. Le circuit de la figure 3 utilise seize mémoires DRAM de 16 K x 4 bits, lesquelles, comme mentionné plus haut, sont divisées en quatre parties. Une série de quatre mémoires DRAM est appelée bloc, comme illustré sur la figure 3. Chaque bloc est sélectionné par l'un des signaux de commande présents sur les broches CTLO à CTL3 que le contrôleur de mémoire 30 génère à l'aide des deux lignes d'adresse du processeur graphique 20. Lorsque l'un des blocs est sélectionné, 16 bits de données de la mémoire VRAM sélectionnée sont lues à la fois. Les états logiques de mémoire correspondant à chaque sélection de bloc sont illustrés sur le tableau 1; -6- Tableau 1 A9 A8 Premier bloc de RAM 0 0 Second bloc de RAM 0 1 Troisième bloc de RAM 1 0 Quatrième bloc de RAM 1 1 Selon l'état logique du signal TR/OE du processeur graphique 20, l'un des signaux de commande généré par le contrôleur de mémoire 30 est appliqué au bloc correspondant et le contenu de la mémoire d'un emplacement donné peut ainsi être lu ou écrit sur la base de l'adresse illustrée sur le Tableau 1. Le premier contrôleur de mémoire 31 fournit les signaux d'autorisation d'écriture aux broches WESO à WES3, et le second contrôleur de mémoire 32 fournit les signaux d'autorisation de sortie en série aux broches SOEO à SOE3, selon l'état du signal TR/OE. Les données image sont ainsi écrites dans un emplacement donné de la mémoire RAM vidéo, lorsque le signal TR/OE est à l'état logique haut. Les données se trouvant dans l'emplacement de mémoire de la RAM vidéo sont transmises au registre à décalage 101 lorsque le signal TR/OE est à l'état logique bas. Les signaux d'autorisation de sortie en série autorisent le chargement en série des données dans le bus de données de sortie vidéo. Dans ce cas, la plupart des zones de la mémoire RAM vidéo sont utilisées comme tampon d'image pour la sortie vidéo. Le reste de la mémoire, le cas échéant, peut servir de mémoire générale. Etant donné que le tampon d'image contient les informations relatives au moniteur, le processeur graphique 20 rafraîchit toujours le tampon d'image à intervalles réguliers. En cas de modification de certaines données, les dernières données peuvent être mises à jour en l'espace d'une courte période grâce au fait que la mémoire RAM vidéo envoie immédiatement les données au registre à décalage. La mémoire DRAM peut également servir de mémoire pour des 26500È90 -7- programmes et des données, ou servir de mémoire hors moniteur. Dans ce cas, la mémoire hors moniteur, pour assurer par exemple le transfert de blocs binaires, peut être nécessaire pour certaines opérations graphiques particulières exigeant une manipulation de configurations binaires. La mémoire DRAM peut enregistrer des données de résultats temporaires obtenus par certaines opérations mathématiques, et les données finales peuvent être envoyées au tampon d'image de la mémoire RAM vidéo. Les données de 16 bits en provenance du tampon image sont chargées sur le bus de données de 8 bits par le commutateur 90, 8 bits à la fois seulement. Le dispositif "74LS157" peut être utilisé comme commutateur 90. Le bus de données de 8 bits est relié au registre à décalage 8 bits 101 du contrôleur de sortie vidéo 100, comme illustré sur la figure 4. Le fonctionnement des signaux de sortie vidéo va maintenant être expliqué de manière plus détaillée. La première ligne de sélection SO et la seconde ligne de sélection S1 sélectionnent le mode de fonctionnement du registre à décalage 101. Lorsque le second signal de sélection sur la ligne Si est maintenu à l'état logique bas et que le premier signal de sélection sur la ligne SO est à l'état logique bas, les données introduites dans les huit lignes d'entrée DO-D8 sont délivrées en sortie aux huit lignes de sortie Q1 à Q7 étant donné que le registre à décalage de 8 bits 101 est alors mis au mode parallèle. Par contre, lorsque la première ligne de sélection SO est à l'état logique haut et que, en même temps, la seconde ligne de sélection SI1 est à l'état logique bas, les données d'entrée sont alors décalées vers la gauche autant de fois que requis, selon l'ordre de l'impulsion d'horloge CP. Après application QO Q1 Q2 Q3 Q4 Q5 Q6 Q7 d'un signal d'horloge Q1 Q2 Q3 Q4 Q5 Q6 Q7 X Dans le premier cas, c'est-à-dire celui du mode de carte vidéo de niveau 1 bit, l'utilisateur commute le cavalier 102 sur la -8première ligne de sélection SO directement, sans passer par le diviseur 103, de sorte que le registre à décalage effectue une opération de décalage huit fois entre impulsions de commande, comme illustré sur la figure 5A. Par conséquent, au bout de huit impulsions d'horloge, 8 bits des données sont délivrées en série à raison d'un bit par impulsion d'horloge au connecteur 110 par l'intermédiaire de la première ligne de sortie QO, et la cinquième borne de sortie Q4 reste inactive. Après les huit impulsions d'horloge, une impulsion de commande est appliquée à la première ligne de sélection SO, afin de positionner les nouvelles données reçues au niveau des bornes d'entrée DO-D7 sur les bornes de sortie QO-Q7 respectivement. Ensuite, les nouvelles données sont délivrées sur la borne QG pendant les huit impulsions d'horloge CP suivantes. Dans le second cas, c'est-à-dire celui du mode carte vidéo de niveau 2 bits, le cavalier 102 est commuté sur le diviseur 103 de manière à ce que le registre à décalage 101 puisse effectuer une opération de décalage quatre fois entre impulsions de commande, comme illustré sur la figure 5B, après chargement de données de 8 bits en parallèle sur les huit lignes d'entrée DO-D7 du registre à décalage 101. En conséquence, après quatre impulsions d'horloge, 8 bits des données sont délivrées en série, à raison de deux bits par impulsion d'horloge, au connecteur 110 par l'intermédiaire des première et cinquième lignes de sortie QD, Q4. Ainsi, le diviseur 103 augmente de deux la fréquence des impulsions de commande en provenance du générateur d'impulsions d'horloge 70, dans le cas du mode de carte vidéo de niveau 2 bits. L'état logique de la première ligne de sélection SO devrait avoir une valeur basse négligeable par rapport à son état logique haut lorsque la commutation est réalisée à l'aide du cavalier 102. La condition d'état logique bas négligeable mentionnée ci-dessus signifie que la valeur de l'état logique bas doit être inférieure à 1/10 de celle de l'état logique haut. Cela signifie également que le temps de chargement devrait être inférieur à 1/10 du temps de décalage. Cela s'explique par le fait que le registre à décalage -9- effectue son opération une fois que 8 bits de données ont été chargées, et que l'opération de chargement doit être effectuée avant la période suivante. Il s'agit également d'éviter une erreur de synchronisation entre la fin du décalage et le début de l'opération de chargement de données suivante. Comme décrit ci-dessus, le circuit illustré est avantageux en ce qu'il permet d'utiliser deux types de moniteur puisqu'il est à même de prendre en charge aussi bien le mode de carte vidéo de niveau 1 bit que le mode de carte vidéo de niveau 2 bits à l'aide de la même carte vidéo, et en ce que, dans le cas de l'utilisation du mode de carte vidéo de niveau 1 bit, il permet de réduire de moitié la capacité de mémoire requise par rapport au mode carte vidéo de niveau 2 bits, si bien que le reste de la mémoire peut servir de mémoire hors moniteur ou à d'autres usages, ce qui améliore l'efficacité de la mémoire et la rapidité des opérations graphiques. L'invention n'est pas limitée aux détails du mode de réalisation décrit plus haut mais s'étend à toute caractéristique nouvelle, ou toute combinaison nouvelle de caractéristiques, telles que décrites dans le présent mémoire descriptif (y compris revendications annexées, abrégé et dessins, quels qu'ils soient), ou à toute autre méthode ou procédé ainsi décrits. -10- REVENDICATIONS 1. Circuit de carte vidéo capable de prendre en charge un mode de carte vidéo de niveau 1 bit et un mode de carte vidéo de niveau 2 bits dans un ordinateur, comprenant: un processeur graphique (20) pour commander le fonctionnement de ladite carte vidéo sous la commande dudit ordinateur; une mémoire (80) pour écrire et lire des informations sous la commande dudit processeur graphique; un commutateur (90) pour délivrer en sortie lesdites informations en provenance de ladite mémoire en les fournissant en deux parties séparées, à savoir les bits de poids fort et les bits de poids faible; des moyens de commande de sortie vidéo (100) pour produire sélectivement des signaux de sortie vidéo pour le mode carte vidéo de niveau 1 bit ou le mode carte vidéo de niveau 2 bits en décalant la sortie dudit commutateur suivant un ordre de décalage donné en fonction du mode de fonctionnement sélectionné, à savoir le mode carte vidéo de niveau 1 bit et le mode carte vidéo de niveau 2 bits; et un connecteur (110) pour transmettre la sortie desdits moyens de commande de sortie vidéo à un moniteur. 2. Circuit de carte vidéo selon la revendication 1, dans lequel lesdits moyens de commande de sortie vidéo (100) comprennent: un registre à décalage (101) pour décaler la sortie dudit commutateur sous la commande desdits moyens de commande de sortie vidéo; un diviseur (103) pour augmenter par deux les impulsions d'horloge en provenance d'un générateur de signaux d'horloge et fournir lesdites impulsions d'horloge augmentées à une première ligne de sélection dudit registre à décalage (101); et un cavalier (102) pour fournir lesdites impulsions d'horloge directement à la première ligne de sélection dudit registre à décalage ou pour fournir lesdites impulsions d'horloge augmentées audit diviseur (103). 3. Moyens de commande vidéo comprenant: -11- une multiplicité de bornes d'entrée (DO-D7) pour recevoir des données d'entrée sous forme parallèle; une multiplicité de bornes de sortie (QO-Q7) pour délivrer en sortie lesdites-dohnées; des moyens (101) pour décaler lesdites données entre lesdites bornes d'entrée et de sortie de manière à ce que lesdites Jonnées apparaissent au niveau desdites bornes de sortie sous forme sérielle; et des moyens de sélection (102,103) pour sélectionner le nombre de bornes de sortie au niveau desquelles lesdites données sont extraites sous forme sérielle et pour commander la cadence à laquelle les données nouvelles présentées auxdites bornes d'entrée sont transférées vers lesdites bornes de sortie, en fonction de la sélection dudit nombre. 4. Moyens de commande vidéo selon-la revendication 3, comprenant; un registre à décalage (101) de n bits ayant n bornes d'entrée et n bornes de sortie pour recevoir lesdites données, des impulsions d'horloge et un port d'accès pour recevoir des impulsions de commande, le registre à décalage étant apte à fonctionner dans un mode décalage dans lequel, lors de la réception d'une impulsion de commande, des données présentes sur lesdites bornes d'entrée sont transférées vers des-bornes correspondantes parmi lesdites bornes de sortie, et, lors de la réception d'une impulsion d'horloge, les données présentes sur lesdites bornes de sortie sont décalées d'un bit: dans lesquels lesdits moyens de sélection comprennent un diviseur (103) destiné à recevoir un train d'impulsions de commande à appliquer audit port d'accès d'impulsions de commande et à diviser ladite fréquence en fonction de la sélection du nombre de bornes de sortie au niveau desquelles lesdites données sont extraites sous forme sérielle. 5. Moyens de commande vidéo selon la revendication 3 ou la revendication 4, dans lesquels lesdits moyens de sélection sont prévus de manière à sélectionner ledit nombre pour qu'il soit égal à -12- 1 ou 2, de manière à ce que lesdites données soient délivrées en sortie soit en mode de niveau 1 bit, soit en mode de niveau 2 bits, respectivement. 6. Moyens de commande vidéo selon la revendication 3, 4 ou 5, prévus de manière à recevoir lesdites données d'entrée sous la forme 8 bits. 7. Circuit de carte vidéo prévu pour recevoir des données vitales en provenance d'un ordinateur et pour délivrer des données vidéo à un moniteur afin que ce dernier affiche des informations reçues de l'ordinateur, le circuit vidéo comprenant des moyens de commande vidéo selon l'une quelconque des revendications 3 à 6. 8. Circuit de carte vidéo selon la revendication 7, comprenant en outre: un processeur graphique (20) pour commander le fonctionnement de ladite carte vidéo sous la commande dudit ordinateur; une mémoire (80) pour écrire et lire des informations sous la commande dudit processeur graphique; et un connecteur (110O) pour transmettre des données de sortie en provenance des moyens de commande vidéo (100) au moniteur. 9. Circuit de carte vidéo selon la revendication 8, comprenant un circuit commutateur (90) pour recevoir des données sous la forme 2m bits en provenance de la mémoire, tamponner les données et fournir les données sous la forme m bits aux moyens de commande vidéo (100).