Brevet FR2774195A1 — publié le 19990730

CARTE A MICROPROCESSEUR COMPORTANT UN CIRCUIT DE COMMUNICATION CABLE L'invention concerne les cartes à microprocesseur qui sont capables d'effectuer des opérations sur des données fournies par des mémoires associées au microprocesseur ou par un terminal auquel elles sont connectées. De manière simplifiée, un microprocesseur 10 (figure unique) comprend une unité centrale 12 qui communique avec une mémoire de programmes 16, une mémoire de données 18 et une mémoire 14 du type RAM, RAM étant l'acronyme anglo-saxon pour "Random Access Memory". Ce microprocesseur 10 est connecté à un terminal 20 par l'intermédiaire d'une liaison 32 et d'une broche de contacts 22. Les signaux électriques qui sont appliqués par le terminal 20 sur la broche de contacts 22 sont analysés par le microprocesseur 10 à l'aide d'un programme particulier dit de communication qui est enregistré dans la mémoire de programmes 16, ce programme de communication étant adapté au protocole de communication qui régit les échanges d'informations entre la carte et le terminal dans les deux sens. L'analyse des signaux électriques appliqués à la broche de contacts 22 constitue une tâche relativement longue pour l'unité centrale 12, tâche qui mobilise une partie importante des mémoires. De manière similaire, la sortie des informations du microprocesseur 10 vers le terminal 20 par l'intermédiaire de la broche de contacts 22 mobilise également du temps de l'unité centrale et de la place dans les mémoires. Le but de la présente invention est donc de réaliser une carte à microprocesseur qui ne présente pas les inconvénients précités de manière à dégager du temps au microprocesseur pour d'autre tâches et pour libérer la capacité des mémoires pour ces autres taches. L'invention réside dans le fait que les communications entre le terminal et la carte à microprocesseur s'effectuent par l'intermédiaire d'un dispositif de communication, ledit dispositif étant sous forme de circuit câblé. L'invention a l'avantage de faciliter le développement d'une carte et notamment de réduire la durée et les frais de qualification de celle-ci, le dispositif de communication sous forme de partie indépendante pouvant être qualifié une fois pour toute. L'invention concerne une carte à microprocesseur et à contacts, caractérisée en ce que le microprocesseur communique avec un terminal par l'intermédiaire d'un dispositif de communication asynchrone, ledit dispositif de communication comprenant - un circuit d'analyse des signaux électriques transmis par le terminal de manière à fournir une série d'impulsions électriques, - un circuit de vérification de la série d'impulsions électriques pour déterminer l'intégrité de la série d'impulsions électriques et fournir un code indiquant l'état de la vérification, - un circuit de détermination de chaque caractère à partir des impulsions de la série, - une première pluralité de registres pour enregistrer les caractères de la commande et de l'adresse fournis par le circuit de détermination des caractères et les mettre à la disposition du microprocesseur, - une deuxième pluralité de registres pour enregistrer les caractères des données fournies par le circuit de détermination des caractères et les mettre à la disposition du microprocesseur, - un circuit d'accusé-réception de la commande, associé à la première pluralité de registres, pour analyser les caractères de la commande et fournir un code indiquant l'état de réception de la commande, - une troisième pluralité de registres pour enregistrer les codes des données et d'état d'exécution de la commande fournis par le microprocesseur, et - un circuit de transmission vers le terminal des codes fournis par le circuit de vérification, le circuit d'accusé-réception de la commande et la troisième pluralité de registres. L'invention sera mieux comprise à l'aide de la description suivante d'un exemple particulier de réalisation, ladite description étant faite en relation avec le dessin joint dans lequel la figure unique est un schéma fonctionnel d'une carte à microprocesseur présentant des caractéristiques de l'invention. Comme on l'a indiqué dans le préambule, une carte 30 à microprocesseur de l'art antérieur comprend essentiellement un microprocesseur 10 qui est connecté à un terminal 20 par l'intermédiaire d'une liaison bidirectionnelle 32, représentée en pointillés, et d'une borne de contacts 22. Les signaux électriques binaires qui sont appliqués par le terminal 20 sur les contacts 22 sont analysés directement par le microprocesseur 10. Par ailleurs, les signaux électriques binaires fournis par le microprocesseur 10 sont transmis au terminal 20 par l'intermédiaire de la liaison 32 et des contacts 22. Dans une telle architecture, le microprocesseur 10 intervient directement dans le processus de communication bidirectionnelle, ce qui présente certains inconvénients, notamment ceux exposés dans le préambule. Selon l'invention, le processus de communication bidirectionnelle est mis en oeuvre par un dispositif de communication 40, qui est disposé entre les bornes de contacts 22 et le microprocesseur 10. Le dispositif de communication 40 comprend - un circuit d'analyse 34 des signaux électriques appliqués par le terminal 20 sur la borne de contacts 22 de la carte 30 ; ce circuit 34 analyse les signaux électriques apparaissant sur les contacts 22 de manière à les présenter sous la forme d'une série d'impulsions électriques de type binaire - un circuit de vérification 36 de la série d'impulsions électriques binaires pour déterminer l'intégrité de la série d'impulsions électriques, c'est-à-dire pour vérifier si la série est complète conformément à des règles prédéterminées, par exemple par l'usage d'un chiffre binaire de parité ou d'un code redondant dans la série ; ce circuit de vérification 36 fournit un signal binaire ou un code binaire indiquant le résultat de cette vérification sur une liaison 50 - un circuit de détermination 38 de chaque caractère de la commande ou instruction, adresse ou donnée à partir des impulsions de la série vérifiée - une première pluralité de registres 42 pour enregistrer, d'une part, les caractères de la commande ou instruction et, d'autre part, les caractères de l'adresse, au fur et à mesure de leur détermination par le circuit de détermination 38 - une deuxième pluralité de registres 44 pour enregistrer les caractères des données fournis par le circuit de détermination 38 - un circuit d'accusé-réception 52 de la commande qui est associé à la première pluralité de registres 42 pour analyser les caractères de la commande ou instruction et fournir un signal ou code binaire indiquant la borne ou la mauvaise réception de la commande sur une liaison 54, - une troisième pluralité de registres 46 pour enregistrer, d'une part, les données fournies par le microprocesseur 10 et, d'autre part, les codes d'état indiquant les états d'exécution de la commande par le microprocesseur 10, et - un circuit de transmission 48 vers le terminal 10 par l'intermédiaire des contacts 22 des signaux et/ou codes fournis par le circuit de vérification 36 sur la liaison 50, par le circuit d'accusé-réception 52 sur une liaison 54 et par la troisième pluralité de registres 46 sur une liaison 56. Les différents circuits composant le dispositif de communication 40 sont adaptés au protocole de communication qui a été choisi. Ce protocole de communication est du type asynchrone et peut être celui connu sous l'appellation RS232, en ce qui concerne une liaison série couramment utilisé entre un ordinateur dit personnel et ses périphériques, ou sous les appellations V22, V23, etc ... en ce qui concerne la liaison par modem. Pour vérifier l'intégrité de la série d'impulsions, le terminal 20 doit être prévu pour ajouter une information redondante dans les signaux transmis, information que le circuit de vérification 36 est capable d'en vérifier la présence. Il peut s'agir de la présence d'un chiffre binaire ou bit de parité ou d'un code cyclique redondant. Il est à remarquer que de nombreux protocoles de communication prévoient une telle redondance pour vérifier l'intégrité de l'information transmise. Au cas où cette vérification n'aboutit pas, la commande n'est pas exécutée et cette décision est indiquée par un code sur la liaison 50. Cette vérification de l'intégrité ne concerne que la succession des chiffres binaires correspondant aux impulsions de la série ; la vérification de la commande est effectuée par le circuit d'accusé-réception 52 qui détermine que la commande est complète et correcte et l'indique sur la liaison 54 par un code particulier. En cas d'erreur, le circuit 52 peut l'indiquer par un autre code particulier. Ces codes particuliers sont transmis au circuit de transmission 48 mais aussi au circuit de détermination des caractères 38 pour lui indiquer, en cas d'accusé-réception correct, que les caractère suivants sont à aiguiller vers la deuxième pluralité de registres 44 prévus pour enregistrer les données qui sont transmises par le terminal après la commande si cette dernière a bien été reçue dans son intégralité. REVENDICATIONS 1. Carte (30) à microprocesseur (10) et à contacts (22), caractérisée en ce que le microprocesseur (10) communique avec un terminal (20) par 1 l'intermédiaire d'un dispositif de communication (40) sous forme de circuit câblé disposé entre les contacts (22) et le microprocesseur (10) et opérant selon un protocole de communication asynchrone avec vérification de l'intégrité des signaux transmis. 2. Carte selon la revendication 1, caractérisée en ce que ledit dispositif de communication (40) comprend - un circuit d'analyse (34) des signaux électriques transmis par le terminal (20) de manière à fournir une série d'impulsions électriques, - un circuit de vérification (36) de la série d'impulsions électriques pour déterminer l'intégrité de la série d'impulsions électriques et fournir un code (50) indiquant l'état de la vérification, - un circuit de détermination (38) de chaque caractère à partir des impulsions de la série, - une première pluralité de registres (42) pour enregistrer les caractères de la commande et de l'adresse fournis par le circuit de détermination (38) des caractères et les mettre à la disposition du microprocesseur (10), - une deuxième pluralité de registres (44) pour enregistrer les caractères des données fournies par le circuit de détermination (38) des caractères et les mettre à la disposition du microprocesseur (10), - un circuit d'accusé-réception de la commande (52), associé à la première pluralité de registres (42), pour analyser les caractères de la commande et fournir un code (54) indiquant l'état de réception de la commande, - une troisième pluralité de registres (46) pour enregistrer les codes des données et d'état d'exécution de la commande fournis par le microprocesseur (10), et - un circuit de transmission (48) vers le terminal (20) des codes fournis par le circuit de vérification (36), le circuit d'accusé-réception de la commande (52) et la troisième pluralité de registres (46). 3. Carte à microprocesseur et à contacts selon la revendication 2, caractérisée en ce que le circuit d'analyse (34) est apte à détecter les signaux transmis et à les présenter sous la forme d'une série d'impulsions électriques de type binaire. 4. Carte à microprocesseur selon la revendication 2 ou 3, caractérisée en ce que le circuit de vérification (36) est apte à vérifier la présence ou non d'un chiffre binaire de parité ou d'un code cyclique redondant et à fournir un signal ou code correspondant.