Tag with on-chip command interpreter

By dividing the nonvolatile memory into the first and second zones in the tag, flexible IoT application code updates and secure hardware-related processing are realized, solving the problems of single tag functions and insufficient security in the prior art, and improving the applicability and security of the system.

CN120509429APending Publication Date: 2025-08-19RENESAS DESIGN AUSTRIA GMBH
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510184758.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2024-02-19
Filing Date
2025-02-19
Publication Date
2025-08-19

AI Technical Summary

Technical Problem

In existing IoT systems, labeling functions are inflexible when applied to specific IoT applications, and have security risks, making it difficult to implement multiple applications and hackers may tamper with application code.

Method used

The split nonvolatile memory is used as the first and second nonvolatile memory areas. The first area is used to update the application code. The second area stores the precompiled command library and is only updated by the system integrator to ensure the security of hardware-related processing and prevent hacker attacks.

Benefits of technology

It realizes flexible application in a variety of IoT applications, improves system security, simplifies the programming process, reduces the dependence on the compiler, and enhances the ability to fight hacker attacks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120509429A_ABST
    Figure CN120509429A_ABST
Patent Text Reader

Abstract

The system (13) comprises a reader (2), a tag (14) and an Internet of Things device (4), the tag (14) comprising a wireless interface module, a wired interface module (21), a processing unit (22) having a first non-volatile storage area (23), the processing unit (22) processes an update function to update the application code (24) in the first non-volatile memory area (23) only during the update function with a computer of the system (13) connected to the cable connector (19), the tag (14) further comprising a second non-volatile memory area (26) for storing a pre-compiled command library (27) for an on-chip command interpreter for use in the application code (24), the instruction library (27) is used to implement hardware-related processing of instructions in the application code (24), and the processing unit (22) protects the second non-volatile memory area (26) from computer unauthorized updates.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a system comprising a reader, a tag, and an Internet of Things (IoT) device, for implementing data and / or energy exchange between the reader and the IoT device using a wireless interface between the reader and the tag and a wired interface between the tag and the IoT device, wherein the tag comprises:

[0002] A wireless interface having a receiver module and a transmitter module, the receiver module being constructed to receive energy and reader data from a magnetic field in the 1 MHz to 100 MHz RF frequency region generated by a reader and being constructed to store the received reader data in a tag memory of the tag, and the transmitter module being constructed to modulate the magnetic field to transmit the device data stored in the tag memory to the reader, the tag further comprising

[0003] A wired interface having a cable connector is used to connect a cable between the tag and the IoT device to transmit energy and / or reader data and / or device data between the tag and the IoT device. The tag also includes a processing unit having a first non-volatile storage area for storing application code in binary form, wherein the processing unit is configured to process the application code to enable the exchange of energy and / or reader data and / or device data between the reader and the IoT device. Background Art

[0004] Patent EP 3 160 165 B1 discloses a mobile phone with near-field communication (NFC) functionality that acts as a reader to communicate with passive tags. NFC technology was developed by an industry consortium called the NFC Forum (http: / / www.nfc-forum.ofg) and is derived from RFID technology. NFC components can operate in "reader" mode, "card emulation" mode, and "device" mode, as standardized in ISO 18.092. NFC components transmit a magnetic field via their near-field communication contactless interface, transmit data by modulating the amplitude of the magnetic field, and receive data through load modulation and inductive coupling.

[0005] With the introduction of dynamic NFC tags a few years ago, the demand for diverse applications within the "Internet of Things (IoT)" has increased significantly. Examples of NFC-based IoT applications include reading data from sensors, energy harvesting (e.g., NFC tags convert the induced energy into electrical current to power other devices or wirelessly charge them), authentication, theft prevention, and many other applications.

[0006] Figure 1A system 1 according to the prior art is shown, comprising a mobile phone with a reader 2, a passive tag 3, and an IoT device 4 implemented as a temperature sensor, enabling the mobile phone to read and display the temperature sensed by a remote temperature sensor. To achieve this, a wireless interface 5 based on NFC technology is used between the reader 2 and the tag 3, and a wired interface 6 implemented as an I2C interface is used between the tag 3 and the IoT device 4. Since the tag 3 is a generic NFC tag, its functionality cannot be adapted for specific applications, and since the IoT device 4 is a generic temperature sensor that requires reading based on its specifications, a microcontroller unit 7 is installed with its I2C interface between the tag 3 and the IoT device 4. The microcontroller unit 7 is a general-purpose microcontroller, and typically the three integrated circuits (tag 3, microcontroller unit 7, IoT device 4) come from three different manufacturers. The provider of the system 1 needs to handle all of these specifications, particularly a high-level script editor (such as the computer language C++) and the compiler of the manufacturer of the microcontroller unit 7. This makes implementation of this prior art system 1 difficult.

[0007] In order to simplify the implementation of such a system, the applicant has introduced a tag 8 (type: Renesas PTX30W) to enable the use of the prior art system 9 for Figure 2 The specific IoT application shown is shown. Tag 8 includes an integrated microcontroller unit 10 and a first non-volatile memory 11 for storing application code for the specific IoT application in binary form. The integrated microcontroller unit 10 processes the application code, enabling tag 8 to be used in the IoT application to charge battery 12 using energy provided by a mobile phone via wireless interface 5 and wired interface 6. The application code stored in first non-volatile memory 11 is drafted by the manufacturer of tag 8 and stored in first non-volatile memory 11 during the production of the integrated circuit of tag 8. For implementers of this IoT application for charging battery 12, system 9 offers the advantage of not requiring an external microcontroller unit 7 and programming compared to system 1. However, greater flexibility is still required to implement a wide variety of different IoT applications using a single type of tag 8. Because detailed analysis of the application code stored in first non-volatile memory 11 could reveal company-secret technologies, such as access to internal registers, and because hackers could use modified versions of the application code to read confidential information in transmitted data, the manufacturer of tag 8 cannot perform firmware updates on the application code stored in first non-volatile memory 11.

[0008] Prior art documents US2022 / 0173772A1 and US2023 / 222301A1 also disclose a tag with wireless NFC and wired I2C pass-through capabilities. The application code processed in the tag implements the conversion function from the wired communication bus to the wireless communication bus regarding commands and protocols. Summary of the Invention

[0009] The object of the present invention is to provide a system and a tag with greater flexibility to simplify the implementation of various IoT applications.

[0010] This object is achieved by a tag that includes an update function for updating application code in a first non-volatile memory area via a computer connected to a cable connector, and includes a second non-volatile memory area that stores a precompiled command library that can be used or utilized in the application code for an on-chip command interpreter. By partitioning the non-volatile memory into a first non-volatile memory area and a second non-volatile memory area, wherein the first non-volatile memory area can be updated by an implementer of an IoT application using a computer with firmware updates, and the second non-volatile memory area enables hardware-dependent access to registers or memory blocks storing confidential data, numerous advantages are achieved. Implementers of IoT applications can flexibly design their own applications using application code drafted on a computer and stored in the first non-volatile memory area using firmware updates. Tag manufacturers can keep their hardware-related company technology secret because the hardware-related processing of commands in the application code is implemented by a pre-compiled command library stored in a second non-volatile memory area. This command library may not be updated at all, or may only be updated based on prior authorization, such as a special update function of the tag initiated by a security code. This improves the tag's security level against hackers because hackers cannot use firmware updates to access registers or memory areas containing secret data transmitted between the reader and the tag and the IoT device, or secret data stored in the tag. In addition, no real compiler (such as a C compiler) is required to develop IoT applications because the scripting language is simplified to a few commands (such as reading I2C), making programming IoT applications much simpler.

[0011] These and other aspects of the invention will be apparent from and elucidated with reference to the embodiments described hereinafter.It will be understood by those skilled in the art that the various embodiments may be combined. BRIEF DESCRIPTION OF THE DRAWINGS

[0012] Figure 1 and Figure 2 An IoT device application system according to the prior art is shown.

[0013] Figure 3A system and tag according to an embodiment of the present invention are shown. DETAILED DESCRIPTION

[0014] Figure 1 and Figure 2 Systems 1 and 9 of IoT device applications according to the prior art are shown. Figure 3 A system 13 for Internet of Things applications according to the present invention is shown, wherein the same reference numerals are used for Figure 1 and Figure 2 The system 13 comprises a mobile phone having a reader 2, and comprises a passive tag 14, and comprises an IoT device 4 implemented as a temperature sensor to enable the mobile phone to read out and display the temperature sensed by the remote temperature sensor. In other embodiments of the present invention, the IoT device 4 may be implemented as a humidity sensor or a heart rate sensor, to name a few, or may be implemented as a battery 12 to be charged by the mobile phone in the IoT application. All of these different IoT applications may be implemented by the tag 14 of the system 13, and the application code in the tag 14 may be firmware-updatable. In other embodiments of the present invention, the reader 2 may be implemented in any other device, such as a tablet, a computer, or a watch, to name a few.

[0015] The system 13 is capable of exchanging reader data originally provided by the reader 2 and IoT data originally provided by the IoT device 4 and / or transferring energy between the reader 2 and the IoT device 4 using a wireless interface 5 between the reader 2 and the tag 14 and using a wired interface 6 between the tag 14 and the IoT device 4. The wireless interface 5 can be implemented as any wireless interface known to those skilled in the art that uses a magnetic field in the RF frequency region of 1 MHz to 100 MHz. The wired interface 6 can be implemented as any wired interface known to those skilled in the art, such as an I2C interface (“Inter-Integrated Circuit”, a well-known company standard of Philips and other companies) or SPI (“Serial Peripheral Interface”) or UART (“Universal Asynchronous Receiver / Transmitter”) or USB (“Universal Serial Bus”), to name a few.

[0016] Tag 14 implements wireless interface 5 via a receiver module 15 and a transmitter module 16. The receiver module 15 is configured to receive energy and reader data from a magnetic field 17 in the 1 MHz to 100 MHz RF frequency range generated by reader 2. Tag 14 is implemented as a passive tag, deriving energy from magnetic field 17 to receive reader data modulated into magnetic field 17 via receiver module 15 and transmitting device data via transmitter module 16. In this embodiment, magnetic field 17 is generated by reader 2 at a frequency of 13.56 MHz, and the communication protocol between reader 2 and tag 14 conforms to the "Type Tag" protocol defined by the NFC Forum. Tag 14 also includes tag memory 18, which is implemented as volatile memory and configured to store reader data received from reader 2 in tag memory 18 of tag 14. Transmitter module 16 is configured to modulate magnetic field 17 using load modulation to transmit device data stored in tag memory 18 to reader 2.

[0017] The tag 14 also includes a cable connector 19 for connecting a cable 20 between the tag 14 and the IoT device 4, so that the wired interface 6 can transmit energy and / or reader data and / or device data between the tag 14 and the IoT device 4. To implement the signals and protocols of the I2C wired interface 6, the tag 14 includes an I2C module 21.

[0018] The tag 14 also includes an on-chip microcontroller unit 22 having a first non-volatile memory area 23 for storing application code 24 in binary form. The microcontroller unit 22 is configured to process the application code 24 to enable the exchange of energy and / or reader data and / or device data between the reader 2 and the IoT device 4. Different application codes 24 enable the tag 14 to be used for different IoT applications, such as reading device data from a sensor or loading energy to charge a battery.

[0019] The microcontroller unit 22 of the tag 14 also processes the update function software to update the application code 24 stored in the first non-volatile storage area 23 using the computer 25 of the system 13 connected to the cable connector 19 of the tag 14. The computer 25 must be connected to the connector 19 instead of the IoT device 4, and the update function software must be processed by the microcontroller unit 22 to implement the download function by downloading the firmware (new application code 24) from the computer 25 to the first non-volatile storage area 23 to adopt the universal tag 14 for a specific IoT application. Since the computer 25 is only connected to the cable connector 19 during the update function, the computer 25 is Figure 3 Shown in dotted line.

[0020] The tag 14 also includes a second non-volatile memory area 26 implemented in the same non-volatile memory of the microcontroller unit 22, which stores a library 27 of pre-compiled and pre-loaded commands for use in the application code 26 for the on-chip command interpreter. For example, such a pre-compiled library command 27 may be an "I2C_Write_To(@Address XY)" command to be used in the application code 26 of the tag 14. If the application code 26 calls this command, the microcontroller unit 22 processes the nearly hardware-dependent binary code stored in the second non-volatile memory area 26 to, for example, write reader data (e.g., configuration data) to a specific address of the memory of the IoT device 4 (e.g., a sensor) indicated in the command using the I2C module 21.

[0021] On-chip script interpreters are well known to those skilled in the art in the field of general computer technology. A typical example of this is "MicroPython", which implements a Python interpreter for embedded systems or microcontroller units. Although Python implements full flexibility and support for real programming languages, it also has high requirements for Flash and RAM memory consumption of the compiled image. Small (and cost-effective) devices such as NFC tags usually cannot meet these requirements, which is why those skilled in the art do not implement such an on-chip script interpreter in the tag 14. In addition, such known general-purpose Python interpreters process potentially security-related information, which should be avoided. The precompiled and preloaded command library 27 implemented in the second non-volatile memory area 26 differs from such known on-chip script interpreters in that the compiled image consumes less memory and meets all security-related issues.

[0022] Based on the present invention, only the application code 24 stored in the first non-volatile memory area 23 can be updated by the system integrator of system 13 to adapt the universal tag 14 for a specific IoT application. The pre-compiled command library 27 stored in the second non-volatile memory area 26 is either stored only once during the tag 14's manufacture by the manufacturer, or is protected with a very high level of security to allow the manufacturer to modify / update it later. This enables the universal tag 14 to be used for all types of IoT applications through firmware updates of the application code 24, while the tag 14 is well protected from hacker attacks because the hardware-related code / software is securely stored in the second non-volatile memory area 26.

[0023] A typical use case for system 13 might be a user of a mobile phone wanting to know the temperature sensed by the temperature sensor of IoT device 4. The mobile phone's appropriate application sends a reader data request via magnetic field 17 generated by reader 2. Receiver module 15 demodulates the reader data and stores it in tag memory 18 of tag 14. Microcontroller unit 22 processes application code 24 stored in first non-volatile memory area 23. Application code 24 fulfills the request using commands from a pre-compiled and pre-loaded command library 27 stored in second non-volatile memory area 26. Application code 24 reads the device data (actual temperature) of IoT device 4 using wired interface 6 and sends it to the mobile phone via wireless interface 5. Using the update function of tag 14, firmware updates for application code 24 can be processed by a system integrator of system 13 using computer 15, enabling, for example, the use of different IoT devices (e.g., temperature sensors from different manufacturers) that store the actual sensed temperature in different memory areas.

[0024] The computer 5 also hosts a high-level script editor to enable a system integrator to draft application code 24, including a pre-compiled library of commands stored in the second non-volatile memory area 27. The computer 5 is configured to convert the high-level script into application code 24 in binary form for storage in the first non-volatile memory area 23. This allows for ease of use by a system integrator of the system 13.

[0025] The microcontroller unit 22 that handles the tag's 14 update functionality is designed to protect the second non-volatile memory area 26 from unauthorized updates or to prevent updates altogether. Security code can be defined to allow access to handle firmware updates of the precompiled command library 27 stored in the second non-volatile memory area 26. This increases the level of security against hackers. Using the tag's 14 update functionality to update the application code 24 can also be protected by the security code.

[0026] The tag 14 may also include only one physical non-volatile memory to implement the first non-volatile memory area 23 and the second non-volatile memory area 26, or alternatively may include two separate physical non-volatile memories.

[0027] Furthermore, the microcontroller unit 22 of the tag 14 is configured to start processing of the application code 24 based on the reader data received from the reader 2 using the receiver module 15. In another embodiment of the present invention, the microcontroller unit 22 of the tag 14 may be configured to continuously process the application code 24 to enable exchange of data and / or energy between the reader 2 and the IoT device 4.

[0028] The reader 2 of the system 13 is configured to generate and process a magnetic field 17 in the 13.56 MHz RF frequency region, and the tag 14 is configured to process this magnetic field 17 to handle near field communication type applications. This enables a wide range of IoT applications.

[0029] In another embodiment of the present invention, the system may include active tags powered by their own batteries instead of passive tags 14.

Claims

1. A system (13) comprising a reader (2), a tag (14) and an Internet of Things device (4), capable of exchanging data and / or energy between the reader (2) and the Internet of Things device (4) using a wireless interface (5) between the reader (2) and the tag (14) and a wired interface (6) between the tag (14) and the Internet of Things device (4), wherein the tag (14) comprises: A wireless interface module having a receiver module (15) and a transmitter module (16), the receiver module (15) being constructed to receive energy and reader data from a magnetic field (17) in the RF frequency region of 1 MHz to 100 MHz generated by a reader (2) and being constructed to store the received reader data in a tag memory (18) of a tag (14), and the transmitter module (16) being constructed to modulate the magnetic field (17) to transmit device data stored in the tag memory (18) to the reader (2), and the tag (14) further comprising A wired interface module (21) having a cable connector (19) for connecting a cable (20) between a tag (14) and an IoT device (4) to transmit energy and / or reader data and / or device data between the tag (14) and the IoT device (4), wherein the tag (14) further comprises A processing unit (22) having a first non-volatile memory area (23) for storing application code (24) in binary form, wherein the processing unit (22) is designed to process the application code (24) to enable the exchange of energy and / or reader data and / or device data between the reader (2) and the Internet of Things device (4), characterized in that The processing unit (22) of the tag (14) processes an update function to update the application code (24) in the first non-volatile storage area (23) using a computer (25) of the system (13) connected to the cable connector (19) only during the update function, and the tag (14) includes a second non-volatile storage area (26) storing a pre-compiled command library (27) used in the application code (24) for an on-chip command interpreter, wherein hardware-dependent processing of the instructions in the application code (24) is implemented using the pre-compiled instruction library stored in the second non-volatile storage area (26), and wherein the processing unit (22) processing the update function of the tag (14) is constructed to protect the second non-volatile storage area (26) from unauthorized updating by the computer (25).

2. The system (13) according to claim 1, wherein the computer (5) processes a high-level script editor to draft application code (24), the application code (24) comprising a pre-compiled command library (27) stored in the second non-volatile memory area, and the computer (5) is constructed to convert the high-level script into application code (24) in binary form to be stored in the first non-volatile memory area (23).

3. The system (13) according to claim 1 or 2, wherein the processing unit (22) of the tag (14) handling the update function is constructed to protect the second non-volatile memory area from unauthorized updates or to prohibit updates at all.

4. The system (13) according to any one of claims 1 to 3, wherein the tag (14) comprises only one physical non-volatile memory to implement the first non-volatile storage area (23) and the second non-volatile storage area (26).

5. The system (13) according to any one of claims 1 to 4, wherein the processing unit (22) is configured to start processing the application code (24) based on reader data received from the reader (2) using the receiver module (15), or wherein the processing unit (22) is configured to continuously process the application code (24) to enable the exchange of data and / or energy between the reader (2) and the Internet of Things device (4).

6. A system (13) according to any one of claims 1 to 5, wherein the reader (2) is constructed to generate and process a magnetic field (17) in the RF frequency region of 13.56 MHz frequency, and wherein the tag (14) is constructed to process the magnetic field (17) to handle near field communication type applications.

7. A tag (14) having a wireless interface (15, 16) and a wired interface (21, 19), the tag (14) comprising: a wireless interface module having a receiver module (15) and a transmitter module (16), the receiver module (15) being constructed to receive energy and reader data from a magnetic field (17) in the RF frequency region of 1 MHz to 100 MHz generated by the reader (2) and being constructed to store the received reader data in a tag memory (18) of the tag (14), and The transmitter module (16) is configured to modulate a magnetic field (17) to transmit device data stored in a tag memory (18) to a reader (2), and the tag (14) further comprises A wired interface module (21) having a cable connector (19) for connecting a cable (20) between a tag (14) and an IoT device (4) to transmit energy and / or reader data and / or device data between the tag (14) and the IoT device (4), wherein the tag (14) further comprises A processing unit (22) having a first non-volatile memory area (23) for storing application code (24) in binary form, wherein the processing unit (22) is designed to process the application code (24) to enable the exchange of energy and / or reader data and / or device data between the reader (2) and the Internet of Things device (4), characterized in that The processing unit (22) of the tag (14) is constructed to handle an update function to update the application code (24) in the first non-volatile storage area (23) using a computer (25) connected to the cable connector (19) only during the update function, and the tag (14) includes a second non-volatile storage area (26) storing a pre-compiled command library (27) used in the application code (24) for an on-chip command interpreter, wherein hardware-dependent processing of instructions in the application code (24) is implemented using the pre-compiled instruction library stored in the second non-volatile storage area (26), and wherein the processing unit (22) handling the update function of the tag (14) is constructed to protect the second non-volatile storage area (26) from unauthorized updating by the computer (25), characterized in that the tag (14) is implemented as described in any one of claims 1 to 6.

Citation Information

Patent Citations

  • Exchange of data between a NFC reader and a dual NFC interface transponder

    US20220173772A1

  • System with reader, transponder and sensors and operating method

    US20230222301A1