EP1330781A1 - Circuit de detection et de mise en forme de trames de donnees - Google Patents

Circuit de detection et de mise en forme de trames de donnees

Info

Publication number
EP1330781A1
EP1330781A1 EP00971483A EP00971483A EP1330781A1 EP 1330781 A1 EP1330781 A1 EP 1330781A1 EP 00971483 A EP00971483 A EP 00971483A EP 00971483 A EP00971483 A EP 00971483A EP 1330781 A1 EP1330781 A1 EP 1330781A1
Authority
EP
European Patent Office
Prior art keywords
byte
frame
circuit
bytes
received
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP00971483A
Other languages
German (de)
English (en)
Inventor
Ahmed Kari
Christophe Moreaux
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
STMicroelectronics SA
Original Assignee
STMicroelectronics SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by STMicroelectronics SA filed Critical STMicroelectronics SA
Publication of EP1330781A1 publication Critical patent/EP1330781A1/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • G06K19/0723Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips the record carrier comprising an arrangement for non-contact communication, e.g. wireless communication circuits on transponder cards, non-contact smart cards or RFIDs

Definitions

  • a contactless smart card includes (Figure 1):
  • the address in memory 16 is given by the content of one or more registers mentioned above and the same is true of the data to be written in memory
  • the logic block 14 may be required to perform an operation of reading a data item in the memory 16 and to carry out a processing on this data item.
  • the data read in the memory after processing or not by the logic block 14, is transmitted to the radio frequency interface 12 which supplies modulation signals applied to the antenna 10 with a view to their transmission to the remote reader.
  • the binary signals which are emitted by the remote reader, and which must therefore be analyzed by the logic block 14, are in the form of frames of binary digits "1" or "0" having formats defined by standards.
  • figure 2-a is an example of frame format according to standard IS014443-3 while figure 2b is an example of frame format according to standard IS015693-3.
  • the frame according to standard IS014443-3 begins (references 20 and SOF) with a start of frame of ten to eleven binary digits "0" followed by two "1" and ends (references 22 and EOF) with an end of frame of ten to eleven "0” followed by a "1".
  • the start SOF is followed for example by a byte 24 indicating the read command, then by n bytes (reference 26) corresponding to the address in memory 16, and by two error control bytes (reference 28) more known by the acronym CRC for the English expression "Cyclic Redundancy Check”.
  • the frame according to ISO 15693-3 begins with a start of SOF frame, 30 and ends with an end of EOF frame, 32.
  • the start of SOF frame is followed for example by a request byte 34, then byte 36 of Command, n bytes 40 of data and two bytes 38 of CRC.
  • the logic block 14 To detect a frame, the logic block 14 must analyze the sequence of binary signals supplied by
  • An object of the present invention is therefore to provide a circuit for detecting data frames and the formatting of the latter, the processing time of which is substantially reduced.
  • FIG. 1 is a simplified block diagram of a contactless smart card
  • FIGS. 4a, 4b, 4c and 4d are signal diagrams showing the synchronization of the data
  • FIG. 5 is a diagram of the circuit for detecting and shaping the data frames according to the invention
  • FIG. 6 is a diagram of the states of the state machine for sequencing the operations of detecting and shaping the byte frames
  • FIG. 8 is a diagram of a logic circuit for obtaining the complement of the SDA signal.
  • the circuit according to the invention is based on the knowledge of the number of bytes in the frame being analyzed, knowledge which is given at the start of the frame by the operation to be carried out, that is to say by the first bytes of the frame, for example by one, two or three bytes.
  • circuits 62 to 76 which supply control signals for the state machine 60
  • the ZERO signal and the STARTBIT signal pass to logic level "1" after a delay of 1.2 microseconds corresponding to the period of a second clock signal CK at the frequency 847 KHz, a frequency which is approximately eight times higher than that of the first CLK106 clock signal.
  • an LDBYTE signal for loading the DATA value
  • a DECBYTE signal for counting down. It provides on a first output terminal a BYTE signal which is applied to an input terminal of the state machine 60 and on a second output terminal a CRCVALID signal which indicates that the bytes being received are CRC bytes .
  • the STARTBIT signal goes to value 1 while the ZERO signal goes to logic value "1" and remains in this state.
  • the state machine changes to STATE-2 (circle 102) at the next CLK106 clock pulse.
  • the INCPTR, RSTSTOP and RSTBIT signals pass to logic level "1".
  • the value of the first eight bits is sufficient.
  • the state machine goes to STATE-6 (circle 106) so that the signal LOABYTE ⁇ 1 loads the value of DATA (number of bytes of the frame) in the down-counter 72. If PTR is different from the value "1", the DATA code is not loaded into the down-counter 72.
  • the state machine goes to STATE-7 on the next pulse from CLK106.
  • the down-counter 72 is decremented by one by the signal DECBYTE ⁇ 1 and bit counter 68 is reset to zero by signal
  • the invention proposes to invert the CRC bytes when they are detected on reception, which is made possible by the fact that the invention makes it possible to identify bytes on the fly in advance, including CRC bytes.
  • the comparator comprises (FIG. 9) three D type flip-flops 130, 132 and 134, an EXCLUSIVE OR circuit 136 and an AND circuit 138.
  • the input terminal D of the flip-flop 130 receives the digits of the identifier ID as they are received while the input terminal D of the flip-flop 132 receives the digits of the serial number SN read in series in memory 16.
  • the clock input terminals CK of the two flip-flops receive a clock signal CLK which corresponds to that used for reading from memory 16.
  • the reset input terminal R receives the signal POR because it is reversed.
  • the output terminal Q of each flip-flop 130 or 132 is connected to an input terminal of the EXCLUSIVE OR circuit 136 whose output terminal is connected to an inverted input terminal of the AND circuit 138.
  • the other input terminal of the AND circuit 138 is connected to the output terminal Q of the flip-flop 134 whose input terminal D is connected to the output terminal of the AND circuit 138.
  • the flip-flop 134 is set to state 1 by the signal POR applied to the inverted input terminal P.
  • the clock input terminal CK of flip-flop 134 is such that the change of state takes place on the falling edge of the clock signal CLK and not on the rising edge as for flip-flops 130 and 132.
  • the operation of the serial comparator of FIG. 9 is such that the output terminal Q of the flip-flop 134 provides a status signal "0" when the compared figures are the same and a status signal "1" when the compared figures are different.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Communication Control (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

L'invention concerne les cartes à puce sant contact et, plus particulièrement dans de telles cartes, un circuit pour détecter les trames de données et mettre ces dernières sous une forme parallèle en vue de leur traitement. L'invention réside dans le fait que l'on utilise l'information contenue dans les premiers octets pour déterminer le nombre d'octets de la trame en cours de réception, ce qui permet de les identifier au fur et à mesure de leur réception et les aiguiller dans les registres (80). Ceci est obtenu par une machine d'états (60) dont le passage d'un état à l'autre est commuté par les signaux de sortie des circuits (62,76).

Description

CIRCUIT DE DETECTION ET DE MISE EN FORME
DE TRAMES DE DONNEES
L'invention concerne les cartes à circuit intégré sans contact, également appelées cartes à puce sans contact, et plus particulièrement dans de telles cartes, les circuits qui analysent les signaux binaires reçus par la carte pour détecter les trames de données et mettre ces dernières sous la forme parallèle en vue de leur traitement. Une carte à puce sans contact comprend (figure 1) :
- une antenne 10 qui détecte les signaux radiofréquence à la fréquence porteuse Fo envoyés par un émetteur d'un lecteur distant et qui émet des signaux vers le lecteur,
- une interface radiofréquence 12 ,
- un bloc logique 14 , et - une mémoire 16.
A la réception, l'interface radiofréquence 12 reçoit les signaux détectés par l'antenne 10 et fournit, d'une part, une tension régulée Vdd qui alimente les différents circuits électroniques et, d'autre part, des signaux de données ainsi que des signaux d'horloge qui sont appliqués au bloc logique 14.
A la réception, le bloc logique 14 analyse les signaux binaires série pour les présenter sous la forme parallèle dans des registres de manière à les interpréter sous forme d'opérations à effectuer dans la mémoire 16 telles la lecture, l'écriture ou l'effacement d'une donnée.
L'adresse dans la mémoire 16 est donnée par le contenu d'un ou plusieurs registres mentionnés ci-dessus et il en est de même de la donnée à écrire dans la mémoire En réponse à une commande, le bloc logique 14 peut être amené à effectuer une opération de lecture d'une donnée dans la mémoire 16 et à effectuer un traitement sur cette donnée. La donnée lue dans la mémoire, après traitement ou non par le bloc logique 14, est transmise à l'interface radiofréquence 12 qui fournit des signaux de modulation appliqués à l'antenne 10 en vue de leur transmission au lecteur distant. Les signaux binaires qui sont émis par le lecteur distant, et qui doivent donc être analysés par le bloc logique 14, sont sous la forme de trames de chiffres binaires "1" ou "0" ayant des formats définis par des normes. Ainsi, la figure 2-a est un exemple de format de trame selon la norme IS014443-3 tandis que la figure 2b est un exemple de format de trame selon la norme IS015693- 3. Ainsi, la trame selon la norme IS014443-3 commence (références 20 et SOF) par un début de trame de dix à onze chiffres binaires "0" suivis de deux "1" et termine (références 22 et EOF) par une fin de trame de dix à onze "0" suivis d'un "1". Le début SOF est suivi par exemple d'un octet 24 indiquant la commande de lecture, puis de n octets (référence 26) correspondant à l'adresse dans la mémoire 16, et de deux octets de contrôle d'erreur (référence 28) plus connus sous l'acronyme CRC pour l'expression anglo-saxonne "Cyclic Redundancy Check" . De manière similaire, la trame selon la norme ISO 15693-3 commence par un début de trame SOF, 30 et termine par une fin de trame EOF, 32. Le début de trame SOF est suivie par exemple d'un octet 34 de Requête, puis d'un octet 36 de Commande, de n octets 40 de données et de deux octets 38 de CRC. Pour détecter une trame, le bloc logique 14 doit analyser la suite des signaux binaires fournis par
1 ' interface radiofréquence pour détecter un début de trame SOF. Lorsque ce début de trame est détecté, les chiffres binaires des octets qui suivent sont détectés au fur et à mesure de leur arrivée et enregistrés dans des registres, chaque registre correspondant à un octet.
Après contrôle d'erreur à l'aide des deux octets CRC, le contenu des registres est validé, ce qui correspond à la validation de la trame reçue. L'opération prévue, enregistrement, lecture, effacement, peut alors être déterminée par le décodage du contenu de l'un des registres, puis être exécutée. Ce mode d'analyse des signaux binaires pour détecter une trame, la présenter ensuite sous forme parallèle, la valider et la décoder, conduit à une durée de traitement d'une trame qui est relativement longue alors que la durée disponible pour effectuer tous les traitements est limitée par le temps de passage de la carte à puce sans contact devant le lecteur. Un but de la présente invention est donc de réaliser un circuit de détection des trames de données et la mise en forme de ces dernières dont la durée de traitement est substantiellement réduite.
L'invention concerne un circuit de détection et de mise en forme de trames de données dans une carte à puce sans contact, caractérisé en ce qu'il comprend :
- une machine d'états, - des moyens pour détecter les chiffres binaires ou bits d'une trame et les arranger sous forme d'octets,
- des registres pour enregistrer chacun les bits d'un octet reçu, et
- un circuit de décodage du nombre d'octets à recevoir pendant la trame. L'invention concerne également un procédé de détection et de mise en forme de trames de données pour les signaux reçus par une carte à puce sans contact, caractérisé en ce qu'il comprend les étapes suivantes consistant à :
(a) détecter les signaux de début SOF et de fin de trame EOF,
(b) détecter les signaux de début STARTBIT et de fin d'octet STOPBIT, (c) compter les bits reçus après chaque début d'octet jusqu'à l'obtention d'un octet,
(d) compter les octets reçus pour aiguiller les bits d'un octet vers un des registres,
(e) analyser au moins le premier octet reçu pour déterminer le nombre d'octets de la trame en cours de réception, et
(f) charger un décompteur avec le nombre d'octets de la trame et le décrémenter au fur et à mesure des octets reçus jusqu'à l'obtention du chiffre "0" qui indique que tous les octets de la trame ont été reçus. D'autres caractéristiques et avantages de la présente invention apparaîtront à la lecture de la description suivante d'un exemple particulier de réalisation, ladite description étant faite en relation avec les dessins joints dans lesquels :
- la figure 1 est un schéma fonctionnel simplifié d'une carte à puce sans contact,
- les figures 2a et 2b montrent des formats de trames définis par deux normes ISO, - la figure 3 montre une trame ayant un seul octet,
- les figures 4a, 4b, 4c et 4d sont des diagrammes de signaux montrant la synchronisation des données,
- la figure 5 est un schéma du circuit de détection et de mise en forme des trames de données selon l'invention, - la figure 6 est un diagramme des états de la machine d'états pour séquencer les opérations de détection et de mise en forme des trames d'octets,
- les figures 7a à 7h sont des diagrammes de signaux montrant la détection des bits d'un octet,
- la figure 8 est un schéma d'un circuit logique pour obtenir le complément du signal SDA, et
- la figure 9 est un schéma d'un circuit de comparaison de type série. Les figures 1 et 2a, 2b ne seront pas décrites à nouveau mais font partie intégrante de la description de l'invention.
L'invention sera décrite dans le cas de la mise en oeuvre de la norme ISO 14443-3 correspondant au format de la figure 2a mais elle peut être mise en oeuvre selon toute autre norme.
Dans le cas où la trame ne comprend qu'un octet, le format est celui de la figure 3 et comprend un début de trame SOF et une fin de trame EOF. L'octet unique 50 est précédé d'un bit de début STBit et suivi d'un bit de fin STOPBIT.
Le circuit selon 1 ' invention est basé sur la connaissance du nombre d'octets dans la trame en cours d'analyse, connaissance qui est donnée en début de trame par l'opération à effectuer, c'est-à-dire par les premiers octets de la trame, par exemple par un, deux ou trois octets.
Le circuit de détection et de mise en forme de trames de données selon l'invention comprend (figure 5) : - une machine d'états 60,
- des circuits 62 à 76 qui fournissent des signaux de commande de la machine d'états 60,
- des registres 80} à 80m pour enregistrer chacun un octet de la trame au fur et à mesure de leur détection, à l'exception des deux octets CRC, et - un circuit de décodage 78 du nombre (m + 2) d'octets à recevoir, c'est-à-dire y compris les deux octets CRC. Le circuit 62, appelé "Détecteur SOF/EOF", est un circuit de détection de début de trame SOF et de fin de trame EOF.
Il reçoit sur ses bornes d'entrée les signaux suivants :
-les signaux binaires série SDA (figure 4a) ,
- un signal POR qui est un signal de remise à zéro à la mise sous tension,
- un signal RSTSOF, qui est un signal de remise à zéro du circuit 62 à l'état de détection du début de trame, et
- un signal CLK106 qui est un signal d'horloge (figure 4c) , à une fréquence 106 KHz par exemple, qui est la fréquence des signaux binaires des données, la fréquence porteuse FO étant de 13,56 MHz soit un rapport 128 entre les deux fréquences. Le circuit de détection 62 fournit le signal SOF de début de trame et le signal EOF de fin de trame qui sont appliqués chacun à une borne d'entrée de la machine d'états 60.
Le circuit 64, appelé "Détecteur de début d'octet", est un circuit de détection du début d'un octet et du premier chiffre binaire "0" de l'octet. Il reçoit sur ses quatre bornes d'entrée les signaux SDA, POR, CLK106 et un signal RSTZERO qui est un signal de remise à zéro fourni par la machine d'états. Il fournit sur ses deux bornes de sortie le signal STARTBIT de début d'octet et un signal "ZERO" (figure 4b) . Lorsque la première donnée correspond à un niveau logique "0", le signal ZERO et le signal STARTBIT passent au niveau logique "1" après un délai de 1,2 microseconde correspondant à la période d'un deuxième signal d'horloge CK à la fréquence 847 KHz, soit une fréquence qui est environ huit fois plus élevée que celle du premier signal d'horloge CLK106.
Le circuit 66, appelé "Détecteur d'erreur", est un circuit de détection d'erreur qui reçoit respectivement sur ses cinq bornes d'entrée les signaux SDA et POR ainsi que des signaux RSTCRC, IBIT et CRCVALID fournis par la machine d'états 60. Il fournit sur sa borne de sortie un signal CRC qui est appliqué à une borne d'entrée de la machine d'états 60. Le circuit 68, appelé "Compteur de Bits", est un circuit qui compte les bits de chaque octet et reçoit respectivement sur ses quatre bornes d'entrée les signaux POR, CLK106 et IBIT ainsi q ' un signal RSTBIT de remise à zéro fourni par la machine d'états 60. Il fournit sur ses deux bornes de sortie un signal BIT et un signal EGT qui sont appliqués chacun à une borne d'entrée de la machine d'états 60.
Le circuit 70, appelé "Compteur de registres", est un circuit qui compte les registres 80^ à 80m pour aiguiller les bits des octets vers le registre approprié. Il reçoit sur ses quatre bornes d'entrée les signaux POR et CLK106 ainsi qu'un signal RSTPTR de remise à zéro du compteur et un signal d'incrémentation INCPTR du compteur. Il fournit sur ses deux bornes de sortie un signal PTR et un signal TIMEOVER qui sont appliqués à deux bornes d'entrée de la machine d'états 60.
Le circuit 72, appelé "Décompteur d'octets", est un circuit qui décompte à partir d'une valeur DATA enregistrée en parallèle. Il reçoit sur ses quatre bornes d'entrée le signal POR ainsi que trois autres signaux qui sont :
- un signal RSTBYTE de remise à zéro du décompteur,
- un signal LDBYTE de chargement de la valeur DATA, et - un signal DECBYTE de décomptage. Il fournit sur une première borne de sortie un signal BYTE qui est appliqué à une borne d'entrée de la machine d'états 60 et sur une deuxième borne de sortie un signal CRCVALID qui indique que les octets en cours de réception sont les octets CRC.
Le circuit 74, appelé "Générateur d'impulsions", fournit sur sa borne de sortie le signal d'horloge CLK106 à 106 KHz à partir du signal d'horloge CK à 847 KHz appliqué sur une de ses trois bornes d'entrée. Les trois autres bornes d'entrée reçoivent le signal POR, le signal ZERO (figure 4b) et le signal SOF. Le circuit 76, appelé "Détecteur de fin d'octet" reçoit sur ses trois bornes d'entrée le signal SDA, et des signaux STOPBIT et RSTSTOP fournis par la machine d'états 60 et il fournit un signal STOP qui est appliqué à une borne d'entrée de la machine d'états 60. Le circuit 78, appelé "Décodeur de nombre d'octets" est un circuit de décodage du nombre d'octets contenus dans la trame. Il convertit le premier octet ou les deux premiers octets ou encore les trois premiers octets de la trame OCTET-1, OCTET-2 et OCTET-3 en nombre d'octets DATA (m + 2) contenus dans la trame, la valeur DATA étant enregistrée dans le décompteur d'octets 72. Les m registres 80^ à 80m sont prévus pour enregistrer chacun un octet de la trame, à l'exception des deux octets CRC qui ne sont pas enregistrés, et comprennent chacun quatre bornes d'entrée et une borne de sortie OCTET-1 à OCTET-m. Les bornes d'entrée reçoivent les signaux SDA, POR, IBIT et PTR-1 à PTR-m. Le diagramme de la figure 6 montre comment s'effectuent les passages d'un état à l'autre de la machine d'états 60.
La première opération à effectuer est de détecter le début de la trame, c'est-à-dire SOF≈l, ce qui fait basculer la machine d'états de l'ETAT-0 (cercle 100) à l'ETAT-1 (cercle 101) où elle reste en attente de la détection du début d'octet signalé par STARTBIT≈l . Si ce bit de début d'octet n'est pas détecté au bout d'un certain temps défini par la norme, le signal EGT = 1 (EGT étant l'acronyme pour l'expression anglo- saxonne "Extra Guard Time") fait basculer la machine d'états de 1 ' ETAT-1 à l'ETAT-0 qui est l'état d'attente du signal SOF = 1 fourni par le circuit 62. Dans cet ETAT-1, le signal ZERO (figure 4-b) est à la valeur logique "0" et la machine d'états reste en attente du bit de début d'octet correspondant à SDA = 0 (figure 4-a) .
Si le bit de début d'octet est détecté par le circuit 64, le signal STARTBIT passe à la valeur 1 tandis que le signal ZERO passe à la valeur logique "1" et reste dans cet état. La machine d'états passe à l'ETAT-2 (cercle 102) à la prochaine impulsion d'horloge CLK106. Dans cet ETAT-2 , les signaux INCPTR, RSTSTOP et RSTBIT passent au niveau logique "1". Le signal INCPTR = 1 incrémente le compteur 70, ce qui sélectionne le registre 80 à charger. Par exemple, si PTR = 1, c'est le registre 80} qui est sélectionné.
Le signal RSTBIT = 1 initialise le compteur de bits 68 tandis que le signal RSTSTOP initialise le circuit 76 à l'état "0". L'impulsion suivante CLK106 fait passer la machine d'états dans l'ETAT-3 (cercle 103) qui est un état d'attente de la donnée utile.
A l'impulsion suivante CLK106, la donnée est validée et la machine d'états passe à 1 'ETAT-4 (cercle 104). Le signal IBIT passe alors au niveau logique "1" de sorte qu'au front montant de IBIT, le compteur de bits 68 s ' incrémente d'une unité de sorte que la donnée est enregistrée dans le registre 80 pointé par la valeur du compteur de registres 70. Le signal IBIT échantillonne la donnée série. Au bout de sept fronts montants du signal IBIT, c'est- à-dire lorsque le compteur de bits 68 atteint la valeur 7, le premier registre pointé par le signal PTR-1 est rempli de sorte que le premier octet est enregistré dans le registre 80ι.
L'impulsion suivante CLK106 fait passer la machine d'états dans 1 ' ETAT-5 (cercle 105). Dans cet ETAT-5, la valeur du neuvième bit, correspondant au bit de stop, est verrouillée par le front montant du signal STOPBIT. Si STOP = 0, il est considéré qu'il y a erreur et la machine d'états revient à l'ETAT-0 avec réinitialisation de toutes les bascules et tous les registres . Généralement, le nombre d'octets contenus dans la trame est indiqué dans les huit, seize ou vingt-quatre premiers bits de la trame. Dans le premier cas, cela correspond à PTR-1 (registre 80^) , dans le deuxième cas à PTR-2 (registre 802) et dans le troisième cas à PTR-3 (registre 8O3) . La valeur des huit, seize ou vingt-quatre premiers bits est transformée par le circuit 78 en nombre d'octets contenus dans la trame y compris les deux octets CRC, c'est le code DATA sur les bornes de sortie parallèles du circuit 78. Ce code DATA est enregistré dans le décompteur d'octets 72.
Dans l'exemple décrit, la valeur des huit premiers bits suffit. Ainsi, si PTR = 1, la machine d'états passe à l'ETAT-6 (cercle 106) de sorte que le signal LOABYTE ≈ 1 charge la valeur de DATA (nombre d'octets de la trame) dans le décompteur 72. Si PTR est différent de la valeur "1", le code DATA n'est pas chargé dans le décompteur 72.
La machine d'états passe à l'ETAT-7 à l'impulsion suivante de CLK106. Dans cet ETAT-7, le décompteur 72 est décrémenté d'une unité par le signal DECBYTE ≈ 1 et le compteur de bits 68 est remis à zéro par le signal
RSTBIT = 1.
La valeur de STOP est vérifiée ; si STOP = 1, cela signifie que le premier octet a été correctement reçu ; si STOP = 0, cela signifie qu'il y a erreur et, selon les applications, un signal d'erreur est généré ou non.
Si le signal BYTE est différent de "0", la machine d'états retourne à l'ETAT-1 en attente d'un nouveau
STARTBIT et de l'octet suivant, ce qui correspond au signal NEWBYTE.
Les opérations d ' extraction des octets de la trame et de leur enregistrement dans les registres 80;L à 80m se poursuivent jusqu'à l'obtention du signal BYTE = 0 qui signifie que tous les octets de la trame ont été reçus. Lorsque le signal BYTE est égal à 2 puis à 1, cela signifie que les deux octets suivants sont les octets du code détecteur d'erreur : le signal CRCVALID passe à l'état "1". Pendant l'échantillonnage des données reçues, les données en série sont aiguillées vers le détecteur d'erreur 66 qui vérifie la bonne transmission de la trame.
Si BYTE = 0, la machine d'états passe à 1 ' ETAT-8 et on vérifie le résultat du détecteur d'erreur 66. Si ce résultat est différent de zéro, il y a erreur et la machine d'états revient à 1 ' ETAT = 0 en attente d'une nouvelle trame de données.
Si le résultat est égal à zéro, il n'y pas d'erreur de transmission et la machine d'états se met dans l'attente de la fin de la trame, c'est-à-dire l'obtention de EOF = 1 et EGT = 1.
Si ZERO = 1 et EOF = 1, la machine d'états passe dans l'ETAT-9 qui signifie que toutes les données sont dans les registres pour être décodées et exécutées. La détection d'erreurs de transmission s'effectue à l'aide des deux octets CRC en fin de trame. Lors de la transmission, le CRC ou clé est calculé au "vol" sur les bits émis à l'exception des SOF, EOF, STARTBIT et STOPBIT et est ajouté en fin de trame. Cette clé correspond au reste de la division binaire du message par un polynôme générateur.
En réception, les bits du message subissent la même opération. Si le reste de la division est égal à zéro, on suppose que le message n'a pas été affecté par une erreur de transmission. Dans le cas contraire, il y a une erreur de transmission et le récepteur ignore les données reçues et signale ou non à l'émetteur qu'il a détecté une erreur.
La description qui vient d'être faite de l'invention permet de définir un procédé de détection et de mise en forme de trames de données pour les signaux reçus par une carte à puce sans contact, caractérisé en ce qu'il comprend les étapes suivantes consistant à :
(a) détecter 62 les signaux de début SOF et de fin de trame EOF,
(b) détecter 64, 76 les signaux de début STARTBIT et de fin d'octet STOPBIT, (c) compter 68 les bits reçus après chaque début d'octet jusqu'à l'obtention d'un octet,
(d) compter 70 les octets reçus pour aiguiller les bits d'un octet vers un des registres 80,
(e) analyser 78 au moins le premier octet reçu pour déterminer le nombre d'octets de la trame en cours de réception, et
(f) changer un décompteur 7 avec le nombre d'octets de la trame et le décrémenter au fur et à mesure des octets reçus jusqu'à l'obtention du chiffre "0" qui indique que tous les octets de la trame ont été reçus. Dans le cas des cartes sans contact utilisant les normes ISO 14443-3 et 15693-3, le polynôme générateur est indiqué par la norme ISO/IEC 13239-B et a la particularité suivante : - l'état initial des registres est "FFFF" en codage hexadécimal ,
- avant d'être ajoutée à la trame, la clé calculée subit une inversion,
- le reste de la division de l'ensemble message et clé est égal à FOB8 en codage hexadécimal.
Aussi, pour ne pas tenir compte de cette particularité, l'invention propose d'inverser les octets de CRC lorsqu'ils sont détectés à la réception, ce qui est rendu possible du fait que l'invention permet d'identifier au vol les octets par anticipation, y compris les octets CRC.
Ceci est obtenu en appliquant le signal SDA à une des deux bornes d'entrée d'un circuit OU EXCLUSIF 120 (figure 8), l'autre borne d'entrée recevant le signal CRCVALID qui indique la réception des octets CRC. Le signal complémentaire de SDA à la sortie du circuit OU EXCLUSIF 120 est appliqué au détecteur d'erreur 66 à la place du signal SDA. On permet ainsi une comparaison plus simple dans le détecteur d'erreur. Lorsque les cartes à puce sans contact reçoivent une trame correspondant à une commande incluant une demande de sélection, les cartes présentes dans le champ du lecteur décodent celle-ci et compare l'identifiant reçu à leur numéro de série contenu par exemple dans la mémoire 16 (figure 1). Lorsque la comparaison est positive, la carte est sélectionnée et se met dans un état actif et est prête à recevoir d'autres commandes. Il est connu de faire cette comparaison en parallèle entre deux registres, l'un contenant le numéro de série lu dans la mémoire 16 et l'autre contenant l'identi iant reçu. Ceci conduit à avoir deux registres et un circuit OU EXCLUSIF sur chaque chiffre à comparer, c'est-à-dire à utiliser de nombreux circuits. Selon l'invention, il est proposé d'effectuer cette comparaison en série en lisant la mémoire 16, bit après bit, et comparer chaque bit au bit correspondant de l'identifiant reçu. A cet effet, l'invention propose le comparateur série selon le schéma de la figure 9. Le comparateur comprend (figure 9) trois bascules de type D 130, 132 et 134, un circuit OU EXCLUSIF 136 et un circuit ET 138.
La borne d'entrée D de la bascule 130 reçoit les chiffres de l'identi iant ID au fur et à mesure de leur réception tandis que la borne d'entrée D de la bascule 132 reçoit les chiffres du numéro de série SN lus en série dans la mémoire 16. Les bornes d'entrée horloge CK des deux bascules reçoivent un signal d'horloge CLK qui correspond à celui utilisé pour la lecture de la mémoire 16. La borne d'entrée R de remise à zéro reçoit le signal POR car elle est inversée. La borne de sortie Q de chaque bascule 130 ou 132 est connectée à une borne d'entrée du circuit OU EXCLUSIF 136 dont la borne de sortie est connectée à une borne d'entrée inversée du circuit ET 138. L'autre borne d'entrée du circuit ET 138 est connectée à la borne de sortie Q de la bascule 134 dont la borne d'entrée D est connectée à la borne de sortie du circuit ET 138.
La bascule 134 est mise à l'état 1 par le signal POR appliqué sur la borne d'entrée P inversée.
La borne d'entrée d'horloge CK de la bascule 134 est telle que le changement d'état a lieu au flanc descendant du signal horloge CLK et non pas au flanc montant comme pour les bascules 130 et 132. Le fonctionnement du comparateur série de la figure 9 est tel que la borne de sortie Q de la bascule 134 fournit un signal d'état "0" lorsque les chiffres comparés sont les mêmes et un signal d'état "1" lorsque les chiffres comparés sont différents.

