HK1187135B - Rfid protocols with non-interacting variants - Google Patents
Rfid protocols with non-interacting variants Download PDFInfo
- Publication number
- HK1187135B HK1187135B HK14100124.3A HK14100124A HK1187135B HK 1187135 B HK1187135 B HK 1187135B HK 14100124 A HK14100124 A HK 14100124A HK 1187135 B HK1187135 B HK 1187135B
- Authority
- HK
- Hong Kong
- Prior art keywords
- tag
- command
- parameter
- reader
- handshake
- Prior art date
Links
Description
Cross-referencing
This application claims the benefit of U.S. provisional application serial No. 61/589,222, filed on day 1, 20, 2012, which is incorporated herein by reference.
Background
The present invention relates generally to the field of Radio Frequency Identification (RFID) devices or tags, and more particularly to RFID devices that minimize interaction between RFID devices for different purposes by providing unique non-interacting protocol variables.
RFID transponders (generally referred to herein as "tags") in the form of labels, inlays, strips or other forms are widely used to associate an object with an identification code. The tag typically includes one or more antennas with analog and/or digital electronic circuitry including communications electronics (e.g., an RF transceiver), data storage (for storing one or more identification codes), processing logic (e.g., a microcontroller), and one or more state storage devices. Examples of applications that can use RFID tags include baggage tracking, inventory control or tracking (such as in warehouses), package tracking, proximity control to buildings or vehicles, and so forth.
There are three basic types of RFID tags. A passive tag is a beam-powered device that adjusts the energy required for operation based on radio waves generated by a reader. For communication, passive tags cause a change in the reflectivity of the field reflected to and read by the reader, which is commonly referred to as continuous wave backscatter. Battery-powered semi-passive tags also receive and reflect radio waves from the reader; however, the tag is battery powered and does not rely on receiving power from the reader. An active tag, having an independent power source, and having its own radio frequency transmission source.
The reader, sometimes referred to as an interrogator, includes a transmitter that transmits RF signals to the tags and a receiver that receives the tag modulated information. The transmitter and receiver may be combined into a transceiver using one or more antennas. Communication between the reader and the tag is defined by an air interface protocol such as (but not limited to):
(i) EPC Radio-Frequency identification Protocols Class-1Generation-2UHF RFID Protocols for Communications at860MHz-960MHz, version1.2.0(http:// www.epcglobalinc.org /) (hereinafter "UHF Gen2 standard");
(ii) change in the UHF Gen2 standard of operation for high frequency ("HF"), for example at 13.56 MHz.
(iii) ISO/IEC18000-6 Information technology-Radio frequency identification for item management-Part 6: parameters for air interference communications at860MHz to960MHz, amino l: extension with Type C and update of Types A and B for all purposes, each of the above standards is incorporated herein by reference.
Various wireless tags can be interrogated by transmitting a code from an interrogating transmitter (e.g., a reader) and in response causing the tag to transmit information. This is typically accomplished by having the tag listen for the interrogation message and respond to it with a unique serial number and/or other information. Typically, tags have limited available power to wirelessly transmit data to the reader. There is a need to extend the range of wireless tags so that each tag does not need to be brought into proximity with a reader to read. However, as the range of the reading system expands, many tags will fall within the range of the interrogation system, causing their responses to potentially corrupt one another.
Prior art attempts to avoid collisions when reading multiple RF tags are described in U.S. patents 5,266,925, 5,883,582, 6,072,801 and 7,716,208. However, in these prior art approaches, a protocol is provided in which the reader of each protocol interacts with all tags using the same protocol. This is often desirable, resulting in standardized tags and readers that can allow a user of an RFID system to purchase components of the system from many different suppliers and be able to read tags from many different sources or suppliers of goods.
However, in some cases, it is desirable for users of RFID systems to have tags and readers that do not interact outside of a particular usage model. For example, a laundry for industrial hygiene garments or clean room garments may wish to use low cost, standardized RFID tags, readers, and systems, but not to have their workers wear garments that are tracked by RFID readers disposed in the store for tracking products in the store inventory. Therefore, there is a need for low cost, standardized RFID products that do not interact with other RFID systems, tags, and readers.
Disclosure of Invention
Methods and apparatus for identifying tags are described herein. This section summarizes some embodiments of the invention.
Embodiments of the present invention include a system with a reader and a tag, wherein the reader queries the tag with a key parameter, the tag uses the key parameter to decide whether to participate, and, in one embodiment, uses a parameter that specifies a level of probability of response, the tag independently and randomly decides whether to respond based on the level of probability of response. In another embodiment, the response of the tag is further encoded with a second key. In another embodiment, the tags can remember the parameters used in the query, so that a query with the same query parameters can be repeated using a shorter form of query command.
In one aspect of the invention, there is provided a method for querying a plurality of tags, comprising broadcasting a first query command with a first value of a key parameter and a first value of a probability parameter (e.g. the Q value in the Q protocol described in us patent 7,716,208), wherein the first value of the key parameter determines whether the tag will participate and the first value of the probability parameter indicates a first probability of a reply, each of the plurality of tags randomly determining whether to reply according to the first probability of the reply; and detecting a reply in response to the first query command. In one embodiment, in response to a readable reply to the first or subsequent query command (the reply including the first handshake data), the reader further transmits a second command including an encoded value based on the first handshake data and the second key value, and, if the encoding corresponds to the encoding set of that particular tag, the reader receives tag identification data as a reply to the second command.
Drawings
The present invention is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings and in which like reference numerals refer to similar elements.
Fig. 1 shows a block diagram of an RFID transponder according to one embodiment of the invention.
Fig. 2 shows an example of an RFID reader that may be used with the RFID transponder described herein.
FIG. 3 is a flow diagram illustrating a method according to one embodiment of the invention.
Fig. 4 is a flow chart illustrating a communication method according to one embodiment of the present invention.
Fig. 5 is a flow chart illustrating a method for a tag to communicate with a reader according to one embodiment of the present invention.
Fig. 6 shows an example of a decision circuit for a tag to randomly decide whether or not to respond to a query according to one embodiment of the invention.
Fig. 7 is a flowchart illustrating a method for a tag to generate a random number for communication with a reader according to one embodiment of the present invention.
FIG. 8 is a flow chart illustrating a method for a reader to read tag data from a number of tags according to one embodiment of the present invention.
Detailed Description
Various embodiments and aspects of the inventions will be described with reference to details described below, and the accompanying drawings will illustrate the various embodiments. The following description and drawings are illustrative of the invention and are not to be construed as limiting the invention. Numerous specific details are set forth in order to provide a thorough understanding of various embodiments of the invention. In certain instances, however, well-known or conventional details are not described in order to provide a concise discussion of embodiments of the present inventions.
Reference in the specification to "one embodiment" or "an embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiment can be included in at least one embodiment of the invention. The appearances of the phrase "in one embodiment" in various places in the specification are not necessarily all referring to the same embodiment. The processes described in subsequent figures may be performed by processing logic that may comprise hardware (e.g., circuitry, dedicated logic, etc.), software, or a combination of both. The processing logic may be comprised of one finite state machine, or several finite state machines in communication with each other. Although the processes are described below in a certain order of operation, it may be appreciated that some of the operations described therein may be performed in a different order. Further, some operations may be performed in parallel, rather than sequentially.
In one embodiment, an RFID method, tag and reader are described that utilize a key to control interaction between the tag and reader. The key can ensure that only certain groups of readers and tags can interact via one or more RFID protocols, while other readers or tags will not be able to interact via these RFID protocols. These RFID protocols may be any of a variety of different protocols, and may be non-standard based or standard based, such as the UHF Gen2 standard or the ISO/IEC18000-6RFID standard referred to herein. Certain RFID protocols are also described in U.S. patents 7,716,208 and 7,262,686, which are incorporated herein by reference, and U.S. patent application publication 2005/0263591 (i.e., application 10/915,725 filed 8/9/2004), which is also incorporated herein by reference.
FIG. 1 provides a block level representation of an RFID transponder in accordance with one embodiment of the present invention. The tag or transponder 201 includes one or more antennas, such as antenna 211, which in one embodiment may be a dipole antenna, a t-match meandered antenna with an end load, or a loop antenna or other antenna known in the art. The tag 201 may be a passive tag. The antenna 211 is coupled to the RF transceiver 203 which provides radio circuitry including both a transmitter and a receiver. The receiver receives a signal from an RFID reader, such as the RFID reader shown in fig. 2, and the transmitter of the transceiver 203 transmits a signal to the RFID reader, such as the RFID reader shown in fig. 2. The RF transceiver 203 is coupled to processing logic 205 (including a microcontroller, programmable logic device, or ASIC control circuitry, etc.) which may be implemented in a variety of different ways. Processing logic 205 is coupled to RFID memory 209 and state storage device 207. Tag 201 may include one or more state storage devices 207 to store one or more states, each having at least one bit for a particular state. Each state storage device 207 may comprise a persistent node that maintains a state even when there is no available energy in the transponder. In one embodiment, the tag 201 may include 4 state storage devices 207, each receiving a separate control signal to control its respective switch, the control signals being provided by processing logic 205 as is known in the art. Examples of circuits capable of implementing the state storage device 207 are provided in U.S. patents 6,942,155, 7,259,654, 7,710,798, 7,215,251 and U.S. patent application Ser. No. 12/420,009, filed on 7/4/2009. The RFID memory 209 may be a non-volatile memory such as a mask Read Only Memory (ROM), an Electrically Erasable (EE) programmable read only memory (prom), a flash memory, or other non-volatile memory that may store information for the transponder such as the identification number or code of the tag, among other information known in the art. Processing logic 205 may retrieve data from RFID memory 209 according to various protocols under which the tag may operate as known in the art and transmit those identification values to the reader via RF transceiver 203.
Fig. 2 shows an example of an RFID reader that may operate with any of the RFID transponders described herein. For example, the reader shown in fig. 2 may operate with a tag 201. Reader 301 may include one or more antennas, such as antenna 303, coupled to an RF transceiver 305 as is known in the art. The RF transceiver 305 may be coupled to a processing system 307, the processing system 307 in turn being coupled to a memory 309 and an input/output interface 311, as is known in the art. The input/output interface 311 may provide an interface to other systems (e.g., a computer or other device coupled to the reader 301) to receive data from tags queried by the reader 301. The RF transceiver 305 may work in conjunction with the processing system 307 as is known in the art to implement any of the known protocols for communicating with RFID tags, such as the EPC global protocol mentioned above, the ISO/IEC protocol mentioned above, or other protocols.
Fig. 3 shows an example of a method in a system with a tag (also called transponder) and a reader. It will be appreciated that there may be multiple tags in the field of one or more readers. In the method shown in fig. 3, it is assumed that a reader and a tag configured to interact with each other according to the method shown in fig. 3 will know a pair of keys, referred to as key 1 and key 2, in other words, a user of the RFID system can produce or configure the reader and the tag so that they both know and store the pair of keys so that they can interact as shown in fig. 3. For those tags that do not store or know the pair of keys, they will not be able to interact with the reader that wishes the tag to already store the pair of keys in the manner shown in fig. 3. Thus, these tags may be considered non-interactive variables that will not respond to readers that desire to use the pair of keys in the manner shown in FIG. 3. In addition, a reader that does not store or know the pair of keys will not be able to interact in the manner shown in FIG. 3 with a tag that wishes to use the pair of keys as shown in FIG. 3. Thus, these readers may be considered non-interactive variables that will not interact with tags that wish to use the pair of keys in the manner shown in FIG. 3. Thus, the use of the pair of keys by a set of readers and tags effectively creates a sub-selection of numerous readers and tags, where the sub-selection is simply a set of readers and tags configured to use the pair of keys in the manner shown in FIG. 3 or a variation thereof.
It will be appreciated that the method of FIG. 3 may be performed in conjunction with standards-based protocols (such as the EPC UHF Gen2 standard), non-standards-based protocols, or portions of those protocols. For example, the method of FIG. 3 may be performed in conjunction with the protocol using Q parameters and/or sessions described in U.S. patent 7,716,208 or U.S. patent application Ser. No. 10/915,725 filed on 9/8/2004.
Referring now to FIG. 3, a reader (e.g., reader 301) in operation 351 may begin the method by sending a query command with a first key ("Key 1") of the pair of keys, which are known to both the reader and the tag; the first key may be sent as part of the query command or before or after sending the query command. Any tag in the reader's field can receive the query command and key 1, but only those tags that store a matching value for key 1 can respond as will be explained. The tag (such as tag 201) in the field of the reader receives the query command and the key 1 in operation 353 and compares the received value of the key 1 with its stored value of key 1. Each reader and tag implementing the method based on fig. 3 may possess and store at least one pair of keys, one of which is key 1 (sent from the reader to the tag) and the other of which is key 2 and is used to encrypt (at the reader) or decrypt (at the tag) a value, such as a random number. It will be appreciated that a tag or reader may have multiple pairs of keys, such that one tag (with multiple pairs of keys) can interact with different readers, each reader having one of those multiple pairs of keys. And similarly, a reader (with multiple pairs of keys) may also interact with different tags, where each tag has only one of those multiple pairs of keys. If the tag determines that the received key 1 value matches the tag's stored key 1 value (or matches any of its stored key 1 values) then the tag next decides whether to respond to the reader (but if not, the tag immediately decides not to respond to the reader) in operation 353. In one embodiment, once the tag determines that the keys match, other parameters (e.g., the Q parameter and the session parameter) are processed to determine whether to respond. If all other of these parameters are met (indicating a response), the tag may respond to the reader, in one embodiment, using a random number (such as a random 16-bit value) or some other value. The processing of other parameters (e.g., Q parameters) may be part of a standard-based or non-standard-based protocol (e.g., the EPC UHF Gen2 standard described above).
In operation 355, the reader receives a random number (or other value) transmitted from the tag (e.g., backscattered from the tag), and then encrypts the random number using an encryption and decryption algorithm known and used by both the tag and the reader. The encryption algorithm encrypts the random number (or other value) with key 2, which key 2 is the second key of the pair of keys known to both the tag and the reader. The encrypted random number (or other value) is then transmitted by the reader to the tag in operation 355. This transmission (of the random number) may be part of an ACK (acknowledgement) or handshake, such as that described in U.S. patent 7,716,208, which is incorporated herein by reference, or U.S. patent application 10/915,725, filed 8/9/2004. In operation 357, the tag receives the encrypted random number (or other value) and attempts to decrypt it with its copy of key 2. The decrypted value should be the random number sent in operation 353, and if so, indicates a match, and the tag will then respond to the reader with information such as its identification value (e.g., RFID value, etc.). If not, the tag decides not to respond to the reader or respond with other information (e.g., null or invalid value, or deny access signal, etc.). If the tag responds in operation 357, the reader receives a response, such as one or more identification values for the tag, in operation 359. It will be understood that "match" between two values means that they are the same (e.g. 5-5) or that they have some predetermined relationship (e.g. n and 2n, where the predetermined relationship is that one value is twice the other value) that can be considered a match.
Fig. 4 shows a flow diagram of a communication method according to an embodiment of the invention. The reader broadcasts a query command with the specified value of the Q parameter to tags in state a (401). In response to the query command, each tag in state A independently and randomly decides whether or not to reply to the query command such that the probability of the reply is consistent with the value of the Q parameter (403). Tags in state B will not respond to the query command for tags in state a. The reader then detects any response to the query command (405). It is determined if there are too few responses (407), e.g., when the reader does not obtain responses to many query commands with the value specified by the Q parameter, the reader may consider the given probability level of response to be too low and the responses to be too few. When there are too few replies, the reader adjusts the value of the Q parameter so that the probability of a reply increases (411). Similarly, it is determined if there are too many answers (409). When there are too many responses, the responses from different tags can corrupt each other. Therefore, when there are too many responses, the reader adjusts the value of the Q parameter, so that the probability of a response is reduced. If no legible answer is received (417), the reader broadcasts a query command without specified parameters, so that the previously transmitted parameters are used for the current query (415). Issuing a query command that repeats a previous query is faster than issuing a query command with all parameters, since the same parameters for the query are not transmitted again. In response to a new query command, each tag in state A will independently and randomly decide whether to reply to the query command, so that the probability of reply is consistent with the value of the Q parameter.
When the value of the Q parameter is adjusted to an appropriate value, the probability of obtaining a discernable response from a large number of tags will be high. Thus, the reader may simply repeat the previous query without adjusting the query parameters until there are too few (or too many) responses.
When a legible reply is received (417), the reader communicates with the tag that provided the reply (419). In one embodiment of the invention, the response from the tag includes data identifying the tag so that the reader can address the tag providing the legible response. In one embodiment, the tag generates a random number for handshaking with the reader. During communication with the tag, the reader obtains tag identification data from the tag. If the communication with the tag is successful 421, the tag switches 423 from state A to state B. Otherwise, the tag remains in state A (425). Once a tag is in state B, the tag will not respond to a query for tags in state A. Thus, the reader can communicate with tags in state A one at a time until all tags are in state B.
In one embodiment of the invention, the operation is symmetric about state A and state B. For example, the reader may broadcast a query command with a Q parameter specified value to tags in state B. In response to a query command directed to tags in state B, each tag in state B independently and randomly decides whether or not to respond to the query command, such that the probability of responding is consistent with the value of the Q parameter. Tags in state a do not respond to queries directed to tags in state B. If the communication with the tag in state B is successful, the tag switches from state B into state A; otherwise, the tag remains in state B. Thus, the reader can sort tags from state A to state B one at a time, or from state B to state A one at a time.
Alternatively, the operations with respect to state a and state B may be asymmetric. For example, a reader may classify tags from state A to state B one at a time, but not from state B to state A one at a time. In such an embodiment, the reader may first place the tag in state A before beginning to read tag data from the tag one at a time.
FIG. 5 shows a flowchart representation of a method of a tag communicating with a reader, according to one embodiment of the invention. In operation 501, a tag receives a command from a reader. After receiving a query command (e.g., QueryA) with parameter Q for a state A tag (503), the tag determines whether it is in state A (507). If the tag is not in state A, then the tag does not respond to the query for tags in state A.
Similarly, upon receiving a query command (e.g., QueryB) with a query parameter Q for a tag in state B (505), the tag determines whether it is in state B (507). If the tag is not in state B, then the tag does not respond to the query for tags in state B.
If the query matches the state of the tag (e.g., the tag in state A receives the query for the tag in state A, or the tag in state B receives the query for the tag in state B), the tag randomly determines whether to reply to the query command, such that the probability of the reply is related to the query parameters (e.g., 0.5 for example)QThe probability of answering) are consistent. If the tag decides to reply (513), the tag replies to the query command with handshake data (e.g., a random number).
When the tag receives a query command without a parameter, e.g., QueryRep 517, it is determined whether the tag has obtained the query parameter from the previous query command 519. If the tag has query parameters from a previous query command (e.g., a previous QueryA or QueryB command), the tag responds to the query with the same parameters as used by the previous query command (521). For example, if the previous query command was for a tag in state A, then the current query command without parameters is also for a tag in state A. Thus, operation 507 is performed to check if the query is for the tag. Similarly, if the previous query command was for a tag in state B, then the current query command without parameters is also for a tag in state B, thereby performing operation 509. The Q parameter used to process the previous query command is also used to process the current query command without the parameter. In one embodiment of the invention, when the appropriate value of the Q parameter is reached, the reader issues a number of query commands without the parameter to repeat the query for the same parameter. With such an inquiry command without parameters, the time for processing a large number of tags can be shortened, since the inquiry command without parameters is sent (and processed) quickly.
When the tag receives a handshake command (e.g., ACK) with handshake parameters from the reader (523), the tag checks whether the received handshake data matches the handshake data transmitted from the tag (525). If the handshake data does not match 527 (e.g., the handshake command is not in response to an acknowledgement sent from the tag, or the handshake data received from the reader is different than the handshake data sent from the tag), then the tag does not acknowledge. Otherwise, the tag sends tag data (e.g., ePC) to the reader 529 and enters "wait for state change" (531). In one embodiment, the tag assumes that the reader receives tag data unless the reader sends a command indicating that the tag data was not received. For example, when the tag receives a command to block a state change (e.g., NAk) (533), the tag exits the "wait for state change" (537). When the tag receives a command (e.g., QueryA, QueryB, or QueryRep) (539) other than a handshake or block state change, if the tag is waiting to change state (541), the tag changes tag state (e.g., from state A to state B, or from state B to state A) (543). In another embodiment, the tag always assumes that the reader received tag data. After sending the tag data and while waiting for a state change to be made, if an inquiry command is received, the state of the tag changes from a to B, or from B to a. It is appreciated that operations 541 and 543 are performed before performing operation 507 or 509. Thus, after responding to a query for tags in state A and transmitting the tag data, tags in state A switch to state B and do not respond to further queries for tags in state A. To prevent a change in the state of a tag, the reader may broadcast a command to prevent a change in state (e.g., NAk) before another query command.
Fig. 6 shows an example of a decision circuit for a tag to randomly decide whether or not to respond to a query according to one embodiment of the present invention. A random bit generator (601) generates 1bit of random information at a time. A plurality of random bits are stored in the memory 603. For example, when a new bit of random information is generated, it is transferred to memory such that the first bit in the memory contains the new bit of random information and the oldest bit of random information is discarded. When the tag receives the Q parameter from the reader (e.g., in a QueryA command or a QueryB command), the value of the Q parameter is stored in memory 607. Logic (605) determines whether the first Q bits (e.g., the last Q bits) in memory 603 are all 0's. If the first Q bits in memory 603 are all 0's, then the tag decides to respond to the query. Otherwise, the tag does not respond. When Q is 0, if a tag is in a specified state, the tag always decides to answer.
In one embodiment, the random bit generator (601) has a probability of (1/2) producing 0. Thus, for a given Q value, the probability of a response is (1/2)Q. The random bit generator (601) may generate random bits at a rate of one bit per command, at a rate of more than one bit per command, or at a rate of slightly less than one bit per command. It will be appreciated that different tags may generate random bits at different rates. The random bit generator 601 may not generate 0 with a probability of (1/2). For example, an important label may be biased to produce a 0 with a probability greater than 1/2. Thus, these tags are more likely to satisfy the requirement that the first Q bits are all 0. Thus, these tags have a higher probability of responding earlier than other tags.
From the above example, it can be appreciated that the tag can randomly decide to de-reply with a probability of reply controlled by the Q parameter. This controlled random decision can be done in different implementations. For example, the earliest Q bits in memory may be requested to be all 0's. Since adjusting the value of the Q parameter can adjust the probability of a reply, the reader can adaptively adjust the Q value to increase the probability of obtaining a single discernable reply from a large number of tags within range of the reader.
Fig. 7 shows a flowchart representation of a method of a tag generating a random number for communication with a reader, according to one embodiment of the present invention. Operation 701 generates a random bit (e.g., using random bit generator 601). It is then determined whether the tag has completed handshaking with the reader (703). If the tag is in the process of handshaking with the reader, the random bit is not used to update the information in memory (e.g., 603). In this way, the random number in the memory remains the same during the handshake. During the handshake, the tag sends the contents of a random bit memory (e.g., 16-bit memory) to the reader as handshake data, and receives a handshake command (e.g., Ack) with the handshake data returned by the reader. If the handshake data received from the reader matches the handshake data sent and stored by the tag, the handshake is successful and the tag may send tag data to the reader in response. If the reader does not send the handshake command again (or the handshake data does not match), the tag ends the handshake with the reader (e.g., by sending another query command). When the tag is not handshaking with the reader, the tag does not need to freeze the contents of the random bit's memory. Thus, the tag transfers the random bits to a memory of random bits (705) to update the content. Based on the above description, one skilled in the art can imagine various alternative implementations. For example, the random bit is generated only in response to a query command.
In one embodiment of the invention the entire contents of the random bit memory (e.g., 603) used to make the random decision are used as handshake data. Alternatively, only a portion may be used as handshake data. For example, when the tag acknowledges whether the first Q bits are all 0 s, the tag may utilize only the last (16-Q) bits of the random bit memory as handshake data. Alternatively, the tag may utilize other random numbers as the handshake data.
Fig. 8 shows a flowchart representation of a method of a reader reading tag data from a plurality of tags according to one embodiment of the present invention. After broadcasting a query command with Q parameter (801) for tags in state a, the reader detects any reply with handshake data from the tags (803). When there is no answer (805), it is determined whether the Q parameter is already equal to 0. If Q parameter etcAt 0, and no reply is received in response to the query command, it may be determined that there are no tags in state A in the range, since any tag in state A that receives the query command will reply when the Q parameter equals 0. If the Q parameter is not yet equal to 0, the reader may decrease the Q parameter to increase the probability of receiving a reply. For example, the reader may maintain the parameter QfAs a floating point number, so that Q is according to Int (Q)f) To determine (where Int (x) represents the integer part of the real number x). When there is no answer, the reader may update QfIs Min (Q)f1.4, 0.9) (where Min (x/a, b) represents the minimum of x/a and b), and update Q to Int (Q) (811, 815). When there are multiple replies from different tags that are corrupted with each other, the reader cannot obtain legible handshake data from the replies (817). To avoid collisions, the reader may increase the Q parameter to reduce the probability of receiving multiple responses. For example, when multiple replies collide and corrupt each other, the reader may update QfIs QfX 1.4, and updates Q to Int (Q) (813, 815).
Note that when the reader can obtain legible handshake data from one reply, the reader does not have to increase the Q parameter even if there is a collision. For example, when a weak reply collides with a strong reply, the reader can still obtain handshake data from the strong reply. In this case, the reader may simply ignore the weak reply and begin handshaking with the tag sending the strong reply. Thus, hidden collisions improve performance because weak tags will be protected by the ACK handshake, and strong tags will still be considered if the reader can extract its handshake.
Upon receiving legible handshake data as a reply to the query command (817), the reader handshakes with the tag that sent the handshake data (e.g., by broadcasting a command with handshake data, such as an Ack). The reader then attempts to receive tag data (e.g., tag identification data, such as ePC) from the tag (821). For example, if the tag determines that the handshake data in the Ack command matches the handshake data transmitted from the tag, the tag transmits tag identification data as an acknowledgement to the Ack command. If the tag receives legible tag data (823), the tag may broadcast a command to repeat the previous query command without repeatedly broadcasting parameters of the query (829). In response to the query command, the tag that has just sent tag data switches from state a to state B so that it does not respond to the query for tags in state a. Tags in state a use previous query parameters for the current query. However, if the tag data is not legible (823), the reader may retry handshaking with the tag (819) or broadcast a command indicating that the tag data was not received (827).
In one embodiment of the invention, the tag switches states in response to any query command after sending the tag data. Thus, upon receiving legible tag data, the reader may choose to broadcast a command to repeat a previous query, or broadcast a query command with new query parameters. Alternatively, the tag may be implemented such that, after sending the tag data, the tag only switches states in response to a command (e.g., QueryRep) that repeats a previous query command. Thus, the reader can utilize a QueryRep command to cause: 1) the tag that has just sent the tag data switches state, leaving a set of tags to be interrogated; and 2) other tags are queried and a random decision is made as to whether or not to respond to the query.
In one implementation of the invention, system communication follows a two-phase command-reply mode in which a transaction (RTF) is initiated by the Reader. In a first phase, a reader provides power to one or more passive tags using Continuous Wave (CW) RF energy. The tags are powered on and ready to process commands after receiving a command to synchronize their clocks. The reader sends information into the field by amplitude modulation using a reader-tag encoding mechanism as described below. After transmission is complete, the reader discontinues modulation and maintains RF powering the tag during the reply phase. During this period, the tag communicates with the reader through backscatter modulation using a four (4) bit encoding scheme as described below.
In one embodiment, some basic commands are designed to limit the amount of state information that the tag has to store between processes. The available power of a passive tag is a complex function of transmit power, tag/reader antenna orientation, local environment, and external interference sources. Tags at the edge of the RF field are not reliably powered and therefore cannot be considered to maintain storage with the reader's previous processing. In particular, a moving tag or object may cause the tag to have power only for a short interval, primarily due to multipath interference. In one implementation, it may be designed to permit efficient counting of tags under such conditions by minimizing the total interaction time and allowing fast recovery from lost commands. Tags with a threshold power and receiving three commands (e.g., a prior command for startup, a query, and an ACK with an acknowledgement) in as little as 3 milliseconds can be counted.
In one implementation, there is only a 1-bit state per session, between the command groups, and the impact of the states can be further reduced by making the command sets for those two states symmetric.
In one implementation, there are 4 sessions available per tag, each corresponding to a separate bit of the independent state memory. The backscatter mode and data rate are the same for all sessions and the random answer register is the same for all sessions. The optional state is also the same for all sessions. In a multitasking environment, the session structure allows up to four readers or processes to communicate with the tag population, but they can be executed through a complete command set. The command groups start with QueryA/B (QueryRep cannot initiate a command group), continue with an ACK, and end with the command after the ACK (from which the interaction is done as seen by the tag), or by the end of the process' use in the SELECTED state.
One example of using two sessions is a portal reader that counts all tags that pass through a portal, but wants to count pallets preferentially. Then two synchronized processes can be run on the tag population. For example, Session 0 may be used by one process to scan all tags between State A and State B, ensuring that all tags that have been touched once are counted, regardless of their previous state. Session 1 can selectively mask all pallet tags to state a in that session and all other tags to state B, and preferably count them in an interleaved process so as not to interfere with the inventory that is in progress in the first process.
A similar example is a group of store inventory readers arranged to synchronize their inventory types. For example, all inventory readers inventory state A to state B within a 10 second interval using session 0 of the tag, and then back again from state B. This ensures that all tags in each round have been counted once by an inventory reader. Meanwhile, the handheld reader can look for a particular ePC using Session 1 by masking a sufficient proportion of ePCs to State A while masking all other tags to State B. It then looks for that tag or tag type using the QueryA command of session 1. Interference with the inventory reader can be avoided as long as the command sets do not collide (interleave) and as long as RF interference is avoided.
In the foregoing specification, the invention has been described with reference to specific embodiments thereof. It will be evident that various modifications may be made thereto without departing from the broader spirit and scope of the invention as set forth in the following claims. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.
Claims (21)
1. A method for operating an RFID reader, comprising:
transmitting a query command containing a first key parameter to a tag powered by the RFID reader;
receiving first handshake data including a first number from the tag if the first key parameter matches a first key parameter stored in the tag, the first number being a random number generated by the tag in response to the query command;
in response to receipt of the first handshake data, extracting the first number from the first handshake data and sending a handshake command after the query command, the handshake command having second handshake data comprising an encrypted version of the first handshake data sent in response to a previous query command sent to the tag, wherein the encrypted version of the first handshake data is encrypted using a second key parameter, and wherein each of the tag and reader is configured to know a pair of a first key parameter and a second key parameter; and is
Tag identification data is received from the tag as an answer to the handshake command following the query command.
2. The method of claim 1, wherein the query command includes a Q parameter that sets a probability of response of the tag.
3. The method of claim 2, wherein the first key parameter and the second key parameter are stored in a non-volatile memory of the reader.
4. The method of claim 3, wherein the reader sends session parameters to the tag.
5. A reader, comprising:
an antenna;
a transmitter coupled to the antenna, the transmitter configured to transmit an interrogation command to a tag powered by the reader, the interrogation command including a first key value;
a receiver coupled to the antenna, the receiver configured to receive first handshake data containing a random number generated by the tag as a response to the query command if the first key value matches a first key value stored in the tag; and
a microprocessor configured to extract the random number from the first handshake data, generate an encrypted handshake command after the query command, the handshake command having second handshake data including an encrypted number generated based on the random number and a second key value in the first handshake data transmitted in response to the query command preceding the handshake command, wherein the transmitter is configured to transmit the handshake command after the query command, wherein each of the tag and reader is configured to know a pair of the first key value and the second key value.
6. An RFID tag, comprising:
an antenna configured to receive RF energy from a reader to power operation of the tag, an inquiry command and a first key parameter from the reader; and
an integrated circuit coupled to the antenna, the integrated circuit comprising:
a random number generator generating a random number in response to the query command if the first key parameter matches the first key parameter stored in the tag;
a transmitter for transmitting first handshake data containing the random number;
a receiver for receiving a handshake command following the inquiry command, the handshake command including second handshake data generated based on a random number generated by a tag in response to the inquiry command preceding the handshake command; and
logic for determining whether the number in the first handshake data sent in response to the query command preceding the handshake command corresponds to an encrypted number in the second handshake data in the handshake command following the query command, wherein the transmitter sends tag identification data if the number in the first handshake data sent in response to the query command preceding the handshake command corresponds to an encrypted number in the second handshake data in the handshake command following the query command, wherein the encrypted number is encrypted using a second key parameter, and wherein each of the tag and reader is configured to know a pair of a first key parameter and a second key parameter.
7. A method for operating an RFID tag, the method comprising:
receiving, at a tag, a query command from a reader;
receiving, at the tag, a first key value from the reader;
comparing a first key value from the reader with a first key value stored in the tag in response to the query command;
transmitting a first value from the tag to the reader if the first key value from the reader matches the first key value stored in the tag;
receiving, at the tag, a second value and decrypting the second value using a second key value stored in the tag to derive a password value;
comparing, at the tag, the password value to the first value; and is
If the comparison indicates that the first value matches the password value, an identifier is sent from the tag.
8. The method of claim 7, wherein the first value is a random number generated by the tag, the first key value being received with the query command.
9. The method of claim 8, wherein the second value is received with a handshake command, and wherein the query command is received with a Q parameter that sets a probability of reply for a tag.
10. The method of claim 9, wherein the tag stores the first key value and the second key value in a non-volatile memory of the tag.
11. The method of claim 10, wherein the tag randomly decides whether to transmit the first value after verifying that the first key value from the reader matches the first key value stored in the tag.
12. The method of claim 11, wherein if the first key value from the reader does not match the first key value stored in the tag, the tag will not transmit the first value.
13. An RFID integrated circuit, the integrated circuit comprising:
a rectifier to extract energy required for operation;
a power capacitor;
a receiver for receiving a first key parameter;
a random number generator for generating a random number in response to the query command if the first key parameter matches the first key parameter stored in the tag;
a transmitter for transmitting first handshake data containing the random number;
the receiver is used for receiving a handshake command after the inquiry command, wherein the handshake command comprises second handshake data generated based on a random number, and the random number is generated by a tag in response to the inquiry command before the handshake command; and
logic for determining whether a number in the first handshake data sent in response to the query command preceding the handshake command corresponds to an encrypted number in the second handshake data in the handshake command following the query command, wherein the transmitter sends tag identification data if the number in the first handshake data sent in response to the query command preceding the handshake command corresponds to an encrypted number in the second handshake data in the handshake command following the query command, wherein the encrypted number is encrypted using a second key parameter, and wherein each of the tag and reader is configured to know a pair of a first key parameter and a second key parameter.
14. A beam-powered passive RFID tag, comprising:
a dual-ended antenna;
a receiver, coupled to the dual ended antenna, for receiving an arbitration command from a reader, the arbitration command including a first parameter;
a non-volatile memory storing a second parameter;
first logic to compare the first parameter and the second parameter to determine whether they correspond to each other;
second logic to disable the tag from engaging in communication with a reader that sent the arbitration command if the first parameter does not correspond to the second parameter; wherein the dual ended antenna is to transmit a random number if the first parameter corresponds to the second parameter;
a third logic to decrypt the random number using a third parameter, wherein the tag is configured to know a pair of the second parameter and the third parameter, and the reader is configured to execute the pair of the first parameter and the third parameter.
15. The RFID tag of claim 14, wherein the tag is an Application Specific Integrated Circuit (ASIC).
16. The RFID tag of claim 14, wherein the dual ended antenna is one of a dipole antenna, a t-match meandered antenna with a termination load, or a loop antenna.
17. The RFID tag of claim 14 wherein the first parameter and the second parameter correspond to each other if the first parameter and the second parameter have some predetermined relationship.
18. The RFID tag of claim 17 wherein the first parameter and the second parameter correspond to each other if the first parameter and the second parameter are the same.
19. An RFID reader, comprising:
an antenna;
a transmitter for transmitting a first key;
a receiver coupled to the antenna for receiving a message from the tag if the first key matches a first key stored in the tag, the message including a first parameter that is a random number;
a memory for storing a second key; and
logic to encrypt the first parameter with the second key, wherein each of the tag and the reader is configured to know a pair of the first key and the second key.
20. The RFID reader of claim 19, wherein the reader is an Application Specific Integrated Circuit (ASIC).
21. The RFID reader of claim 19, wherein the reader further comprises a transmitter coupled to the antenna for transmitting the encrypted first parameter to a tag that transmitted the message.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US61/589,222 | 2012-01-20 | ||
| US13/730,366 | 2012-12-28 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| HK1187135A HK1187135A (en) | 2014-03-28 |
| HK1187135B true HK1187135B (en) | 2019-01-18 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10141982B2 (en) | RFID protocols with non-interacting variants | |
| US8134452B2 (en) | Methods and systems of receiving data payload of RFID tags | |
| US7920046B1 (en) | RFID readers and systems initializing after antenna switch and methods | |
| US8207856B2 (en) | Systems and methods for RFID tag arbitration where RFID tags generate multiple random numbers for different arbitration sessions | |
| CN100557628C (en) | Method and device for identifying equipment | |
| US7009495B2 (en) | System and method to identify multiple RFID tags | |
| US7562083B2 (en) | RFID Huffman encoded commands | |
| CN100433052C (en) | Method and apparatus for identification | |
| US8174367B1 (en) | Causing RFID tags to backscatter more codes | |
| US8446258B2 (en) | Causing RFID tag to change how many remaining commands it will comply with | |
| EP2230625B1 (en) | Binary tree method for multi-tag anti-collision | |
| EP4028934A1 (en) | Multipurpose rfid transponder and a system for reading it | |
| EP1977375A1 (en) | Method of preventing collisions between rfid readers in rfid system | |
| KR100842959B1 (en) | Scanning-based Tag Recognition Method of RFID System | |
| HK1187135B (en) | Rfid protocols with non-interacting variants | |
| HK1187135A (en) | Rfid protocols with non-interacting variants | |
| CN120641906A (en) | Collision recovery using parallel RFID tag responses | |
| Abderrazak et al. | A Transponder Anti-Collision Algorithm Based on a Multi-Antenna RFID Reader | |
| Salim et al. | Identification of Objects by Machines using RFID Technology Identify Objetcs in Internet of Things |