Brevet FR2612312A1 — publié le 19880916

Composant audio-numériaue et tactile et dlsDosltlf informatique Portable en comPortant application. La présente invention a pour objet un composant audio-numérique et tactile utilisable par les personnes ayant une vue déficiente, adaptable sur des systèmes existants, tels que iicrocalculateurs et terminaux de télétexte, pour les rendre propres à être employés par de telles personnes ; elle a également pour objet un dispositif informatique portable indépendant, incorporant un tel composant et permettant notamment de gérer des actes de la vie courante. Les systèmes informatiques existants utilisent en général un clavier alphanumérique classique comme organe d'entrée et surtout fournissent les informations par visualisation sur un écran ou fourniture d'un document imprimé. Un tel mode d'affichage est inutilisable par les aveugles ou déficients visuels et le clavier classique AZERTY ou QWERTY est également mal adapté à leurs besoins. Des tentatives ont déjà été faites pour adapter une sortie vocale, et quelquefois une entrée vocale, à des systèmes informatiques. Pour cela on peut utiliser des circuits synthétiseurs de parole tels que le circuit M50 800 ou de reconnaissance vocale existants On a également réalisé des terminaux d'acquisition et d'analyse à sortie vocale et à clavier alphanumérique classique permettant un travail de laboratoire à des personnes dont la vue est déficiente. On pourra par exemple trouver une description d'un tel terminal dans l'article "A Microcomputer-based Laboratory Aid for Visually Impaire Students" IEEE Micro, Vol. 3, n 4, août 83, pages 19- 31. Ce dernier dispositif constitue simplement un terminal d'utilité limitée, du fait notamment qu'il ne permet pas, en mode local, la gestion d'opérations courantes et de traitement de texte, même sommaire, et qu'il comporte uniquement un clavier classique. La présente invention vise à fournir un composant permettant de réaliser un dispositif informatique portable pour les personnes ayant une vue déficiente, d'utilisation commode, de prix acceptable, ayant un large domaine d'application par adaptation de dispositifs existants ou création de nouveaux dispositifs. Dans ce but elle propose un composant comprenant une alimentation électrique, une mémoire vive, des moyens de sortie vocale, caractérisé en ce que le clavier comprend un banc de capteurs tactiles et en ce que la mémoire est munie de moyens de sélection parmi les éléments d'information consécutifs stockés en mémoire en réponse à l'activation d'un capteur tactile. Le composant peut être prévu pour s'adapter sur un appareil existant, muni lui-même d'un clavier d'entrée de données à touches de saisie et d'introduction de caractère et d'un jeu de touches de fonction. Le clavier d'un tel appareil sera généralement un clavier classique, de type AZERTY ou QWERTY, complété par des touches de fonction. L'invention propose également un dispositif informatique portable à alimentation électrique intégrée, dont la mémoire est également munie de moyens d'adressage permettant de déplacer une fenêtre d'observation dans la mémoire en réponse à l'introduction d'ordre à l'aide des touches de fonction. Un tel dispositif portable est autonome. Le clavier d'entrée de données à touchesde saisie et d'introduction de caractères peut être classique. Il peut être remplacé ou complété par un clavier à six ou huit touches et la barre d'espacement qui permet, par superposition, de reconstituer tous les caractères Braille. Dans le cas où le dispositif, ou l'appareil auquel est associé le composant, comporte un clavier classique et un écran de visualisation, son emploi reste aussi commode pour une personne à vue normale, ne connaissant par l'alphabet Braille, que pour une personne ayant une vue déficiente. Des moyens peuvent être prévus alors pour mettre en évidence la fenêtre d'observation sur l'écran où s'affiche une partie plus importante de la mémoire. Les touches de fonction comportent avantageusement au moins quatre touches de déplacement horizontal (direction X) et vertical (direction Y) de la fenêtre d'observation. Les éléments d'information consécutifs sélectionnés à l'aide des capteurs tactiles pour restitution vocale peuvent être des caractères, des mots ou des éléments binaires (bits). L'invention sera mieux comprise à la lecture de la description qui suit d'un mode particulier de réalisation donné à titre d'exemple non limitatif. La description se réfère aux dessins qui l'accompagnent, dans lesquels - la figure 1 est un schéma synoptique de principe d'un dispositif suivant un mode particulier de réalisation de l'invention - la figure 2 est une vue de dessus d'une fraction d'un banc de capteurs sensitifs suivant un mode particulier de réalisation - la figure 3 est un schéma simplifié d'un composant adaptable colportant un banc de capteurs - les figures 4, 5 et 6 sont des logigrammes simplifiés illustrant le fonctionnement du dispositif de la figure 1, respectivement en mode local ou indépendant, en mode terminal de micro-ordinateur et en mode de restitution d'écran - la figure 7 est un schéma éclaté en perspective montrant une disposition interne possible du composant de la figure 3 - la figure 8 montre schématiquement les liaisons logiques internes principales du composant de la figure 3 - les figures 9, 10 et 11 sont des logigrammes simplifiés du programme principal, du sous-programme exécuté à la suite d'un interruption IRQI générée par l'arrivée d'une donnée et du sous-programme exécuté à la suite d'une interruption IRQ2 générée par la base de temps du composant à intervalles réguliers. Le dispositif autonome dont un schéma de principe est montré en figure 1 peut être regardé comme comportant, raccordé à un bus 10 de données, d'adresse et de commande, un clavier 12 qui sera décrit davantage plus loin, une mémoire vive non volatile 14 munie de moyens d'adressage 16, une mémoire vive de travail 18, un microprocesseur 20 muni d'une horloge 22 et une mémoire morte 24 contenant les programmes du système. Ces programmes peuvent notamment comprendre un moniteur d'exploitation, un programme de gestion de fichier et des fonctions agenda et horloge parlante (utilisant l'horloge 22). Cette disposition est relativement classique. Le bus 10 est également lié à un circuit synthétiseur de parole 26 et à un circuit 28 de génération de son simple, attaquant l'un et l'autre un haut parleur 30. Dans certains cas, il suffit d'un générateur de son simple 28 permettant d'émettre des bits ou des sons purs à diverses fréquences pour donner de simples indications, telles que des signaux d'erreur, d'acquittement, de fin de ligne, de fin de page ou de fin de texte. Le circuit synthétiseur de parole doit être d'un type permettant d'épeler les textes par synthèse des caractères alphanumériques du code ASCII.Il est avantageusement prévu pour également - synthétiser des messages utilitaires, tels que consignes et messages d'erreur - synthétiser des mots fréquents du langage courant ou des instructions courantes dans le langage informatique utilisé. Le bus peut également être relié à un dispositif d'entrée vocale non représenté, éventuellement combiné au synthétiseur 26 dans une carte utilisant des circuits de traitement du signal en une seule puce, tels que le circuit TMS 320. Cependant, l'adjonction d'un circuit d'entrée vocale complique considérablement le système et sera souvent évité. Le bus est encore muni d'un coupleur d'entréesortie 32 destiné à réaliser une liaison répondant à la recommandation CCITT V 24 (liaison série RS 232 à deux fils par exemple ou liaison parallèle à huit fils). Plusieurs coupleurs peuvent être prévus pour permettre de relier le dispositif à la fois à un mini-ordinateur hôte 34 et à un synthétiseur de texte 36. Des coupleurs de liaison parallèle peuvent également être prévus. Le clavier 12 montré en figure 1 comprend huit touches de saisie 38 permettant de reconstituer l'ensemble des caractères Braille à huit points et une barre d'espacement 40. Il comporte également six touches de fonction 42 dont quatre permettent de déplacer une fenêtre d'observation dans la mémoire vive non volatile 14 et dont les deux autres peuvent être réservées pour remplir des fonctions spéciales éventuellement prévues par l'utilisateur. Enfin, le clavier 12 comprend un banc 44 de N capteurs sensitifs, comportant par exemple N = vingt capteurs alignés. Chacun des N capteurs est prévu pour sélectionner l'une de N informations consécutives en mémoire vive non volatile, dans la fenêtre d'observation. Tous les capteurs du banc 44 ont la même constitution. Dans le mode de réalisation montré en figure 2, ils sont constitués chacun de deux languettes conductrices 461 et 462 proches l'une de l'autre. En touchant simultanément les deux languettes d'un même capteur avec le doigt, on provoque une variation de résistance, ce qui permet d'obtenir un signal d'activation du capteur. Grâce à ce banc de capteurs, l'utilisateur accède de façon simple aux informations alphanumériques contenues dans la mémoire du dispositif sans avoir besoin d'un écran de visualisation. Les informations sont restituées sous forme de sons simples ou de paroles dans l'ordre correspondant au déplacement libre du doigt de l'utilisateur sur le banc de capteurs qui, dans le mode de réalisation montré en figure 2, fonctionne par simple affleurement. Le simple toucher du doigt sur le contact choisi permet de sélectionner une information et de la traduire de manière sonore. La recherche peut en conséquence s'effectuer de façon simple, par exemple en déplaçant le doigt en arrière sur le banc de capteurs pour retrouver une information antérieure, en déplaçant de gauche à droite pour une lecture continue. Alors que le dispositif montré en figure 1 constitue un appareil autonome, le composant montré en figure 3 est destiné à être relié, par une liaison normalisée série à deux fils ou parallèle à huit fils, à un appareil hôte. Pour plus de simplicité ceux des organes montrés en figure 3 qui correspondent à ceux déjà représentés sont désignés par le même numéro de référence. Le composant comporte un banc de capteurs sensitifs 44, un synthétiseur de parole 26 (de type NEA 8000 ou PCF 8200 par exemple), une mémoire morte 24 contenant le programme ainsi que les messages de parole nécessaires à l'application envisagée et un microcontrôleur 20 assure notamment le décodage matriciel du banc de capteurs. Ce microcontrôleur, par exemple une puce HD 6303 (HITACHI) qui comprend une unité centrale, un bus de données raccordé à un port P1, un bus d'adresses relié a un port P2, des entrées-sorties programmables (port P5), et une base de temps interne. Le bus d'adresses à seize lignes et le bus de données à huit lignes se raccordent par les ports Pi et P2 aux bus correspondants 54 et 56 du composant.La mémoire vive de travail interne, dont on verra plus loin qu'elle doit être de capacité suffisante pour contenir des piles de restitution, a une capacité de 256 octets. Les entrées-sorties programmables comportent 24 lignes. Le microcontrôleur comprend encore un port d'entrées-sorties de huit bits P4 pouvant être configuré, par un interrupteur non représenté, en série ou en parallèle pour être relié par 2 ou 8 fils à des composants extérieurs par exemple un appareil hôte ou associé qui est par exemple un micro- ordinateur, un appareil d'enseignement, un appareil de mesure, etc. Le composant montré sur la figure 2 comprend encore un multiplexeur 48 à cinq entrées reliées chacune à un groupe de quatre premières languettes appartenant à quatre capteurs différents parmi les vingt. Les trois sorties de décodage du multiplexeur 48 sont reliées à trois entrées du port 5 du microcontroleur 20 qui a également quatre entrées reliées chacune à cinq secondes languettes. Le microcontrôleur 50 permet, par détermination du capteur dont les deux languettes ont une impédance modifiée, d'identifier le capteur activé. Un circuit supplémentaire 52 de mise en forme et d'amplification fournit au microcontrôleur un signal de porte 50 pouvant prendre les niveaux 0 et 5 Volts. Toujours dans le cas où le microcontrôleur est de type HD 6303, trois fils du port 3 seront affectés aux fonctions suivantes CS EPROM : sélection de la mémoire morte CS SYNT : sélection des synthétiseurs R/W : sélection entre lecture et écriture dans le synthétiseur de parole. Le clavier tactile et l'ensemble des circuits montrés sur la figure 3 peuvent être regroupés avec une disposition du genre montré en figure 7, sous forme d'un composant muni d'une entrée d'alimentation à deux fils, d'une sortie audio 62 et du port P4 de liaison série ou parallèle. On décrira maintenant divers fonctionnements possibles d'un dispositif complet du genre montré en figure 1 puis, de façon plus détaillée, le fonctionnement interne du composant de la figure 3 (qui est le même que celui qui lui correspondent dans le dispositif de la figure 1). Dispositif On décrira successivement le fonctionnement du dispositif en mode local, c'est-à-dire de façon complètement autonome, pour effectuer des opérations courantes telles que calcul, gestion de fichier (prise de notes, établissement d'un carnet d'adresses, tenue d'agendas) consultation d'horloge parlante et éventuellement frappe de texte ; on le décrira ensuite dans son utilisation en temps que terminal relié à un ordinateur hôte pour jouer le rôle d'un terminal d'entrée/sortie on le décrira enfin dans son application au traitement, à l'utilisation locale et éventuellement à la répétion sous forme audible des informations contenues dans la mémoire d'écran d'un micro ou ainsi ordinateur à affichage sur écran. Mode local Le fonctionnement en mode local correspond à l'organigramme de la figure 4. A la mise sous tension du dispositif sans branchement sur le(s) coupleur(s) 32, le moniteur d'exploitation stocké en mémoire morte prend en charge le clavier. En cas d'enfoncement de touche Braille 38, le moniteur détermine que le clavier Braille est actif et provoque l'inscription du caractère frappé dans une zone de mémoire vive, sous la commande du programme éditeur également stocké en mémoire morte. Si le clavier Braille est inactif le moniteur teste les touches fonction 42 et, si une touche est active, modifie les translateurs de sélection par adressage en mémoire vive, suivant les directions X et/ou Y. Après test des touches 38 et 42, le moniteur interroge le banc de capteurs 44. Si aucun capteur n'est actif, le programme se reboucle au début. Dans le cas contraire, il y a détermination du numéro du capteur activé et calcul de l'adresse de l'information recherchée en mémoire, à partir des indications fournies par les touches 42 et le capteur activé. L'information en position mémoire est lue par le programme éditeur. L'information est traitée pour lui associer le message correspondant à synthétiser et sert à provoquer la fourniture du message correspondant par le synthétiseur. Dès commande d'émission du message vers le synthétiseur 26, le programme se reboucle au début. Mode terminal Le fonctionnement en mode terminal d'un ordinateur hôte relié au dispositif par une liaison RS 232 est donné par l'organigramme de la figure 5. La gestion du dispositif constituant terminal est assurée, dans l'ordinateur, par un programme du genre de ceux utilisés à l'heure actuelle par exemple pour un terminal VT 200 (DIGITAL EQUIPMENT). L'exploitation par le moniteur s'effectue comme dans le cas précédent mais, si le clavier Braille est actif, met en oeuvre une routine d'émission et une routine de réception pour assurer les échanges avec l'ordinateur hôte. Le dispositif permet alors de stocker une page de texte dans une zone tampon de sa mémoire vive, puis d'explorer cette page à l'aide des touches de fonction et du banc de capteurs sensitifs et de restituer la page de texte à l'aide du synthétiseur. Mode d'exoloratlon d'écran Le fonctionnement en mode d'exploration d'écran d'un ordinateur hôte est donné sur la figure 6. Pour ce fonctionnement, le dispositif est connecté à un micro ou mini-ordinateur par la liaison série RS 232, par une liaison parallèle ou par une interface directement reliée au bus interne de l'ordinateur hôte. Dans ce cas, l'activation d'un capteur sensitif provoque la génération d'une interruption par le système de gestion de l'ordinateur. Ce dernier interrompt le déroulement de son programme pendant le bref intervalle de temps nécessaire pour chercher en mémoire les informations concernant le texte affiché sur l'écran de l'ordinateur et envoyer ces informations au terminal. Puis il reprend le cours normal de son programme. Le dispositif dispose alors des informations concernant le contenu de l'écran de l'ordinateur et peut les traiter indépendamment de ce dernier pour les utiliser au rythme choisi par l'utilisateur du dispositif. D'autres modes encore de fonctionnement sont possibles et, en particulier, le dispositif peut être muni d'un coupleur ou d'un modem permettant la consultation de bases de données par l'intermédiaire du réseau téléphonique. La figure 8 montre l'organisation des piles nécessaires dans la mémoire vive du microcontrôleur 20 et leurs liaisons mutuelles, avec le banc de capteurs sensitifs 44 et avec l'entrée de données 64 provenant de l'ensemble extérieur. Trois piles sont prévues - la pile PI des données à restituer immédiatement par le synthétiseur de parole 26, munie d'un pointeur PTRP1 pouvant varier entre 0 et une valeur MAXPI pour laquelle la pile est pleine - une pile P2 des données associées au capteur sensitif 44, dont le pointeur PTRP2 peut prendre les valeurs 0, ... m, ...MAXP2 - une pile P3 des capteurs successivement activés, dont le pointeur PTRP3 peut aller jusqu'à la valeur MAXP3 (la pile étant représentée dans l'état où elle se trouve lorsque les capteurs C3, C2, Cl, CO, C3, C4 ont été successivement excités). La mémoire morte comporte encore une table des messages, destinée à stocker les adresses des messages à lire en succession et ces messages eux-mêmes. Pour plus de simplicité, on a désigné sur la figure par tn ] le contenu de la case d'ordre n d'une pile correspondant à un numéro de message à stocker dans la table des messages 66. Avant de décrire spécifiquement les programmes schématisés en figures 9 à 11, il peut être utile de décrire le principe de fonctionnement qu'ils mettent en oeuvre. Les données reçues par le port P4 du microcontrôleur 20, en série ou en parallèle suivant le mode de communication choisi provenant des interruptions et sont empilées dans leur ordre d'arrivée dans les piles P1 et P2. Un commutateur logiciel 68 oriente les données entrantes soit vers la pile P1 lorsqu'elles sont accompagnées d'un code de fonction indiquant qu'elles doivent être synthétisées immédiatement, soit vers la pile P2 lorsqu'elles sont accompagnées d'un code de fonction indiquant qu'elles doivent être mémorisées en vue d'une sélection éventuelle à l'aide du banc de capteur 44. L'ordre d'entrée est respecté par le banc de capteurs 44 : la première donnée arrivée qui n'est pas à restituer immédiatement est accessible par le premier contact CO à gauche, la donnée suivante par le contact C1, et ainsi de suite jusqu'à C20 ou jusqu'à épuisement des données reçues. L'activation d'un contact (C4 dans le cas montré en figure 8) à l'aide du doigt, provoque successivement - la recherche en mémoire de la donnée associée au contact sélectionné, - la recherche du message associé à la donnée dans la mémoire morte 24 (figure 3), - l'envoi du message au synthétiseur 26. Le programme principal, stocké en mémoire morte 24, assure la scrutation des piles P1 et P3. Il se répète en permanence au cours du fonctionnement. Comme le montre la figure 9, le programme principal effectue un test sur le pointeur PTRP1. S'il est égal à 0, il effectue un test sur le pointeur PTRP3. Si celui si est également égal à 0, le programme revient au début. Si le pointeur PTRP1 est différent de O le programme provoque le transfert de la première donnée en bas de la pile P1 vers la liste des messages 66, décale le contenu de la pile PI vers le bas et décrément le pointeur PTRPI d'une unité. Il y a recherche de l'adresse du message associé à la donnée dans la table 66, coule indiqué par la ligne ADPROM + 10 ] x 2, et transmission du message correspondant au synthétiseur de parole (ligne 70). Si les tests montrent que PTRP1 z 0 mais que PTRP3 Z 0, c'est la première donnée en bas de la pile P3 (correspondant dans le cas illustré à l'activation du capteur C3) qui est prélevée et envoyée vers la pile P2. Le contenu restant de la pile P3 est décalé vers le bas et PTRP3 est décrémenté d'une unité. Il y a recherche de l'adresse du message associé à la donnée dans la pile P2 et transfert à la table des messages (ligne désignée par ADPROM + [ 3 ] x 2) et transmission au synthétiseur du message ou synthétiseur de parole comme indiqué en 72. Chaque arrivée d'une donnée en 64 génère une interruption IRQI qui provoque le déroulement du programme schématisé en figure 10. La donnée entrante est lue et soumise å des tests successifs. Sur la figure 10, trois tests seulement ont été indiqués. Les premiers tests consistent à vérifier si la donnée entrante est constituée par un code de modification du contenu de la pile P2. Le code CTRLH indiqué en figure 10 peut, par exemple, correspondre à un retour en arrière et provoquer la décrémentation de PTRP2 d'une unité. D'autres codes peuvent être reconnus, provoquant par exemple une tabulation horizontale (addition de 8 à PTRP2, un saut de ligne, un effacement de ligne (retour de PTRP2 à 0), etc Un nouveau test est effectué pour déterminer si la donnée entrante est ESC qui identifie une fonction système parmi plusieurs fonctions désignées chacune par un numéro d'ordre contenu dans la donnée suivante.Les fonctions identifiées peuvent être par exemple internes (rangement de l'octet suivant dans la pile P1, arrêt du rangement dans la pile Pi, retour au mode normal, ...) des fonctions d'édition, des fonctions de commutation entre plusieurs tables de messages 66, permettant de passer d'une langue à une autre, etc. Si le test de vérification de la présence de la donnée ESC est positif, il y a lecture de la donnée suivante qui identifie la nature de la fonction et permet par exemple d'accéder à 255 fonctions système. Si tous les tests précédents donnent un résultat négatif, un dernier test est effectué pour déterminer si la pile P2 est pleine avant d'y ranger la donnée entrante. Si le test est positif, la donnée ne peut être inscrite dans la pile P2 et le système revient au programme principal. Dans le cas contraire, la donnée est rangée dans la pile P2 à l'adresse indiquée par le pointeur PTRP2 puis PTRP2 est incrémenté. A la fin de l'exécution du sous-programme, généré par l'interruption IRQ1, il y a encore retour au programme principal. Enfin, l'interrogation du banc de capteurs sensitifs 44 est initiée -par des interruptions IRQ2 générées par la base de temps du microcontrôleur à intervalles réguliers, par exemple de 20 ms. Si aucun contact n'est actif ou si la pile P3 est pleine, il y a immédiatement retour au programme principal. Si un contact est actif et si le pointeur PTRP3 n'est pas supérieur à MAXP3, il y a inscription du numéro associé au contact activé dans la première case libre et incrémentation de PRTP3 d'une unité. D'autres fonctions peuvent également être remplies suivant l'utilisation prévue et les fonctions stockées en mémoire. On voit que le dispositif comme le composant sont adaptables à un très grand nombre de fonctions différentes, répondant aussi bien à des besoins industriels qu'à des besoins personnels comme la tenue d'un agenda. REVENDICATIONS 1. Composant audio-numérique à restitution sonore, comprenant une alimentation électrique, une mémoire vive, des moyens de sortie vocale (26, 28) et un clavier, caractérisé en ce que le clavier comprend un banc de capteurs tactiles (44) et en ce que la mémoire (14,18) est munie de moyens de sélection parmi les éléments d'information consécutifs stockés en mémoire en réponse & l'activation d'un capteur tactile (44). 2. Composant selon la revendication 1, caractérisé en ce qu'il comporte un interface série parallèle de liaison avec un appareil hôte. 3. Dispositif informatique portable comportant un composant suivant la revendication 1, caractérisé en ce qu'il comprend un clavier d'entrée de données à touches de saisie et d'introduction de caractères (38) et un jeu de touches de fonction (42). 4. Dispositif selon la revendication 3, caractérisé en ce que la mémoire est munie de moyens d'adressage (16) permettant de déplacer une fenêtre d'observation dans ladite mémoire en réponse à l'introduction d'ordres à l'aide des touches de fonction (42) 5. Dispositif selon la revendication 2, 3 ou 4, caractérisé en ce que le clavier d'introduction de caractères comporte huit touches et la barre d'espacement (40) permettant, par superposition, de reconstituer tous les caractères Braille et/ou les touches du clavier AZERTY ou QWERTY. 6. Dispositif selon la revendication 3, 4 ou 5, caractérisé en ce que les touches de fonction comportent quatre touches de déplacement horizontal (direction X) et vertical (direction Y) de la fenêtre d'observation. 7. Dispositif selon l'une quelconque des revendications précédentes, caractérisé en ce que chaque touche tactile comprend deux languettes conductrices parallèles (461,462) faiblement espacées, le capteur activé étant déterminé par un circuit matriciel de localisation (48,50).