Claims

R E V E N D I C A T I O N S
1. Circuit de détection et de mise en forme de trames de données dans une carte à puce sans contact, caractérisé en ce qu'il comprend :
- une machine d'états (60), - des moyens (62 à 78) pour détecter les chiffres binaires ou bits signal (SDA) d'une trame et les arranger sous forme d'octets,
- des registres (80) pour enregistrer chacun en série les bits d'un octet reçu, et - un circuit de décodage (78) du nombre d'octets de la trame.
2. Circuit selon la revendication 1, caractérisé en ce que la machine d'états (60) change d'état en fonction des signaux fournis par les moyens de détection (62, 78) et fournit, en retour, des signaux qui sont appliqués auxdits moyens de détection.
3. Circuit selon la revendication 1 ou 2 , caractérisé en ce que les moyens de détection (62 à 78) comprennent
- un décodeur (78) d'au moins un premier octet de la trame pour déterminer le nombre d'octets de la trame en cours de réception, et
- un décompteur d'octets (72) qui est chargé avec le nombre d'octets de la trame et qui est décrémenté d'une unité à chaque nouvel octet détecté.
4. Circuit selon la revendication 3, caractérisé en ce que les moyens de détection (62 à 78) comprennent : - un détecteur (62, 76) de début (SOF) et de fin (EOF) de trame,
- un détecteur (64) de début (STARTBIT) et de fin (STOPBIT) d'octet, - un compteur de bits (68) pour compter les bits reçus entre le début d'un octet (STARTBIT) et la fin d'un octet (STOPBIT) .
5. Circuit selon la revendication 4, caractérisé en ce que les moyens de détection (62 à 78) comprennent :
- un compteur de registres (70) qui est incrémente d'une unité à chaque détection d'un octet de manière à adresser le registre dans lequel sera enregistré l'octet suivant.
6. Circuit selon la revendication 5, caractérisé en ce que les moyens de détection (62 à 78) comprennent :
- un détecteur d'erreur (66) qui effectue en série la vérification des bits des octets reçus au fur et à mesure de leur détection.
7. Circuit selon la revendication 6, dans son application aux normes ISO 14443-3 et ISO 15693-3 dans lesquelles le polynôme générateur est indiqué par la norme ISO/IEC 13239-B, caractérisé en ce que le signal SDA est complémenté via un circuit OU EXCLUSIF (120) avant d'être appliqué au circuit détecteur d'erreur (66) de manière à obtenir un reste nul pour la division des bits du message reçu par le polynôme générateur.
8. Circuit selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comprend en outre un comparateur série entre les bits constituant un identifiant (ID) de sélection et ceux constituant un numéro de série (SN) de la carte à puce, ledit comparateur comprenant :
- une première bascule (130) dont une borne d'entrée (D) reçoit les bits de l'identifiant (ID) et dont le basculement est obtenu sur le front avant d'une impulsion d'horloge (CLK) appliquée à une autre borne d'entrée (CK) ,
- une deuxième bascule (132) dont une borne d'entrée (D) reçoit les bits du numéro de série de la carte à puce, et dont le basculement est obtenu sur le front avant d'une impulsion d'horloge (CLK) appliquée à une autre borne d'entrée (CK) ,
- un circuit OU EXCLUSIF (136) dont une borne d'entrée est connectée à une borne de sortie (Q) de la première bascule (130) et dont l'autre borne d'entrée est connectée à une borne de sortie (Q) de la deuxième bascule (132) ,
- un circuit "ET" (138) dont une borne d'entrée est connectée à la borne de sortie du cicuit OU EXCLUSIF (136) et dont la borne de sortie est connectée à une borne d'entrée (D) d'une troisième bascule (134),
- la borne de sortie (Q) de la troisième bascule (134) étant connectée à l'autre borne d'entrée du circuit ET (138), le basculement de cette troisième bascule (134) étant obtenu sur le flanc arrière d'une impulsion d'horloge (CLK) appliquée à une autre borne d'entrée (CK) .
9. Procédé de détection et de mise en forme de trames de données pour les signaux reçus par une carte à puce sans contact, caractérisé en ce qu'il comprend les étapes suivantes consistant à :
(a) détecter (62) les signaux de début (SOF) et de fin de trame (EOF) , (b) détecter (64, 76) les signaux de début (STARTBIT) et de fin d'octet (STOPBIT),
(c) compter (68) les bits reçus après chaque début d'octet jusqu'à l'obtention d'un octet,
(d) compter (70) les octets reçus pour aiguiller les bits d'un octet vers un des registres (80), (e) analyser (78) au moins le premier octet reçu pour déterminer le nombre d'octets de la trame en cours de réception, et
(f) changer un décompteur (72) avec le nombre d'octets de la trame et le décrémenter au fur et à mesure des octets reçus jusqu'à l'obtention du chiffre "0" qui indique que tous les octets de la trame ont été reçus.
EP00971483A 2000-10-23 2000-10-23 Circuit de detection et de mise en forme de trames de donnees Withdrawn EP1330781A1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/FR2000/002946 WO2002035466A1 (fr) 2000-10-23 2000-10-23 Circuit de detection et de mise en forme de trames de donnees

