CN116724313A - Modified RFID tag inventory process - Google Patents

Modified RFID tag inventory process Download PDF

Info

Publication number
CN116724313A
CN116724313A CN202280010113.2A CN202280010113A CN116724313A CN 116724313 A CN116724313 A CN 116724313A CN 202280010113 A CN202280010113 A CN 202280010113A CN 116724313 A CN116724313 A CN 116724313A
Authority
CN
China
Prior art keywords
tag
command
memory
inventory
value
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.)
Pending
Application number
CN202280010113.2A
Other languages
Chinese (zh)
Inventor
梅根·M·布鲁斯特
史考特·A·库柏
克里斯多夫·J·迪欧里欧
约翰·D·海迪
雷内·D·马丁内斯
马修·罗伯萧
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.)
Impinj Inc
Original Assignee
Impinj Inc
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 Impinj Inc filed Critical Impinj Inc
Priority claimed from PCT/US2022/013164 external-priority patent/WO2022159608A1/en
Publication of CN116724313A publication Critical patent/CN116724313A/en
Pending legal-status Critical Current

Links

Landscapes

  • Near-Field Transmission Systems (AREA)

Abstract

The protocol-specific RFID tag inventory may be modified to simplify information exchange. For example, an RFID tag may be able to respond to a particular RFID reader command using additional information or other information, rather than just a pseudo-random number or a particular tag identifier, or may even not respond at all. Such other information may include all or part of other tag identifiers, or information associated with tag identifiers, such as error checking codes or protocol control bits. The tag may also select data stored in the tag memory, where the location of the data is known only to the tag, compare with the mask received in the inventory command, and decide whether to participate in the inventory cycle based on the comparison.

Description

