Brevet FR2797965A1 — publié le 20010302

La présente invention concerne un procédé permettant à une carte à puce d'échanger des données avec un appareil, ledit appareil comportant un oscillateur, dit permanent, destiné à fournir à la carte à puce un signal d'horloge dit permanent dans un régime de fonctionnement permanent. Une carte à puce présente, disposé sur sa surface, un circuit intégré muni de bornes destinées à être mises en contact électrique avec des bornes d'un connecteur inclus dans l'appareil, qui est le plus souvent un appareil destiné à recevoir et/ou émettre des données, comme un radiotéléphone portable, ou un ordinateur relié à un réseau, ou encore un décodeur de signaux de télévision. Le circuit intégré contient en général des données nécessaires au fonctionnement de l'appareil, par exemple un code permettant d'identifier l'utilisateur qui a inséré la carte à puce dans l'appareil, et les fonctions que l'appareil est autorisé à remplir pour cet utilisateur. Les interactions entre l'appareil et la carte à puce sont décrites dans une norme ISO/IEC 7816- 3:1997. Une phase dite d'activation de la carte à puce se déroule en deux temps: dans un premier régime de fonctionnement, dit régime de fonctionnement transitoire, le système constitué par l'association de la carte à puce avec l'appareil n'est pas encore opérationnel. L'appareil doit d'abord détecter la présence de la carte à puce, puis placer le circuit intégré présent à la surface de celle-ci dans ses conditions de fonctionnement nominales, c'est-à-dire, entre autres, lui fournir une tension d'alimentation ou encore initialiser des chemins de données pour que le circuit intégré puisse communiquer avec l'appareil. Dans un deuxième régime de fonctionnement, dit régime de fonctionnement permanent, le circuit intégré est alimenté en tension et reçoit un signal d'horloge permanent à une fréquence dite opérationnelle, et les chemins de données sont prêts à véhiculer des informations entre le circuit intégré et l'appareil. Au cours du régime de fonctionnement transitoire, le circuit intégré doit recevoir un signal d'horloge transitoire, dont la fréquence peut être différente de la fréquence opérationnelle. Il est préférable d'utiliser un signal ayant une fréquence, dite transitoire, inférieure à la fréquence opérationnelle, ce qui permet de réduire la consommation d'énergie du circuit intégré pendant le régime transitoire. Un tel choix est particulièrement avantageux dans des applications o la source d'énergie utilisée pour fournir au circuit intégré sa tension d'alimentation est une batterie, comme c'est généralement le cas pour un appareil portable. Le système doit donc effectuer, à la fin du régime de fonctionnement transitoire, une commutation du signal acheminé en guise de signal d'horloge au circuit intégré présent à la surface de la carte à puce. Cette commutation est réalisée par un dispositif d'aiguillage qui, lorsqueil en reçoit l'ordre, remplace le signal d'horloge transitoire, qui constituait le signal d'horloge du circuit intégré au cours du régime de fonctionnement transitoire, par le signal d'horloge permanent destiné à constituer le signal d'horloge du circuit intégré pendant le régime de fonctionnement permanent. La norme ISO/IEC 7816-3:1997 décrit succinctement une séquence de désactivation de la carte à puce. Une telle désactivation est opérée après la conclusion d'un échange de données entre l'appareil et le circuit intégré présent à la surface de la carte à puce, c'est-à-dire après que le régime permanent soit parvenu à son terme. Une désactivation de la carte à puce doit également être opérée lorsque l'alimentation en énergie de l'appareil est interrompue intempestivement avant le terme du régime permanent, soit par l'utilisateur lui-même, soit par accident. La séquence de désactivation décrite par la norme ISO/IEC 7816-3:1997 prévoit, sans plus de précisions, que le signal d'horloge fourni par l'appareil au circuit intégré doit être placé et maintenu dans un état bas, matérialisé par un niveau logique 0. Or, si l'interruption de l'alimentation en énergie de l'appareil est intempestive, l'échange de données entre l'appareil et le circuit intégré risque de n'être pas encore arrivé à son terme lorsque la désactivation décrite ci-dessus est opérée. Cela signifie que quelques impulsions d'horloge sont encore nécessaires au circuit intégré, par exemple pour achever des opérations de lecture/écriture d'une mémoire non-volatile incluse dans le circuit intégré. Une disparition pure et simple du signal d'horloge, telle celle décrite dans la norme ISO/IEC 7816-3:1997, risque donc de provoquer des pertes d'informations menant à un contenu erroné des informations mémorisées dans le circuit intégré. Ceci n'est pas acceptable, particulièrement compte tenu du fait que les informations mémorisées dans le circuit intégré d'une carte à puce servent généralement à sécuriser et/ou à facturer des transactions financières ou des communications. La présente invention a pour but de remédier à ces inconvénients en proposant un procédé de désactivation permettant au circuit intégré présent à la surface de la carte à puce de mener à leur terme toutes les opérations de lecture/écriture qui sont en cours au moment o une interruption de l'alimentation en énergie de l'appareil se produit. En effet, un procédé conforme au paragraphe introductif est caractérisé selon l'invention en ce quil comporte les étapes suivantes: détection, au cours du régime de fonctionnement permanent, d'une disparition imminente du signal d'horloge permanent avant que ladite disparition ne se produise effectivement, 30. substitution d'un signal d'horloge auxiliaire au signal d'horloge permanent. Conformément à ce procédé, le signal d'horloge permanent est remplacé, avant sa disparition effective, par un signal d'horloge auxiliaire. Le circuit intégré présent à la surface de la carte à puce reçoit ainsi, après la disparition du signal d'horloge permanent, un nombre suffisant d'impulsions d'horloge pour mener à leur terme toutes les opérations de lecture/écriture en cours. Dans une variante de l'invention, le signal d'horloge auxiliaire est constitué par le signal d'horloge transitoire, ce qui permet d'éviter de recourir à un oscillateur supplémentaire. Dans une autre variante de Invention, le procédé décrit ci-dessus comporte, insérée avant l'étape de substitution du signal d'horloge auxiliaire au signal d'horloge permanent, une étape de synchronisation desdits signaux. Une telle synchronisation permet d'éviter qu'un front actif d'horloge ne parvienne de manière intempestive au circuit intégré présent à la surface de la carte à puce. Un tel front intempestif se produirait si un front actif du signal d'horloge transitoire apparaissait avant un front actif du signal d'horloge permanent, après que la substitution du signal d'horloge transitoire au signal d'horloge permanent ait été opérée, mais suffisamment tôt pour que ledit front actif du signal d'horloge transitoire ne puisse être pris en compte par le circuit intégré, du fait notamment de l'existence de chemins critiques trop longs au sein dudit circuit intégré. Dans une autre variante de linvention, le procédé décrit plus haut est caractérisé en ce que la détection consiste en une comparaison de la valeur d'une tension d'alimentation de l'appareil avec une valeur prédéterminée. Dans une autre variante de Invention, le procédé décrit plus haut est caractérisé en ce que la détection consiste en une comparaison de la valeur de l'amplitude du signal d'horloge permanent avec une valeur prédéterminée. Linvention concerne également un appareil destiné à mettre en ceuvre ce procédé, lequel appareil comprend: un connecteur destiné à être relié électriquement à un circuit intégré présent à la surface de ladite carte à puce, et présentant au moins une borne, dite d'horloge, destinée à délivrer audit circuit intégré un signal d'horloge, un microcontrôleur destiné à échanger des données avec ledit circuit intégré, un oscillateur, dit permanent, destiné à générer un signal d'horloge permanent, le module dinterface comportant de plus un dispositif d'aiguillage destiné à acheminer vers la borne d'horloge le signal d'horloge permanent dans un régime de fonctionnement permanent, appareil caractérisé en ce qu'il comprend en outre: des moyens de détection d'une disparition imminente du signal d'horloge permanent, et des moyens de commande permettant, au cours du régime de fonctionnement permanent, l'aiguillage d'un signal d'horloge auxiliaire vers la borne d'horloge lorsqu'une disparition imminente du signal d'horloge permanent est détectée. Dans un tel appareil, le signal d'horloge auxiliaire est aiguillé vers la borne d'horloge du connecteur dès qu'une disparition imminente du signal d'horloge permanent est détectée. Dans un mode de réalisation avantageux de l'invention, I'appareil comprend en outre un module d'interface, via lequel la carte à puce est destinée à échanger des données avec le microcontrôleur, ledit module d'interface comprenant en outre un oscillateur, dit transitoire, destiné à fournir à la borne d'horloge un signal d'horloge transitoire dans un régime de fonctionnement transitoire, ledit signal d'horloge transitoire constituant le signal d'horloge auxiliaire. Du fait que le module dinterface est réalisé sous forme intégrée, et donc alimenté sous une tension plus basse que la tension nécessaire à l'appareil pour générer le signal d'horloge permanent, le signal d'horloge transitoire perdurera plus longtemps que le signal d'horloge permanent après que l'alimentation en énergie de l'appareil aura été interrompue. Ce délai est suffisant pour assurer au circuit intégré la fourniture dimpulsions d'horloge en nombre suffisant pour mener à leur terme toutes les opérations de lecture/écriture en cours lors de l'interruption de l'alimentation en énergie de l'appareil. L'invention sera mieux comprise à l'aide de la description suivante, faite à titre d'exemple non-limitatif et en regard des dessins annexés, dans lesquels: la figure I est un schéma fonctionnel partiel décrivant un appareil mettant en oeuvre le procédé selon l'invention, - la figure 2 est un schéma électrique décrivant un système de détection présent dans un appareil selon un mode de réalisation particulier de l'invention, - la figure 3 est un schéma électrique décrivant un système de détection présent dans un appareil selon un autre mode de réalisation particulier de l'invention, et - la figure 4 est un schéma fonctionnel décrivant un dispositif de synchronisation présent dans un appareil mettant en oeuvre une variante du procédé mentionné ci- dessus. La figure 1 représente schématiquement un appareil destiné à communiquer avec une carte à puce, lequel appareil comprend: un connecteur CON destiné à être relié électriquement à un circuit intégré présent à la surface de ladite carte à puce, et présentant au moins une borne, dite d'horloge, destinée à délivrer audit circuit intégré un signal d'horloge Clk, un microcontrôleur MC destiné à échanger des données avec ledit circuit intégré, un module d'interface IM, disposé entre le connecteur CON et le microcontrôleur MC, comportant un oscillateur OSCT, appelé oscillateur transitoire, et destiné à générer un signal d'horloge transitoire Clkt, le module dinterface comportant en outre une unité de traitement PU permettant un échange de données entre le microcontrôleur MC et le circuit intégré, un oscillateur OSCP, appelé oscillateur permanent, et destiné à générer un signal d'horloge permanent Clkp. Ce module d'interface IM comporte de plus un dispositif d'aiguillage MUX destiné à acheminer vers la borne d'horloge le signal d'horloge transitoire Clkt dans un régime de fonctionnement dit transitoire, et le signal d'horloge permanent Clkp dans un régime de fonctionnement dit permanent. Cet appareil comprend en outre des moyens de détection d'une disparition imminente du signal d'horloge permanent Clkp, et des moyens de commande permettant, au cours du régime de fonctionnement permanent, l'aiguillage d'un signal d'horloge auxiliaire vers la borne d'horloge lorsqu'une disparition imminente du signal d'horloge permanent Clkp est détectée. Dans le mode de réalisation décrit ici, le signal d'horloge auxiliaire est constitué par le signal d'horloge transitoire Clkt. Ceci permet d'éviter de recourir à un troisième oscillateur pour générer le signal d'horloge auxiliaire. Les moyens de détection et de commande sont intégrés, dans le mode de réalisation décrit par la présente figure, au sein du microcontrôleur MC et ne sont donc pas visibles sur la figure. Ils seront décrits de manière plus détaillée dans la suite de l'exposé. L'appareil décrit ici comporte de plus des moyens de synchronisation SYNC des signaux d'horloge transitoire et permanent Clkt et Clkp, destinés à être actives lorsqu'une disparition imminente du signal d'horloge permanent Clkp est détectée. Cet appareil permet de mettre en ceuvre le procédé suivant pour désactiver la carte à puce avec laquelle il échange des données: Lorsqu'une interruption intempestive de l'alimentation en énergie de l'appareil se produit, la disparition imminente du signal d'horloge permanent Clkp, qui était jusqu'alors aiguillé vers la borne d'horloge du connecteur CON, est détectée par les moyens de détection inclus au sein du microcontrôleur MC. Ces moyens de détection délivrent un signal DET qui prend alors un état actif. L'état actif du signal de détection DET active les moyens de synchronisation SYNC inclus dans l'appareil selon la variante de l'invention décrite par la présente figure. Simultanément, l'état actif du signal de détection DET active les moyens de commande, qui génèrent un signal de commande SW. Ce signal de commande SW a pour fonction de piloter le dispositif d'aiguillage MUX, qui sera par exemple constitué par un multiplexeur présentant deux entrées de données recevant les signaux d'horloge transitoire et permanent Clkt et Clkp et présentant une entrée de sélection recevant le signal de commande SW. Le câblage de ce multiplexeur sera par exemple choisi de sorte que, lorsque le signal de commande SW est à un niveau logique 0, le signal d'horloge transitoire Clkt est aiguillé par le multiplexeur vers la borne d'horloge, et lorsque le signal de commande SW est à un niveau logique 1, le signal d'horloge permanent Clkp est aiguillé par le multiplexeur vers la borne d'horloge. Lorsque le dispositif d'aiguillage MUX en reçoit l'ordre, matérialisé par un changement d'état du signal de commande SW, et après que les signaux d'horloge transitoire et permanent Clkt et Clkp aient été synchronisés, c'est-à-dire qu'ils présentent des fronts actifs simultanés, ledit dispositif d'aiguillage MUX substitue au signal d'horloge permanent Clkp le signal d'horloge transitoire Clkt, en aiguillant ledit signal d'horloge transitoire Clkt vers la borne d'horloge. Le signal d'horloge permanent Clkp peut alors disparaître sans pour autant que les opérations menées par le circuit intégré au moment de l'interruption de l'alimentation en énergie de l'appareil ne soient brutalement interrompues avant leur conclusion normale. En effet, le module dinterface est réalisé sous forme intégrée, et donc alimenté sous une tension plus basse que la tension VCC nécessaire à l'oscillateur permanent OSCP, qui est généralement un oscillateur à quartz, pour générer le signal d'horloge permanent Clkp. Le signal d'horloge transitoire Clkt perdurera donc plus longtemps que le signal d'horloge permanent Clkp après que l'alimentation en énergie de l'appareil aura été interrompue. Ce délai est suffisant pour assurer au circuit intégré présent à la surface de la carte à puce la fourniture dimpulsions d'horloge en nombre suffisant pour mener à leur terme toutes les opérations de lecture/écriture en cours. La figure 2 est un schéma électrique qui représente les moyens de détection et de commande inclus dans un appareil conforme à un mode de réalisation particulier de Invention. Dans ce mode de réalisation, les moyens de détection comportent un comparateur CMP, qui compare la valeur de la tension d'alimentation VCC de l'appareil à une valeur prédéterminée Vref, et dont une sortie délivre un signal de sortie qui constitue le signal de détection DET. On pourra par exemple choisir pour Vref une valeur égale à 70% de la valeur nominale de la tension d'alimentation VCC. Tant que la valeur réelle de ladite tension d'alimentation VCC est supérieure à la valeur prédéterminée Vref, le signal de détection DET est au niveau logique 1 et n'a pas dinfluence sur les moyens de commande, matérialisés ici par une porte ET logique A1 dont une entrée recçoit le signal de détection DET et dont une sortie fournit le signal de commande SW. Lorsque la valeur réelle de la tension d'alimentation VCC devient inférieure à la valeur prédéterminée Vref, le signal de détection DEr prend un état actif, en l'occurrence le niveau logique 0, qui active les moyens de commande puisquil impose un niveau logique 0 en sortie de la porte ET logique A1, et donc place le signal de commande SW au niveau logique 0. La porte ET logique A1 reçoit sur au moins une autre entrée un autre signal qui détermine celui des signaux d'horloge transitoire et permanent Clkt et Clkp qui doit être aiguillé vers la borne d'horloge pendant les régimes de fonctionnement transitoire et permanent. Ainsi, la disparition imminente du signal d'horloge permanent, qui est une conséquence inévitable de la disparition de la tension d'alimentation VCC qui est identifiée par le comparateur CMP, est détectée par les moyens de détection, et provoque l'activation des moyens de commande et la substitution du signal d'horloge transitoire Clkt au signal d'horloge permanent Clkp. La figure 3 est un schéma électrique qui représente les moyens de détection et de commande inclus dans un appareil conforme à un autre mode de réalisation particulier de l'invention. Dans ce mode de réalisation, les moyens de détection comportent un comparateur CMP, qui compare la valeur instantanée du signal d'horloge permanent Clkp à une valeur prédéterminée Vref. On pourra par exemple choisir pour Vref une valeur égale à 70% de la valeur nominale de l'amplitude du signal d'horloge permanent Clkp. Les moyens de détection comportent en outre une bascule mémoire L1, dont une entrée de données D1 est reliée à la sortie du comparateur CMP, dont une entrée d'horloge est destinée à recevoir, via une cellule à retard T, le signal d'horloge permanent Clkp, et dont une sortie de données Q1 délivre le signal de détection DET. La bascule mémoire L1 est utile du fait qu'un signal d'horloge est constitué d'un train dimpulsions. Le résultat de la comparaison opérée par le comparateur CMP n'est donc significatif, dans cet exemple, que lorsque le signal d'horloge permanent Clkp est dans son état haut, c'est-à-dire au niveau logique 1. Ainsi, lorsque ledit signal d'horloge Clkp présente un front montant, c'est-à-dire qu'il passe du niveau logique 0 au niveau logique 1, sa valeur instantanée maximale est comparée à celle du signal de référence Vref. Le résultat de cette comparaison est présent à l'entrée de données D1 de la bascule mémoire L1 lorsque, au bout d'un délai prédéterminé introduit par la cellule à retard T, le front montant du signal d'horloge permanent Clkp parvient à l'entrée d'horloge de la bascule mémoire LI. Le résultat de la comparaison est alors mémorisé par la bascule mémoire L1, dont la sortie de données Q1 délivre le signal de détection DET. Tant que l'amplitude du signal d'horloge permanent Clkp, c'est-à-dire sa valeur lorsqu'il est au niveau logique 1, est supérieure à la valeur prédéterminée Vref, le signal de détection DETest au niveau logique 1 et n'a pas dinfluence sur les moyens de commande, matérialisés ici par une porte ET logique A1, conformément à la description qui en a été faite précédemment. Lorsque la valeur de l'amplitude du signal d'horloge permanent Clkp devient inférieure à la valeur prédéterminée Vref, le signal de détection DET prend un état actif, en l'occurrence le niveau logique 0, qui active les moyens de commande puisquil impose un niveau logique 0 en sortie de la porte ET logique A1, et donc place le signal de commande SW au niveau logique 0. Ainsi, la disparition imminente du signal d'horloge permanent Clkp, qui est identifiée par le comparateur CMP, est détectée par les moyens de détection, et provoque l'activation des moyens de commande et la substitution du signal d'horloge transitoire Clkt au signal d'horloge permanent Clkp. La figure 4 est un schéma fonctionnel décrivant un mode de réalisation possible des moyens de synchronisation SYNC inclus dans l'appareil conforme à une variante de l'invention qui a été décrit plus haut. Ces moyens de synchronisation SYNC comportent un déphaseur PS, destiné à introduire un déphasage dans le signal d'horloge transitoire Clkt. Le signal de sortie Clktl du déphaseur PS résultant de cette opération est fourni, en guise de signal d'horloge transitoire, au dispositif d'aiguillage MUX. Les moyens de synchronisation SYNC comprennent en outre un détecteur de phase de phase PD, destiné à mesurer le déphasage existant entre le signal de sortie du déphaseur Clktl et le signal d'horloge permanent Clkp. Le détecteur de phase PD n'est activé que lorsque le signal de détection DET présente un état actif. Il détermine alors, en fonction de la valeur du déphasage quil a mesuré, le déphasage que le déphaseur PS doit introduire dans le signal d'horloge transitoire Clkt pour que le signal de sortie Clktl et le signal d'horloge permanent Clkp présentent des fronts actifs simultanés. Dans d'autres modes de réalisation des moyens de synchronisation SYNC, on pourra choisir d'agir directement sur l'oscillateur transitoire dans le but de modifier la phase et/ou la fréquence de son signal de sortie Clkt. Par exemple, si l'oscillateur transitoire est un oscillateur commandé en tension, le signal d'horloge transitoire Clkt pourra être synchronisé avec le signal d'horloge permanent Clkp au moyen d'une boucle à verrouillage de phase. REVENDICATIONS 1. Procédé permettant à une carte à puce d'échanger des données avec un appareil, ledit appareil comportant un oscillateur, dit permanent, destiné à. fournir à la carte à puce un signal d'horloge dit permanent dans un régime de fonctionnement permanent, procédé caractérisé en ce quil comporte les étapes suivantes: détection, au cours du régime de fonctionnement permanent, d'une disparition imminente du signal d'horloge permanent avant que ladite disparition ne se produise effectivement, substitution d'un signal d'horloge auxiliaire au signal d'horloge permanent. 2. Procédé selon la revendication 1, caractérisé en ce que, l'appareil incluant un module d'interface via lequel l'appareil doit échanger des données avec la carte à puce, ledit module dinterface comportant un oscillateur, dit transitoire, destiné à fournir à la carte à puce un signal d'horloge transitoire dans un régime de fonctionnement transitoire, le signal d'horloge auxiliaire est constitué par le signal d'horloge transitoire. 3. Procédé selon la revendication 1, caractérisé en ce qu'il comporte, insérée avant l'étape de substitution du signal d'horloge auxiliaire au signal d'horloge permanent, une étape de synchronisation desdits signaux. 4. Procédé selon la revendication 1, caractérisé en ce que la détection consiste en une comparaison de la valeur d'une tension d'alimentation de l'appareil avec une valeur prédéterminée. 5. Procédé selon à la revendication 1, caractérisé en ce que la détection consiste en une comparaison de la valeur de l'amplitude du signal d'horloge permanent avec une valeur prédéterminée. 6. Appareil destiné à communiquer avec une carte à puce, lequel appareil comprend un connecteur destiné à être relié électriquement à un circuit intégré présent à la surface de ladite carte à puce, et présentant au moins une borne, dite d'horloge, destinée à délivrer audit circuit intégré un signal d'horloge, un microcontrôleur destiné à échanger des données avec ledit circuit intégré, un oscillateur, dit permanent, destiné à générer un signal d'horloge permanent, et un dispositif d'aiguillage destiné à acheminer vers la borne d'horloge le signal d'horloge permanent dans un régime de fonctionnement permanent, appareil caractérisé en ce quel comprend en outre: des moyens de détection d'une disparition imminente du signal d'horloge permanent, et 5. des moyens de commande permettant, au cours du régime de fonctionnement permanent, l'aiguillage d'un signal d'horloge auxiliaire vers la borne d'horloge lorsqu'une disparition imminente du signal d'horloge permanent est détectée. 7. Appareil selon la revendication 6, caractérisé en ce qu'il comprend en outre un module dinterface, via lequel la carte à puce est destinée à échanger des données avec le microcontrôleur, ledit module d'interface comprenant un oscillateur, dit transitoire, destiné à fournir à la borne d'horloge un signal d'horloge transitoire dans un régime de fonctionnement transitoire, ledit signal d'horloge transitoire constituant le signal d'horloge auxiliaire. 8. Appareil selon la revendication 6, caractérisé en ce qu'il comprend en outre des moyens de synchronisation du signal d'horloge permanent et du signal d'horloge auxiliaire, destinés à être activés lorsqu'une disparition imminente du signal d'horloge permanent est détectée. 9. Appareil selon la revendication 6, caractérisé en ce que les moyens de détection incluent des moyens de comparaison pour comparer la valeur de la tension d'alimentation de l'appareil avec une valeur prédéterminée, lesdits moyens de comparaison étant destinés à délivrer un signal contrôlant les moyens de commande. 10. Appareil selon la revendication 6, caractérisé en ce que les moyens de détection incluent des moyens de comparaison pour comparer la valeur de l'amplitude du signal d'horloge permanent avec une valeur prédéterminée, lesdits moyens de comparaison étant destinés à délivrer un signal contrôlant les moyens de commande.