FR3113748A1 - Procédé de stockage d’instructions dans une mémoire programme et système associé. - Google Patents

Procédé de stockage d’instructions dans une mémoire programme et système associé. Download PDF

Info

Publication number
FR3113748A1
FR3113748A1 FR2008956A FR2008956A FR3113748A1 FR 3113748 A1 FR3113748 A1 FR 3113748A1 FR 2008956 A FR2008956 A FR 2008956A FR 2008956 A FR2008956 A FR 2008956A FR 3113748 A1 FR3113748 A1 FR 3113748A1
Authority
FR
France
Prior art keywords
transponder
reader
module
bus
command
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.)
Granted
Application number
FR2008956A
Other languages
English (en)
Other versions
FR3113748B1 (fr
Inventor
Jean-Louis Labyre
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 Grenoble 2 SAS
Original Assignee
STMicroelectronics Grenoble 2 SAS
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 Grenoble 2 SAS filed Critical STMicroelectronics Grenoble 2 SAS
Priority to FR2008956A priority Critical patent/FR3113748B1/fr
Priority to US17/464,062 priority patent/US11625347B2/en
Priority to CN202111032065.0A priority patent/CN114138313A/zh
Publication of FR3113748A1 publication Critical patent/FR3113748A1/fr
Priority to US18/182,116 priority patent/US20230214336A1/en
Application granted granted Critical
Publication of FR3113748B1 publication Critical patent/FR3113748B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4403Processor initialisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K17/00Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B5/00Near-field transmission systems, e.g. inductive or capacitive transmission systems
    • H04B5/40Near-field transmission systems, e.g. inductive or capacitive transmission systems characterised by components specially adapted for near-field transmission
    • H04B5/45Transponders
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B5/00Near-field transmission systems, e.g. inductive or capacitive transmission systems
    • H04B5/70Near-field transmission systems, e.g. inductive or capacitive transmission systems specially adapted for specific purposes
    • H04B5/72Near-field transmission systems, e.g. inductive or capacitive transmission systems specially adapted for specific purposes for local intradevice communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B5/00Near-field transmission systems, e.g. inductive or capacitive transmission systems
    • H04B5/70Near-field transmission systems, e.g. inductive or capacitive transmission systems specially adapted for specific purposes
    • H04B5/77Near-field transmission systems, e.g. inductive or capacitive transmission systems specially adapted for specific purposes for interrogation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B5/00Near-field transmission systems, e.g. inductive or capacitive transmission systems
    • H04B5/70Near-field transmission systems, e.g. inductive or capacitive transmission systems specially adapted for specific purposes
    • H04B5/79Near-field transmission systems, e.g. inductive or capacitive transmission systems specially adapted for specific purposes for data transfer in combination with power transfer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0016Inter-integrated circuit (I2C)

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Information Transfer Systems (AREA)

Abstract

Système comprenant un lecteur sans contact (RD) et un appareil (APP), ledit appareil comportant un transpondeur sans contact (TG), ledit transpondeur comportant une interface sans contact (INT1) et une interface câblée de transpondeur (INT2) et étant configuré pour communiquer avec ledit lecteur selon un protocole sans contact par l’intermédiaire de ladite interface sans contact, ledit appareil comportant un bus (BS) couplé à ladite interface câblée de transpondeur et au moins un module (MD) couplé audit bus, ledit au moins un module comportant une unité de traitement (PRU), ledit lecteur étant configuré pour communiquer les instructions d’un programme informatique exécutables par l’unité de traitement audit au moins un module (MD), via le transpondeur (TG). Figure pour l’abrégé : Fig. 1

Description

Procédé de stockage d’instructions dans une mémoire programme et système associé
Des modes de réalisation de l’invention concernent le stockage d’instructions de programme informatique, par exemple des instructions d’un microprogramme (« Firmware » en anglais) (FW), dans une mémoire, par exemple une mémoire flash, d’un module, par exemple un microcontrôleur (MCU), comportant une unité de traitement.
Sur la chaîne de production, le premier FW doit être téléchargé dans la mémoire flash du MCU.
Après la production, le FW doit être téléchargé dans la mémoire flash du MCU pour être mis à niveau.
La première programmation comme la programmation de mise à niveau nécessitent que le produit ou l’application soit alimenté(e) et qu’un câble soit branché, soit à un connecteur externe, ou après ouverture du produit, à un connecteur interne.
Toutefois, pour la première programmation ou la mise à niveau du FW, il est nécessaire non seulement que le produit soit alimenté, mais aussi d’ouvrir le produit si aucun connecteur externe spécifique n’est disponible, et il faut brancher un câble pour communiquer avec le MCU, ce qui se fait manuellement la plupart du temps.
Il y a donc une possibilité de rupture ou de dégradation d’un connecteur pendant cette opération.
En outre, il n’est pas possible de programmer plusieurs produits simultanément (c’est-à-dire des cartes de produits mises en boîtier ensemble), et il n’est pas possible de faire de la programmation « en boîtier », c’est-à-dire sur un produit entièrement mis en boîtier, car un accès physique au connecteur est nécessaire.
Des exemples de telle solution câblée connue utilisent un connecteur JTAG, mais celui-ci nécessite à la fois un câblage et une alimentation. Une autre solution câblée est un bus de communication connu comme l’USB ou l’UART.
Une solution technique connue pour éviter le câblage consiste à utiliser une technologie de communication sans fil comme BlueTooth ou WiFi, mais ces solutions ne fournissent pas l’alimentation et nécessitent l’introduction d’un FW trop volumineux dans un chargeur d’amorçage ainsi qu’un appariement avant de permettre la communication.
De telles solutions ne peuvent donc pas être utilisées comme solutions de première programmation.
Il existe par conséquent un besoin de proposer une solution technique plus robuste pour programmer le produit, avec moins d’étapes manuelles dans la production.
Il existe aussi un besoin de proposer une solution technique qui offre une possibilité de programmer plusieurs produits simultanément.
Il existe aussi un besoin de proposer une solution technique qui offre une possibilité de faire de la programmation « en boîtier », c’est-à-dire permettant de programmer le FW à la toute fin d’une chaîne de production, ce qui permet une personnalisation à la fin de la chaîne de production.
Il existe également un besoin de proposer une solution technique offrant une réduction et une simplification de la maintenance du produit.
Selon un mode de réalisation, il est proposé d’utiliser un transpondeur sans contact, par exemple un transpondeur NFC (« Near Field Communication »:Communication en Champ Proche) qui coopère sans contact avec un lecteur sans contact (par exemple un lecteur NFC) et qui coopère avec une unité de traitement d’un module, par exemple un microcontrôleur, pour être programmé via un bus câblé, par exemple un bus I2C ou un bus SPI, et pour transmettre les instructions de programme du lecteur au module par l’intermédiaire du transpondeur.
Il n’est donc pas nécessaire d’ouvrir le produit (module) pour brancher un câble ou d’avoir un connecteur externe, ce qui permet de réduire les étapes manuelles sur la chaîne de production.
Le produit ou l’application est plus robuste (pas d’usure de connecteur).
La maintenance du produit est réduite et simplifiée.
Il est également possible de programmer plusieurs modules simultanément (tous les modules présents dans le même champ RF peuvent être programmés en même temps).
Il est aussi possible de faire de la programmation « en boîtier », avec par exemple une programmation du FW tout au bout de la chaîne de production, ce qui permet une personnalisation à la fin de la chaîne de production.
Il n’est pas nécessaire d’alimenter en interne le module (le microcontrôleur par exemple) car l’énergie peut être fournie par le transpondeur s’il est équipé d’une batterie par exemple, ou par le champ du lecteur.
Selon un aspect, un système est proposé, comprenant un lecteur sans contact et un appareil, par exemple un objet IOT (internet des objets), une montre connectée, un compteur de gaz connecté, ces exemples étant non limitatifs.
Ledit appareil comporte un transpondeur sans contact, par exemple un transpondeur NFC/RFID.
Ledit transpondeur comprend une interface sans contact et une interface câblée de transpondeur et est configuré pour communiquer avec ledit lecteur selon un protocole sans contact par l’intermédiaire de ladite interface sans contact.
Ledit appareil comporte un bus, par exemple un bus de « circuit inter-intégré » (I2C) ou un bus SPI ou un bus appelé SMBus, couplé à ladite interface câblée de transpondeur et au moins un module, par exemple un microcontrôleur, couplé audit bus.
Ledit au moins un module comporte une unité de traitement.
Ledit lecteur est configuré pour communiquer les instructions d’un programme informatique, par exemple les instructions d’un microprogramme, exécutables par l’unité de traitement audit au moins un module, via le transpondeur.
Les modes de réalisation de l’invention sont particulièrement applicables aux transpondeurs NFC, par exemple des étiquettes (« tags »), destinés à servir de pont entre ledit dispositif de communication sans contact externe (lecteur), par exemple un téléphone mobile cellulaire, plus connu sous le nom de « smartphone » et le ou les module(s) de l’appareil.
Ces transpondeurs qui servent de passerelle peuvent aussi être appelés « transpondeurs dynamiques » ou « étiquettes dynamiques ».
La communication en champ proche, plus connue des personnes de l’art sous le nom de NFC (ou NFC en anglais), est une technologie de connectivité sans fil qui permet la communication sur une courte distance, par exemple 10 cm, entre des dispositifs électroniques, comme des cartes à puce ou étiquettes sans contact, et des lecteurs.
La technologie NFC est particulièrement appropriée pour connecter n’importe quel type de dispositif d’utilisateur, et permet des communications rapides et faciles.
Un transpondeur sans contact est un transpondeur capable d’échanger des informations via une antenne avec un lecteur sans contact, selon un protocole de communication sans contact.
Un transpondeur NFC, qui est un transpondeur sans contact, est un transpondeur compatible avec la technologie NFC.
La technologie NFC est une plateforme de technologie de format ouvert en ISO / IEC 18092 et ISO / IEC 21481 mais elle incorpore de nombreuses normes existantes comme les protocoles de Type A et de Type B définis dans la norme ISO-14443 qui sont des protocoles de communication qui peuvent être utilisés dans la technologie NFC.
La technologie sans contact peut aussi être utilisée dans les transpondeurs de radio-identification (RFID) compatibles avec les normes ISO 15693 et ISO 18000-3.
Au cours de la transmission d’informations entre un lecteur et un transpondeur, le lecteur produit un champ magnétique par l’intermédiaire de son antenne qui est généralement, dans les normes utilisées de façon conventionnelle, une onde sinusoïdale (la porteuse) à 13,56 MHz.
Pour transmettre des informations du lecteur au transpondeur, le lecteur utilise une modulation d’amplitude de ladite porteuse.
Le transpondeur comprend un moyen de traitement configuré pour démoduler la porteuse reçue afin d’obtenir les données transmises par le lecteur.
Pour une transmission d’informations du transpondeur au lecteur, le lecteur produit le champ magnétique (la porteuse) sans modulation.
L’antenne du transpondeur module ensuite le champ produit par le lecteur, selon les informations à transmettre. La fréquence de cette modulation correspond à une sous-porteuse de ladite porteuse. La fréquence de cette sous-porteuse dépend du protocole de communication utilisé et peut être par exemple égale à 848 kHz.
Cette modulation est réalisée en modifiant la charge connectée aux bornes de l’antenne du transpondeur.
Deux modes de fonctionnement sont alors possibles, un mode passif et un mode actif.
Dans le mode passif, le transpondeur effectue une rétro-modulation de l’onde provenant du lecteur pour transmettre des informations et n’intègre pas, pour la transmission d’informations, de moyen de transmission, ou émetteur, capable par exemple de générer son propre champ magnétique pendant la diffusion. Un tel transpondeur dépourvu d’émetteur est appelé transpondeur passif, par opposition à un transpondeur actif qui comporte un émetteur.
Généralement, un transpondeur passif est dépourvu d’alimentation car il utilise l’onde du lecteur pour alimenter son circuit intégré.
Dans certaines applications le transpondeur passif peut comporter une alimentation électrique, par exemple une pile.
Dans le mode de fonctionnement actif, le lecteur et le transpondeur actif génèrent tous deux un champ électromagnétique. Généralement, ce mode de fonctionnement est utilisé quand le transpondeur actif est pourvu d’une source d’énergie, par exemple une batterie.
Chacun des dispositifs NFC (lecteur et transpondeur) transmet les données en utilisant un schéma de modulation. Ici encore, la modulation se traduit par une modification de charge et l’on parle de communication par modulation active de charge.
Comparé à un mode de communication passif, on obtient des distances de fonctionnement plus grandes, jusqu’à 20 cm, en fonction du protocole utilisé.
De plus, l’utilisation de la modulation active de charge rend possible l’utilisation d’antennes très petites.
La présente invention s’applique de préférence aux transpondeurs passifs mais elle est également compatible avec les transpondeurs actifs.
Bien qu’il soit possible d’avoir un maître à l’intérieur du module, le lecteur et le transpondeur sont, selon un mode de réalisation avantageux, configurés de telle sorte que le lecteur est le maître sur ledit bus pendant la communication desdites instructions.
Le lecteur n’est pas directement relié au bus de communication câblé, mais le lecteur peut être considéré comme étant en réalité le maître de l’application ou le maître sur le bus, du point de vue du système, parce qu’il initie des commandes dans des trames cohérentes avec ledit protocole sans contact, et ces commandes vont être transformées par le transpondeur en commandes sur le bus cohérentes avec le protocole utilisé sur ledit bus.
L’interface câblée de l’étiquette, qui est en réalité connectée au bus, est une interface maître du point de vue physique.
On peut donc dire aussi que le lecteur est le maître sur le bus par l’intermédiaire de l’interface câblée maître.
Avec un tel mode de réalisation, il n’est donc pas nécessaire d’avoir un maître à l’intérieur dudit au moins un module, ce qui conduit à une réduction du coût de l’appareil, une simplification du développement, une réduction et simplification de la maintenance et une réduction de la taille de l’appareil.
Ledit transpondeur est avantageusement une passerelle pendant une communication directe des instructions de programme informatique entre ledit lecteur et ledit au moins un module par l’intermédiaire dudit transpondeur.
Ledit au moins un module est aussi avantageusement configuré pour communiquer directement avec le lecteur par l’intermédiaire dudit transpondeur, c’est-à-dire sans passer par un microcontrôleur.
Selon un mode de réalisation, ledit au moins un module comprend un moyen formant mémoire, par exemple une mémoire flash, un chargeur d’amorçage (« bootloader » en anglais) et un mode de chargeur d’amorçage (« bootloader mode » en anglais) dans lequel le chargeur d’amorçage est configuré pour stocker lesdites instructions dans ledit moyen formant mémoire.
De façon bien connue de l’homme du métier, le chargeur d’amorçage est stocké dans la mémoire ROM d’amorçage interne (mémoire de système) du microcontrôleur. Il est programmé par le fabricant du microcontrôleur pendant la production. Son rôle principal est de décharger le microprogramme dans la mémoire flash interne via l’interface série (I2C, SPI, etc.).
Une fois dans le mode de chargeur d’amorçage, le microcontrôleur surveille une interface série pour détecter des commandes de programmation.
Un protocole de communication est défini pour chaque interface série, avec un jeu de commandes et des séquences compatibles.
Le chargeur d’amorçage peut être habituellement activé en mettant une ou des broche(s) dédiée(s) du microcontrôleur à un niveau donné, et/ou en réglant des bits de configuration interne qui permettent d’activer ce mode.
Toutefois, le mode de chargeur d’amorçage peut être actif de différentes manières. Par exemple, le microcontrôleur peut démarrer automatiquement en mode de chargeur d’amorçage si la mémoire flash est vide. En cas de mise à jour du microprogramme, le microcontrôleur peut être mis dans son mode de chargeur d’amorçage en réalisant un saut vers la mémoire de système à partir d’un code d’utilisateur. Dans ce cas, il n’y a pas besoin de régler des broches spécifiques à un niveau de tension spécifique.
Il est possible de sortir du mode de chargeur d’amorçage en quittant la condition d’activation de chargeur d’amorçage et en générant une remise à zéro matérielle ou en sautant vers un code d’utilisateur.
Selon un mode de réalisation, ledit lecteur est en outre configuré pour activer le mode de chargeur d’amorçage par l’intermédiaire du transpondeur.
Par exemple, ledit au moins un module a au moins une borne de module dédiée à l’activation du mode de chargeur d’amorçage et ledit transpondeur a au moins une borne de transpondeur couplée à ladite au moins une borne de module et un moyen de commande configuré pour mettre ladite au moins une borne de transpondeur à un ou au moins un niveau de tension en réponse à une commande d’activation de mode de chargeur d’amorçage transmise par le lecteur via l’interface sans contact.
Selon un autre aspect, il est proposé un transpondeur appartenant au système défini ci-dessus.
Plus particulièrement, le transpondeur peut comprendre un moyen de transfert configuré pour mettre en œuvre une fonction de transfert (ou « pass-through ») pour l’échange de messages entre le lecteur et ledit au moins un module pendant la communication des instructions du programme informatique.
Le lecteur peut être configuré pour initier au moins une première commande de chargeur d’amorçage dans au moins une trame cohérente avec ledit protocole sans contact, ladite au moins une première commande de chargeur d’amorçage contenant des premières données utiles incluant les instructions du programme informatique, et ledit moyen de transfert peut être configuré pour transformer ladite au moins une première commande de chargeur d’amorçage en au moins une deuxième commande de chargeur d’amorçage sur le bus cohérente avec un protocole utilisé sur ledit bus.
Selon un mode de réalisation, ledit moyen de transfert comprend un premier moyen formant mémoire volatile configuré pour mettre en mémoire tampon lesdites premières données utiles et des deuxièmes données utiles de réponses destinées à être envoyées au lecteur via ladite interface sans contact.
Selon un mode de réalisation, ledit moyen de transfert comprend en outre un deuxième moyen formant mémoire volatile configuré pour stocker des données de commande, ledit moyen de transfert étant configuré pour mettre en œuvre ladite fonction de transfert pour l’échange de messages entre le lecteur et ledit au moins un module, en se basant sur lesdites données de commande.
Selon un mode de réalisation, ledit moyen de transfert comprend en outre :
- une première machine à états configurée pour coopérer avec ledit lecteur via l’interface sans contact et configurée pour écrire/lire ledit premier moyen formant mémoire et une partie dudit deuxième moyen formant mémoire d’après des commandes transmises par le lecteur,
- une deuxième machine à états configurée pour coopérer avec ledit bus via ladite interface câblée d’après le contenu d’une partie dudit deuxième moyen formant mémoire et configurée pour écrire/lire ledit premier moyen formant mémoire et une partie dudit deuxième moyen formant mémoire.
Selon un mode de réalisation, ladite deuxième machine à états est configurée pour lire lesdites premières données utiles dans le premier moyen formant mémoire volatile et pour les exécuter sur le bus, pour gérer l’horloge et toutes les informations de signalisation de protocole de bus.
Selon un mode de réalisation, ladite deuxième machine à états est configurée pour lire les réponses du bus et pour les stocker dans le premier moyen formant mémoire volatile pour qu’elles soient lues par la première machine à états.
Lorsque ledit bus est un bus I2C, ladite au moins une première commande de chargeur d’amorçage initiée par le lecteur peut comprendre au moins une demande d’une opération d’écriture dans ledit au moins un module.
Ladite au moins une demande d’une opération d’écriture dans ledit au moins un module peut comprendre l’adresse dudit au moins un module, un code de commande spécifique et au moins une partie des instructions à écrire dans ledit moyen formant mémoire.
Quand ledit bus est un bus SPI, ladite au moins une première commande de chargeur d’amorçage initiée par le lecteur peut comprendre au moins une commande d’écriture.
Selon un mode de réalisation avantageux, le transpondeur comprend un moyen de récupération d’énergie réglable configuré pour alimenter ledit au moins un module, et le lecteur est configuré pour envoyer une commande spécifique au transpondeur afin d’activer ledit moyen de récupération d’énergie.
Selon un autre aspect, il est aussi proposé un lecteur appartenant à un système tel que défini ci-dessus.
Selon un autre aspect, il est aussi proposé un appareil appartenant à un système tel que défini ci-dessus.
Selon un autre aspect, un procédé est proposé, pour stocker des instructions de programme informatique dans un moyen formant mémoire d’au moins un module comportant une unité de traitement.
Ledit procédé comprend les étapes suivantes :
- fournir un transpondeur comportant une interface sans contact et une interface câblée de transpondeur,
- coupler un bus entre ladite interface câblée de transpondeur et ledit au moins un module,
- faire communiquer par ledit lecteur lesdites instructions de programme informatique au transpondeur via l’interface sans contact selon un protocole sans contact,
- faire communiquer par le transpondeur les instructions de programme informatique sur le bus audit au moins un module.
Selon un mode de réalisation, ledit procédé comprend en outre le fait de faire agir le lecteur en tant que maître sur ledit bus pendant la communication desdites instructions de programme informatique.
Selon un mode de réalisation, ledit procédé comprend les étapes suivantes :
- munir ledit au moins un module d’un moyen formant mémoire et d’un chargeur d’amorçage,
- placer ledit au moins un module dans un mode de chargeur d’amorçage,
- faire stocker par le chargeur d’amorçage lesdites instructions de programme informatique dans ledit moyen formant mémoire.
Selon un mode de réalisation, ledit procédé comprend en outre le fait de faire activer par le lecteur le mode de chargeur d’amorçage par l’intermédiaire du transpondeur.
Selon un mode de réalisation, ledit procédé comprend en outre les étapes suivantes :
- munir ledit au moins un module d’au moins une borne de module dédiée à l’activation du mode de chargeur d’amorçage,
- munir ledit transpondeur d’au moins une borne de transpondeur couplée à ladite au moins une borne de module,
- faire envoyer par le lecteur une commande d’activation de mode de chargeur d’amorçage au transpondeur via l’interface sans contact et
- faire mettre par le transpondeur ladite au moins une borne de transpondeur à au moins un niveau de tension en réponse à ladite commande d’activation de mode de chargeur d’amorçage.
Selon un mode de réalisation, ledit procédé comprend en outre les étapes suivantes, exécutées par le transpondeur :
- stocker des données de commande, et
- mettre en œuvre une fonction de transfert pour l’échange de messages entre le lecteur et ledit au moins un module basé sur lesdites données de commande, pendant la communication des instructions du programme informatique.
Selon un mode de réalisation, ledit procédé comprend les étapes suivantes :
- faire initier par le lecteur au moins une première commande de chargeur d’amorçage dans au moins une trame cohérente avec ledit protocole sans contact, ladite au moins une première commande de chargeur d’amorçage contenant des premières données utiles qui incluent les instructions du programme informatique, et
- faire transformer par ladite fonction de transfert ladite au moins une première commande de chargeur d’amorçage en au moins une deuxième commande de chargeur d’amorçage sur le bus cohérente avec un protocole utilisé sur ledit bus.
Selon un mode de réalisation, ledit procédé comprend en outre le fait de munir le transpondeur d’un moyen de récupération d’énergie réglable configuré pour alimenter ledit au moins module, et de faire envoyer par le lecteur une commande spécifique au transpondeur afin d’activer ledit moyen de récupération d’énergie.
D’autres avantages et caractéristiques de l’invention apparaîtront à la lecture de la description détaillée ci-dessous et à l’étude des dessins annexés qui ne sont pas limitatifs, dans lesquels :
représentent des modes de réalisation de l’invention utilisant un bus I2C, et
représentent des modes de réalisation de l’invention utilisant un bus SPI.
Comme montré sur la , qui illustre un exemple d’un système SYS selon l’invention, un lecteur NFC/RFID RD peut agir en tant que maître I2C de l’application ou appareil APP pour délivrer les instructions d’un microprogramme à un module MD, par exemple un microcontrôleur, comportant une unité de traitement PRU configurée pour exécuter ledit microprogramme.
En d’autres termes, le lecteur RD est configuré pour communiquer directement avec le module MD de l’appareil APP via une interface sans contact INT1 d’un transpondeur (ou étiquette) TG à double interface NFC/RFID.
Bien que le lecteur RD ne soit pas directement relié au bus BS, ici un bus I2C, le lecteur RD peut être considéré comme étant en réalité le maître de l’application ou le maître sur le bus I2C, parce qu’il initie des commandes dans des RF, et ces commandes sont ensuite transformées en commandes I2C sur le bus I2C, cohérentes avec le protocole I2C.
L’interface I2C INT2 de l’étiquette ou transpondeur TG est en réalité connectée au bus I2C BS. Cette interface, aussi appelée interface de transpondeur câblée INT2, est une interface maître.
On peut donc aussi dire que le lecteur est le maître sur le bus BS à travers l’interface maître I2C INT2.
Le module MD comprend également une interface esclave I2C INTD connectée au bus BS, et un moyen formant mémoire MF, comme une mémoire flash, destiné à stocker le microprogramme.
Le module MD comprend aussi un chargeur d’amorçage BLD, connu en soi, et au moins une borne de module, ici trois bornes de module GPC1-GPC3, couplées respectivement à trois bornes de transpondeur GPO1-GPO3.
L’étiquette TG comprend également un moyen de commande GPOCTRL configuré pour régler lesdites bornes de transpondeur GPO1-GPO3, et consécutivement les bornes de module GPC1-GPC3 à un niveau de tension respectif en réponse à une commande d’activation de mode de chargeur d’amorçage transmise par le lecteur par l’intermédiaire de l’interface sans contact INT1.
Dans le présent exemple, après réception de cette commande d’activation de mode de chargeur d’amorçage, le module est placé dans un mode de chargeur d’amorçage et le chargeur d’amorçage est activé.
Ceci sera expliqué plus en détail ci-après.
Dans ce mode de réalisation, l’étiquette TG comprend aussi un moyen de récupération d’énergie réglable EHM, ayant une structure connue en soi, configurée pour alimenter le module MD avec une tension d’alimentation VCC, et le lecteur est configuré pour envoyer une commande spécifique au transpondeur afin d’activer ledit moyen de récupération d’énergie EHM.
Plus précisément, un exemple non limitatif de moyen de récupération d’énergie réglable EHM est représenté de façon schématique sur la .
Quand l’étiquette NFC/RFID TG reçoit plus d’énergie que nécessaire pour s’alimenter à partir du champ RF produit par le lecteur, une partie de l’énergie reçue peut être utilisée pour alimenter un dispositif externe, ici le module MD.
Le moyen EHM peut incorporer un pont redresseur à diodes RBR, dont la sortie est commandée par un interrupteur MOS MSW.
Quand l’interrupteur MOS MSW est ouvert, aucune tension n’est délivrée sur la sortie de l’EHM, EHMS.
Quand l’interrupteur MOS MSW est fermé, une tension redressée provenant des bobines d’antenne ANT1 de l’étiquette est délivrée sur la sortie EHMS pour alimenter le dispositif externe (c’est-à-dire le module ou microcontrôleur MD).
L’interrupteur Marche/Arrêt de l’EHM peut être commandé par l’intermédiaire d’une commande dédiée EHMCTRL.
En plus des moyens qui viennent d’être décrits, l’étiquette TG intègre un ensemble ENS de moyens représentés plus particulièrement sur la .
Une telle étiquette TG peut être utilisée comme passerelle pour permettre des échanges de messages entre le lecteur et le module MD, le lecteur étant le maître et l’interface câblée INT2 étant le maître sur le bus BS pendant cet échange.
Des exemples d’une telle étiquette et de son fonctionnement ont été décrits dans la demande PCT déposée le 14 mai 2020 sous le n° PCT/EP2020/063427.
L’homme du métier peut se référer à cette demande PCT.
Cette demande PCT est incorporée ici par référence.
Certaines caractéristiques de l’étiquette ainsi que certaines étapes d’échanges plus particulièrement utilisées dans la présente invention vont maintenant être rappelées.
Comme montré sur la , l’étiquette TG intègre, dans l’ensemble de moyens ENS de la :
une mémoire non volatile NVM, par exemple une EEPROM,
un premier moyen formant mémoire volatile, comme une mémoire tampon BF (FIFO), pour stocker des octets I2C,
un deuxième moyen formant mémoire volatile, comportant une pluralité de registres, par exemple :
un registre RGW pour stocker le nombre d’octets I2C à écrire,
un registre RGD pour stocker le nombre d’octets I2C à lire,
un registre RGC (contenant un bit) pour signaler qu’une commande I2C est présente dans la mémoire tampon BF,
un registre RGR (contenant un bit) pour signaler qu’une réponse I2C est présente dans la mémoire tampon BF,
un registre RGK (contenant un bit) pour enregistrer une valeur de bit d’accusé de réception (ce registre RGK est réinitialisé à la lecture),
une machine à états SM1 pour une commande de transfert RF,
une machine à états SM2 pour une commande de transfert I2C.
Une telle étiquette TG peut être réalisée par exemple par un circuit intégré ou une puce, par exemple sur un circuit intégré de la famille de circuits intégrés portant la référence ST25 chez STMicroelectronics.
Le protocole I2C est bien connu de l’homme de l’art et peut être trouvé dans la spécification I2C. Nous allons à présent rappeler quelques caractéristiques du protocole I2C.
Le bus I2C utilise deux fils : données série (SDA) et horloge série (SCL).
Tous les dispositifs maîtres et esclaves I2C sont reliés seulement avec ces deux fils.
Un dispositif fonctionnant en tant que maître génère une horloge de bus et initie la communication sur le bus, les autres dispositifs sont esclaves et répondent aux commandes sur le bus.
Pour pouvoir communiquer avec un dispositif spécifique, chaque dispositif esclave doit avoir une adresse qui est unique sur le bus.
Le dispositif maître I2C n’a pas besoin d’adresse car aucun autre dispositif (esclave) n’envoie de commandes au maître.
Les deux signaux SCL et SDA sont bidirectionnels.
À chaque impulsion d’horloge, un bit de données est transféré. Le signal SDA ne peut changer que lorsque le signal SCL est au niveau bas. Quand l’horloge est au niveau haut, les données sont en principe stables.
Chaque commande I2C initiée par le dispositif maître commence par une condition START (début) et finit par une condition STOP (fin). Pour ces deux conditions, SCL doit être au niveau haut. Une transition haut-bas de SDA est considérée comme une condition START et une transition bas-haut est considérée comme une condition STOP.
Après la condition START, le bus est considéré comme étant occupé. Après la condition START, le maître peut générer une condition START répétée. Celle-ci est équivalente à une condition START normale et est généralement suivie de l’adresse I2C esclave.
Les figures 4, 5 et 6 (tirées de la spécification I2C version 6.0, 4 avril 2014) illustrent les caractéristiques du protocole I2C.
Comme illustré sur la , les données présentes sur le bus I2C sont transférées par paquets de 8 bits (octets). Il n’y a pas de limitation du nombre d’octets, cependant chaque octet doit être suivi d’un bit d’accusé de réception ACK provenant d’un dispositif esclave. Ce bit ACK indique si le dispositif esclave est prêt à passer à l’octet suivant. Pour tous les bits de données et le bit d’accusé de réception ACK, le maître doit générer des impulsions d’horloge. Si le dispositif esclave n’accuse pas réception du transfert, cela signifie qu’il n’y a plus de données ou que le dispositif n’est pas encore prêt pour le transfert. Le dispositif maître doit générer soit une condition STOP, soit une condition START répétée.
Les données sont transmises avec le bit de poids fort (MSB) en premier. Si un esclave ne peut pas recevoir ou transmettre un autre octet complet de données jusqu’à ce qu’il ait exécuté une autre fonction, par exemple traiter une interruption interne, il peut maintenir la ligne d’horloge SCL au niveau bas pour obliger le maître à se mettre dans un état d’attente. Le transfert de données continue ensuite quand l’esclave est prêt pour un autre octet de données et libère la ligne d’horloge SCL.
Comme représenté sur les figures 5 et 6, chaque dispositif esclave sur le bus doit avoir une adresse unique à 7 bits.
La communication commence avec la condition START, suivie de l’adresse d’esclave à 7 bits et du bit de direction de données R/W.
Si ce bit R/W est à 0 ( ), alors le maître écrit vers le dispositif esclave. Sinon, si le bit de direction de données R/W est à 1, le maître lit à partir du dispositif esclave ( ).
Une fois l’adresse d’esclave et le bit de direction de données R/W envoyés, le maître peut continuer à lire ou écrire.
La communication s’arrête avec la condition STOP qui signale également que le bus I2C est libre.
Si le maître a besoin de communiquer avec d’autres esclaves, il peut générer une condition START répétée avec une autre adresse d’esclave sans générer de condition STOP.
Si le maître n’écrit que vers le dispositif esclave, alors la direction de transfert de données ne change pas ( ) ; le récepteur esclave accuse réception de chaque octet.
Si le maître n’a besoin que de lire à partir du dispositif esclave, alors il envoie simplement l’adresse I2C avec le bit R/W réglé sur lecture. Ensuite, le dispositif maître commence à lire les données ( ).
Au moment du premier accusé de réception, l’émetteur maître devient récepteur maître et le récepteur esclave devient émetteur esclave. Ce premier accusé A est toujours généré par l’esclave. Le maître génère les accusés de réception suivants. La condition STOP est générée par le maître, qui envoie un non-accusé juste avant la condition STOP.
Les figures 7 à 11 expliquent un exemple d’étapes successives du processus d’écriture d’octets dans un module esclave, ces octets étant envoyés par le lecteur RD pour être transmis au module esclave de l’appareil APP.
Comme cela sera expliqué plus loin, ce processus d’écriture d’octets va être utilisé pour transmettre les instructions de microprogramme au module esclave MD à partir du lecteur RD.
Comme illustré sur la , le lecteur NFC/RFID RD envoie (étape S7) une commande RF 700 à l’étiquette NFC/RFID pour programmer le nombre d’octets I2C à lire.
La commande RF 700 a une structure classique, compatible avec le protocole RF utilisé, et le nombre d’octets I2C à lire est inclus dans les données utiles de la commande RF 700.
Ici la valeur du nombre d’octets I2C à lire est égale à 0 car il n’y a pas d’octet à lire sur le bus I2C.
Ce nombre d’octets I2C à lire est extrait de la commande RF par la machine à états SM1 (commande de transfert RF) puis écrit dans le registre RGD par la machine à états SM1 également (commande de transfert RF).
Le registre RGC et le registre RGR contiennent une valeur 0 tandis que le registre RGK contient une valeur 1.
Comme représenté sur la , le lecteur NFC/RFID RD envoie (étape S8) une commande d’écriture RF 800 à l’étiquette NFC/RFID.
Cette commande RF 800 contient des octets I2C à écrire sur le bus I2C ainsi que l’adresse d’esclave I2C du module esclave destiné à recevoir ces octets I2C.
L’adresse d’esclave I2C et les octets I2C forment un message I2C complet destiné à être délivré au bus I2C mais sans information de signalisation I2C, c’est-à-dire ici sans les conditions START et STOP.
L’adresse d’esclave I2C, qui est le premier octet, inclut le bit R/W qui est réglé sur « écriture ».
Ceci déclenche le bit « commande I2C en mémoire tampon » du registre RGC.
En d’autres termes, le registre RGC est mis à 1 par la machine à états SM1 (commande de transfert RF).
La machine à états SM1 (commande de transfert RF) stocke les x octets I2C dans la mémoire tampon BF et actualise le registre RGW avec ce nombre x d’octets I2C à écrire dans le module esclave désigné.
Comme illustré sur la , la machine à états de transfert I2C SM2 lit des octets I2C dans la mémoire tampon BF et les envoie sur le bus I2C au module esclave correspondant, en ajoutant des conditions de signalisation (conditions START et STOP).
Ceci déclenche le bit « commande I2C en mémoire tampon » du registre RGC.
En d’autres termes, le registre RGC est remis à 0 par la machine à états SM2.
La machine à états de transfert I2C SM2 lit les bits d’accusé de réception sur le bus I2C envoyés par le module esclave I2C et stocke la valeur 0 dans le bit de registre « Ack » RGK.
Comme illustré sur la , le lecteur NFC/RFID RD envoie (étape S10) une commande de lecture RF 1000 à l’étiquette NFC/RFID pour vérifier si l’opération I2C est terminée (scrutation).
À la réception de cette commande de lecture RF 1000, la machine à états RF SM1 lit le bit « commande I2C en mémoire tampon » contenu dans le registre RGC.
La valeur de ce bit est envoyée au lecteur RD via une réponse RF 1001 ayant une structure classique compatible avec le protocole RF utilisé.
Si la valeur de ce bit est 0, l’opération d’écriture I2C est terminée.
Comme représenté sur la , le lecteur NFC/RFID RD envoie (étape S11) une commande de lecture RF 1100 à l’étiquette NFC/RFID pour lire la valeur de bit d’accusé de réception contenue dans le registre RGK pour vérifier si l’opération d’écriture I2C a réussi. L’opération d’écriture a réussi si la valeur de bit d’accusé de réception vaut 0.
Plus précisément, cette commande RF 1100 est traitée par la machine à états RF SM1 qui lit la valeur contenue dans le registre RGK, l’envoie via une réponse RF 1101 au lecteur RD et réinitialise la valeur du registre RGK à la valeur 1.
Comme on peut le voir à partir d’explications se rapportant aux figures 7 à 11, les registres RGD, RGW, RGC, RGR, RGK contiennent des données (un ou plusieurs bits) de commande (aussi appelée configuration) qui permettent par exemple de déterminer la présence ou l’absence d’une opération à exécuter, le type d’opération (opération d’écriture ou de lecture) ou le statut de l’opération (terminée, par exemple) ou le résultat de l’opération (réussie, par exemple).
Ces registres de commande sont lus et/ou écrits
- par la machine à états RF SM1 après réception d’une commande RF (demande) envoyée par le lecteur, ou
- par la machine à états I2C SM2.
Plus précisément, les registres RGD, RGW et RGC sont écrits par la machine à états RF SM1.
Par exemple, si le registre RGC contient la valeur 0, cela signifie qu’il n’y a pas de commande I2C à exécuter par la machine à états I2C SM2.
Si le registre RGC contient la valeur 1, cela signifie qu’il y a une commande I2C à exécuter par la machine à états I2C SM2, cette commande étant soit une opération d’écriture, soit une opération de lecture.
Le type d’opération (lecture ou écriture) est déterminé par le contenu des registres RGD et RGW.
Plus précisément, si la valeur contenue dans le registre RGD est nulle et que la valeur contenue dans le registre RGW est non nulle, l’opération demandée par le lecteur est une opération d’écriture.
Si la valeur contenue dans le registre RGW est nulle et que la valeur contenue dans le registre RGD est non nulle, l’opération demandée par le lecteur est une opération de lecture.
Le registre RGW et le registre RGD sont aussi lus par la machine à états SM2 afin de connaître le nombre d’octets à écrire ou lire dans le module esclave désigné.
Le registre RGC est aussi lu par la machine à états SM2 pour savoir si une commande doit être exécutée sur le bus et est aussi écrit par la machine à états SM2 quand l’exécution de la commande a commencé.
Le registre RGC est aussi lu par la machine à états SM1 après une demande du lecteur pour savoir si l’exécution d’une commande demandée est terminée.
Le registre RGR est écrit par la machine à états SM2 pour indiquer que les octets lus sont stockés dans la mémoire tampon BF, et le registre RGR est aussi lu par la machine à états SM1 après une demande du lecteur pour vérifier si l’opération de lecture I2C est terminée.
Le registre RGK (initialement réglé par exemple à 1) est écrit par la machine à états SM2 après réception de bits d’accusés de réception, lu par la machine à états SM1 lors de la demande du lecteur RD de vérifier si l’opération de lecture ou d’écriture est réussie, et réinitialisé à 1 par la machine à états SM1.
Parmi ces données de commande, les données contenues dans les registres RGD et RGW sont des données de commande envoyées dans ou déduites des données utiles des commandes envoyées par le lecteur et définissant si une commande émanant du lecteur est une opération d’écriture ou une opération de lecture dans le module esclave désigné.
La donnée contenue dans le registre RGC est une donnée de commande qui définit la présence ou l’absence d’une opération à exécuter sur ledit bus.
La donnée contenue dans le registre RGC est aussi une donnée de commande qui indique si l’exécution d’une opération d’écriture demandée par le lecteur est terminée et la donnée contenue dans le registre RGR est une donnée de commande indiquant si l’exécution d’une opération de lecture demandée par le lecteur est terminée.
La donnée contenue dans le registre RGR est aussi une donnée de commande qui indique si le résultat d’une opération de lecture demandée par le lecteur est stocké dans le transpondeur.
La donnée contenue dans le registre RGK est une donnée de commande qui indique si une opération de lecture ou d’écriture demandée par le lecteur a réussi.
La donne le détail d’un exemple de la machine à états de transfert RF SM1 et la donne le détail d’un exemple de machine à états de transfert I2C SM2, qui permettent toutes les deux de mettre en œuvre notamment les étapes décrites dans les figures 7 à 11.
Après avoir rappelé ces considérations générales, nous faisons à présent référence plus particulièrement aux figures 14 à 17 pour décrire un mode de réalisation de l’invention.
La montre un exemple d’organigramme d’un procédé pour stocker des instructions de programme informatique dans un moyen formant mémoire (mémoire flash par exemple) MF du module (ici le microcontrôleur) MD.
À l’étape STP1, le lecteur RD autorise la communication avec l’étiquette TG en émettant le champ RF comme précisé dans la norme NFC/RFID en utilisation.
L’étiquette est alimentée par le champ du lecteur.
À l’étape STP2, le lecteur envoie des commandes RF spécifiques à l’étiquette pour modifier le niveau des broches ou bornes GPO1-GPO3, et donc GPC1-GPC3, afin de configurer le microcontrôleur dans le mode de chargeur d’amorçage.
En fait, on suppose ici que le microcontrôleur MD a besoin que ses broches GPCO1-GPCO3 soient mises à un niveau spécifique pour entrer dans le mode de chargeur d’amorçage.
À l’étape STP3, le lecteur envoie des commandes RF spécifiques à l’étiquette pour activer le moyen de récupération d’énergie EHM et alimenter ainsi le microcontrôleur.
Le microcontrôleur démarre alors en mode de chargeur d’amorçage.
À l’étape STP4, le lecteur envoie des commandes RF spécifiques à l’étiquette pour envoyer des commandes I2C au microcontrôleur.
Cette étape STP4 permet de charger le microprogramme dans la mémoire flash MF du microcontrôleur.
Une fois la programmation terminée, le lecteur à l’étape STP5 met fin à la communication avec l’étiquette. Le champ RF est supprimé et le microcontrôleur n’est plus alimenté.
À l’étape STP6, le microcontrôleur est prêt à démarrer sur le nouveau microprogramme à la prochaine mise sous tension.
L’étape STP2 est décrite plus en détail en référence à la .
Plus précisément, le lecteur RD envoie une commande RF dédiée 1500 à l’étiquette TG pour ordonner au moyen de commande GPOCTR de changer le niveau de sortie des bornes GPO1-GPO3.
Par exemple, dans la norme ISO 15693, il est possible d’utiliser un code de commande spécial (commandes dites personnalisées) CMCD suivi d’un code de fabricant de circuit intégré ICMC, pour créer des commandes RF spéciales qui ne sont pas définies par la norme.
Ainsi la commande personnalisée dédiée 1500 peut être utilisée pour modifier le niveau des bornes GPO1-GPO3 de l’étiquette TG. La partie utile de la commande, située entre le début de trame SOF et la fin de trame EOF, contient le numéro GPO_id des bornes et le niveau de sortie demandé correspondant LGPO.
Après avoir été traitée par un moyen conventionnel de l’étiquette, par exemple une machine à états globale, qui désencapsule la commande de la trame RF reçue, cette commande est gérée par le moyen de commande GPOCTR et, en fonction de la valeur de charge utile, le moyen de commande GPOCTR modifie le niveau de tension de la borne sélectionnée GPOi.
L’étiquette envoie ainsi une réponse RF 1501 au lecteur.
Comme mentionné ci-dessus, l’étiquette NFC/RFID fournit ensuite l’alimentation électrique au microcontrôleur par l’intermédiaire de la sortie de récupération d’énergie EHMS. La commande dédiée EHMCTRL qui active le moyen de récupération d’énergie EHM est aussi désencapsulée d’une trame RF reçue par la machine à états globale conventionnelle.
Le microcontrôleur démarre ensuite en mode de chargeur d’amorçage, puisque les bornes de chargeur d’amorçage dédiées GPCO1-GPCO3 du microcontrôleur sont déjà réglées sur les bonnes valeurs de tension par les bornes GPO1-GPO3 de l’étiquette TG.
Une fois en mode de chargeur d’amorçage, le microcontrôleur surveille l’interface série INTD pour détecter des commandes de programmation.
Quand l’adresse d’esclave I2C du microcontrôleur MD est détectée, le chargeur d’amorçage BLD exécute des commandes I2C reçues connues, qui sont propres à chaque microcontrôleur et qui sont transmises en utilisant les trames du protocole I2C.
Ceci va permettre de transmettre les instructions de microprogramme du lecteur RD au microcontrôleur MD (étape STP4), comme cela va maintenant être expliqué plus en détail.
De manière générale, les commandes RF contiennent des commandes I2C dans leurs données utiles.
Les commandes RF sont décodées et exécutées par l’étiquette, comme décrit plus haut en référence aux figures 7 à 11.
L’étiquette agit physiquement comme le maître I2C (le lecteur est le maître du point de vue du système) et le microcontrôleur MD, en mode de chargeur d’amorçage, agit en tant qu’esclave I2C.
L’étiquette envoie les commandes I2C reçues via l’interface RF au microcontrôleur.
Ces commandes contiennent notamment les instructions du microprogramme.
Comme mentionné ci-dessus, l’adresse d’esclave I2C et les adresses de mémoire destinées à interagir avec le chargeur d’amorçage sont propres à chaque microcontrôleur.
Par exemple sur un microcontrôleur de la société STMicroelectronics ayant la référence STM32, les commandes de chargeur d’amorçage I2C sont composées d’une condition START, de l’adresse d’esclave envoyée par le maître (l’étiquette), d’une condition d’accusé de réception (ack) provenant de l’esclave (le microcontrôleur), puis d’un code de commande spécifique (1 ou 2 octets) envoyé par le maître, d’une condition « ack » fournie par l’esclave suivie d’octets envoyés ou reçus dans les deux directions possibles selon la commande, et enfin d’une condition STOP.
Les figures 16 et 17 illustrent un exemple d’une séquence complète pour envoyer une commande de chargeur d’amorçage du lecteur au chargeur d’amorçage du microcontrôleur.
Comme illustré sur la , le lecteur RD envoie une commande d’écriture RF 1600 à l’étiquette.
Cette commande RF 1600 est une commande d’écriture analogue à la commande d’écriture représentée sur la .
Les données utiles de la commande RF contiennent une première commande de chargeur d’amorçage incluant tous les octets de la commande I2C destinée au chargeur d’amorçage du microcontrôleur.
En particulier les données utiles contiennent l’adresse d’esclave I2C du microcontrôleur MD et l’octet I2C 1 est le code de commande de chargeur d’amorçage spécifique BLDCCD.
Les autres octets sont des instructions du microprogramme à stocker dans la mémoire flash MF du microcontrôleur MD.
Bien entendu, plusieurs commandes d’écriture peuvent être nécessaires pour charger le microprogramme entier.
Le traitement de cette commande RF 1600 est analogue à celui décrit pour la commande d’écriture 800 de la .
Comme illustré sur la , l’étiquette TG envoie ensuite la commande I2C provenant du lecteur NFC/RFID au microcontrôleur sur le bus I2C (ici, une trame d’écriture I2C).
Le traitement de cette commande d’écriture I2C est analogue à celui décrit pour la commande d’écriture de la .
En particulier, la machine à états de transfert I2C SM2 lit des octets I2C dans la mémoire tampon BF et les envoie sur le bus I2C au module esclave correspondant, en ajoutant des conditions de signalisation (conditions START et STOP). Ceci forme une deuxième commande de chargeur d’amorçage, cohérente avec le protocole I2C. La machine à états SM2 a ainsi transformé la première commande de chargeur d’amorçage incorporée dans la commande RF 1600 en ladite deuxième commande de chargeur d’amorçage cohérente avec le protocole I2C.
La machine à états de transfert I2C SM2 lit les bits d’accusé de réception Ack sur le bus I2C envoyés par le module esclave I2C et stocke la valeur 0 dans le bit de registre « Ack » RGK.
Le lecteur scrute ensuite l’étiquette au moyen de commandes RF, pour vérifier le statut de l’exécution de commande I2C.
Cette scrutation est réalisée comme expliqué en référence à la .
En particulier, le lecteur RD envoie une commande de lecture RF à l’étiquette pour vérifier si l’opération I2C est terminée (scrutation).
À la réception de cette commande de lecture RF, la machine à états RF SM1 lit le bit « commande I2C dans mémoire tampon » contenu dans le registre RGC.
La valeur de ce bit est envoyée au lecteur RD via une réponse RF 1601 ( ) ayant une structure classique respectant le protocole RF utilisé.
Si la valeur de ce bit est 0, l’opération d’écriture I2C est terminée.
Ensuite, comme expliqué en référence à la , le lecteur RD envoie une commande de lecture RF à l’étiquette pour lire la valeur de bit d’accusé de réception contenue dans le registre RGK pour vérifier si l’opération d’écriture I2C a réussi. L’opération d’écriture (c’est-à-dire le chargement des instructions de microprogramme) est réussie si la valeur de bit d’accusé de réception est égale à 0.
L’exemple de la machine à états de transfert RF SM1 et l’exemple de la machine à états de transfert I2C SM2 illustrés sur les figures 12 et 13 permettent de mettre en œuvre en particulier les étapes du procédé décrit sur les figures 14 à 17, notamment le traitement des première et deuxième commandes de chargeur d’amorçage.
Lorsque la programmation de la mémoire flash du microcontrôleur est terminée, le lecteur NFC/RFID peut commander le niveau des bornes GPCO1-GPCO3 du microcontrôleur pour désactiver le chargeur d’amorçage, afin que le démarrage suivant du microcontrôleur ne se fasse que sur la mémoire flash MF.
L’invention n’est pas limitée aux exemples ci-dessus, elle peut être étendue à d’autres technologies RFID : UHF (ISO18000-6, ISO18000-63, EPC Gen2).
En outre, l’invention peut être étendue à d’autres protocoles de bus.
Par exemple, un autre protocole possible est le SPI (interface périphérique série) (transmission bidirectionnelle à l’alternat (« half duplex » en anglais) ou transmission bidirectionnelle simultanée (« full duplex » en anglais)) comme expliqué plus en détail dans la demande PCT susmentionnée.
En particulier, un exemple d’étiquette TG1, compatible avec l’utilisation du protocole SPI, est représenté sur la .
Ce transpondeur (ou étiquette) à double interface TG1 intègre :
une interface sans contact INT10,
une interface maître SPI INT20,
un premier moyen formant mémoire volatile comprenant une mémoire tampon (FIFO) d’émission (Tx) BFT pour stocker des octets SPI à transmettre, et une mémoire tampon (FIFO) de réception (Rx) BFR pour stocker les octets SPI reçus ;
un deuxième moyen formant mémoire volatile comprenant une pluralité de registres, par exemple les suivants :
un registre RGCF pour stocker une configuration SPI (phase/polarité d’horloge, vitesse d’horloge, ordre de bits, mode de transmission bidirectionnelle simultanée ou à l’alternat) ;
un registre (compteur) DCNT pour stocker le nombre total d’octets SPI à transmettre et recevoir ;
un registre (compteur) TXCNT pour stocker le nombre d’octets à transmettre en mode de transmission bidirectionnelle à l’alternat ;
un registre à décalage SR pour stocker des données émises et reçues en transmission bidirectionnelle simultanée ;
un registre RGRT pour stocker un bit destiné à signaler que le SPI est prêt à émettre (la mémoire tampon Tx a été remplie) ;
un registre RGTC pour stocker un bit destiné à signaler que l’émission/réception SPI est achevée (mémoire tampon Tx BFT a été vidée, mémoire tampon Rx BFR a été remplie) ;
une première machine à états SM10 pour la commande en transfert sans contact (RF) ;
une deuxième machine à états SM20 pour la commande en transfert SPI.
Le protocole SPI est bien connu de l’homme de l’art.
On rappelle ci-après certaines caractéristiques du protocole SPI relativement aux figures 19 à 21.
Comme illustré sur la , le maître est relié à un ou plusieurs esclaves via 4 lignes (dans un mode de transmission bidirectionnelle simultanée) ou plus :
SCLK : horloge
MOSI : sortie maître, entrée esclave, pour transmettre des données à un esclave
MISO : entrée maître, sortie esclave, pour recevoir des données d’un esclave
SS : ligne de sélection d’esclave (active niveau bas pour sélectionner l’esclave).
Dans le mode de transmission bidirectionnelle à l’alternat (appelé « mode à 3 fils »), les données sont transmises et reçues sur la même ligne (MOSI = MISO).
Comme mentionné ci-dessus, le système SPI peut être configuré pour fonctionner avec un seul maître et un seul esclave, et il peut être configuré avec plusieurs esclaves commandés par un seul maître. Il y a deux façons de relier plusieurs esclaves au maître. Si le maître a plusieurs broches de sélection d’esclave, les esclaves peuvent être câblés en parallèle. Si une seule broche de sélection d’esclave est disponible, les esclaves peuvent être reliés en cascade.
Le signal d’horloge SCLK synchronise la sortie de bits de données du maître à l’échantillonnage de bits par l’esclave. Un bit de donnée est transféré à chaque cycle d’horloge, de sorte que la vitesse de transfert des données est déterminée par la fréquence du signal d’horloge. La communication SPI est toujours déclenchée par le maître puisque le maître configure et génère le signal d’horloge.
Le maître peut choisir avec quel esclave il veut dialoguer en mettant la ligne SS de l’esclave à un niveau de tension bas. Dans l’état inactif, sans transmission, la ligne de sélection d’esclave est maintenue à un niveau de tension haut.
Le maître envoie des données à l’esclave bit par bit, en série via la ligne MOSI. L’esclave reçoit les données envoyées par le maître sur la broche MOSI. Les données envoyées du maître à l’esclave sont généralement, mais pas obligatoirement, envoyées avec le bit de poids fort (MSB) en premier.
L’esclave peut aussi envoyer en retour des données au maître via la ligne MISO en série. Les données envoyées de l’esclave au maître sont généralement envoyées avec le bit de poids faible (LSB) en premier.
Les données ne sont valides que pendant le niveau bas de SS.
Comme montré sur la , le bus SPI est bidirectionnel simultané, basé sur l’échange de données dans un registre à décalage.
Les bits du registre à décalage maître sont poussés dans le registre à décalage esclave.
En même temps, les bits du registre à décalage esclave sont poussés dans le registre à décalage maître.
Comme représenté sur la , les données sont échantillonnées sur SCLK, avec une phase configurable CPHA et une polarité CPOL.
Plus précisément, le signal d’horloge SCLK en SPI peut être modifié en utilisant les propriétés de la polarité d’horloge et de la phase d’horloge. Ces deux propriétés coopèrent pour définir quand les bits sont délivrés et quand ils sont échantillonnés. La polarité d’horloge peut être réglée par le maître pour permettre aux bits d’être délivrés et échantillonnés soit sur le front montant, soit sur le front descendant du cycle d’horloge. La phase d’horloge peut être réglée pour que la sortie et l’échantillonnage se produisent soit sur le premier front, soit sur le deuxième front du cycle d’horloge, qu’il soit montant ou descendant.
Les étapes de la transmission de données SPI sont les suivantes :
Le maître délivre le signal d’horloge ; le maître fait passer la broche SS à un état de tension bas, ce qui active l’esclave ; le maître envoie les données bit par bit à l’esclave sur la ligne MOSI. L’esclave lit les bits à mesure qu’il les reçoit ; si une réponse est nécessaire, l’esclave renvoie des données bit par bit au maître sur la ligne MISO. Le maître lit les bits à mesure qu’il les reçoit.
Les registres RGCF, RGRT, RGTC, DCNT, TXCNT contiennent des données (un ou plusieurs bits) de commande (appelée aussi configuration) qui permettent par exemple de déterminer la configuration SPI, ou d’indiquer un statut « prêt à transmettre » ou le statut de l’opération (par exemple terminée) ou le nombre d’octets à transmettre.
Ces registres de commande sont lus et/ou écrits :
- par la machine à états RF SM10 lors de la réception d’une commande RF (demande) envoyée par le lecteur, ou
- par la machine à états SPI SM20.
Plus précisément, les registres RGCF, RGRT, DCNT, TXCNT et RGTC sont écrits par la machine à états RF SM10.
Par exemple si le registre RGRT contient la valeur 0, cela signifie qu’il n’y a pas de commande SPI à exécuter par la machine à états SPI SM20.
Si le registre RGRT contient la valeur 1, cela signifie qu’il y a une commande SPI à exécuter par la machine à états SPI SM20.
Le nombre d’octets à transmettre sur le bus SPI est déterminé par le contenu des registres DCNT et éventuellement TXCNT.
À cet égard, les registres DCNT et TXCNT sont également lus par la machine à états SM20.
Le registre RGRT est aussi lu par la machine à états SM20 pour savoir si une commande doit être exécutée sur le bus et aussi écrit par la machine à états SM20 quand l’exécution de la commande est terminée.
Le registre RGTC est écrit par la machine à états SPI SM20 quand l’exécution de la commande est terminée et est lu par la machine à états SM10 à la demande du lecteur pour savoir si l’exécution d’une commande demandée est terminée.
Ce registre RGTC est aussi réinitialisé par la machine à états SM10.
Parmi ces données de commande, les données contenues dans les registres RGCF, DCNT et TXCNT sont des premières données de commande envoyées dans ou déduites des données utiles des commandes envoyées par le lecteur.
La détaille un exemple de la machine à états de transfert RF SM10 et la détaille un exemple de machine à états de transfert SPI SM20, toutes deux permettant de mettre en œuvre en particulier les étapes du procédé de stockage d’instructions de microprogramme utilisant un protocole SPI, notamment le traitement des première et deuxième commandes de chargeur d’amorçage.

Claims (30)

  1. Système comprenant un lecteur sans contact (RD) et un appareil (APP), ledit appareil comportant un transpondeur sans contact (TG), ledit transpondeur comportant une interface sans contact (INT1) et une interface câblée de transpondeur (INT2) et étant configuré pour communiquer avec ledit lecteur selon un protocole sans contact par l’intermédiaire de ladite interface sans contact, ledit appareil comportant un bus (BS) couplé à ladite interface câblée de transpondeur et au moins un module (MD) couplé audit bus, ledit au moins un module comportant une unité de traitement (PRU), ledit lecteur étant configuré pour communiquer des instructions d’un programme informatique exécutables par l’unité de traitement audit au moins un module (MD), via le transpondeur (TG).
  2. Système selon la revendication 1, dans lequel le lecteur et le transpondeur sont configurés de telle sorte que le lecteur (RD) est le maître sur ledit bus pendant la communication desdites instructions.
  3. Système selon l’une quelconque des revendications précédentes, dans lequel ledit au moins un module comprend un moyen formant mémoire (MF), un chargeur d’amorçage (BLD) et un mode de chargeur d’amorçage dans lequel le chargeur d’amorçage est configuré pour stocker lesdites instructions dans ledit moyen formant mémoire (MF).
  4. Système selon la revendication 3, dans lequel ledit lecteur (RD) est en outre configuré pour activer le mode de chargeur d’amorçage par l’intermédiaire du transpondeur (TG).
  5. Système selon la revendication 4, dans lequel ledit au moins un module a au moins une borne de module (GPCi) dédiée à l’activation du mode de chargeur d’amorçage et ledit transpondeur a au moins une borne de transpondeur (GPOi) couplée à ladite au moins une borne de module et un moyen de commande (GPOCTR) configuré pour mettre ladite au moins une borne de transpondeur à au moins un niveau de tension en réponse à une commande d’activation de mode de chargeur d’amorçage transmise par le lecteur via l’interface sans contact.
  6. Système selon l’une quelconque des revendications précédentes, dans lequel le transpondeur comprend un moyen de transfert (SM1, SM2) configuré pour mettre en œuvre une fonction de transfert pour l’échange de messages entre le lecteur et ledit au moins un module pendant la communication des instructions du programme informatique.
  7. Système selon la revendication 6, dans lequel le lecteur (RD) est configuré pour initier au moins une première commande de chargeur d’amorçage dans au moins une trame cohérente avec ledit protocole sans contact, ladite au moins une première commande de chargeur d’amorçage contenant des premières données utiles incluant les instructions du programme informatique, et ledit moyen de transfert est configuré pour transformer ladite au moins une première commande de chargeur d’amorçage en au moins une deuxième commande de chargeur d’amorçage sur le bus cohérente avec un protocole utilisé sur ledit bus.
  8. Système selon la revendication 7, dans lequel ledit moyen de transfert comprend un premier moyen formant mémoire volatile (BF) configuré pour mettre en mémoire tampon lesdites premières données utiles et des deuxièmes données utiles de réponses destinées à être envoyées au lecteur via ladite interface sans contact.
  9. Système selon la revendication 7 ou 8, dans lequel ledit moyen de transfert comprend en outre un deuxième moyen formant mémoire volatile (RGD, RGW, RGC, RGR, RGK) configuré pour stocker des données de commande, ledit moyen de transfert étant configuré pour mettre en œuvre ladite fonction de transfert pour l’échange de messages entre le lecteur et ledit au moins un module, en se basant sur lesdites données de commande.
  10. Système selon la revendication 8 ou 9, dans lequel ledit moyen de transfert comprend en outre :
    - une première machine à états (SM1) configurée pour coopérer avec ledit lecteur via l’interface sans contact et configurée pour écrire/lire ledit premier moyen formant mémoire et une partie dudit deuxième moyen formant mémoire d’après des commandes transmises par le lecteur,
    - une deuxième machine à états (SM2) configurée pour coopérer avec ledit bus via ladite interface câblée d’après le contenu d’une partie dudit deuxième moyen formant mémoire et configurée pour écrire/lire ledit premier moyen formant mémoire et une partie dudit deuxième moyen formant mémoire.
  11. Système selon la revendication 10, dans lequel ladite deuxième machine à états (SM2) est configurée pour lire lesdites premières données utiles dans le premier moyen formant mémoire volatile et pour les exécuter sur le bus, pour gérer l’horloge et toutes les informations de signalisation de protocole de bus.
  12. Système selon la revendication 11, dans lequel ladite deuxième machine à états (SM2) est configurée pour lire les réponses du bus et pour les stocker dans le premier moyen formant mémoire volatile pour qu’elles soient lues par la première machine à états.
  13. Système selon l’une quelconque des revendications précédentes, dans lequel ledit bus (BS) est un bus I2C.
  14. Système selon les revendications 7 et 13, dans lequel ladite au moins une première commande de chargeur d’amorçage initiée par le lecteur (RD) comprend au moins une demande d’une opération d’écriture dans ledit au moins un module.
  15. Système selon la revendication 14, dans lequel ladite au moins une demande d’une opération d’écriture dans ledit au moins un module comprend l’adresse dudit au moins un module, un code de commande spécifique (CMCD) et au moins une partie des instructions à écrire dans ledit moyen formant mémoire.
  16. Système selon l’une quelconque des revendications 1 à 12, dans lequel ledit bus (BS) est un bus SPI.
  17. Système selon les revendications 7 et 16, dans lequel ladite au moins une première commande de chargeur d’amorçage initiée par le lecteur (RD) comprend au moins une commande d’écriture.
  18. Système selon l’une quelconque des revendications précédentes, dans lequel le transpondeur comprend un moyen de récupération d’énergie réglable (EHM) configuré pour alimenter ledit au moins un module, et le lecteur est configuré pour envoyer une commande spécifique au transpondeur afin d’activer ledit moyen de récupération d’énergie.
  19. Lecteur appartenant à un système selon l’une quelconque des revendications précédentes.
  20. Transpondeur appartenant à un système selon l’une quelconque des revendications 1 à 18.
  21. Appareil appartenant à un système selon l’une quelconque des revendications 1 à 18.
  22. Procédé pour stocker des instructions de programme informatique dans un moyen formant mémoire (MF) d’au moins un module (MD) comportant une unité de traitement, ledit procédé comprenant les étapes suivantes :
    - fournir un transpondeur (TG) comportant une interface sans contact et une interface câblée de transpondeur,
    - coupler un bus (BS) entre ladite interface câblée de transpondeur et ledit au moins un module,
    - faire communiquer par ledit lecteur (RD) lesdites instructions de programme informatique au transpondeur via l’interface sans contact selon un protocole sans contact,
    - faire communiquer par le transpondeur (TG) les instructions de programme informatique sur le bus audit au moins un module.
  23. Procédé selon la revendication 22, comprenant en outre le fait de faire agir le lecteur (RD) en tant que maître sur ledit bus pendant la communication desdites instructions de programme informatique.
  24. Procédé selon la revendication 22 ou 23, comprenant les étapes suivantes :
    - munir ledit au moins un module d’un moyen formant mémoire (MF) et d’un chargeur d’amorçage (BLD),
    - placer ledit au moins un module dans un mode de chargeur d’amorçage,
    - faire stocker par le chargeur d’amorçage (BLD) lesdites instructions de programme informatique dans ledit moyen formant mémoire.
  25. Procédé selon la revendication 24, comprenant en outre le fait de faire activer par le lecteur (RD) le mode de chargeur d’amorçage par l’intermédiaire du transpondeur (TG).
  26. Procédé selon la revendication 25, comprenant en outre les étapes suivantes :
    - munir ledit au moins un module d’au moins une borne de module (GPCi) dédiée à l’activation du mode de chargeur d’amorçage,
    - munir ledit transpondeur d’au moins une borne de transpondeur (GPOi) couplée à ladite au moins une borne de module,
    - faire envoyer par le lecteur (RD) une commande d’activation de mode de chargeur d’amorçage au transpondeur via l’interface sans contact et
    - faire mettre par le transpondeur ladite au moins une borne de transpondeur à au moins un niveau de tension en réponse à ladite commande d’activation de mode de chargeur d’amorçage.
  27. Procédé selon l’une quelconque des revendications 22 à 26, comprenant en outre les étapes suivantes, exécutées par le transpondeur :
    - stocker des données de commande, et
    - mettre en œuvre une fonction de transfert (SM1, SM2) pour l’échange de messages entre le lecteur et ledit au moins un module basé sur lesdites données de commande, pendant la communication des instructions du programme informatique.
  28. Procédé selon les revendications 24 et 27, comprenant les étapes suivantes :
    - faire initier par le lecteur (RD) au moins une première commande de chargeur d’amorçage dans au moins une trame cohérente avec ledit protocole sans contact, ladite au moins une première commande de chargeur d’amorçage contenant des premières données utiles qui incluent les instructions du programme informatique, et
    - faire transformer par ladite fonction de transfert ladite au moins une première commande de chargeur d’amorçage en au moins une deuxième commande de chargeur d’amorçage sur le bus cohérente avec un protocole utilisé sur ledit bus.
  29. Procédé selon l’une quelconque des revendications 22 à 28, dans lequel ledit bus (BS) est un bus I2C ou un bus SPI.
  30. Procédé selon l’une quelconque des revendications 22 à 29, comprenant en outre le fait de munir le transpondeur d’un moyen de récupération d’énergie réglable (EHM) configuré pour alimenter ledit au moins module, et de faire envoyer par le lecteur (RD) une commande spécifique au transpondeur afin d’activer ledit moyen de récupération d’énergie.
FR2008956A 2020-09-03 2020-09-03 Procédé de stockage d’instructions dans une mémoire programme et système associé. Active FR3113748B1 (fr)

Priority Applications (4)

Application Number Priority Date Filing Date Title
FR2008956A FR3113748B1 (fr) 2020-09-03 2020-09-03 Procédé de stockage d’instructions dans une mémoire programme et système associé.
US17/464,062 US11625347B2 (en) 2020-09-03 2021-09-01 Method of storing instructions in program memory and associated system
CN202111032065.0A CN114138313A (zh) 2020-09-03 2021-09-03 将指令存储在程序存储器中的方法和关联系统
US18/182,116 US20230214336A1 (en) 2020-09-03 2023-03-10 Method of storing instructions in program memory and associated system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2008956A FR3113748B1 (fr) 2020-09-03 2020-09-03 Procédé de stockage d’instructions dans une mémoire programme et système associé.
FR2008956 2020-09-03

Publications (2)

Publication Number Publication Date
FR3113748A1 true FR3113748A1 (fr) 2022-03-04
FR3113748B1 FR3113748B1 (fr) 2023-08-11

Family

ID=74668896

Family Applications (1)

Application Number Title Priority Date Filing Date
FR2008956A Active FR3113748B1 (fr) 2020-09-03 2020-09-03 Procédé de stockage d’instructions dans une mémoire programme et système associé.

Country Status (3)

Country Link
US (2) US11625347B2 (fr)
CN (1) CN114138313A (fr)
FR (1) FR3113748B1 (fr)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT201800005506A1 (it) * 2018-05-18 2019-11-18 Sistema di elaborazione, relativo circuito integrato e procedimento

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170286084A1 (en) * 2016-03-30 2017-10-05 Motorola Mobility Llc Rfid-based device wireless updates
US20180260209A1 (en) * 2015-08-25 2018-09-13 Andium Inc. Near field communication bootloader for configuration and programming of electronic devices

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2443234B8 (en) * 2006-10-24 2009-01-28 Innovision Res & Tech Plc Near field RF communicators and near field RF communications enabled devices
DE102013216753A1 (de) * 2013-08-23 2015-02-26 Novero Dabendorf Gmbh Vorrichtung und Verfahren zur kombinierten Signalübertragung oder zur kombinierten Signal- und Energieübertragung
US9301132B2 (en) * 2013-11-07 2016-03-29 International Business Machines Corporation Managing distribution of software updates in near field communication (NFC) mobile devices
EP3108408B1 (fr) * 2014-02-21 2018-01-31 Sony Corporation Groupes d'étiquette pour des étiquettes de silence
US9893390B2 (en) * 2014-08-27 2018-02-13 Duracell U.S. Operations, Inc. Battery pack including an indicator circuit
EP3001341B1 (fr) * 2014-09-26 2020-01-15 Nxp B.V. Dispositif NFC, procédé d'installation de logiciel, procédé de désinstallation de logiciel, programme informatique et article de fabrication

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180260209A1 (en) * 2015-08-25 2018-09-13 Andium Inc. Near field communication bootloader for configuration and programming of electronic devices
US20170286084A1 (en) * 2016-03-30 2017-10-05 Motorola Mobility Llc Rfid-based device wireless updates

Also Published As

Publication number Publication date
FR3113748B1 (fr) 2023-08-11
US11625347B2 (en) 2023-04-11
US20230214336A1 (en) 2023-07-06
US20220066964A1 (en) 2022-03-03
CN114138313A (zh) 2022-03-04

Similar Documents

Publication Publication Date Title
EP1938242B1 (fr) Lecteur nfc ayant un mode de fonctionnement passif a faible consommation electrique
EP2652670B1 (fr) Procédé de gestion du dialogue entre un équipement et au moins un objet multi-applicatif tel qu'une carte à puce sans contact et objet correspondant
US10937020B2 (en) Wearable device with near-field communication function and near-field communication control system
EP2003556A1 (fr) Procédé de traitement par un dispositif électronique portable de commandes applicatives issues de canaux physiques, dispositif et système correspondants
FR2906913A1 (fr) Procede et systeme pour mettre a jour automatiquement des donnees enregistrees dans un identifieur a radiofrequence
CN104583951A (zh) 通过usb进行附件引导
FR3040226A1 (fr)
EP2306324A1 (fr) Procédé, système et dispositif d'adaptation permettant un échange de données entre un objet de communication et une unité de traitement
CH715284A2 (fr) Dispositif et système de communication en champ proche NFC.
EP2634726A1 (fr) Mémoire non volatile pour routeur NFC
US11624881B2 (en) Management interface handler to expedite module boot time in pluggable optical modules
EP2065858A2 (fr) Carte à microprocesseur, téléphone comprenant une telle carte et procédé d'exécution d'une commande dans une telle carte
FR3113748A1 (fr) Procédé de stockage d’instructions dans une mémoire programme et système associé.
WO2022162289A1 (fr) Procédé et dispositif d'adaptation d'une communication en champ proche
EP2363825B1 (fr) Procédé pour conduire une transaction au moyen d'un dispositif NFC
US10031734B2 (en) Device and method for generating application package
EP1356656A2 (fr) Protocole de transmission d'une pluralite de flux logiques d'echange multiple de couples de commande/reponse sur un canal physique unique
EP3731426A1 (fr) Echange de données au sein d'un transpondeur dynamique et transpondeur correspondant
EP3945467B1 (fr) Transpondeur sans contact
WO2020234099A1 (fr) Échange de données entre un lecteur nfc et un transpondeur à double interface nfc
EP4210235A1 (fr) Système avec lecteur, transpondeur et capteurs et procédé de fonctionnement
EP1038256B1 (fr) Microcircuit a logique cablee comportant une interface de communication numerique
EP1358748A2 (fr) Dispositif et procede d'appairage automatique securise des appareils d'un reseau radiofrequence
CN215181950U (zh) 数据传输系统及数据传输设备
EP3876096B1 (fr) Procédé mis en oeuvre dans un module à circuit intégré, module à circuit intégré correspondant, système comportant un tel module et programme d'ordinateur associé

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20220304

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4