Brevet FR2772535A1 — publié le 19990618

INTERFACE DE COMMUNICATION AVEC UNE CARTE A PUCE ASYNCHRONE ET DISPOSITIF EQUIPE D'UNE TELLE INTERFACE L'invention concerne l'échange de données avec une carte à puce de type asynchrone. Elle a plus précisément pour objet une interface de communication perfectionnée entre une unité de traitement, type microprocesseur, et une carte à puce asynchrone. L'interface de communication de l'invention est destinée à être mise en oeuvre dans tout dispositif ayant pour fonction d'échanger, en émission et/ou en réception, des données avec une carte à puce asynchrone, et en particulier dans un lecteur, programmateur ou testeur de cartes à puce asynchrones. On distingue à ce jour deux types de cartes à puce, les cartes à puce dites synchrones et les cartes à puce dites asynchrones. Les cartes à puce synchrones comportent essentiellement de la mémoire, et ne sont s15 pas équipées de microprocesseur ou similaire. La lecture et l'écriture de données en mémoire sont synchronisées sur un ou plusieurs signaux appliqués à la carte. Les cartes à puce asynchrones sont équipées d'un microprocesseur associé à de la mémoire et à des entrée/sorties. Parmi les entrée/sorties d'une carte à puce asynchrone, on trouve essentiellement une ligne de communication série bidirectionnelle, pour l'échange de données en mode asynchrone avec un dispositif extérieur, et une ligne d'horloge (CK) qui permet d'appliquer à la carte un signal d'horloge extérieur, servant au cadencement du microprocesseur de la carte à puce. Les cartes à puce asynchrones regroupent à ce jour principalement les cartes bancaires et les cartes pour téléphone mobiles. Les cartes à puce asynchrones doivent à ce jour répondre à la norme internationale ISO 7816-3, en ce qui concerne leurs caractéristiques électriques. Conformément à cette norme, chaque octet est transmis en mode asynchrone sur la ligne de communication série, et est sérialisé selon le format suivant: un bit de départ (toujours à 0), huit bits de données DO à D7 ou D7 à DO (en logique positive ou négative), un bit de parité (paire ou impaire) et un bit d'arrêt. Chaque carte à puce asynchrone se caractérise en outre par une unité de temps élémentaire correspondant à la durée de transmission d'un bit sur la ligne de communication série. Cette unité de temps élémentaire est désignée ETU dans la norme précitée, et dépend pour une carte à puce donnée, d'un facteur (F/D) et de la fréquence (Fs) du signal d'horloge appliqué à la carte à puce. Plus précisément l'unité de temps élémentaire (ETU) en secondes d'une carte à puce asynchrone est donné par la formule: ETU = (F/D)/Fs. Chaque carte à puce asynchrone est paramétrée avec des valeurs prédéterminées pour les paramètres F et D. En particulier la norme précitée précise que le paramètre F peut prendre les valeurs 372, 558, 744, 1116, 1488, 1860, 512, 768, 1024, 1536, 2048, et que le paramètre D peut prendre les valeurs 1, 2, 4, 8, 16, 32, 20, 1/2, 1/4, 1/8, 1/16, 1/32, 1/64. Avec certains types de cartes à puce asynchrones, les valeurs des paramètres F et D peuvent en outre être modifiées, ce qui permet avantageusement de modifier la vitesse de dialogue de la carte à puce. L'échange de données, en réception et/ou émission, entre d'une part un dispositif externe mettant en oeuvre un microprocesseur, tel qu'un lecteur, programmateur ou testeur de cartes à puce, et d'autre part une carte à puce asynchrone, peut être réalisée à ce jour de deux manières différentes: au moyen d'un traitement purement logiciel mis en oeuvre par le microprocesseur du dispositif externe ou en mettant en oeuvre entre le microprocesseur du dispositif externe et la carte à puce une interface électronique conçue pour gérer la communication avec la carte à puce, via la ligne de communication série de la carte à puce. S'agissant d'un traitement purement logiciel, le microprocesseur du dispositif externe doit connaître l'unité de temps élémentaire (ETU) de la carte à puce. En réception, le logiciel mis en oeuvre par le microprocesseur du dispositif externe est par exemple conçu pour scruter la ligne de communication série de la carte à puce, pour détecter le premier bit de départ envoyé par la carte à puce sur la ligne de communication série, pour prendre, à partir de la détection du bit de départ, l'état de la ligne de communication série à intervalle de temps prédéterminés correspondant à la valeur de l'unité de temps élémentaire (ETU) de la carte à puce, et enfin pour sérialiser en réception les bits reçus et reconstituer l'octet (bits de données DO à D7) émis par la carte. La mise en oeuvre d'un traitement de type logiciel nécessite de simuler des temporisations logiciels calibrées en fonction de la fréquence du signal d'horloge appliqué à la carte à puce et des paramètres F et D, c'est-à-dire en fonction de l'unité de temps élémentaire (ETU) pour laquelle la carte à puce est configurée. En outre avec un traitement logiciel, la sérialisation des bits par exemple pour reconstituer un octet en réception est réalisable avec une unité de temps élémentaire (ETU) importante, et par exemple égale à 104ps, ce qui correspond à une vitesse de transmission usuelle de 9600 bauds, mais pose des problèmes avec des unités de temps élémentaires plus faibles, notamment de l'ordre de quelques microsecondes. Il faut en effet que la puissance de traitement du microprocesseur soit suffisante pour dérouler les instructions du logiciel dans le temps imparti par la vitesse de dialogue avec la carte à puce. Pour cette raison, la solution du traitement logiciel pour gérer l'échange de données avec la carte à puce est adaptée uniquement pour des applications mettant en oeuvre des vitesses de dialogue avec la carte à puce qui sont faibles. Pour dialoguer avec une carte à puce à des vitesses plus élevées, c'est-à-dire en d'autres termes avec une carte à puce configurée avec une unité de temps élémentaire plus faible, on préfère adopter la seconde solution, à savoir la mise en oeuvre entre le microprocesseur du dispositif externe et la carte à puce d'une interface électronique conçue pour gérer la communication avec la carte à puce, via la ligne de communication série de la carte à puce. A la connaissance de la demanderesse, toutes les interfaces de communication avec une carte à puce asynchrone connues à ce jour mettent en oeuvre des moyens de sérialisation des données, qui permettent en réception de reconstituer un octet et en émission de décomposer un octet, et qui sont constitués par un composant standard, du type ACIA, EPCI. , qui est dédié à la sérialisation en mode asynchrone, et qui est associé à un quartz ou oscillateur pour le cadencement de son fonctionnement. A ce jour, le composant standard dédié à la sérialisation des données est donc cadencé par un premier signal d'horloge ayant une fréquence fixe prédéterminée et fourni par le quartz ou oscillateur associé au composant, et le microprocesseur de la carte à puce est cadencé à partir d'un second signal d'horloge externe appliqué sur la ligne d'horloge (CK) de la carte à puce; ces deux signaux d'horloge sont distincts, et qui plus est, compte-tenu des microprocesseurs mis en oeuvre à ce jour dans les cartes à puce asynchrones et des composants de sérialisation standards (ACIA, EPCI, ) existants sur le marché, présentent des fréquences qui sont..DTD: totalement différentes, et dont l'une n'est pas un multiple de l'autre. Les composants standards du marché dédiés à la sérialisation asynchrone intègrent généralement des diviseurs d'horloge programmables et peuvent ainsi fonctionner, à partir du signal d'horloge de fréquence fixe qui leur est appliqué pour leur cadencement, avec différentes vitesses de transmission, qui correspondent aux vitesses usuelles entre ordinateurs, c'est-à-dire en pratique à des vitesses de 300, 600, 9600, 19200, 38400 et 115200 bauds. La programmation de la vitesse de transmission du composant à l'une des valeurs précitées est de manière usuelle réalisée en initialisant un paramètre à une valeur prédéterminée dans un registre du composant. Ainsi, dans les interfaces de communication précitées connues à ce jour, pour permettre le dialogue entre le composant standard dédié à la sérialisation et la carte à puce, il est nécessaire de programmer d'une part la vitesse de communication du composant standard et d'autre part l'unité de temps élémentaire (ETU) de la carte à puce à des valeurs qui soient compatibles. Il en résulte que le principal inconvénient des interfaces de communication connues à cejourest qu'elles autorisent un dialogue avec une carte à puce asynchrone uniquement à des vitesses de transmission déterminées qui peuvent prendre uniquement un nombre très limité de valeurs, et qui de surcroît sont relativement faibles, et ne permettent notamment pas de dialoguer avec la carte à puce, au maximum de la capacité de transmission du microprocesseur de la carte à puce asynchrone. Par exemple pour une fréquence d'horloge appliquée à la carte à puce de 3,57 MHz, et des paramètres F et D valant respectivement 372 et 1, I'unité de temps élémentaire de la carte à puce vaut 104pus, ce qui correspond à une vitesse de transmission de 9600 bauds; cette vitesse de transmission est compatible avec les valeurs usuelles de transmission d'un composant standard de sérialisation, et il est possible de programmer le composant standard, en tenant compte de la fréquence du quartz ou de l'oscillateur cadençant le composant, en sorte de régler la vitesse de transmission de ce composant à 9600 bauds. En revanche, si l'on cherche par exemple à dialoguer avec une carte à puce configurée avec une unité de temps élémentaire nettement plus faible, et par exemple valant 4,65ps (horloge appliquée à la carte à puce valant 5MHz, et paramètres F et D valant respectivement 372 et 16), ce qui correspond à une vitesse de transmission de 215000 bauds, il n'est dans ce cas plus possible de programmer un composant standard de sérialisation pour obtenir une telle vitesse de transmission. La présente invention a pour principal but de proposer une interface de communication entre une unité de traitement, de type microprocesseur, et une carte à puce asynchrone, qui permet de pallier l'inconvénient précité des interfaces connues à ce jour. De manière usuelle, I'interface de l'invention comporte une ligne de communication série, de préférence bidirectionnelle, pour l'échange de données en mode asynchrone avec la carte à puce, des moyens de sérialisation en mode asynchrone des bits échangés sur la ligne de communication série, et une horloge délivrant un signal d'horloge qui sert à cadencer les moyens de sérialisation. De manière caractéristique selon l'invention, la fréquence du signal d'horloge cadençant les moyens de sérialisation est réglable et l'interface comporte une sortie par laquelle transite ce signal d'horloge ou un signal synchrone avec ce signal d'horloge et qui est prévue pour être connectée à la broche d'horloge (CK) de la carte à puce pour permettre le cadencement du microprocesseur de la carte à puce asynchrone. Avantageusement, avec l'interface de l'invention, en réglant la fréquence de l'horloge de l'interface, on règle automatiquement l'unité de temps élémentaire (ETU) de la carte à puce et parallèlement la vitesse de traitement des moyens de sérialisation de l'interface. Pour modifier la vitesse de dialogue avec la carte à puce, il suffit donc simplement de régler la fréquence du signal de l'horloge de l'interface. En choisissant une horloge réglable de manière continue ou quasi- continue dans une plage de fréquences appropriée, et par exemple une horloge programmable entre 0 et 20 MHz, il devient possible d'échanger des données avec la carte à puce avec des vitesses de dialogue quelconques, pouvant être différentes des seules vitesses standards de communication, et qui plus est de dialoguer avec la carte à puce à vitesse élevée. Un autre avantage de l'interface de l'invention est qu'elle permet de s'affranchir des erreurs de transmission en cas de fluctuation ou défaut de précision du signal d'horloge, comparativement à l'utilisation, dans les interfaces connues à ce jour, de deux signaux d'horloge distincts pour le cadencement respectivement des moyens de sérialisation et du microprocesseur de la carte à puce. Les possibilités d'échange de données à des vitesses élevées et facilement réglables qui sont offertes par l'interface de l'invention sont plus particulièrement intéressantes dans deux types d'applications. La première application est le test de la vitesse maximale limite de dialogue d'une carte à puce asynchrone. Il suffit dans cette première application de dialoguer avec la carte à puce en augmentant progressivement la fréquence de l'horloge de l'interface, jusqu'à ce que la carte à puce décroche, ce qui permet de connaître la fréquence maximale effective applicable à la carte à puce. La seconde application se situe au stade de la production des cartes à puce asynchrones, et plus particulièrement lors de l'étape de configuration (pré- personnalisation ou personnalisation) des cartes à puce par chargement de données en mémoire et en particulier des données nécessaires au fonctionnement du programme résident de la carte à puce et/ou à la sécurité du fonctionnement de la carte à puce. L'échange de données à vitesse élevée avec la carte à puce rendu possible par l'interface de l'invention permet avantageusement d'accélérer la vitesse de chargement des cartes à puce, et par là-même d'augmenter très sensiblement les cadences de production des cartes à puce asynchrones. D'autres caractéristiques et avantages de l'invention apparaîtront plus clairement à la lecture de la description qui va à présent être faite d'un exemple préféré de réalisation de l'invention, laquelle description est donnée à titre d'exemple non limitatif et en référence à l'unique figure annexée illustrant un synoptique de l'architecture électronique d'un dispositif, qui a pour fonction d'échanger des données en lecture ou en écriture avec une carte à puce asynchrone, et qui équipé d'une interface de communication de l'invention. Le dispositif illustré à la figure 1 comprend essentiellement une carte électronique 1 à base d'un microprocesseur la, d'architecture usuelle, et une interface de communication 2 conforme à l'invention, permettant au microprocesseur la d'échanger des données en émission ou réception avec une carte à puce asynchrone (non représentée). D'une manière plus générale, le microprocesseur la pourrait être constitué par toute unité de traitement conçue pour dialoguer avec une carte à puce asynchrone en émission et/ou réception. Pour l'échange de données, l'interface 2 comporte de manière usuelle une ligne de communication série asynchrone 3 bidirectionnelle connectée à une sortie 3a de l'interface 2. En fonctionnement, c'est-à-dire lorsque la carte à puce asynchrone est connectée à l'interface 2, la sortie 3a est reliée à la broche (I/O) de la carte à puce asynchrone dédiée à l'émission ou à la réception en mode série asynchrone de données. Dans ce qui suit, il est considéré que les données échangées sur la ligne de communication série asynchrone 3 sont sérialisées selon le format de la norme internationale ISO 7816-3: 1 bit de départ (toujours à O), 8 bits de données DO à D7 ou D7 à DO, un bit de parité et un bit d'arrêt. Bien entendu, I'invention n'est pas limitée à ce type de format, et peut notamment être mise en oeuvre pour transmettre une donnée qui n'est pas nécessairement un octet, mais qui peut être constitué d'un nombre quelconque de bits de données. Pour permettre l'échange de données entre le microprocesseur 1 a et la carte à puce asynchrone, I'interface 2 comporte un certain nombre de moyens de sérialisation en mode asynchrone des données échangées. Ces moyens de sérialisation sont par ailleurs déjà connus et vont à 2 0 présent être décrits de manière très succincte. Ces moyens de sérialisation comportent essentiellement deux modules, un premier module 4a dédié à l'émission de données par le microprocesseur en direction de la carte à puce asynchrone via la ligne de communication série asynchrone 3, et un second module 4b dédié à la réception par le microprocesseur la de données émises par la carte à puce asynchrone et reçues par l'interface via sa ligne de communication asynchrone 3. Le module d'émission 4a comprend successivement, et de manière usuelle, un registre d'émission 5, un module 6 ayant pour fonction d'ajouter un bit de parité à la donnée (DO-D7) issue du registre 5, et un module 7 dit de sérialisation en émission. Le registre d'émission 5 est de manière usuelle adressable en écriture par le microprocesseur la, au moyen d'un bus de données (lb), d'un bus d'adresse (lc) et d'un bus de contrôle (ld). Le module 7 a pour fonction d'émettre successivement, sur la ligne de communication série asynchrone 3, à une cadence fixée par un signal d'horloge (H), les bits de données (DO-D7) et de parité, issus du module 6, en insérant en outre les bits de départ et d'arrêt. Le module de réception 4b comprend un module 8 dit de sérialisation en réception des données, qui a pour fonction d'échantillonner, à une cadence fixée par l'horloge H, les bits transitant sur la ligne de communication série asynchrone 3, et de reconstituer en sortie une donnée (DO-D7) au format approprié. En sortie du module 8, la donnée (DO-D7) reconstituée est chargée dans un registre de réception 9 qui est de manière usuelle adressable en lecture par le microprocesseur la. Outre les deux modules d'émission et de réception 4a et 4b, les moyens de sérialisation comportent en outre un séquenceur 10 délivrant deux signaux de commande 1Oa, lOb à destination respectivement des modules d'émission 4a et de réception 4b. Ce séquenceur 10 reçoit en entrée un signal d'acquittement 1 Oc, qui est émis par le module 8. Le séquenceur peut être commandé par le microprocesseur la via un registre de commande 11 qui est adressable en lecture et écriture par le microprocesseur la. L'émission ou la réception de données via la ligne de communication série asynchrone 3 est réalisée de la manière suivante. En émission, le microprocesseur charge la donnée (DO à D7) à émettre dans le registre d'émission 5 et commande le séquenceur 10 en chargeant la donnée de commande appropriée dans le registre de commande 1 1. Le séquenceur 10 commande le module émission 4a via le signal de commande 1 Oa. La donnée (DO-D7) chargée dans le registre d'émission 5 est transmise en série sur la ligne de communication série asynchrone 3 à une cadence d'émission fixée par la fréquence du signal d'horloge H. En réception, après détection par l'interface 2 d'un bit de départ par des moyens décrits ultérieurement, les moyens de sérialisation en réception 8 reconstituent, à une cadence de réception fixée par le signal d'horloge H, la donnée (DO-D7) reçue en série via la ligne de communication série asynchrone 3, chargent la donnée (DO-D7) reconstituée dans le registre de réception 9, et avertissent le séquenceur 10 de la réception et du chargement de la donnée via le signal d'acquittement 1 Oc. Le séquenceur 10 avertit le microprocesseur 1 a de la réception de la donnée en chargeant la donnée de commande appropriée dans le registre 11 qui est lu périodiquement par le microprocesseur 1 a. Lorsque le microprocesseur 1 a détecte via le registre 11 qu'une donnée a été reçue et chargée dans le registre de réception 9, il récupère cette donnée via le bus de données lb. La caractéristique essentielle de l'invention réside dans la mise en oeuvre des signaux d'horloge d'une part pour le cadencement des modules d'émission et de réception 4a et 4b et d'autre part pour le cadencement du fonctionnement du microprocesseur de la carte à puce asynchrone. Un exemple préféré de mise en oeuvre va être à présent décrit. Si l'on se réfère à l'exemple préféré de réalisation de la figure 1 annexée, I'interface 2 comporte un générateur d'horloge 12, qui est programmable par le microprocesseur la via une liaison série synchrone constituée d'une ligne de données le et d'une ligne d'horloge 1f. Le générateur d'horloge 12 délivre un signal d'horloge 1 2a dont la fréquence est programmable par le microprocesseur la dans une plage prédéterminée. Dans un exemple précis de réalisation, le générateur d'horloge 1 2 était constitué par un composant standard commercialisée sous la référence FOX6053 et permettant d'obtenir en sortie un signal d'horloge 1 2a dont la fréquence pouvait être programmée à une valeur quelconque avec une erreur de l'ordre de 1%, entre quelques centaines de Hertz et 120MHz. L'interface 2 comprend en outre un diviseur 3 délivrant à partir du signal 12a, le signal d'horloge H cadencant les modules de sérialisation ou émission 7 et en réception 8. Ce signal d'horloge H délivré par le diviseur 13 est synchrone avec le signal 1 2a délivré par le générateur d'horloge 12 et présente une fréquence inférieure dont la valeur correspond à la division de la fréquence du signal d'horloge 1 2a par une donnée chargée dans un registre de programmation 14. Avantageusement, ce registre 14 est adressable en écriture par le microprocesseur la, de telle sorte que le rapport de fréquence entre les signaux d'horloge synchrones H et 12a peut être programmé par le microprocesseur la. Le diviseur programmable 13 reçoit en outre en entrée un signal de synchronisation 1 5a délivré par un module 15 ayant pour fonction de détecter la réception d'un bit de départ sur la ligne de communication série asynchrone 3. En particulier, lorsque la carte à puce asynchrone émet une donnée série, elle commence par émettre sur la ligne de communication série 3 un bit de départ. Le module 15 détecte le changement d'état de la ligne 3 correspondant à l'émission par la carte à puce d'un bit de départ, et synchronise le fonctionnement du diviseur 13 sur ce bit de départ. Le signal d'horloge 1 2a délivré par le générateur d'horloge programmable 12 est en outre relié à une broche de sortie 17 de l'interface 2, laquelle broche de sortie est destinée à être connectée à la broche d'horloge (CK) de la carte à puce asynchrone, c'est-à-dire à la broche de la carte à puce asynchrone sur laquelle doit être appliqué le signal d'horloge externe servant au cadencement du microprocesseur de la carte à puce. Entre la broche 17 et le générateur d'horloge 12 est prévue une interface 16 permettant d'adapter le niveau logique (TTL) du signal 12a en un signal analogique dont la tension est compatible avec les niveaux de tension usuels admis par la broche (CK) d'une carte à puce asynchrone. Il est essentiel selon l'invention que le signal d'horloge destiné à être appliqué à la carte à puce asynchrone via la broche 17 et le signal d'horloge H délivré par le diviseur 13 pour cadencer les moyens de sérialisation 7 et 8 soient synchrones avec le même signal d'horloge 1 2a, dont la fréquence est en outre programmable. L'échange de données sur la ligne de communication série asynchrone 3 devient ainsi synchrone par rapport au signal d'horloge 12a délivré par le générateur d'horloge programmable 12, et n'est en outre pas perturbé en cas de fluctuation de la fréquence du signal d'horloge 12a. Il est par conséquent avantageusement possible de faire dialoguer le microprocesseur 1 a avec la carte à puce asynchrone avec des vitesses de transmission quelconques dans la plage de fréquence du générateur d'horloge 12, la vitesse de transmission correspondant à la fréquence du signal d'horloge H. Pour modifier la vitesse de dialogue, il suffit au microprocesseur l a d'agir sur la fréquence du signal d'horloge 1 2a en programmant avec une nouvelle valeur de fréquence le générateur d'horloge programmable 12. Plus particulièrement,le dialogue avec la carte à puce peut être réalisé à des vitesses élevées allant jusqu'à la limite de la vitesse de dialogue du L5 microprocesseur de la carte à puce asynchrone. De manière usuelle, une carte à puce asynchrone est apte à échanger des données en mode asynchrone via sa broche (I/O) avec un temps élémentaire de transmission d'un bit communément appelé (ETU) qui est paramétrable et qui vaut (F/D/Fs). Le facteur (F/D) est paramétrable au niveau de la carte à puce, et le facteur (Fs) correspond à la fréquence du signal d'horloge externe que l'on applique sur la broche d'horloge (CK) de la carte à puce pour cadencer le fonctionnement du microprocesseur de la carte à puce. Dans un exemple préféré de réalisation, le registre de programmation 14 pour la programmation du diviseur 13 est chargé par le microprocesseur la avec une donnée correspondant à la valeur du facteur (F/D) à laquelle est paramétrée la carte à puce asynchrone avec laquelle le microprocesseur la doit échanger des données. Il convient de noter que l'interface de communication de lI'invention n'est pas limitée à l'exemple préféré de réalisation qui vient d'être décrit. La ligne de communication série asynchrone n'est pas limitée à une ligne bidirectionnelle et peut être décomposée en deux lignes unidirectionnelles dédiées respectivement à l'émission et à la réception de données. Dans l'exemple de réalisation qui a été décrit, le signal d'horloge délivré par la broche 17 présente la même fréquence que le signal d'horloge 1 2a délivré par le générateur d'horloge programmable 12. Ceci n'est toutefois pas limité à l'invention. Dans une autre variante, il est envisageable que la fréquence du signal d'horloge délivré par la broche 17 soit un multiple de la fréquence du signal d'horloge 1 2a, un diviseur de fréquence étant par exemple interposé entre la broche 17 et le signal d'horloge 1 2a. La seule caractéristique nécessaire de l'invention au regard du signal d'horloge délivré par la broche 17 est que ce signal d'horloge soit synchrone avec le signal d'horloge 12a. Le générateur d'horloge programmable 12 n'est pas nécessairement programmable par le microprocesseur la, mais pourra d'une manière générale être constitué par tout générateur d'horloge conçu pour délivrer un signal d'horloge 1 2a dont la fréquence est réglable dans une plage donnée de fréquences. L'interface de l'invention présente plus particulièrement un certain nonmbre de fonctionnalités additionnelles avantageuses qui vont à présent être décrites. La première de ces fonctionnalités est le comptage d'unités 2 0 de temps élémentaires (ETU) pour le microprocesseur la. Cette fonctionnalité est mise en oeuvre au moyen d'un compteur 18 qui peut être initialisé par le microprocesseur la via un signal de remise à zéro 1 g, et qui est incrémenté respectivement décrémenté par le signal d'horloge H délivré par le diviseur programmable 13. A chaque front montant (ou descendant) du signal d'horloge H correspond une unité de temps élémentaire (ETU) de la carte à puce asynchrone. Le compteur 1 8 est associé à un registre de comptage 19, qui est adressable en écriture par le microprocesseur la, et qui est destiné à contenir la valeur finale (respectivement initiale) du compteur 18. Lorsque la valeur courant du compteur 18 est égale à la valeur chargée dans le registre de comptage 19 (respectivement 8b nulle), le compteur génère une interruption via le signal 18a à destination du microprocesseur la. La mise en oeuvre ducompteur 18 programmable par le microprocesseur la, simplifie avantageusement pour le microprocesseur la le calcul de paramètres propres au dialogue et dont la base de temps est l'unité de temps élémentaire (ETU) de la carte à puce (temps inter- caractères, délais d'attente, etc...). Une deuxième fonctionnalité additionnelle de l'interface illustrée à la figure 1 est le forçage de la ligne de communication série asynchrone 3 pendant une durée prédéterminée en cas de détection d'une erreur de transmission en réception. La mise en oeuvre de cette fonctionnalité est réalisée par les modules 20 et 21. Le module 20 est un module de test de parité, c'est-à-dire un module vérifiant si le bit de parité échantillonné sur la ligne 3 par les moyens de sérialisation en réception 8 est à la bonne valeur. En cas d'erreur détectée, le module 20 commande le module 21 qui a pour fonction de forcer la ligne de communication série 3 pendant une durée prédéterminée. De préférence, la détection du bit de parité par le module 20 est réalisée après réception du bit d'arrêt par les 'moyens 8 et forçage intervient après une durée correspondant à ,5 ETU après la détection du bit de départ sur la ligne 3 par le module 15. Le forçage de la ligne 3 est détecté par la carte à puce asynchrone qui peut dans ce cas réitérer l'émission de la donnée dont la réception a été défectueuse. La troisième fonctionnalité de l'interface de la figure 1 est liée à la détection d'une erreur de transmission à l'émission, et est mise en oeuvre principalement par le module 22 qui a pour fonction de tester l'état de la ligne de communication série asynchrone 3 sur commande des moyens de sérialisation en émission 7 via un signal de commande 7a. Plus particulièrement, lorsque les moyens de sérialisation 7 ont émis sur la ligne de communication série 3 le dernier bit à transmettre, c'est-à- dire dans le cas de la norme internationale ISO 7816-3 le onzième et dernier bit correspondant au bit d'arrêt, ledit moyen 7 commande le module 22 pour la détection de l'état de la ligne d'entrée-sortie. Si l'état de la ligne d'entrée-sortie n'est pas conforme, c'est-à-dire dans le cas de la norme internationale ISO 7816-13, si l'état de la ligne 3 vaut O, le module 22 génère une erreur en modifiant la valeur d'un bit dans un registre d'état 23 qui est adressable en lecture par le microprocesseur la, en vue du traitement logiciel par le microprocesseur la de l'erreur en émission qui a été détectée. REVENDICATIONS 1. Interface de communication (2) entre une unité de traitement (la) et une carte à puce asynchrone comportant un microprocesseur et une broche d'horloge (CK) pour l'application d'un signal d'horloge externe permettant le cadencement du microprocesseur de la carte à puce, l'interface comportant une ligne de communication série (3) pour l'échange de données en mode asynchrone avec la carte à puce, des moyens de sérialisation en mode asynchrone des bits échangés sur la ligne de communication série, et une horloge délivrant un premier signal d'horloge (12a) qui sert à cadencer les moyens de sérialisation (7;8), caractérisée en ce que la fréquence du premier signal d'horloge (12a) cadençant les moyens de sérialisation est réglable et l'interface comporte une sortie (17) qui est prévue pour être connectée à la broche d'horloge (CK) de la carte à puce et par laquelle transite le premier signal d'horloge s5 (1 2a) ou un signal d'horloge synchrone avec ce premier signal d'horloge (1 2a). 2. Interface selon la revendication 1 caractérisée en ce que le premier sigrial d'horloge (1 2a) est délivré par un générateur d'horloge (12) programmable sur une plage de fréquences donnée. 3. Interface selon la revendication 1 ou 2 caractérisée en ce qu'elle comporte un diviseur (13) délivrant à partir du premier signal d'horloge (12a) un second signal d'horloge (H) pour le cadencement des moyens de sérialisation (7;8) qui est synchrone avec le premier signal d'horloge (1 2a), avec un rapport de la fréquence du premier signal d'horloge (1 2a) par rapport au second signal d'horloge (H) qui est programmable. 4. Interface selon la revendication 3 conçue pour échanger des données avec une carte à puce asynchrone programmée pour recevoir ou émettre des données avec un temps élémentaire de transmission d'un bit (ETU) valant [F/D/FS], le facteur (F/D) de la carte à puce étant programmé à une valeur donnée, et le facteur (FS) correspondant à la fréquence du signal d'horloge externe destiné à être appliqué sur la broche horloge (CK) de la carte à puce pour en cadencer le fonctionnement, caractérisée en ce que le signal d'horloge transitant par la sortie ( 17) de l'interface est constitué par le premier signal d'horloge (12a), et le diviseur (13) est programmé avec le même rapport de fréquence (F/D) que la carte à puce. s 5. Interface selon la revendication 4 caractérisée en ce qu'elle comprend un compteur (18) d'ETU conçu pour être incrémenté (ou décrémenté) par le second signal d'horloge (H). 6. Interface selon l'une quelconque des revendications 1 à 5 caractérisée en ce qu'elle comprend des moyens (20,21) de forçage de l'état de la ligne de communication série asynchrone (3), sur détection d'une erreur de transmission en réception. 7. Interface selon l'une quelconque des revendications 1 à 6 caractérisée en ce qu'elle comprend des moyens (22) ayant pour fonction de tester l'état de la ligne de communication série asynchrone (3), après chaque émission d'une donnée par les moyens de sérialisation en émission (7), et de générer une erreur en cas de détection d'un état erroné de la ligne (3). 8. Dispositif comportant une unité de traitement (la) ayant pour fonction d'échanger des données en émission et/ou réception avec une carte à puce asynchrone caractérisé en ce qu'il est équipé d'une interface de communication selon l'une quelconque des revendications 1 à 5. 9. Dispositif selon la revendication 8 équipé d'une interface de communication selon la revendication 2, caractérisé en ce que l'unité de traitement (la) est apte à programmer le générateur d'horloge (12). 10. Dispositif selon la revendication 8 équipé d'une interface visée à la revendication 3 ou 4, caractérisé en ce que l'unité de traitement (la) est apte à programmer le rapport de la fréquence entre le premier signal d'horloge (12a) et le second signal d'horloge (H).