Brevet FR2608804A1 — publié le 19880624

Module d'extension Pour terminal de téléinformatique. L'invention a pour objet un module d'extension externe accouplable à un terminal de téléinformatique comprenant une unité de calcul, des organes d'affichage et d'entrée/sortie et une mémoire comprenant un programme résidant relié à un bus d'adresses et de données. Le document EP-A-182 678 décrit un tel terminal et une constitution générale possible d'un module gérable par le protocole normal de gestion du terminal et dont la nature est identifiable par ce protocole. Chaque module comporte un interface d'adaptation contenant une information à partir de laquelle le protocole du terminal peut déterminer la nature du module et les fonctions qu'il apporte, vérifier la compatibilité et mettre en oeuvre le module. Le module est muni d'un connecteur permettant de le relier au bus du terminal et de lui fournir une alimentation électrique à partir du terminal. Le module doit avoir une constitution assurant la sécurité du terminal et la protection des informations contenues en mémoire vive du module dans toutes les circonstances et notamment lors des opérations de connexion ou de déconnexion du nodule ainsi qu'en cas de baisse de la tension d'alimentation du module. Dans le cas où le module contient des mémoires vives dont les transactions sont commandées par le terminal, l'un des risques courus est que le terminal commande une opération d'écriture alors que la tension d'alimentation fournie aux boîtiers de mémoire vive est insuffisante pour garantir une écriture correcte. On pourrait penser écarter ce problème en munissant le module d'une source d'alimentation de secours. Mais, dans la pratique, une alimentation de secours fournissant la même tension que l'alimentation normale et ayant une capacité élevée, nécessaire du fait qu'elle risque de débiter lors des transactions, occuperait un volume inacceptable sur des modules de petite taille, notamment sur des modules auxquels on cherche â donner un encombrement comparable à celui d'une carte à mémoire. Pour résoudre le problème, l'invention propose notamment un module d'extension externe pour terminal informatique interactif, comprenant un connecteur enfichable sur le terminal pour établir des liaisons avec le bus du terminal et une source d'alimentation électrique, au moins un boîtier de mémoire vive à lecture et écriture et un interface d'adaptation sur le bus du terminal, caractérisé en ce qu'il comprend une source locale fournissant une tension suffisante pour conserver l'information contenue dans le boîtier et des moyens pour interdire l'écriture dans ledit boîtier lorsque la tension d'alimentation est inférieure à une valeur prédéterminée. Il est commode de pouvoir changer la source locale, généralement constituée par une pile, sans qu'il y ait effacement du contenu des mémoires volatiles portées par le module et sans qu'il soit nécessaire de relier le module à une source d'alimentation externe. Ce résultat peut être atteint en disposant, en parallèle sur l'alimentation normale et la source locale un condensateur de stockage de capacité suffisante pour alimenter les boîtiers de mémoire pendant les quelques dizaines de secondes nécessaires au changement. Pour éviter toute perturbation dans le fonctionnement du terminal, il est nécessaire que ce dernier n'échange des informations avec le module que lorsque l'ensemble des connexions avec ce dernier est assuré. Pour atteindre ce résultat le connecteur comporte avantageusement deux contacts de présence de module placés aux extrémités du connecteur, ce qui évite les risques de détection erronée en cas d'introduction en biais du connecteur, ces contacts étant prévus (par exemple en leur donnant une longueur plus faible) pour n'établir une liaison avec un circuit de détection prévu dans le terminal qu'une fois toutes les autres liaisons établies. Enfin, il convient avant toute transaction que le terminal ait identifié la cartouche, l'ait rejetée si elle s'est révélée inappropriée et se soit reconfiguré dans le cas contraire en tenant compte de la constitution particulière de la cartouche. Pour cela l'interface de chaque cartouche comporte un ensemble d'identification de cartouche et d'isolement, comportant une logique à trois états et un circuit d'interrogation et de décodage d'adresses qui, au cours d'une première étape, met la logique dans un état passant pour permettre la transmission d'une adresse d'identification sur les fils de données du bus puis ramène la logique dans un état à haute impédance pour permettre les transactions normales sur le bus. L'invention sera mieux comprise à la lecture de la description qui suit d'un module constituant un mode particulier de réalisation de l'invention, donné à titre d'exemple non limitatif et d'une variante. La description se réfère aux dessins qui l'accompagnent, dans lesquels - les figures lA et 1B, considérées ensemble et se raccordant au niveau de la ligne en traits mixtes A-B, donnent un schéma synoptique d'un module à deux mémoires vives et une mémoire morte programmable - la figure 2 est un schéma montrant une répartition possible des contacts du connecteur pour le module des figures 1A et 1B - la figure 3 montre un montage possible du connecteur et de la pile dans une carte - la figure 4 est un schéma de principe d'un module à mémoire vive de 256 koctets constituant une variante de la figure 1. Le module montré en figure 1A et 1B comporte deux boîtiers de mémoire vive ou RAM 10 et 12 de 8 koctets chacune et un boîtier de mémoire morte programmable électriquement ou EPROM 14 de 128 koctets. Le câblage associé au boîtier comporte des liaisons, montrées en tirets, qu'on ne détruit que lorsque la mémoire 14 est une EPROM. Ces liaisons peuvent être maintenues pour permettre d'utiliser une mémoire vive comme mémoire 14 au lieu d'une mémoire morte. Les mémoires 10, 12 et 14 sont reliées à un bus destiné à être raccordé au bus du terminal. On peut regarder ce bus comme se composant d'un bus d'adresses à 16 éléments binaires ou bits AO-A15 et d'un bus de données à huit bits DO-D7. Les autres composants du module peuvent être regardés comme comprenant - une alimentation électrique à détection de baisse de tension et source locale de secours - un interface ayant un circuit d'interrogation et de décodage d'adresses et un ensemble d'identification de cartouche. Ces composants seront successivement décrits. Le circuit d'alimentation électrique comprend des contacts, ménagés sur un connecteur, de liaison avec des contacts correspondants prévus sur le terminal et fournissant par exemple une tension de +5 volts. Pour que les liaisons d'alimentation électriques s'établissent à coup sûr dès le début d'enfichage du connecteur, et même en cas d'introduction en biais de ce dernier, les liaisons de tension Vcc = +5 Volts et de masse GND sont réalisées chacune par deux contacts situés à des extrémités opposées du connecteur (par exemple contacts 3 et 37 pour la tension +5 Volts dans le cas d'un connecteur à 38 contacts, contacts 36 et 4 pour GND). La ligne de distribution Vcc alimente tous les composants du module autres que ceux pour lesquels il est nécessaire de maintenir une alimentation lorsque le module est séparé du terminal. La tension Vdd appliquée en permanence aux autres composants, et notamment aux mémoires volatiles est prélevée sur les contacts 3 et 37 de connecteur à travers une diode 16. Une alimentation de secours est constituée par une pile 18, fournissant 3 Volts par exemple, placée entre les prises GND et Vdd en série avec une diode 20 et une résistance 22. Un condensateur 24, de 47 #F par exemple, est placé en parallèle avec la pile 18, la diode 20 et la résistance 22, pour maintenir l'alimentation Vdd pendant le temps nécessaire au changement de la pile 18. Le circuit d'alimentation électrique comprend encore un montage destiné à détecter toute baisse de la tension Vcc au-dessous d'une valeur prédéterminée, choisie pour qu'elle garantisse encore des transactions correctes dans les mémoires vives. Le montage de détection peut avoir diverses constitutions. Dans le mode de réalisation montré en figure 1A, il est constitué par un comparateur ayant un transistor 26 dont l'émetteur est relié à Vcc et le collecteur est relié à GND par l'intermédiaire d'une résistance. La base du transistor peut être la sortie d'un circuit de comparaison entre la tension Vcc et la tension de référence fournie par une diode Zener programmable 27. Lorsque la tension Vcc devient inférieure à la tension de référence, la tension au collecteur devient sensiblement égale & la tension du contact GND.La tension prélevée sur ce collecteur est appliquée à l'entrée de blocage /Res des mémoires vives, comme on le verra plus loin, pour interdire toute transaction en écriture. L'ensemble d'identification de cartoucche comporte une logique à trois états 28 ayant une sortie de données å quatre bits reliés aux bits DO à D3 (bits de poids faible) du bus de données. Les quatre entrées de la logique 28 sont reliées individuellement par des réssistances à la tension Vcc. Des liaisons destructibles ou 1straps" relient individuellement chacune des entrées å la masse. Ce jeu de quatre straps permet de réaliser seize combinaisons différentes, identifiant chacune un module particulier. La logique à trois états peut être constituée par exemple par un bolier 74 HC 125, amené à l'état passant par application d'un état bas en parallèle sur quatre entrées de commande, comme on le verra plus loin. La logique revient ensuite à l'état haute impédance. Le circuit de validation et de décodage d'adresses montré en figure 1A est constitué de deux fonctions 30 et 32 dans un boîtier 74 HC 139 recevant respectivement les bits d'adressage A13 et A14. Le boîtier 30 comporte quatre sorties de sélection. La première sortie 33 est reliée aux quatre entrées de commande de la logique 28. Deux autres sorties 34 et 36 sont reliées aux entrées d'activation /CE des mémoires vives 10 et 12. Enfin, la quatrième sortie de sélection 38 reste inutilisée dans la configuration montrée en figures lA et 1B par suite de la coupure du strap 40. Mais lorsqu'une mémoire vive est utilisée en temps que mémoire 14 au lieu d'une EPROM, ce strap resterait intact et permettrait d'activer la mémoire 14. Le boitier 30 est également relié à un contact CBU (contact 9 du connecteur par exemple). Ce contact CBU permet de transférer, depuis le terminal, un ordre de validation de cartouche après vérification de la compatibilité de cette dernière avec le terminal et reconfiguration de ce dernier. Le boîtier 32 est également relié au contact CBU. Dans le mode de réalisation illustré, il sert à adresser la mémoire morte 14 par l'intermédiaire d'un strap qui est coupé lorsque le module contient uniquement des mémoires vives. Les mémoires 10 et 12 sont montées de la même façon et, pour cette raison, seules les liaisons de la mémoire 12 seront décrites. Les entrées d'adressage de la mémoire 12 sont attaquées par les bits AO à A12 du bus d'adresses. Les huit entrées-sorties de données sont reliées au bus de données DO-D?. Comme on l'a déjà indiqué plus haut, l'entrée d'activation /CE de la mémoire est reliée à la sortie 36 du circuit de décodage 30. L'alimentation de la mémoire est effectuée depuis la borne Vdd et l'entrée /Res reçoit un niveau d'inhibition si cette tension est insuffisante. L'entrée d'autorisation de lecture /OE est activée en permanence par mise à la masse. L'entrée d'autorisation de lecture /WE au contraire n'est activée qu'à reception du signal /WM d'écriture en mémoire, provenant du terminal par un contact du connecteur. Le branchement de la mémoire 14 utilise un brochage tel qu'il soit possible de substituer une mémoire vive à la mémoire morte sans modifications autres que le maintien de certains straps et la coupure d'autres. L'entrée d'autorisation d'écriture /WC est mise à la tension Vcc par coupure d'un strap. Le strap reliant la sortie d'inhibition d'écriture /Res à la mémoire est maintenu et le strap vers A13 est coupé. Enfin, l'alitentation s'effectue à partir de Vcc et non plus de Vdd par coupure d'un strap au lieu d'un autre. Le fonctionnement du module est le suivant, lors de la mise en service après enfichage du module. Le fonctionnement est déclenché par la détection de la fermeture des contacts de présence de cartouche (contacts I et 38 sur la figure 1A) par le terminal. Ce dernier envoie sur les fils de bus A13 et A14 une adresse appartenant au plan mémoire et correspondant à ensemble d'identification. En réponse, un mot d'identification de la cartouche en place est envoyé sur les fils DO-D3 du bus de données å travers la logique à trois états 28. il faut remarquer que la logique 28 et le réseau d'adressage qui lui est annexé ne sont nécessaires que dans le cas d'un module d'extension contenant des mémoires vives. Si en effet il ne contient qu'une mémoire morte, c'est cette dernière qui porte l'identification.A partir, des indications fournies sur le bus de données, le terminal se reconfigure pour s'adapter au type de module ou rejette le module. La logique a trois états 28 revient alors automatiquement à l'état haute impédance afin de ne pas troubler le fonctionnement ultérieur du bus de données DO-D7. Le fonctionnement normal peut alors intervenir. Pratiquement, on peut utiliser la répartition de contacts montrés en figure 2 sur un connecteur ayant la constitution montrée schématiquement en figure 3. Le module 44 pourrait se présenter sous un format comparable à celui des cartes à mémoire actuelles avec une épaisseur un peu plus importante, contenant la pile remplaçable 20 et le condensateur de stockage temporaire 24. La partie du connecteur portée par le module est constituée de passages formant douilles réparties sur une tranche. Pour éviter de perturber le contenu du module par des charges électrostatiques apportées par exemple par les doigts d'une personne qui manipule le module, les contacts femelles tels que 46 sont par exemple constitués par un revêtement conducteur ne commençant qu'à une distance de quelques dixièmes de millimètres de l'ouverture de l'alésage correspondant sur la tranche. Le connecteur mSle correspondant 48 prévu dans le terminal peut être un connecteur sur tranche de circuit imprimé muni de broches 50 d'établissement des liaisons avec les contacts 46. On a vu plus haut qu'il est souhaitable que les contacts d'ordre 1 et 38 établissent en dernier la liaison permettant de vérifier la présence d'une cartouche. Pour obtenir ce résultat, il suffit que les broches d'ordre 1 et 38 soient un peu plus courtes que les autres, comme cela est indiqué sur la figure 3. La répartition des contacts et le nombre de contacts utilisés peut varier suivant la nature du module. Lorsque par exemple le module comporte 256 koctets de mémoire vive, on peut être amené à adopter la disposition montrée sur la figure 4, où les éléments correspondant à ceux des figures 1A et 1B sont désignés par le même numéro de référence. Sur la figure 4, seuls cinq des huit boîtiers de mémoire vive 108 sont représentés le circuit d'alimentation électrique, pouvant être le même que celui de la figure 1A, n'est pas montré, non plus que les contacts de vérification de présence de carte, de masse et d'amenée de courant. Chaque mémoire tOa, de 32 koctets, comporte encore des entrées d'adressage attaquées par les bits A~-A14 du bus d'adresses et des entrées/sorties de données reliées au bus de données D~-D7. L'entrée d'activation de chaque mémoire (non représentée) est reliée à une sortie particulière CE RAM du circuit de décodage 30, 32. L'entrée d'autorisation d'écriture WE est reliée à un contact correspondant WM du connecteur et l'entrée RES reçoit la sortie indiquant une baisse de tension d'alimentation. REVENDICATIONS 1. Module d'extension externe pour terminal informatique interactif, comprenant un connecteur enfichable sur le terminal pour établir des liaisons avec le bus du terminal et une source d'alimentation électrique, au moins un boîtier de mémoire vive å lecture et écriture (10,12) et un interface d'adaptation sur le bus du terminal, caractérisé en ce qu'il comprend une source locale (18) fournissant une tension suffisante pour conserver l'information contenue dans le boîtier et des moyens pour interdire l'écriture dans ledit boîtier lorsque la tension d'alimentation est inférieure à une valeur prédéterminée. 2. Module selon la revendication 1, caractérisé en ce qu'il comporte un condensateur de stockage (24) de capacité suffisante pour alimenter les boîtiers de mémoire, monté en parallèle sur l'alimentation normale et la source locale (20). 3. Module selon la revendication 1 ou 2, caractérisé en ce que le connecteur comprend deux contacts de présence de module placés aux extrémités du connecteur, reliés en série, ledit terminal étant prévu pour vérifier la continuité de la liaison à travers ces contacts. 4. Module selon la revendication 3, caractérisé en ce que les contacts de présence de module sont prévus pour n'établir une liaison avec le circuit de détection prévu dans le terminal qu'une fois toutes les autres liaisons établies. 5. Module selon l'une quelconque des revendications précédentes, caractérisé en ce que l'interface de chaque cartouche comporte un ensemble d'identification de cartouche et d'isolement, comportant une logique à trois états (26) et un circuit d'interrogation et de décodage d'adresses (30,32) qui, au cours d'une première étape, met la logique dans un état passant pour permettre la transmission d'une adresse d'identification sur les fils de données du bus puis ramène la logique dans un état à haute impédance pour permettre les transactions normales sur le bus.