Publications (1)

Publication Number Publication Date
EP1330781A1 true EP1330781A1 (fr) 2003-07-30

Family

ID=8847839

Family Applications (1)

Application Number Title Priority Date Filing Date
EP00971483A Withdrawn EP1330781A1 (fr) 2000-10-23 2000-10-23 Circuit de detection et de mise en forme de trames de donnees

Country Status (4)

Country Link
US (1) US7003407B1 (fr)
EP (1) EP1330781A1 (fr)
JP (1) JP2004512754A (fr)
WO (1) WO2002035466A1 (fr)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2831305B1 (fr) * 2001-10-23 2004-01-30 Inside Technologies Circuit integre sans contact comprenant des moyens d'identification automatique de trame
US7535844B1 (en) * 2004-01-28 2009-05-19 Xilinx, Inc. Method and apparatus for digital signal communication
US9124393B2 (en) * 2013-12-20 2015-09-01 Nxp B.V. End of communication detection
CN104767701B (zh) * 2014-01-06 2018-12-11 上海华虹集成电路有限责任公司 带有sof、eof和egt的整帧数据解调方法及电路
JP6553410B2 (ja) * 2015-05-27 2019-07-31 ラピスセミコンダクタ株式会社 半導体通信装置、通信システム、及び通信方法
KR102510515B1 (ko) 2016-03-07 2023-03-16 삼성전자주식회사 Sof 패턴에 기초하여 분석된 수신 특성을 참조하여 데이터를 디코딩하도록 구성되는 통신 회로 칩 및 전자 장치

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4896133A (en) * 1987-02-10 1990-01-23 Davin Computer Corporation Parallel string processor and method for a minicomputer
EP0651320B1 (fr) * 1993-10-29 2001-05-23 Advanced Micro Devices, Inc. Décodeur d'instructions superscalaires
US6003151A (en) * 1997-02-04 1999-12-14 Mediatek Inc. Error correction and detection system for mass storage controller
US6061614A (en) * 1997-10-17 2000-05-09 Amtech Systems Corporation Electronic tag including RF modem for monitoring motor vehicle performance
FR2772534B1 (fr) * 1997-12-15 2000-02-11 Inside Technologies Microcircuit a logique cablee comportant une interface de communication numerique
US6091530A (en) * 1997-12-24 2000-07-18 Recall Services, Inc. Low power infrared communication system
US6222757B1 (en) * 1998-02-25 2001-04-24 Xilinx, Inc. Configuration memory architecture for FPGA
EP0996262A1 (fr) * 1998-10-22 2000-04-26 Texas Instruments France Système de communication comportant une pluralité de liaisons de données synchronisées
US6711181B1 (en) * 1999-11-17 2004-03-23 Sony Corporation System and method for packet parsing and data reconstruction in an IEEE 1394-1995 serial bus network
US6735198B1 (en) * 1999-12-21 2004-05-11 Cisco Technology, Inc. Method and apparatus for updating and synchronizing forwarding tables in a distributed network switch
US6738392B1 (en) * 2000-09-27 2004-05-18 Cisco Technology, Inc. Method and apparatus of framing high-speed signals

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO0235466A1 *

