Brevet FR2680420A1 — publié le 19930219

La présente invention concerne un dispositif pour rendre l'utilisation des systèmes informatiques plus simple et plus conviviale en permettant - L'incrustation d'une fenêtre d'affichage sur l'écran de visualisation dudit système informatique de façon complètement indépendante de l'application en cours d'utilisation, sans avoir à modifier ou à intervenir de quelque façon que ce soit sur le matériel du système informatique ni sur le logiciel de l'application en cours sur le dit système. La fenêtre incrustée par le dispositif selon l'invention peut aussi se décomposer en multifenêtres, chacune correspondant à la partie affichage du dispositif tel que figure 2. Ce ou ces fenêtres peuvent, par exemple, être utilisées pour l'affichage simultané d'une application se déroulant parallèlement à l'application principale en cours sur le système informatique auquel est connecté le dispositif. Le mode incrustation sera toujours graphique, c'est à dire que l'incrustation ne dépend pas du mode d'affichage utilisé par le système sur lequel est connecté le dispositif (mode caractère ou mode graphique). Le dispositif selon l'invention permet donc le partage d'un écran de visualisation d'un système informatique autorisant le déroulement de deux applications logicielles générées par deux systèmes électroniques indépendants et affichant leurs résultats et/ou leurs informations sur le même écran, sans que l'application principale ait connaissance de ce partage d'écran. Le procédé permet donc de superposer à une application standard une application parallèle permettant d'intervenir sur l'application principale tout en conservant l'intégrité de cette dernière. Pour cela, le procédé, selon l'invention est capable de simuler vers le système informatique sur lequel il affiche ses fenêtres, l'entrée d'informations comme si celles-ci étaient saisies sur le clavier du système informatique (simulation organe de saisie) - L'adjonction d'un mode de saisie simple de type clavier tactile recouvrant l'écran du système informatique et agissant en substitution du clavier mécanique et/ou autres organes de saisie et/ou de pointage (souris, boule de déplacement, etc...) habituellement connectés à ces systèmes informatiques. Les systèmes informatiques disposent toujours d'un accès écran, clavier et Bus de données sous forme de connecteurs ou non. Le dispositif selon l'invention utilise ces accès et aucune modification n'est nécessaire sur l'existant. Selon des modes particuliers de réalisation - le dispositif peut faire l'objet d'un boitier indépendant possèdant sa propre alimentation. - le dispositif peut être inséré dans un système existant (en tant que carte d'extension bus). Le procédé peut également être utilisé lors de la phase de conception d'un système informatique de type micro-ordinateur hôte ou autre. Il est à noter que le clavier tactile est considéré ici comme un exemple de périphérique possible se conjuguant de façon efficace avec la convivialisation d'applications, et que tout autre périphérique de saisie pourrait être cité en lieu et place, citons par exemple une souris microinformatique, une table à digitalise, une boule de déplacement etc... Chacun de ces périphériques pouvant être pris en compte par le dispositif, ce dernier transformant les actions de tous types de périphériques en appui clavier vers le microordinateur hôte. La technique du procédé consiste donc essentiellement en la description de l'incrustation des fenêtres, le reste en découlant sous la forme de réalisation de logiciels d'émulation d'un clavier permettant de transformer les informations issues de divers outils périphériques en informations vers l'ordinateur hôte simulant la présence physique du clavier. STRUCTURE Les signaux principalement utilisés issus du connecteur d'écran de l'ordinateur hôte (Fig. 3) sont - Synchro trame (10): signal de début de rafraîchissement d' écran - Synchro ligne (11): signal de début de ligne - Validation données (9): valide les données présentes sur le bus données (8) - Bus données : données devant être affichées sur l'écran Le bloc nt 1 représente un commutateur électronique permettant de sélectionner pour affichage sur l'écran - Soient les données (8) issues du micro-ordinateur hôte, - Soient les données (12) devant être incrustées sur l'écran par le dispositif. Ce commutateur pourra être matérialisé sous la forme de buffers standards (type 244 par exemple). Le bloc n02 représente la RAM (mémoire) vidéo dans laquelle sont mémorisées les données devant être incrustées Le bloc n"3 représente une RAM (mémoire) contenant l'image de la position de la ou des fenêtres à incruster sur l'écran, les bits de donnée correspondant actionnant la commutation du bloc n" 1. Le bloc n4 est une unité centrale à base d'un microprocesseur associé à ses mémoires de travail RAM et ses mémoires mortes ROM, et permet la gestion du dispositif et en particulier : - le calcul de l'adresse de l'écran à laquelle va être affichée la donnée en cours sur le bus de données. Cette adresse est calculée à partir des informations synchro trame et synchro ligne - Le remplissage des mémoires (2) et (3) - La gestion du clavier tactile (6) - La gestion de la connexion clavier vers l'ordinateur hôte (5). Paramètres d' écran Un écran LCD peut présenter divers types de résolution, par exemple 640 points en résolution horizontale et 200,400,480 points en vertical (non exhaustif). Le procédé fonctionne quelle que soit la résolution de l'écran, les paramètres de résolution horizontale et verticale de l'écran sont programmables dans le procédé sous forme manuelle ou logicielle par le microprocesseur du procédé. Un écran est aussi caractérisé par son "taux de multiplexage" : ce paramètre permet de savoir de quelle façon l'écran va être rafraichi : soit en simple écran, soit en 2 demi-écrans. Un dernier paramètre est la largeur du bus de données de l'écran : en général pour des écrans de résolution suffisante ( 640 * 200), le bus de données est de 4 bits de large ou 8 bits de large décomposés en 2 fois 4 bits si le taux de multiplexage est moitié de la résolution verticale Exemple : écran de résolution 640 * 400 avec un taux de multiplexage de 1/200 ème sera rafraichi en 2 1/2 écrans, chaque 1/2 écran étant accédé simultanément par un bus de 4 bits de large affecté à chaque 1/2 écran. Tous ces paramètres peuvent être pris en compte par le dispositif de différentes manières : positionnement de microinterrupteurs, programmation logicielle avec téléchargement de type d'écran, etc... Suivant la valeur de ces paramètres, le micro-processeur positionnera ses circuits logiques conformément au type d'écran utilisé. Mais quel que soit ce type, le principe de fonctionnement du dispositif restera le même. FONCTIONNEMENT Nous supposerons par la suite un écran de résolution 640*400 ayant un taux de multiplexage de 1/400 ème (se rafraichissant donc de manière linéaire) et ayant un bus de données de 8 bits de large. Suite à la génération du signal top trame, la première valeur apparaissant sur le bus données (8) et validée par le signal validation données (9) correspond au 8 premiers pixels en haut à gauche de l'écran Les valeurs suivantes balaieront donc tout l'écran, ligne par ligne. Dans ce cas, le dispositif va pouvoir incruster des fenêtres placées sur l'écran à une position multiple de 8 pixels dans le sens horizontal. Avec un bus de 4 bits de large, la résolution de position de ou des fenêtres serait de 4 pixels dans le sens horizontal, la résolution de placement en vertical restant toujours le pixel. Le bus de données faisant 8 bits de large, l'écran ayant une résolution de 640 points horizontale et les 8 bits de données correspondant à 8 pixels horizontaux, on aura pour chaque ligne: 640/8 = 80 fois le signal de validation de données pour l'affichage d'une ligne horizontale. Le dispositif attend, pour démarrer son cycle, le top de synchronisation généré par le signal synchro trame, signifiant le début d'un rafraîchissement complet de l'écran. Ce top synchro trame initialise un compteur dans le bloc (4) dont le but est de transformer en valeur binaire le nombre de signaux validation données" apparus depuis ce top de synchronisation trame. La valeur binaire (15 bits pour l'exemple en cours) entre sur la RAM de fenêtre bloc (3) ainsi que sur la RAM de données bloc (2). La donnée correspondante à l'adresse ainsi présentée sur cette RAM bloc (3) par le compteur du bloc (4) va permettre de commander le commutateur (1) par la commande (7) et donc, suivant la valeur de cette donnée, d'entrainer sur le bus de données vers l'écran soit - La valeur présente à ce moment sur le bus de données issu du micro-ordinateur hôte (par exemple : donnée = 0 dans la RAM n 3) - La valeur présente à ce moment sur le bus de données de la RAM bloc n 2. (donnée = 1 dans la RAM n 3) Les RAM n" 2 et 3 auront été préalablement programmées par le microprocesseur du dispositif comme suit Soit à ouvrir une fenêtre sur l'écran à la position délimitée par XlY1-X2Y2- X3Y3-X4Y4, X représentant les coordonnées horizontales et Y les coordonnées verticales. Les valeurs de X, pour l'exemple d'écran en cours avec un bus de données de 8 bits, doivent donc être des multiples de 8 soit, pour 640 pixels horizontaux, comprises entre 0 et 79 Les valeurs de Y sont comprises, pour cet écran, entre 0 et 399 (400 pixels de résolution verticale). Les valeurs des données contenues dans les RAMs 2 & 3 sont organisées comme les valeurs des données sur l'écran : pour la RAM n" 2, contenant les valeurs des données devant être affichées en mode incrusté sur l'écran, ces valeurs sont programmées dans la RAM aux adresses correspondantes de l'endroit ou elles doivent être affichées : la première valeur à afficher se trouvant en position XlY1 de l'écran, l'adresse à laquelle on trouvera cette valeur dans la RAM n"2 sera :(X1*80) + Y1; La commande (7) du commutateur électronique (1) se faisant par la donnée contenue à cette même adresse dans la RAM n 2 (ici par exemple, 1 pour commuter le bloc n" 1 vers la prise de données dans la RAM n 2). La RAM bloc 2 va être programmée de la manière suivante: Données correspondant aux pixels à afficher entre les adresses: (X1*80) + Y1 à (X1*80) + Y2 [(X1+1)*80] + Yl à [(X1+1)*80]+ Y2 [(X1+2)*80] + Yl à [(X1+2)*80]+ Y2 (X2*80) + Yl à (X2*80) + Y2 De même, dans cette même zone d'adresses, la RAM n 3 contiendra des bits à 1 permettant la commutation par le bloc n 1 entre l'écran et le contenu de la RAM N 2 lorsque ces adresses seront accédées par le bloc n 4, adresses créées par les signaux de contrôle de l'écran et correspondant donc à la position de la donnée sur l'écran en cours de prise en compte. REVENDICATIONS 1) Dispositif électronique destiné à simplifier l'utilisation d'applications informatiques en générant des fenêtres se superposant à l'application en cours sans avoir besoin de modifier cette application, en remplaçant l'organe de saisie standard ( clavier ou autre) de l'ordinateur hôte sur lequel se déroule l'application par un périphérique de saisie de type clavier tactile recouvrant l'écran de l'ordinateur hôte et étant à même de lier les fenêtres affichées, les appuis sur le clavier tactile et la génération des ordres comme si ceux-ci étaient effectués par l'organe de saisie standard de l'ordinateur hôte, caractérisé en ce qu'il comporte (fig.3) au moins une unité centrale à microprocesseur associé à ses mémoires RAM et ROM (4), une mémoire RAM (3) de position de fenêtres, une mémoire RAM (2) de données à afficher dans les fenêtres, un interface clavier (5) destiné à être connecté au connecteur clavier de l'ordinateur hôte, un circuit périphérique (6) de gestion de clavier tactile et en ce qu'un système de commutation électronique (1) lui permet de s'intercaler entre le connecteur d'écran de l'ordinateur hôte et l'écran lui-même de façon à pouvoir selectionner en temps réel la source des données à afficher (dispositif ou ordinateur hôte). 2) Dispositif électronique selon la revendication 1 caractérisé en ce qu'il est inséré dans un bottier s'intercalant entre la sortie écran d'un ordinateur hôte et l'écran lui-même. 3) Dispositif électronique selon la revendication 1 caractérisé en ce qu'il se présente sous -la forme d'une carte électronique insérée directement dans l'ordinateur hôte. 4) Dispositif électronique selon l'une quelconque des revendications précédentes caractérisé en ce qu'il peut s'intégrer en tant que module indépendant dans un ordinateur hôte. 5) Dispositif électronique selon l'une quelconque des revendications précédentes caractérisé en ce qu'il comporte une unité (6) de gestion d'un clavier tactile, un interface clavier (5) vers l'ordinateur hôte et que l'unité centrale (4) transforme les informations d'appui du clavier tactile en données clavier standards vers l'ordinateur hôte. 6) Dispositif électronique selon l'une quelconque des revendications précédentes caractérisé en ce que la partie micro-processeur (4) est à même de générer des séquences consécutives pré-programmées d'appui clavier ver l'ordinateur hôte. 7) Dispositif électronique selon les revendications précédentes caractérisé en ce que le clavier tactile recouvrant l'écran de l'ordinateur hôte, la partie unité centrale (4) est à même de lier les fenêtres d'affichage du dispositif, l'appui sur le clavier tactile et les séquences d'appui clavier générées vers l'ordinateur hôte.