Brevet FR2764758A1 — publié le 19981218

La présente invention concerne un procédé de mesure de l'unité de l'unité de temps (ETU = Elementary Time Unit) lors d'un dialogue entre un lecteur et une carte à puce, afin de configurer le dispositif de lecture. L'état de la technique prône jusqu'à présent une technique d'échantillonage du premier octet ou caractère, puis il y a un calibrage par l'intermédiaire d'un logiciel. Lors de la procédure d'initialisation d'un dialogue entre un lecteur et une carte à puce, le dispositif de lecture doit être configuré pour échantillonner les données transmises en série et de façon asynchrone par la carte (largeur de chaque bit transmis = 1 ETU). Par défaut, la largeur de chaque bit est de ETU=372 CLK, soit 1/9600 seconde pour une carte cadencée à 3,57 mégahertz (MHz). Cependant, certaines cartes ont une valeur par défaut de 512 CLK. Selon l'invention, un automate de mesure de l'unité de temps lors de l'initialisation du dialogue permet de fonctionner de manière transparente avec des cartes ayant des ETU par défaut différents. Les techniques anciennes d'échantillonnage prennent un temps considérable et utilisent pour cela le microprocesseur. L'invention permet d'augmenter la vitesse de prise en compte de l'unité de temps en n'utilisant pas de logiciel mais le matériel informatique classique (hardware). A cet effet, la présente invention concerne un procédé de mesure de l'unité de temps (ETU = Elementary Time Unit) lors d'un dialogue entre un lecteur et une carte à puce, afin de configurer le dispositif de lecture, caractérisé en ce qu'il consiste - à prendre en compte le front descendant du bit de départ, - à prendre en compte le front ascendant dudit bit de départ, et - à mesurer le temps entre lesdits fronts descendant et montant, ce qui permet le calibrage automatique de l'automate de communication. Le temps mesuré correspond au niveau bas du bit de départ. Le temps est mesuré en nombre de cycles de l'horloge de la carte. Le calibrage automatique consiste - à définir la valeur d'une demie unité de temps, - à reporter cette valeur après le front ascendant du bit de départ pour définir le milieu du bit suivant, - à reporter successivement la valeur d'une unité de temps pour définir la position de chaque bit successif. L'automate peut s'adapter à différentes valeurs de l'unité de temps, telles que ETU = 372 CLK ou ETU = 512 CLK. Ce procédé dans lequel le premier caractère est constitué du bit de départ (niveau bas pendant une unité de temps) puis d'un bit dit de partage de temps ou TS (niveau haut pendant une unité de temps) est caractérisé en ce qu'après le bit TS, il est possible de reprogrammer ou d'ajuster la valeur de l'unité de temps mesuré. L'automate permet l'élimination des parasites, c'est-à-dire des valeurs de l'unité de temps trop petites. La présente invention concerne un procédé de mesure de l'unité de temps qui régie les échanges entre un lecteur et une carte à puce. Ce procédé permet ainsi de configurer le dispositif de lecture quelle que soit la valeur de l'unité de valeur. Lors de l'initiation du dialogue (ATR Answer To Reset), le calibrage de l'unité de temps, ou ETU, se fait automatiquement à réception du premier caractère TS qui est défini par la norme. Quelle que soit la convention (directe ou à l'inverse), ce caractère a pour caractéristique d'être composé d'un bit de départ, dit start-bit. Ce bit de départ est constitué d'une transition de 1 vers 0, puis d'une stabilisation à 0 durant un ETU, pour enfin retrouver un niveau haut pendant au moins une ETU. L'automate de communication, qui comporte les moyens permettant la mise en oeuvre du procédé selon l'invention, va donc se calibrer automatiquement par la mesure du temps entre le front descendant, transition de 1 vers 0, du bit de départ et le front montant suivant de 0 vers 1, toujours de ce bit de départ. Ce temps mesuré en nombre de cycles d'horloge de la carte est égal à l'ETU de la carte. L'horloge fonctionne bien entendu à l'aide d'un système à quartz. La valeur de l'ETU est ensuite utilisée pour l'échantillonnage du reste des bits constituant le caractère TS. A l'issue de la réception du TS, il est possible de reprogrammer et d'ajuster la valeur de l'ETU mesurée. De plus, cet automate est conçu afin d'éliminer les parasites lorsque les valeurs de l'unité de temps sont trop petites. Cette invention a pour avantage de permettre le dialogue de manière transparente avec des cartes travaillant avec des débits différents ou non standardisés. Le calibrage automatique consiste donc à définir la valeur d'une demie-unité de temps qui aura été calculée entre le front descendant et le front montant du bit de départ, puis à reporter cette valeur après le front du bit de départ pour définir le milieu du bit suivant. Une fois ceci réalisé, la position se trouve en plein milieu de la valeur du bit suivant et il suffira ensuite de reporter successivement la valeur d'une unité de temps pour définir la position de chaque bit successif. Grâce à cette technique, l'automate va pouvoir s'adapter à différentes valeurs de l'unité de temps quelle que soit la configuration utilisée. Dans les cas les plus communs, la valeur de l'unité de temps peut être de 372 CLK ou de 512 CLK. Néanmoins, il est toujours possible que d'autres valeurs apparaissent dans les normes futures. La carte à puce utilisée peut être conforme à la norme ISO 7916-3. Ce type de carte à puce fonctionne de façon asynchrone, d'où l'intérêt du procédé selon l'invention. REVENDICATIONS 1. Procédé de mesure de l'unité de temps (ETU = Elementary Time Unit) lors d'un dialogue entre un lecteur et une carte à puce, afin de configurer le dispositif de lecture, caractérisé en ce qu'il consiste - à prendre en compte le front descendant du bit de départ, - à prendre en compte le front ascendant dudit bit de départ, et - à mesurer le temps entre lesdits fronts descendant et montant, ce qui permet le calibrage automatique de l'automate de communication. 2. Procédé, selon la revendication 1, caractérisé en ce que le temps mesuré correspond au niveau bas du bit de départ. 3. Procédé, selon l'une quelconque des revendications 1 ou 2, caractérisé en ce que le temps est mesuré en nombre de cycles de l'horloge de la carte. 4. Procédé, selon la revendication 1, caractérisé en ce que le calibrage automatique consiste - à définir la valeur d'une demie unité de temps, - à reporter cette valeur après le front ascendant du bit de départ pour définir le milieu du bit suivant, - à reporter successivement la valeur d'une unité de temps pour définir la position de chaque bit successif.