Modified RFID tag inventory process
Cross Reference to Related Applications
The present application claims priority from U.S. provisional patent application No. 63/140,222 filed on month 21 of 2021 and U.S. provisional patent application No. 63/143,166 filed on month 29 of 2021. The disclosures of the above-mentioned applications are incorporated herein by reference for all purposes.
Background
Radio Frequency Identification (RFID) systems typically include an RFID reader, also known as an RFID reader/writer or RFID interrogator (interrogator), and an RFID tag (tag). RFID systems can be used in a variety of ways to locate and identify items to which a tag is attached. In the product related and service related industries, RFID systems are useful for tracking items being processed, inventoried, or handled. In this case, the RFID tag is typically attached to a separate item or its packaging. RFID tags typically include or are Radio Frequency (RF) Integrated Circuits (ICs).
In principle, RFID technology requires the use of an RFID reader to inventory one or more RFID tags, where inventory includes singulating the tags, receiving identifiers from the tags, and/or acknowledging the received identifiers (e.g., by sending an acknowledgement command). "singulation" is defined as the reader potentially picking one tag out of multiple tags for a reader-tag conversation. An "identifier" is defined as a number that identifies a tag or an item to which the tag is attached, such as a Tag Identifier (TID), an Electronic Product Code (EPC), and so forth. "inventory round" is defined as the reader organization (inventory) RFID tag for subsequent inventory. The reader transmits RF wave-carrying inventory. RF waves are typically electromagnetic at least in the far field. RF waves may also be primarily electric or magnetic in the near field or transient near field. The RF wave may encode one or more commands that instruct the tag to perform one or more actions. The operation of an RFID reader to send a command to an RFID tag is sometimes referred to as a reader "interrogating" the tag.
In a typical RFID system, an RFID reader transmits a modulated RF inventory signal (command), receives a tag response, and transmits an RF acknowledgement signal in response to the tag response. Tags that respond to interrogating RF waves respond by sending back another RF wave. The tag either initially generates a back-transmitted RF wave or by reflecting back a portion of the interrogating RF wave in a process known as backscattering (backscattering). Backscattering can occur in a variety of ways.
The reflected RF waves may encode data stored in the tag, such as numbers. The reader demodulates and decodes the response so that the reader identifies, counts, or otherwise interacts with the associated item. The decoded data may represent a serial number, price, date, time, destination, encrypted message, electronic signature, other attributes, any combination of attributes, and the like. Thus, when the reader receives tag data, it can learn the item holding the tag and/or the tag itself.
RFID tags typically include an antenna portion, a radio portion, a power management portion, and often include a logic portion, memory, or both. In some RFID tags, the power management portion includes an energy storage device, such as a battery. RFID tags having energy storage devices are known as battery-assisted, semi-active or active tags. Other RFID tags may be powered only by the RF signals they receive. Such RFID tags do not include an energy storage device and are referred to as passive tags. Of course, even passive tags typically include temporary energy and data/flag storage elements, such as capacitors or inductors.
Disclosure of Invention
This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the detailed description. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
Examples relate to modifying RFID tag inventory. In some examples, the inventory command initiating the inventory cycle may include a Conflict Resolution (CR) value and a response type value. The tag receiving the inventory command may generate a CR response based on the CR value by identifying the CR code based on the CR value. The CR code may comprise a trailing article identifier (II) portion, a stored cyclic redundancy check code, or a pseudo-random number. The tag may then send a CR reply to the reader including the CR code. After receiving the first acknowledgement command in response to the CR acknowledgement, the tag may refrain from acknowledging the first acknowledgement command if the response type value indicates that no acknowledgement is to be sent. Alternatively, the tag may reply by sending an acknowledgement code indicated by the response type value. The confirmation code may include a Tag Identifier (TID) portion, another II portion, and an entire II. In other examples, another inventory command that initiates an inventory cycle may specify a mask value. Tags receiving other inventory commands may determine the value of the T bit stored in the memory of the tag IC. The T bit may be implemented according to Gen2 protocol or ISO/IEC-18000-63 standard. The tag may determine a starting storage location of data in the first memory bank to compare with the mask value based on the T-bit value, select data having the determined starting storage location, and determine whether the mask value matches the selected data. If the mask value matches the selected data, the tag may participate in the inventory cycle, otherwise the tag may refrain from participating in the inventory cycle.
These and other features and advantages will be apparent from a reading of the following detailed description and a review of the associated drawings. It is to be understood that both the foregoing general description and the following detailed description are explanatory only and are not restrictive of the aspects as claimed.
Drawings
The following detailed description refers to the accompanying drawings, in which:
FIG. 1 is a block diagram of components of an RFID system.
Fig. 2 is a diagram illustrating components of a passive RFID tag, such as may be used in the system of fig. 1.
Fig. 3 is a conceptual diagram for explaining a half-duplex communication mode between components of the RFID system of fig. 1.
Fig. 4 is a block diagram showing details of an RFID tag such as that shown in fig. 2.
Fig. 5A and 5B illustrate signal paths during tag-to-reader and reader-to-tag communications in the block diagram of fig. 4.
Fig. 6 is a block diagram illustrating details of an RFID reader system such as that shown in fig. 1.
Fig. 7 is a diagram of an example RFID tag IC memory configuration according to an embodiment.
Fig. 8A and 8B illustrate a command structure of a query and select command according to the Gen2 protocol.
Fig. 9A to 9C illustrate exchanges between a reader and a tag using standard and modified inventory commands according to an embodiment.
Fig. 10 and 11 illustrate flowcharts of two methods of using a modified inventory command according to embodiments.
Detailed Description
In the following detailed description, reference is made to the accompanying drawings which form a part hereof, and in which is shown by way of illustration specific embodiments or examples. These embodiments or examples may be combined, other aspects may be utilized, and structural changes may be made without departing from the spirit or scope of the present disclosure. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is defined by the appended claims and their equivalents.
As used herein, a "memory" is one of ROM, RAM, SRAM, DRAM, NVM, EEPROM, FLASH, fuse (Fuse), MRAM, FRAM, and other similar volatile and non-volatile information storage technologies. Some portions of memory may be writable, while some portions are not. An "instruction" refers to a request to cause a tag to perform a single explicit action (e.g., write data to memory). "command" refers to a reader request for one or more tags to perform one or more actions and includes one or more tag instructions preceded by a command identifier or command code that identifies the command and/or the tag instruction. "program" refers to a request to cause a tag to execute a set or series of instructions (e.g., read a value from memory and lock a memory word if the read value is less than a threshold). "protocol" refers to an industry standard for communication between a reader and a tag (and vice versa). One such protocol is the grade 1, 2 UHF RFID protocol ("Gen 2 protocol") by GS1 EPCglobal, inc. for communication at 860MHz-960 MHz, versions 1.2.0 and 2.0 of which are incorporated herein by reference. Another protocol is ISO/IEC18000-63 information technology-radio frequency identification of project management-part 63: 860MHz to 960MHz c air interface communication parameters ("ISO/IEC 18000-63") are also incorporated herein by reference.
The inventory specified by the protocol may be modified to simplify the exchange of information. For example, the tag may be able to respond to certain reader commands with additional or other information, rather than just pseudo-random numbers or specific tag identifiers, or may not even respond at all. Such other information may include all or part of other tag identifiers, item identifiers, information associated with tag identifiers, such as error checking codes or protocol control bits, or any other information stored on or known to the tag. In other examples, the modified inventory command may cause the tag itself to select data stored in its memory to compare with a mask value in the inventory command to decide whether to participate in an inventory cycle, where the tag itself determines that the data is based on one or more memory configuration bits stored in the tag (e.g., T bits according to Gen2 protocol or ISO/IEC 18000-63) instead of any information in the inventory command.
The technical advantages of the example implementations are numerous. For example, inventory commands that provide conflict resolution values and response type values to tags may increase inventory speed. First, disk speed is increased by allowing tags to reply with identifier portions for conflict resolution instead of pseudo-random numbers, so the reader does not have to request these identifier portions later and incur additional communication overhead. Second, the reader may avoid having the tag resend the identifier portion known to the reader. Third, the reader may specify that the tag only respond to certain identifier portions or data, or even not respond at all.
As another example of technical advantage, having a inventory command that receives a mask value that the tag itself determines how to compare with memory content to participate in an inventory cycle may improve inventory efficiency. First, including a mask value in the inventory command that initiated the inventory cycle means that only tags that heard the inventory command and met the mask value comparison criteria will participate in the inventory cycle. This prevents tags that may not hear the previous selection command (e.g., the selection command according to the Gen2 protocol) from participating in the inventory cycle, thereby ensuring that only relevant tags are involved. Second, allowing the tag itself to determine how to compare the mask value to the tag memory reduces complexity because the inventory command does not need to indicate any memory locations, so the sending reader does not need to know where and how the tag stores data. This may be especially relevant when tags with different numbering schemes and formats are present in the same population.
Of course, the tag may be configured to operate using standard protocols (e.g., gen2 protocol and/or ISO/IEC 18000-63) and enhanced inventory commands.
FIG. 1 is a diagram of components of an exemplary RFID system 100 incorporating an embodiment. The RFID reader 110 and nearby RFID tags 120 communicate via RF signals 112 and 126. When transmitting data to the tag 120, the reader 110 may generate the RF signal 112 by: encoding the data, modulating the RF waveform with the encoded data, and transmitting the modulated RF waveform as RF signal 112. The tag 120 may then receive the RF signal 112, demodulate the encoded data from the RF signal 112, and decode the encoded data. Similarly, when transmitting data to reader 110, tag 120 may generate RF signal 126 by: encode data, modulate an RF waveform with the encoded data, and cause the modulated RF waveform to be transmitted as RF signal 126. The data transmitted between the reader 110 and the tag 120 may be represented by symbols, also referred to as RFID symbols. The symbols may be delimiters, calibration values, or implemented to represent binary data, such as "0" and "1", if desired. The symbols may be considered values, numbers, or any other suitable data representation when processed by the reader 110 and the tag 120.
The RF waveform transmitted by the reader 110 and/or the tag 120 may be in a suitable frequency range, such as at a frequency near 900MHz, 13.56MHz, or the like. In some embodiments, RF signals 112 and/or 126 may include non-propagating RF signals, such as reactive near-field signals (reactive near-field signals) or the like. The RFID tag 120 may be active or battery-assisted (i.e., having its own power source), or passive. In the latter case, the RFID tag 120 may obtain power from the RF signal 112.
Fig. 2 is a schematic diagram of an RFID tag 220 that may be used as tag 120 of fig. 1. The label 220 may be formed on a substantially planar inlay 222, which may be manufactured in any suitable manner. Tag 220 includes circuitry that may be implemented as IC 224. In some embodiments, IC 224 is fabricated in Complementary Metal Oxide Semiconductor (CMOS) technology. In other embodiments, IC 224 may be fabricated in other technologies, such as bipolar junction transistor (bipolar junction transistor, BJT) technology, metal-semiconductor field effect transistor (MESFET) technology, and other technologies known to those skilled in the art. IC 224 is disposed on inlay 222.
Tag 220 also includes an antenna for transmitting and/or interacting with RF signals. In some embodiments, the antenna may be metal etched, deposited, and/or printed on the inlay 222; conductive lines formed with or without the substrate 222; patterned non-metallic conductors (e.g., graphene) on substrate 222; a first antenna inductively, capacitively or galvanically coupled to the second antenna; or may be manufactured in numerous other ways for forming an antenna for receiving RF waves. In some embodiments, the antenna may even be formed in the IC 224. Regardless of the antenna type, IC 224 is electrically coupled to the antenna through suitable IC contacts (not shown in fig. 2). The term "electrically coupled," as used herein, may mean directly electrically connected, or it may mean connected that includes one or more intermediate circuit blocks, elements, or devices. The term "electrically" portion of "electrically coupled" as used herein shall mean coupling of one or more of ohm/current, capacitance and/or inductance. Similarly, the term "electrically isolated" or "electrically decoupled" as used herein means that there is no electrical coupling of one or more types (e.g., galvanic, capacitive, and/or inductive) to at least the extent possible. For example, elements that are electrically isolated from each other are galvanically isolated from each other, capacitively isolated from each other, and/or inductively isolated from each other. Of course, electrically isolated components typically have some unavoidable stray capacitance or inductive coupling between them, but the purpose of isolation is to minimize this stray coupling when compared to the electrically coupled path.
IC 224 is shown with a single antenna port, including two IC contacts electrically coupled to two antenna segments 226 and 228, which are shown here as forming a dipole. Many other embodiments are possible using any number of ports, contacts, antennas and/or antenna segments. Antenna segments 226 and 228 are depicted as being separate from IC 224, but in other embodiments antenna segments may alternatively be formed on IC 224. Tag antennas according to embodiments may be designed in any form and are not limited to dipoles. For example, the tag antenna may be a patch, slot, loop, coil, horn, spiral, monopole, microstrip, stripline or any other suitable antenna.
Fig. 250 depicts a top view and a side view of a label 252 formed using a tape. Label 252 differs from label 220 in that it includes a substantially flat ribbon-shaped substrate 254 having ribbon-shaped contacts 256 and 258. IC 224 is mounted on tape substrate 254 such that IC contacts on IC 224 are electrically coupled to tape contacts 256 and 258 by suitable connections (not shown). The ribbon substrate 254 is then placed over the inlay 222 such that the ribbon contacts 256 and 258 are electrically coupled to the antenna segments 226 and 228. The ribbon substrate 254 may be secured to the inlay 222 by pressing, an interface layer, one or more adhesives, or any other suitable means.
FIG. 260 shows a side view of another alternative way of placing the tape substrate 254 on the inlay 222. Instead of the surface of the tape substrate 254 including the tape contacts 256/258 facing the surface of the inlay 222, the tape substrate 254 is placed with its tape contacts 256/258 facing away from the surface of the inlay 222. The strap contacts 256/258 may then be capacitively coupled to the antenna segments 226/228 via the strap substrate 254, or conductively coupled using vias that may be formed by crimping (crimp) the strap contacts 256/258 to the antenna segments 226/228. In some embodiments, the positions of the strap substrate 254 and inlay 222 may be reversed, with the strap substrate 254 mounted under the inlay 222 and the strap contacts 256/258 electrically coupled to the antenna segments 226/228 via the inlay 222. Of course, in other embodiments, the ribbon contacts 256/258 may be electrically coupled to the antenna segments 226/228 via the inlay 222 and the ribbon substrate 254.
In operation, the antenna couples with RF signals in the environment and propagates the signals to the IC 224, which may draw power based on the incoming signals and the internal state of the IC and respond if appropriate. If IC 224 uses backscatter modulation, it may generate a response signal (e.g., signal 126) from the RF signal in the environment (e.g., signal 112) by modulating the reflectivity of the antenna. The IC contacts electrically coupling and decoupling IC 224 may modulate the reflectivity of the antenna, such as may change the admittance or impedance of parallel or series circuit elements coupled to the IC contacts. If the IC 224 is capable of transmitting a signal (e.g., has its own power source, is coupled to an external power source, and/or can obtain sufficient power to transmit a signal), the IC 224 may respond by transmitting a response signal 126. In the embodiment of fig. 2, antenna segments 226 and 228 are separate from IC 224. In other embodiments, antenna segments may alternatively be formed on IC 224.
RFID tags such as tag 220 are typically attached to or associated with individual items or item packages. The RFID tag may be manufactured and then attached to the article or package, may be partially manufactured prior to attachment to the article or package, and then fully manufactured when attached to the article or package, or the manufacturing process of the article or package may include the manufacture of the RFID tag. In some embodiments, the RFID tag may be integrated into an article or package. In this case, the article or part of the package may be used as a label assembly. For example, the conductive article or packaging portion may be used as a tag antenna segment or contact. The non-conductive article or packaging portion may be used as a label substrate or inlay. If the article or package includes an integrated circuit or other circuitry, some portion of the circuitry may be configured to operate as part or all of the RFID tag IC. Thus, an "RFID IC" need not be distinguished from an item, but rather refers more generally to an item that includes an RFID IC and an antenna capable of interacting with RF waves and receiving and responding to RFID signals. Because the boundaries between ICs, tags and items are thus often obscured, the terms "RFID IC", "RFID tag", "tag" or "tag IC" as used herein may refer to an IC, tag or even an item, provided that the referenced element is capable of RFID functionality.
The components of the RFID system of fig. 1 may communicate with each other in any number of modes. One such mode is known as full duplex, where both the reader 110 and the tag 120 may transmit at the same time. In some embodiments, RFID system 100 is capable of full duplex communication. Another such mode that may be more suitable for passive tags is referred to as half duplex mode and is described below.
Fig. 3 is a conceptual diagram 300 for explaining half-duplex communications between components of the RFID system of fig. 1, in which case the tag 120 is implemented as a passive tag. The interpretation is made with reference to the time axis and also with reference to "speaking" and "listening" of anthropomorphic (humane method). Actual technical implementations for "talk" and "listen" are now described.
In half duplex communication mode, RFID reader 110 and RFID tag 120 alternately speak to and listen to each other. As seen on the time axis, the reader 110 speaks into the tag 120 during the interval designated "r→t", and the tag 120 speaks into the reader 110 during the interval designated "t→r". For example, a sample R→T interval occurs during time interval 312 during which reader 110 speaks (block 332) and tag 120 listens (block 342). A subsequent sample t→r interval occurs during time interval 326 during which reader 110 listens (block 336) and tag 120 speaks (block 346). Interval 312 may be a different duration than interval 326, here, for illustrative purposes only, the durations are shown as approximately equal.
During interval 312, reader 110 transmits a signal (block 352) such as signal 112 depicted in fig. 1, and tag 120 receives the reader signal (block 362), processes the reader signal to extract data, and derives power from the reader signal. When the reader signal is received, the tag 120 is not back-scattered (block 372), and thus the reader 110 does not receive a signal from the tag 120 (block 382).
During interval 326, also referred to as a backscatter time interval or backscatter interval, reader 110 does not transmit a data-bearing signal. Conversely, reader 110 transmits a Continuous Wave (CW) signal, which is a carrier wave that is generally uncoded information. The CW signal provides the energy to be acquired by the tag 120 and the tag 120 may be modulated to form the waveform of the backscatter response signal. Thus, during interval 326, tag 120 does not receive a signal with encoded information (block 366), but rather modulates a CW signal (block 376) to produce a backscatter signal, such as signal 126 shown in FIG. 2. As described above, tag 120 may modulate a CW signal by adjusting its antenna reflectivity to produce a backscatter signal. The reader 110 then receives and processes the backscatter signal (block 386).
Fig. 4 is a block diagram showing details of an RFID IC, such as IC 224 in fig. 2. The electrical circuit 424 may be implemented in an IC, such as IC 224. The circuit 424 implements at least two IC contacts 432 and 433 adapted to be coupled to an antenna segment such as the antenna segment 226/228 of fig. 2. When two ICs are in contact to form a signal input from the antenna and a signal returned to the antenna, they are commonly referred to as antenna ports. IC contacts 432 and 433 may be made in any suitable manner, such as from conductive pads, bumps, or the like. In some embodiments, the circuit 424 enables more than two IC contacts, particularly when multiple antenna ports are configured and/or coupled to multiple antennas.
The circuit 424 includes a signal routing section 435, which may include signal wiring, signal routing buses, receive/transmit switches, and the like, that may route signals between components of the circuit 424. IC contacts 432/433 may be galvanically, capacitively, and/or inductively coupled to signal routing portion 435. For example, optional capacitors 436 and/or 438 may capacitively couple IC contacts 432/433 to signal routing section 435, thereby galvanically decoupling IC contacts 432/433 from signal routing section 435 and other components of circuit 424.
In some cases, capacitive coupling (and thus current decoupling) between IC contacts 432 and/or 433 and components of circuit 424 is desirable. For example, in some RFID tag embodiments, IC contacts 432 and 433 may be galvanically connected to terminals of a tuning loop on the tag. In these embodiments, galvanically decoupling IC contact 432 from IC contact 433 may prevent a DC short from forming between the IC contacts via the tuning loop.
The capacitors 436/438 may be implemented inside the circuit 424 and/or partially or entirely outside the circuit 424. For example, a dielectric or insulating layer on the surface of the IC containing circuit 424 may be used as the dielectric in capacitor 436 and/or capacitor 438. As another example, a dielectric or insulating layer on the surface of the label substrate (e.g., inlay 222 or tape substrate 254) may be used as the dielectric in capacitor 436/438. Metal or conductive layers on either side of the dielectric layer (i.e., between the dielectric layer and the IC and between the dielectric layer and the tag substrate) may then be used as terminals for the capacitors 436/438. The conductive layer may include an IC contact (e.g., IC contact 432/433), an antenna segment (e.g., antenna segment 226/228), or any other suitable conductive layer.
The circuit 424 includes a rectifier and PMU (power management unit) 441 that extracts energy from the RF signal incident on the antenna segments 226/228 to power the circuitry of the IC 424 during either or both of the reader-to-tag (R→T) and tag-to-reader (T→R) intervals. The rectifier and PMU 441 may be implemented in any manner known in the art and may include one or more components configured to convert Alternating Current (AC) or time-varying signals to Direct Current (DC) or substantially time-invariant signals.
Circuitry 424 also includes demodulator 442, processing block 444, memory 450, and modulator 446. Demodulator 442 demodulates RF signals received via IC contacts 432/433 and may be implemented in any suitable manner, such as using limiters, amplifiers, and other similar components. Processing block 444 receives the output from demodulator 442, performs operations such as command decoding, memory interface, and other related operations, and may generate output signals for transmission. Processing block 444 may be implemented in any suitable manner, such as by a combination of one or more of a processor, memory, decoder, encoder, and other similar components. The memory 450 stores data 452 and may be implemented, at least in part, as a permanent or semi-permanent memory, such as a non-volatile memory (NVM), EEPROM, ROM, or other memory type configured to retain the data 452 even when the circuit 424 is unpowered. Processing block 444 may be configured to read data from and/or write data to memory 450.
The modulator 446 generates a modulated signal from the output signal generated by the processing block 444. In one embodiment, modulator 446 generates a modulated signal by driving a load provided by an antenna segment coupled to IC contact 432/433 to form a backscatter signal as described above. In another embodiment, modulator 446 includes and/or uses a transmitter to generate and transmit modulated signals via antenna segments connected to IC contacts 432/433. The modulator 446 may be implemented in any suitable manner, for example, using switches, drivers, amplifiers, and other similar components. The demodulator 442 and modulator 446 may be separate components, combined in a single transceiver circuit, and/or be part of the processing block 444.
In some embodiments, particularly those with more than one antenna port, the circuit 424 may include multiple demodulators, rectifiers, PMUs, modulators, processing blocks, and/or memory.
Fig. 5A shows a version 524-a of the components of the circuit 424 of fig. 4, further modified to emphasize signal operation during the r→t interval (e.g., time interval 312 of fig. 3). During the R→T interval, demodulator 442 demodulates the RF signal received from IC contact 432/433. The demodulated signal is provided as c_in to a processing block 444, which may include the received symbol stream IN some embodiments. Rectifier and PMU 441 may be active, for example, drawing power from an incident RF waveform and providing power to demodulator 442, processing block 444, and other circuit components. During the r→t interval, the modulator 446 does not actively modulate the signal and may actually be decoupled from the RF signal. For example, the signal routing section 435 may be configured to decouple the modulator 446 from the RF signal, or the impedance of the modulator 446 may be adjusted to decouple it from the RF signal.
Fig. 5B shows a version 524-B of the components of the circuit 424 of fig. 4, further modified to emphasize signal operation during the t→r interval (e.g., time interval 326 of fig. 3). During the T→R interval, processing block 444 outputs a signal C_OUT, which may include a symbol stream for transmission. The modulator 446 then generates a modulated signal from C OUT and transmits the modulated signal via the antenna segments coupled to the IC contacts 432/433, as described above. During the T→R interval, the rectifier and PMU 441 may be active, and the demodulator 442 may not actively demodulate the signal. In some embodiments, demodulator 442 may be decoupled from the RF signal during the t→r interval. For example, the signal routing section 435 may be configured to decouple the demodulator 442 from the RF signal, or the impedance of the demodulator 442 may be adjusted to decouple it from the RF signal.
In the exemplary embodiment, demodulator 442 and modulator 446 are operable to demodulate and modulate signals according to a protocol, such as the Gen2 protocol mentioned above. In embodiments where circuit 424 includes multiple demodulators, modulators, and/or processing blocks, each demodulator, modulator, and/or processing block may be configured to support a different protocol or a different set of protocols. The protocol specifies, in part, symbol encoding and may include a set of modulations, rates, timings, or any other parameters associated with data communications. The protocol may be a variant of an international approval protocol such as the Gen2 protocol, for example including fewer or more commands than the approval protocol requires, and so on. In some examples, the additional commands may sometimes be referred to as custom commands.
Fig. 6 illustrates an RFID reader system 600 according to an embodiment. The reader system 600 is configured to communicate with RFID tags and optionally with entities external to the reader system 600, such as the service 632. The reader system 600 includes at least one reader module 602 configured to transmit signals to and receive signals from RFID tags. The reader system 600 also includes at least one local controller 612, and in some embodiments at least one remote controller 622. The controllers 612 and/or 622 are configured to control operation of the reader module 602, process data received from RFID tags communicated via the reader module 602, communicate with external entities such as the service 632, and otherwise control operation of the reader system 600.
In some embodiments, the reader system 600 may include a plurality of reader modules, a local controller, and/or a remote controller. For example, the reader system 600 may include at least one other reader module 610, at least one other local controller 620, and/or at least one other remote controller 630. A single reader module may communicate with multiple local and/or remote controllers, a single local controller may communicate with multiple reader modules and/or remote controllers, and a single remote controller may communicate with multiple reader modules and/or local controllers. Similarly, reader system 600 may be configured to communicate with a plurality of external entities, such as other reader systems (not depicted) and a plurality of services (e.g., services 632 and 640).
The reader module 602 includes a modulator/encoder block 604, a demodulator/decoder block 606, and an interface block 608. Modulator/encoder block 604 may encode and modulate data for transmission to RFID tags. Demodulator/decoder block 606 may demodulate and decode the signal received from the RFID tag to recover the data transmitted from the tag. Modulation, encoding, demodulation, and decoding may be performed according to a protocol or specification, such as the Gen2 protocol. The reader module 602 may use the interface block 608 to communicate with the local controller 612 and/or the remote controller 622, for example, to exchange tag data, receive instructions or commands, or exchange other related information.
The reader module 602 and blocks 604/606 are coupled to one or more antennas and/or antenna drivers (not shown) for transmitting and receiving RF signals. In some embodiments, the reader module 602 is coupled to multiple antennas and/or antenna drivers. In these embodiments, the reader module 602 may transmit and/or receive RF signals on different antennas in any suitable scheme. For example, the reader module 602 may switch between different antennas to transmit and receive RF signals, transmit on one antenna but receive on another antenna, or transmit and/or receive simultaneously on multiple antennas. In some embodiments, the reader module 602 may be coupled to one or more phased array or synthetic beam antennas, the beams of which may be generated and/or steered, for example, by the reader module 602, the local controller 612, and/or the remote controller 622.
The modulator/encoder block 604 and/or the demodulator/decoder block 606 may be configured to perform conversion between analog and digital signals. For example, the modulator/encoder block 604 may convert digital signals received via the interface block 608 to analog signals for subsequent transmission, and the demodulator/decoder block 606 may convert the received analog signals to digital signals for transmission via the interface block 608.
The local controller 612 includes a processor block 614, a memory 616, and an interface 618. Remote controller 622 includes a processor block 624, a memory 626, and an interface 628. The local controller 612 differs from the remote controller 622 in that the local controller 612 is collocated, or at least physically proximate to the reader module 602, while the remote controller 622 is not physically proximate to the reader module 602.
The processor blocks 614 and/or 624 may be configured to provide different functions, alone or in combination. Such functions may include controlling other components such as memory, interface blocks, reader modules, and the like; communicate with other components such as reader module 620, other reader systems, services 632/640, and the like; data processing or algorithmic processing such as encryption, decryption, authentication, and the like; or any other suitable function. In some embodiments, the processor blocks 614/624 may be configured to convert analog signals to digital signals or vice versa, as described above with respect to blocks 604/606; the processor blocks 614/624 may also be configured to perform any suitable analog signal processing or digital signal processing such as filtering, carrier cancellation, noise determination, and the like.
The processor blocks 614/624 may be configured to provide functionality by executing instructions or applications that may be fetched from memory (e.g., memory 616 and/or 626) or received from some other entity. The processor blocks 614/624 may be implemented in any suitable manner. For example, the processor blocks 614/624 may be implemented using the following: digital and/or analog processors such as microprocessors and Digital Signal Processors (DSPs); a controller such as a microcontroller; software running in a machine such as a general purpose computer; programmable circuitry such as a programmable array (FPGA), a programmable array (FPAA), a programmable device (PLD), an Application Specific Integrated Circuit (ASIC) application, any combination of one or more of these; and equivalents thereof.
The memory 616/626 is configured to store information and may be implemented in any suitable manner, such as the memory types described above, any combination thereof, or any other known memory or information storage technology. The memory 616/626 may be implemented as part of its associated processor block (e.g., processor block 614/624) or separately. The memory 616/626 may store instructions, programs, or applications for execution by the processor blocks 614/624. The memory 616/626 may also store other data, such as files, media, component configurations or settings, and the like.
In some embodiments, memory 616/626 stores tag data. The tag data may be data read from the tag, data to be written to the tag, and/or data associated with the tag or tagged item. The tag data may include an identifier for the item or tag, such as an Electronic Product Code (EPC), a Unique Item Identifier (UIIs), a Tag Identifier (TID), or any other information suitable for identifying the respective item or tag. The tag data may also include a tag password (password), a tag profile (profile), a tag key (secret or public), a tag key generation algorithm, and any other suitable information about the tag or item associated with the tag.
The memory 616/626 may also store information regarding how the reader system 600 is to operate. For example, the memory 616/626 may store information regarding algorithms for encoding commands for tags, algorithms for decoding signals from tags, communication and antenna modes of operation, encryption/authentication algorithms, tag location and tracking algorithms, keys and key pairs (such as public/private key pairs) associated with the reader system 600 and/or other entities, electronic signatures, and the like.
The interface blocks 608, 618, and 628 are configured to communicate with each other and with other suitably configured interfaces. Communication between the interface blocks occurs via the exchange of signals containing data, instructions, commands, or any other suitable information. For example, the interface block 608 may receive data to be written to a tag, information regarding the operation of the reader module 602 and its constituent components, and the like; and may transmit data read from the tag. Interface blocks 618 and 628 may send and receive tag data, information regarding the operation of other components, other information for enabling the local controller 612 and remote controller 622 to interoperate, and the like. The interface blocks 608/618/628 may also communicate with external entities such as services 632, 640, other services, and/or other reader systems.
The interface blocks 608/618/628 may communicate using any suitable wired or wireless means. For example, the interface blocks 608/618/628 may communicate via circuit traces (trace) or interconnections, or other physical lines or cables, and/or using any suitable wireless signal propagation technique. In some embodiments, interface blocks 608/618/628 may communicate via an electronic communications network, such as a Local Area Network (LAN), metropolitan Area Network (MAN), wide Area Network (WAN), a network such as the Internet. The communications from the interface blocks 608/618/628 may be secure, such as via encryption and other electronic means, or may be non-secure.
The reader system 600 may be implemented in any suitable manner. One or more components in reader system 600 may be implemented as an integrated circuit using CMOS technology, BJT technology, MESFET technology, and/or any other suitable physical implementation technology. Components may also be implemented as software executing on general-purpose or special-purpose hardware.
In one embodiment, a "reader" as used in this disclosure may include at least one reader module similar to reader module 602 and at least one local controller such as local controller 612. Such a reader may or may not include any remote controller, such as remote controller 622. The reader including the reader module and the local controller may be implemented as a stand-alone device or as a component in another device. In some embodiments, the reader may be implemented as a mobile device, such as a handheld reader, or as a component in a mobile device, such as a laptop computer, tablet computer, smart phone, wearable device, or any other suitable mobile device.
If not included in the reader, the remote controller 622 may be implemented separately. For example, remote controller 622 may be implemented as a local host, remote server, or database coupled to one or more readers via one or more communication networks. In some embodiments, remote controller 622 may be implemented as an application executing on the cloud or at a data center.
The functions within reader system 600 may be distributed in any suitable manner. For example, the encoding and/or decoding functions of blocks 604 and 606 may be performed by processor blocks 614 and/or 624. In some embodiments, the processor blocks 614 and 624 may cooperate to execute applications or perform some functions. One of the local controller 612 and the remote controller 622 may not implement memory, while the other controller provides memory.
The reader system 600 may be in communication with at least one service 632. Service 632 provides one or more features, functions, and/or capabilities associated with one or more entities such as reader systems, tags, tagged items, and the like. Such features, functions, and/or capabilities may include providing information associated with an entity, such as warranty information, repair/replacement information, upgrade/update information, and the like; and providing services associated with the entity, such as storing and/or accessing entity-related data, location tracking of the entity, entity security services (e.g., authentication of the entity), entity privacy services (e.g., which are allowed to access which information about the entity), and the like. Service 632 may be separate from reader system 600 and both may communicate via one or more networks.
In some embodiments, the RFID reader or reader system implements the above-described functions and features, at least in part, in the form of firmware, software, or a combination thereof, such as hardware or device drivers, operating systems, applications, etc. In some embodiments, interfaces to various firmware and/or software components may be provided. Such interfaces may include Application Programming Interfaces (APIs), libraries, user interfaces (graphical and other), or any other suitable interface. The firmware, software, and/or interfaces may be implemented via one or more processor blocks, such as processor blocks 614/624. In some embodiments, at least some of the reader or reader system functions and features may be provided as a service, for example, via service 632 or service 640.
Fig. 7 is a diagram of an example RFID tag IC memory configuration according to an embodiment.
Diagram 700 illustrates an example RFID tag IC memory configuration, according to an embodiment. Diagram 700 shows an RFID tag IC memory 750, similar to the physical memory configuration described in the Gen2 protocol. Memory 750 includes four partitions or sections 752, 754, 756, and 758. Partition 752 ("user memory") may be configured to store user data. Partition 754 ("TID memory") may be configured to store an identifier of the tag IC itself, such as a tag identifier or TID. Partition 756 ("EPC memory") may be configured to store an identifier of an item associated with or attached to the tag IC, such as an electronic product code or EPC. Partition 758 ("reserved memory") may be configured to store information reserved for the tag IC itself, or otherwise not necessarily publicly accessible information such as passwords, PINs, encryption keys, and the like. The Gen2 protocol specifies two passwords, an Access password (Access password) and an inactivation password (Kill password), which may be stored in partition 758. If present, the access password may be used to restrict certain tag IC operations, as described in the Gen2 protocol. If an inactivation challenge is present, it can be used to put the tag IC into an inactivated state, as described in Gen2 Proto Col. Because these passwords are sensitive, partition 758 is not typically publicly accessible.
In some example implementations, data associated with the modified inventory command, such as memory configuration bits (e.g., T bits), data to be compared to inventory command mask values, and some or all of Tag Identifiers (TIDs) and/or Item Identifiers (II) (e.g., EPC or UII) may be stored in one or more particular memory banks. For example, the memory configuration bits may be stored in block 1 (e.g., gen2 protocol specifies that T bits are bits 17h of block 1, which block 1 is EPC memory).
The configuration of the tag IC memory 750 is provided as an example. The tag IC memory may have any number of partitions configured to store any suitable information.
Fig. 8A and 8B illustrate a command structure of a query and select command according to the Gen2 protocol.
According to the Gen2 protocol, a Query command 810 may initiate a inventory cycle in a new session or in a previous session. As discussed herein, the tag may be in various states such as open, acknowledged, secure, etc., and in various sessions. If a tag in an acknowledged, open, or secure state receives a query command that matches a session parameter with a previous session, the tag inverts the inventory flag of the session before evaluating whether to convert to ready, arbitrate, or answer. If a tag in an acknowledged, open, or secure state receives a Query (Query) that the session parameters do not match the previous session, the tag may leave the inventory flag of its previous session unchanged when a new cycle is started. The Query command may include a number of fields beginning with a command identifier followed by DR (TRcal divide ratio) that sets t= > R link frequency, M (number of cycles per symbol) that sets t= > R data rate and modulation format, trex that selects whether the tag is preceded by a pilot (pilot tone), sel that selects which tags respond to the Query (Query) (based on previously sent select commands), session (Session), that selects a Session, target (Target) for the inventory period, that selects whether the tag with inventory flag a or B participates in the inventory period due to being singulated, Q, that sets the number of slots (slots) in the cycle (based on section 6.3.2.10 in the Gen2 protocol), and CRC (cyclic redundancy check).
According to the Gen2 protocol, select command 820 allows the reader to Select a subgroup of tags based on user-defined criteria, thereby enabling tag partitioning based on federation (U), intersection (U), and negation (-). The reader performs the U and ∈ operations by issuing successive select commands. The select command 820 may assert or de-assert the SL flag of the tag, the select command 820 being applicable to all four sessions, or the select command 820 may set the disk flag of the tag to A or B in any one of the four sessions. The tag performs the selection from any state other than inactivated (killed).
According to the Gen2 protocol, the select command 820 may include the following parameters: the target indicates whether the select command modifies the SL flag of the tag or its inventory flag, and if the inventory flag is modified, the select command further specifies one of four sessions. An Action (Action) causes a tag behavior in which matching and non-matching tags assert or de-assert SL or set its inventory flag to A or B. Tags that match the contents of the memory block (MemBank), pointer (Pointer), length (Length), and Mask (Mask) fields are matched. The criteria for determining whether a tag matches are specified by the memory block, pointer, length, and mask fields. MemBank specifies how tags apply masks as described in the Gen2 protocol. A Pointer (Pointer) specifies the start bit address of the mask comparison. Length (Length) specifies the mask Length. The mask may be a string of bits that the tag compares to memory locations beginning with the pointer and ending after a length bit. The Truncate (Truncate) indicates whether the backscatter response of the tag should be truncated to those EPC bits after the mask. The CRC is a cyclic redundancy check for error detection.
Fig. 9A to 9C illustrate exchanges between a reader and a tag using standard and modified inventory commands according to an embodiment.
As shown in diagram 900, the exchange according to the Gen2 protocol may begin with a population of tags selection, where a reader 902 selects one or more tags (including tag 904) from the population of tags for subsequent inventory. For example, reader 902 may send a Gen2 select command that specifies tags with particular attributes to set their SL flags to particular values. The select command may include, among other parameters, a mask value, a mask pointer, and a mask length, where the data length for comparison is defined by the mask length, allowing the tag to compare the mask value with data starting from a location identified by the mask pointer. In response, tags that receive the select command, have those particular attributes, and have data corresponding to the specified mask value, mask pointer, and mask length will match (906) and adjust their SL flags appropriately. Tags that receive the select command but do not have those specific attributes or data corresponding to the specified mask value/pointer/length will not match (908) and therefore their SL flags will not be adjusted according to the select command.
During inventory after selection, the reader 902 sends a query command, as described in Gen2 protocol, to initiate an inventory cycle for tags that match the previous selection command. If tag 904 has matched (906), it participates in the inventory cycle by replying to a query command specified by the Gen2 protocol. On the other hand, if tag 904 does not match (908), it does not participate in the inventory cycle and does not answer the query command.
In the inventory period, any participating tag having a current slot counter value of 0 will reply to the 16-bit pseudorandom number. In this example, assume that tag 904 matches (906) and thus participates in the inventory cycle, has a slot counter value of 0, and no other participating tags have a slot counter value of 0. Thus, the tag 904, and only the tag 904, will reply to the query command with a pseudo random number, denoted "RN16_0". Reader 902 then acknowledges tag 904 by sending a Gen2 ACK command that includes rn16_0. Tag 904 responds with an identifier and other support information upon receipt of the ACK order and verification that the contained RN16_0 matches the pseudo-random number it sent. The Gen2 protocol specifies that the identifier in the tag reply will be part of the tag or the entire EPC of the tag, and other support information may include protocol-control information (e.g., PC/XPC bits and CRC bits).
The diagram 920 in fig. 9B illustrates the exchange between the reader 922 and the tag 924 according to a first inventory command in a modified inventory process, where the first inventory command may combine some of the functions of the select and query commands of Gen2 to allow for a faster inventory process. The first disk command may include some or all of the fields (parameters) specified in the select and query commands according to the Gen2 protocol, as well as other fields for additional functions. For example, the Collision Resolution (CR) field may allow the tag 924 to reply not only with RN16, but also with other information including, but not limited to, 32 trailing UII bits, 16 trailing UII bits, or a stored CRC. Another field in the first disk command may be a response type value field that may specify, for example, whether the tag (a) suppresses the reply or (b) optionally replies with a confirmation code in response to a confirmation command. The confirmation code may include, but is not limited to, a Tag Identifier (TID) portion, an item identifier portion other than the CR code, or an entire item identifier specified in response to a type parameter value.
More generally, inventory commands according to the modified inventory procedure may allow an appropriately configured tag to respond with conflict resolution information instead of (or in addition to) a 16-bit pseudo-random number. The other information may be of any suitable length, and may include a longer pseudo-random number, part or all of one or more tag identifiers (e.g., TID and/or EPC), information associated with one or more tag identifiers (e.g., error checking and/or protocol control information associated with TID and/or EPC), a cryptographic value (e.g., a value calculated from a known value such as tag identifier or associated information using a tag key), or any other suitable information associated with and/or stored on a tag. Other information may be selected to provide some conflict resolution capability so that two different tags in the same population are unlikely to have the same "other information" value. For example, if identifiers in a population of tags tend to have more diversified Least Significant Bits (LSBs) than Most Significant Bits (MSBs), then the identifier LSB may be selected as "other information". This reduces the likelihood that multiple tags share the same "other information" and thus reduces the probability of tag collision.
As another example, rather than or in addition to a portion of its EPC or its entire EPC, the tag may be configured such that the tag responds with other information to an initial, correct ACK command (i.e., an ACK command that includes data that matches data previously sent by the tag). In an alternative response option, the tag may not respond to the initial correct ACK command at all. This may speed up the inventory process because if a tag has been previously inventory by a reader, the reader may already know the tag identifier and need not receive it again. In another alternative response option, the tag may respond to the initial correct ACK command with part or all of one or more other non-EPC identifiers (e.g., TID or UII thereof). By providing a portion (or all) of the non-EPC identifier at this point in the inventory process, the reader may not have to request the provided identifier portion later, thereby expediting the inventory process. In yet another alternative response option, the tag may respond to the initial correct ACK command with at least a portion of its EPC or identifier that it has not yet provided. For example, assume that a tag previously responded to a first disk command with a first portion of its EPC. The tag may then respond to the initial ACK command with a second portion of its EPC that is different from the first portion. If the tag previously responded with its entire EPC, the tag may respond to the initial ACK command with other information associated with the EPC (e.g., PC/XPC/CRC bits). When responding to the initial correct ACK command, the tag may further adjust the identifier association information based on its response. For example, the tag may adjust a length bit in the PC/XPC bits based on the length of the identifier portion included in the response.
In other examples, the tag may respond to the initial correct ACK command with other information, which may or may not be associated with or derived from one or more tag identifiers. For example, the tag may respond to the initial correct ACK command with all or part of the password value. The tag may calculate the cryptographic value based on the tag key, a previously received cryptographic challenge (cryptographic challenge), a random or pseudo-random number, one or more tag identifiers or tag identifier portions, and/or any other suitable information known/stored on the tag.
In all of the ACK-alternate response options above, the tag may be configured to respond to a second correct ACK command using part or all of its EPC and associated information (e.g., PC/XPC/CRC bits) after the initial correct ACK command, similar to the ACK response behavior described in the Gen2 protocol. This may be useful if the reader (or a coupled controller) determines that the reader actually needs more information from the tag than the reader has received, or if the reader needs to check the correctness of the previously received information. The second ACK command may be sent (or received) immediately after the initial ACK command, where "immediately" means that the reader does not send any other commands between the two ACK commands. In some examples, the reader may send other commands between the initial and second ACK commands, while the tag may still respond to the second ACK command with some or all of its EPC and associated information.
Thus, in the example exchange of fig. 920, the tag 924 may identify the CR code (926) and send the CR code to the reader 922 in response to the first disk command, and then receive the first confirmation command. The tag 924 may respond to the first confirmation command with additional information or suppress the response based on the response type value (928). In some examples, the reader 922 may send a second confirmation command to the tag 924 after the first confirmation command. The tag 924 may reply by sending the entire II regardless of the response type value depending on its configuration.
As described above, the tag may be configured to send additional or alternative responses to the first disk command and/or the ACK command, rather than being specified by the Gen2 protocol or ISO/IEC 18000-63 for standard query and/or selection commands. The reader may be configured to cause a suitably configured tag to respond with these alternative responses in any suitable manner. For example, the reader may send a command that includes one or more fields that specify whether the receiving tag should send an alternative response, and if so, a particular alternative response. As described above, the first inventory command may share some common fields (parameters) with Gen2 commands (such as select, query, queryAdj, and/or QueryRep) and be used to elicit a surrogate response from a properly configured tag.
Fig. 950 in fig. 9C illustrates exchange between the reader 952 and the tag 954 according to a second disc storage command in the modified disc storage process. The second inventory command may also combine some of the functions of the select and query commands to improve inventory efficiency. The second inventory command may include some or all of the fields (parameters) specified in the select and query commands according to the Gen2 protocol, as well as other fields for additional functions.
In an example operation, tag 954, upon receipt of a second inventory command specifying a mask value, may use one or more memory configuration bits to determine a memory location of stored data to compare with the mask value. Thus, the reader 952 does not have to and actually does not provide any memory locations in the second disk command or otherwise telling the tag 954 where to look up the data for comparison with the mask value. In fact, the reader 952 may not even know where the tag 954 or indeed any tag stores relevant data, which may be particularly useful when tags having different numbering schemes, formats and storage structures are present. In some embodiments, the second inventory command may include a mask length field specifying a predefined length of the mask length, such as 8, 16, or 24 bits.
Upon receiving the second disk command, tag 952 may retrieve data from the memory location indicated by the memory configuration bit and determine whether the retrieved data matches the mask value specified by the second disk command. If the retrieved data matches (958), tag 952 participates in the inventory cycle initiated by the second inventory command. If the retrieved data does not match 960, tag 952 does not participate in the inventory cycle.
The memory configuration bit(s) may be one or more bits in the memory of tag 954. The value(s) of the memory configuration bit(s) may be programmed at the time of tag or tag IC manufacture and may be later unalterable (e.g., written to ROM) or field reprogrammable. In one implementation, the memory configuration bits may be T bits according to the Gen2 protocol, which indicates that the T bits implemented at bit 17h of memory block 1/EPC memory block may also be used as a "numbering system identifier switch". In one embodiment, tag 954 uses the memory configuration bit(s) to determine the memory locations where to begin retrieving data for comparison with the mask value. If the second inventory command includes a mask length parameter, tag 954 may retrieve data beginning at the memory location and extending a length equal to the mask length parameter. If the second inventory command does not include a mask length parameter, tag 954 may determine the length of data to retrieve based on the memory configuration bit(s) and/or via any other suitable means. In one particular implementation, one value of T bits causes tag 954 to retrieve data beginning at bit 20h of the block 1/EPC memory, and another value of T bits causes tag 954 to retrieve data beginning at bit 18h of the block 1/EPC memory.
In one embodiment, the data selected by the tag for comparison with the mask value may be divided into portions of data located in two or more non-contiguous memory locations or even different memory banks. In this example, the tag may (a) retrieve the data, concatenate the data portions to form a combination, and compare the combination to the mask value, or (b) divide the mask value into portions corresponding to the stored data, and then compare the divided mask value portions to the stored data portions. For (b), if each divided mask value portion matches a corresponding stored data portion, the tag may determine a stored data match mask value.
Although in the above description, the tag determines whether the stored data matches the mask value, in some embodiments the tag determines whether the mask value corresponds to the stored data rather than matches the stored data. For example, a tag may perform a calculation to derive a first value from the stored data and/or a second value from the mask value and compare the first value to the mask value or the second value or compare the stored data to the second value. As another example, the tag may determine whether the mask value corresponds to some other value known to the tag in addition to or in lieu of storing the data. This other value may be derived from tag characteristics or capabilities.
Fig. 10 and 11 illustrate flowcharts of two methods of using a modified inventory command according to embodiments.
The process 1000 in FIG. 10 begins at step 1002 where a first inventory command is received at step 1002 according to a label of a modified inventory process configuration, the first inventory command including parameters such as a Conflict Resolution (CR) value and a response type value. The CR value may indicate to the tag how to generate the CR code. For example, the tag may select a trailing II (e.g., EPC) portion, a stored cyclic redundancy check code, or a pseudorandom number. The trailing portion of II may be 16 bits or 32 bits. In some implementations, the pseudorandom number may be a 16-bit random number. When responding to an initial confirmation command from the reader, the response type value may indicate which additional information, if any, the tag sends. Examples may include, but are not limited to, a portion of TID, a portion of II different from that used in CR codes, or the entire II.
At step 1004, the tag generates a CR code based on the CR value in the first disk command, and at step 1006, the tag transmits a CR response including the generated CR code to the reader. Subsequently, the tag may receive an initial confirmation command in step 1008. Next, at step 1010, the tag may determine which information to include in the response to the initial confirmation command. If the response type value parameter has a value, the tag may refrain from responding to the initial acknowledgment command (1012). If the response value has another value, the tag may respond with an acknowledgement code that the tag selects based on the response type value at step 1014. In some examples, the response type value may be a single bit parameter that allows the tag to suppress responses or respond with only one type of information. In other examples, the response type value may be a two-bit parameter, where the quench response is one of four possible values, the other three values representing information to be included in the acknowledgement code (e.g., the example above). Of course, in other examples, the response type value may also have a larger size (3 bits, 4 bits, etc.).
The tag may receive a subsequent ACK command at optional step 1016 and be configured to respond to the subsequent ACK command with part or all of its EPC and associated information (e.g., PC/XPC/CRC bits) at optional step 1018, similar to the ACK response behavior described in the Gen2 protocol. Subsequent ACK commands may be sent (or received) immediately after the initial ACK command, where "immediately" means that the reader does not send any other commands between the two ACK commands. In some examples, the reader may send other commands between the initial and subsequent ACK commands, while the tag may still respond to the subsequent ACK commands with some or all of its EPC and associated information.
Process 1100 in fig. 11 begins at step 1102 with receiving a second inventory command according to a tag of a modified inventory process configuration, the second inventory command including parameters such as a mask value, in step 1102. Upon identifying the received command as a second disk command (e.g., via a command identifier), the tag determines the value of its memory configuration bit(s) at step 1104, as described above.
Based on the value of its memory configuration bit(s), the tag may determine the memory location from which to retrieve data to compare with the mask value. If the memory configuration bit has a first value, the tag may retrieve data from the first memory location (1110). If the memory configuration bit(s) have a second value, the tag may retrieve data from the second memory location (1108). In some embodiments, the memory configuration bit(s) is implemented by a T bit, as described in Gen2 protocol/ISO/IEC 18000-63, and may indicate a starting memory location from which to retrieve data, as described above. In other embodiments, the memory configuration bit(s) may include more than one bit, allowing data stored in a third, fourth, or even more different memory locations to be used for comparison with the mask value. The value of the memory configuration bit may be programmed at the time of manufacture and may then be unchangeable or re-changeable in the field. In all these cases, the reader is unaware of the storage location(s) from which the tag is retrieving data for comparison.
Once the tag has retrieved the data whose location is indicated by its memory configuration bit(s), the tag may compare the data to the mask value included in the second inventory command at step 1112. If a match is determined at step 1114, the tag may participate in the inventory cycle at step 1116. If there is no match, the tag may refrain from participating in the inventory cycle in step 1118. In some alternative examples, the length of the mask value may also be included in the second inventory command and used by the tag to determine the length of data to be retrieved for comparison.
Although processes 1000 and 1100 describe two different versions of a disk command, in some embodiments, the two versions may be combined into a unified disk command. The unified inventory command includes a CR value, a response type value, and a mask value. When a unified inventory command is used to initiate an inventory cycle, only tags with stored data corresponding to the mask value participate, as described in process 1100. During participation, the tag will respond with a CR code and an acknowledgement code, as described in process 1000.
The steps described in process 1000 of fig. 10 and process 1100 of fig. 11 are for illustrative purposes only. The steps may be implemented in a different order using additional or fewer steps and using the principles described herein.
According to some examples, a method for an RFID integrated circuit coupled to an antenna to respond in inventory cycles is described. The method includes receiving a inventory command initiating an inventory cycle, wherein the inventory command includes a Conflict Resolution (CR) value and a response type value; a CR response is generated based on the CR value by: identifying a CR code based on the CR value, wherein the CR code is one of a trailing article identifier (II) portion, a stored cyclic redundancy check code, and a pseudo-random number, and including the CR code in the CR response; sending a CR response; receiving a first acknowledgement command in response to sending the CR acknowledgement; and refraining from replying to the first acknowledgement command if the response type value indicates that no acknowledgement is sent, otherwise replying by sending an acknowledgement code indicated by the response type value, wherein the acknowledgement code is one of a Tag Identifier (TID) portion, another II portion, and the whole II.
According to other examples, another method for an RFID integrated circuit coupled to an antenna to respond during inventory periods is described. The method includes receiving a inventory command initiating an inventory cycle, wherein the inventory command includes a Conflict Resolution (CR) value and a response type value; a CR response is generated based on the CR value by: identifying a CR code based on the CR value, wherein the CR code is one of an Item Identifier (II) portion, a stored cyclic redundancy check code, and a pseudo-random code, and including the CR code in a CR response; sending a CR response; receiving a first acknowledgement command in response to sending the CR acknowledgement; and refraining from replying to the first acknowledgement command if the response type value indicates that no acknowledgement is sent, otherwise replying by sending an acknowledgement code indicated by the response type value, wherein the acknowledgement code is one of a Tag Identifier (TID) portion, an entire TID, another II portion, and an entire II.
According to a further example, the above method further comprises, upon receipt of the second acknowledgement command, replying to the second acknowledgement command by sending the entire II, irrespective of the response type value. The method further includes receiving a second acknowledgement command when the first acknowledgement command is acknowledged or when the first acknowledgement command is refrained from being acknowledged. The method further comprises the following steps: receiving a second acknowledgement command while suppressing the acknowledgement of the first acknowledgement command; the cryptographic value calculated based on the tag key is transmitted in response to the second confirmation command. The other part II is the whole part II except the trailing part II. The pseudo-random number is generated by the RFID IC upon receipt of the first acknowledge command.
According to yet another example, a Radio Frequency Identification (RFID) integrated circuit configured to be coupled to an antenna is described. The IC includes a memory configured to store data; a transceiver configured to receive commands and transmit acknowledgements; and a processing block coupled to the memory and the transceiver, wherein the processing block is configured to perform the actions described above.
According to some examples, a method for a Radio Frequency Identification (RFID) integrated circuit configured to be coupled to an antenna, the IC having an IC memory divided into one or more memory blocks, is described. The method comprises the following steps: receiving a inventory command from the RFID reader, the inventory command initiating an inventory cycle and specifying a mask value; determining a value of a T bit stored in a memory of the RFID IC, wherein the T bit is implemented according to one of a Gen2 protocol and an ISO/IEC-18000-63 standard; determining a starting storage location in a first memory block based on the T-bit value; selecting data having a determined starting storage location; determining whether the mask value matches the selected data; and if the mask value matches the selected data, participating in the inventory cycle, otherwise refraining from participating in the inventory cycle.
According to other examples, another method is described for a Radio Frequency Identification (RFID) integrated circuit configured to be coupled to an antenna, the IC having an IC memory divided into one or more memory banks. The method includes receiving a inventory command from an RFID reader that initiates an inventory cycle and specifies a mask value; determining a value of a T bit stored in a memory of the RFID IC, wherein the T bit is implemented according to one of a Gen2 protocol and an ISO/IEC-18000-63 standard; determining a starting storage location in the first memory block based on the T-bit value; selecting data having a determined starting storage location; determining whether the mask value corresponds to the selected data; if the mask value corresponds to the selected data, the inventory cycle is engaged, otherwise the inventory cycle is inhibited.
According to a further example, the length of the mask value is specified in the inventory command and is unknown to the RFID IC, the length of the mask value is determined by the RFID reader, and/or the starting storage location is unknown to the RFID reader. The starting storage location is unknown to the RFID reader and the inventory command does not specify the starting storage location. Determining the starting storage location includes determining a first storage location if the T bit has a first value; and if the T bit has a second value, determining a second storage location. The first storage location is bit 20h in the first memory block and the second storage location is bit 18h in the first memory block. The selected data includes a plurality of data portions, each data portion being stored in a different storage location, and the method further includes concatenating the plurality of data portions; alternatively, the mask value is divided into a plurality of mask portions. The data portions are stored in a plurality of discrete storage locations in the same memory block; or in a plurality of memory blocks.
According to yet another example, the starting storage location is preset in the RFID IC and is not reconfigurable before the inventory command is received. Alternatively, the starting storage location is reconfigurable. The first memory block is one of an EPC memory block, a TID memory block, a user memory block, and a reserve memory block, each according to the Gen2 protocol, or UII memory according to the ISO/IEC-18000-63 standard. Determining whether the mask value corresponds to the selected data includes calculating a derived value from the mask value; and compares the derived value with the selected data. Determining whether a mask value corresponds to the selected data includes calculating a derived value from the selected data; and compares the derived value with the mask value. The method further includes performing a preset function or activating a preset feature if the mask value matches or corresponds to the selected data.
According to yet another example, a Radio Frequency Identification (RFID) integrated circuit configured to be coupled to an antenna is described. The IC includes a memory configured to store data; a transceiver configured to receive commands and transmit acknowledgements; a processing block coupled to the memory and the transceiver, wherein the processing block is configured to perform the actions described above.
As previously described, embodiments are directed to modifying RFID tag inventory. Embodiments additionally include a program and a method of operation of the program. A program is generally defined as a set of steps or operations leading to a desired result due to the nature of the elements in the steps and their order. A program is typically implemented advantageously as a sequence of steps or operations on a processor, but may be implemented in other processing elements such as an FPGA, DSP or other device as described above.
The steps, instructions, or operations of the execution of the programs require manipulation of physical quantities. Usually, though not necessarily, these quantities can be transferred, combined, compared, and otherwise manipulated or processed in accordance with steps or instructions, and they may be stored in a computer readable medium. These quantities include, for example, electrical, magnetic, and electromagnetic charges or particles, states of matter, and, in more general terms, states of any physical device or element. The information represented by the states of these quantities may be referred to as bits, data bits, samples, values, symbols, characters, terms, numbers, or the like. However, these and similar terms are to be associated with the appropriate physical quantities individually or in groups and are merely convenient labels applied to the appropriate physical quantities.
Embodiments also include a storage medium. Such media has stored thereon, alone or in combination with other, instructions, data, keys, signatures, and other data of programs made in accordance with embodiments. The storage medium according to the embodiment is a computer-readable medium such as a memory, and can be read by a processor of the above-described type. If a memory, it may be implemented in any manner and using any of the techniques described above.
Even though the program may be stored in a computer readable medium, it need not be a single memory, or even a single machine. The various parts, modules or features thereof may reside in separate memories or even in separate machines. The separate machines may be connected directly or through a network such as a Local Area Network (LAN) or a global network such as the internet.
Generally, it is desirable to implement and describe the program as software for convenience only. The software may be singular or considered in terms of various interconnected different software modules.
The foregoing detailed description has set forth various embodiments of the devices and/or processes via the use of block diagrams and/or examples. Where such block diagrams and/or examples contain one or more functions and/or aspects, each function and/or aspect within such block diagrams or examples may be implemented, individually and/or collectively, by a wide range of hardware, software, firmware, or virtually any combination thereof. Some aspects of the embodiments disclosed herein may be equivalently implemented, in whole or in part, as one or more computer programs running on one or more computers (e.g., as one or more programs running on one or more computer systems), as one or more programs running on one or more processors (e.g., as one or more programs running on one or more microprocessors), as firmware, or as virtually any combination thereof, and it will be within the skill of one of skill in the art in light of this disclosure to design the circuitry and/or write the code for the software and/or firmware.
The present disclosure should not be limited in terms of the particular embodiments described in this disclosure, which are intended as illustrations of various aspects. Many modifications and variations may be made without departing from the spirit and scope of the application. Functionally equivalent methods and apparatus within the scope of the disclosure, in addition to those enumerated herein, will be apparent to those skilled in the art from the foregoing description. Such modifications and variations are intended to fall within the scope of the appended claims. The present disclosure is to be limited only by the terms of the appended claims, along with the full scope of equivalents to which such claims are entitled. It is to be understood that the present disclosure is not limited to particular methods, configurations, tags, RFICs, readers, systems, etc., which may, of course, vary. It is also to be understood that the terminology used herein is for the purpose of describing particular embodiments only, and is not intended to be limiting.
With respect to the use of substantially any plural and/or singular terms herein, those having skill in the art can translate from the plural to the singular and/or from the singular to the plural as is required by the context and/or application. For clarity, various singular/plural permutations may be explicitly set forth herein.
Generally, terms used herein, particularly in the appended claims (e.g., bodies of the appended claims), are generally intended as "open" terms (e.g., the term "comprising" should be construed as "including but not limited to," the term "having" should be construed as "having at least," the term "including" should be construed as "including but not limited to," etc.). If a specific number of an introduced claim recitation is intended, such an intent will be explicitly recited in the claim, and in the absence of such recitation no such intent is present. For example, as an aid to understanding, the following appended claims may contain usage of the introductory phrases "at least one" and "one or more" to introduce claim recitations. However, the use of such phrases should not be construed to imply that the introduction of a claim recitation by the indefinite articles "a" or "an" limits any particular claim containing such introduced claim recitation to embodiments containing only one such recitation, even when the same claim includes the introductory phrases "one or more" or "at least one" and indefinite articles such as "a" or "an" (e.g., "a" and/or "an" should be interpreted to mean "at least one" or "one or more"); the same holds true for the use of definite articles used to introduce claim recitations. In addition, even if a specific number of an introduced claim recitation is explicitly recited, such recitation should be interpreted to mean at least the recited number (e.g., the bare recitation of "two recitations," without other modifiers, means at least two recitations, or two or more recitations).
Further, in those cases, wherein the convention is similar to "at least one of A, B and C, etc.). In general, such a structure is intended to be in the sense of what one of ordinary skill in the art would understand conventional (e.g., "a system having at least one of A, B and C" would include, but not be limited to, a system having only a, only B, only C, having a and B, having a and C, having B and C, and/or having A, B and C, etc.). Any separate word and/or phrase representing two or more alternative terms, whether in the description, claims or drawings, should be understood to contemplate the possibility of including one of the terms, either one of the terms, or both of the terms. For example, the phrase "a or B" will be understood to include the possibilities of "a" or "B" or "a and B".
For any and all purposes, such as in terms of providing a written description, all ranges disclosed herein also encompass any and all possible subranges and combinations of subranges thereof. Any listed range can be readily considered as fully descriptive and enabling the same range to be broken down into at least equal halves, thirds, quarters, fifths, tenths, etc. As a non-limiting example, each of the ranges discussed herein can be readily broken down into a lower third, a middle third, an upper third, and the like. All language such as "up to", "at least", "greater than", "less than" and the like include the recited numbers and refer to ranges that can be subsequently broken down into subranges as described above. Finally, a range includes each individual member. Thus, for example, a group having 1-3 units refers to a group having 1, 2, or 3 units. Similarly, a group having 1-5 units refers to a group having 1, 2, 3, 4, or 5 units, and so forth.