Also Published As

Publication number Publication date
WO2002035466A1 (fr) 2002-05-02
JP2004512754A (ja) 2004-04-22
US7003407B1 (en) 2006-02-21

Similar Documents

Publication Publication Date Title
EP1438695B1 (fr) Circuit integre sans contact comprenant des moyens d'identification automatique de trame
EP0889429B1 (fr) Lecteur de cartes à puces à protocole de transmission rapide
WO1999049426A1 (fr) Procede de commutation d'applications sur une carte a puce multi-applicative
EP0944016B1 (fr) Procédé perfectionné d'identification de cartes électroniques
EP0472472A1 (fr) Dispositif pour le dialogue à distance entre une station et un ou plusieurs objets portatifs
EP0897563A1 (fr) Procede pour selectionner un module electronique parmi une pluralite de modules presents dans le champ d'interrogation d'un terminal
EP1330781A1 (fr) Circuit de detection et de mise en forme de trames de donnees
EP0012880B1 (fr) Procédé de décodage de données binaires codées en phase, modulation de fréquence et modulation de fréquence modifiée
EP0384536B1 (fr) Procédé et dispositif de synchronisation bit dans un récepteur de transmission de données numériques
EP0512882B1 (fr) Procédé et dispositif de détection et de contrÔle du gabarit de messages numériques transmis à un dispositif de réception
EP0344052B1 (fr) Mémoire modulaire
EP1131772B1 (fr) Procede de transmission numerique
EP0191999B1 (fr) Procédé d'adressage entre une station émettrice d'un message et au moins une station réceptrice dans un réseau de communication et dispositif permettant la mise en oeuvre du procédé
FR2710804A1 (fr) Dispositif numérique de connexion d'une pluralité de stations de travail sur un réseau local en anneau.
EP1556766B1 (fr) Surveillance d'un programme de microprocesseur par envoi de messages reperables dans le temps
FR2815444A1 (fr) Procede et dispositif de changement de mode de fonctionnement pour un lecteur de carte a puce
EP0190060A1 (fr) Procédé de diffusion sûre de messages dans un réseau en anneau et dispositif permettant la mise en oeuvre du procédé
FR2699027A1 (fr) Procédé de traitement d'informations au sein d'un récepteur, en particulier de radio-messagerie, et récepteur correspondant.
EP0343083B1 (fr) Dispositif de détection de perte de synchronisation et son utilisation dans un réseau de transmisson numérique
EP0196255B1 (fr) Procédé d'extraction d'un signal d'horloge synchrone à partir d'un signal codé en simple ou double densité, et dispositif permettant la mise en oeuvre du procédé
FR2796226A1 (fr) Decodeur de signaux binaires transmis a une carte a puce sans contact par modulation de position d'impulsions
FR2776095A1 (fr) Procede et systeme de lecture multiple d'un ensemble dynamique d'etiquettes avec synchronisation de communication entre les etiquettes et le lecteur
FR2791206A1 (fr) Procede de communication des parametres d'un protocole de transmission numerique
FR2786580A1 (fr) Circuit generateur de signature
EP1556765A1 (fr) Transmission de messages numeriques generiques par un circuit de surveillance d'un microprocesseur

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20030310

AK Designated contracting states

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE

RBV Designated contracting states (corrected)

Designated state(s): AT BE CH CY DE FR GB LI

RBV Designated contracting states (corrected)

Designated state(s): DE FR GB IT

17Q First examination report despatched

Effective date: 20080305

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20080716