Claims (15)

1. A method for an RFID integrated circuit coupled to an antenna to respond in a inventory cycle, the method comprising:
receiving a inventory command initiating an inventory cycle, wherein the inventory command includes a Conflict Resolution (CR) value and a response type value;
a CR response is generated based on the CR value by:
identifying a CR code based on the CR value, wherein the CR code is one of a trailing article identifier (II) portion, a stored cyclic redundancy check code, and a pseudorandom number; and
the CR code is included in the CR response;
transmitting the CR response;
receiving a first acknowledgement command in response to transmitting the CR acknowledgement; and
if the response type value indicates that no acknowledgement is sent, refraining from acknowledging the first acknowledgement command, otherwise acknowledging by sending an acknowledgement code indicated by the response type value, wherein the acknowledgement code is one of a Tag Identifier (TID) portion, another II portion, and the whole II.
2. The method of claim 1, further comprising:
upon receipt of a second acknowledgement command, the second acknowledgement command is acknowledged by sending the entire II, irrespective of the response type value.
3. The method of claim 2, further comprising:
the second acknowledgement command is received while the first acknowledgement command is acknowledged or while the first acknowledgement command is refrained from being acknowledged.
4. A method according to claim 3, further comprising:
after suppressing the response of the first confirmation command, receiving the second confirmation command; and
a cryptographic value calculated based on the tag key is transmitted in response to the second confirmation command.
5. The method according to claim 1, wherein the further II portion is the whole II except for a trailing II portion.
6. The method of claim 1, wherein the pseudorandom number is generated by the RFIDIC upon receipt of the first confirmation command.
7. A Radio Frequency Identification (RFID) integrated circuit configured to be coupled to an antenna, the IC comprising:
a memory configured to store data;
a transceiver configured to receive commands and transmit acknowledgements; and
a processing block coupled to the memory and the transceiver, wherein the processing block is configured to perform the actions of one or more of claims 1 to 6.
8. A method for a Radio Frequency Identification (RFID) integrated circuit configured to be coupled to an antenna, the IC having an IC memory divided into one or more memory blocks, the method comprising:
receiving a inventory command from the RFID reader, the inventory command initiating an inventory cycle and specifying a mask value;
Determining a value of a T bit stored in a memory of the IC, wherein the T bit is implemented according to one of a Gen2 protocol and an ISO/IEC-18000-63 standard;
determining a starting storage location in the first memory block based on the T-bit value;
selecting data having a determined starting storage location;
determining whether the mask value matches the selected data; and
if the mask value matches the selected data, the inventory cycle is engaged, otherwise the inventory cycle is inhibited from being engaged.
9. The method of claim 8, wherein one or more of:
the length of the mask value is specified in the inventory command and is unknown to the RFID IC,
the length of the mask value is determined by the RFID reader, or
The starting storage location is unknown to the RFID reader.
10. The method of claim 8, wherein determining the starting storage location comprises:
selecting a first storage location if the T bit has a first value; and
if the T bit has a second value, a second storage location is selected.
11. The method of claim 10, wherein the first storage location is bit 20h in the first memory block and the second storage location is bit 18h in the first memory block.
12. The method of claim 8, wherein the starting storage location is preset in the IC and is not reconfigurable before the inventory command is received.
13. The method of claim 8, wherein the starting storage location is reconfigurable.
14. The method of claim 8, wherein the first memory bank is one of an EPC memory bank, TID memory, user memory bank, and reserved memory bank, each according to the Gen2 protocol, or UII memory according to the ISO/IEC-18000-63 standard.
15. A Radio Frequency Identification (RFID) integrated circuit configured to be coupled to an antenna, the IC comprising:
a memory configured to store data;
a transceiver configured to receive commands and transmit acknowledgements; and
a processing block coupled to the memory and the transceiver, wherein the processing block is configured to perform the actions of one or more of claims 8 to 14.
CN202280010113.2A 2021-01-21 2022-01-20 Modified RFID tag inventory process Pending CN116724313A (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US63/140,222 2021-01-21
US202163143166P 2021-01-29 2021-01-29
US63/143,166 2021-01-29
PCT/US2022/013164 WO2022159608A1 (en) 2021-01-21 2022-01-20 Modified rfid tag inventorying process

Publications (1)

Publication Number Publication Date
CN116724313A true CN116724313A (en) 2023-09-08

Family

ID=87875680

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280010113.2A Pending CN116724313A (en) 2021-01-21 2022-01-20 Modified RFID tag inventory process

Country Status (1)

Country Link
CN (1) CN116724313A (en)

Similar Documents

Publication Publication Date Title
US10719671B1 (en) Tag-to-tag communication using RFID readers
US10084597B1 (en) RFID tags with dynamic key replacement
US10713453B1 (en) Proxy-based reader authentication by trusted authority
US9916483B1 (en) Tag-handle-based authentication of RFID readers
US9213871B1 (en) RFID tag and reader authentication by trusted authority
US9773133B2 (en) RFID tag and reader characteristic determination using group keys
US9928390B1 (en) Network-enabled RFID tag endorsement
US10650202B1 (en) Enhanced RFID tag authentication
US9928388B1 (en) Sequential encoding for RFID tags
US11651180B1 (en) Item identification via RFID tag secret
US10878371B1 (en) RFID systems with session-dependent replies
US9070066B1 (en) RFID tags with inductively coupled antennas
US20220358337A1 (en) Rfid ics with privacy modes
US9501675B1 (en) RFID tag and reader authentication by trusted authority
US10650201B1 (en) RFID tags with port-dependent functionality
US8134451B1 (en) RFID tag chips and tags capable of backscattering more codes and methods
US11481592B1 (en) RFID tags with public and private inventory states
US10664670B1 (en) RFID tag and reader authentication by trusted authority
US9607286B1 (en) RFID tags with brand protection and loss prevention
US9911018B1 (en) RFID tags with digital signature subportions
US10037444B1 (en) Weak RFID tag signal recovery from collisions
US9881186B1 (en) Weak RFID tag signal recovery from collisions
CN116724313A (en) Modified RFID tag inventory process
EP4281899A1 (en) Modified rfid tag inventorying process
US11797813B1 (en) Controlling RFID tag population backscatter characteristics

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination