[go: up one dir, main page]

HK1189979A - Simultaneous programming of selected tags - Google Patents

Simultaneous programming of selected tags Download PDF

Info

Publication number
HK1189979A
HK1189979A HK14103081.8A HK14103081A HK1189979A HK 1189979 A HK1189979 A HK 1189979A HK 14103081 A HK14103081 A HK 14103081A HK 1189979 A HK1189979 A HK 1189979A
Authority
HK
Hong Kong
Prior art keywords
tags
tag
programming
commands
data
Prior art date
Application number
HK14103081.8A
Other languages
Chinese (zh)
Other versions
HK1189979B (en
Inventor
J.S.史密斯
Original Assignee
瑞章科技有限公司
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 瑞章科技有限公司 filed Critical 瑞章科技有限公司
Publication of HK1189979A publication Critical patent/HK1189979A/en
Publication of HK1189979B publication Critical patent/HK1189979B/en

Links

Description

Simultaneous programming of selected tags
Technical Field
The present invention relates to Radio Frequency Identification (RFID) tags, and more particularly to a method and apparatus for writing data to such tags.
Background
Radio Frequency Identification (RFID) is a technology that involves the use of signals in the Radio Frequency (RF) portion of the electromagnetic spectrum to uniquely identify tags. An interrogation transmitter (e.g., an interrogator, programmer, or reader) is capable of interrogating (reading) information from a wireless tag by sending commands to the tag and receiving responses. Some interrogators (programmers) are capable of programming the tag memory in addition to reading the tag response.
It is desirable to program groups of tags in the most efficient way possible. The time of programming is especially important when handling thousands of labels (e.g., labels on products in a warehouse). A large number of labels should be programmed in the shortest time possible, especially if large numbers of labels are present (e.g., containers filled with products to be programmed with labels). However, the prior art has limitations, particularly when attempting to program a large set of tags in a short period of time.
Tags with programmable memory can be produced for storing data (e.g., serial number, model number, and other object characteristics). The interrogator (programmer) can initialize the memory of the tag based on the individual application requirements. For example, immediately prior to the application of the label to the product packaging, the manufacturer of a given product can encode a unique identification number on the label. In other cases, more data is programmed into the memory of the tag. For example, television manufacturers that use tags in a supply channel to track televisions may also want to specify the make, model, color, size, and/or other details of their televisions into each tag. With rewritable tags, data can be changed, added, or deleted at various points in the tag's life cycle. Unfortunately, writing to a large number of tags, especially very low cost passive tags, can take a relatively long time, depending on the programming method of the tag.
One method of programming the tags is to program each tag individually. However, power must be provided to each tag for the period of time that the memory is being programmed. Programming the memory of a passive RFID tag requires a relatively long programming time interval during which the reader transmits the energy required for programming the memory of the tag. The time to program the memory of the tag may be as long as ten microseconds or more. In inventory management applications, such as tag systems used in warehouses, thousands of tag objects may be within the RF field of a single reader, which may have a radius of several meters. For example, a single pallet of label objects may have more than a hundred containers, each containing tens of label objects.
Another method of programming tags is to broadcast a write command to all tags within range, programming all tags within the command range with the same data. One limitation to broadcasting all tags within range is that it is not possible to specify a particular tag and only write to those tags. Taking the broadcast write example, all tags within range will receive the broadcast command and write according to the broadcast command. Another limitation to all tag broadcasts is that when multiple tags respond after programming is complete, the data written to each individual tag cannot be verified. For example, an interrogator issuing a broadcast write command to ten tags will receive ten responses to the command. Write responses sent at the same time will collide and become illegible to the interrogator. Furthermore, the interrogator cannot program unique data specific to each tag in the population with a broadcast command. For example, a broadcast write, writes the same data to all tags that receive the command.
Another method of programming the tag is to use a write intent flag to inform the tag that a programming command is to be sent. To write data to a tag in this way, the tag must first be programmed with a write intent, which may also take up to ten microseconds. After the write intent is saved to memory, a simultaneous write can be initiated. However, this process is not very efficient because writing the write intent often takes the same amount of time as programming the tag with the final data to be written to the memory. Furthermore, the write intent flag needs to be verified before writing can begin, and the write intent flag must be cleared after writing is complete. Thus, writing an intent tag is inherently inefficient, extending the time to program multiple tags.
It is necessary to write data to a wireless tag efficiently, particularly in the case where a plurality of tags need to be programmed in a short time.
Disclosure of Invention
In one embodiment, a method and apparatus for simultaneously programming tags is provided for efficiently programming multiple tags simultaneously.
In one embodiment, the interrogator completes a catalog listing for a population of tags to determine a set of tags that are individually specified for programming. In one embodiment, the interrogator sets a "being addressed" state for each tag in a given tag group. The "addressing" state is used to prepare the tag for incoming simultaneous program commands.
In one embodiment, the data to be programmed is transmitted to each designated tag in a set of tags. In one embodiment, the programming interval is shared by multiple tags all writing their data simultaneously.
In one embodiment, the simultaneous program command is separated into a data and address command sent to a designated tag, and a program interval command that triggers data writing in multiple tags. In one embodiment, the data, addressing, and programming intervals are sent to a specified set of tags in a single command.
Drawings
The present invention is illustrated by way of example and is not limited by the figures of the accompanying drawings in which like references indicate similar elements.
FIG. 1 illustrates one embodiment of an identification system comprising an interrogator and a plurality of RF tags.
FIG. 2 illustrates an example of one implementation of a tag that may be used with at least one embodiment of the present invention.
Fig. 3 illustrates an example of an RF tag according to an embodiment of the present invention.
FIG. 4 illustrates a flowchart representation of one embodiment of a method of simultaneously programming individually addressed data to each tag in a set of tags.
FIG. 5 illustrates a flowchart representation of one embodiment of a method for simultaneously programming a set of designated tags with the same data.
FIG. 6 illustrates a flowchart representation of one embodiment of a tag implementation method that participates in simultaneous programming.
Detailed Description
The following description and drawings are illustrative of the invention and are not to be construed as limiting the invention. Numerous specific details are described to provide a thorough understanding of the invention. However, in certain instances, well-known or conventional details are not described in order to avoid obscuring the description of the invention. The term "coupled," as used herein, may mean directly coupled or indirectly coupled through one or more intervening components. A reference to one embodiment of the present disclosure is not necessarily a reference to the same embodiment, and such reference means at least one.
Fig. 1 illustrates one example of a tag programming system 100 that includes an interrogator 101 and a plurality of tags 131, 133, 135. In one embodiment, interrogator 101 interrogates a programmer and a reader in one device. In one embodiment, the tag programming system uses a reader-talk first (RFID) system that uses a passive or semi-passive active backscatter transponder as a tag. Incorporating a battery into the tag is an extended feature to facilitate longer read ranges; however, the use of batteries does require certain tradeoffs such as higher cost, limited life, larger form factor, heavier weight, and disposal requirements at the end of service life. Thus, the tags 131-139 may or may not have batteries. It will be appreciated that different types of tags may be mixed in a system where an interrogator interrogates tags with and without batteries. There are at least 4 categories of tags that can be used with the present invention:
(I) no energy source on the tag other than the energy obtained from the antenna of the tag and including one-time programmable memory capable of storing the identification code of the tag and may include factory programmed memory, (II) a tag without an energy source on the tag other than the energy obtained from the antenna of the tag but capable of writing, erasing, or rewriting data to the non-volatile memory in the tag when energy is obtained from the interrogator; this type of tag may also include one-time programmable memory, and the identification code of the tag can be in any of these memories. (III) tags with small batteries to power the circuitry in the tag. Such tags may also include non-volatile memory that also stores the tag's identification code or other data, as well as other types of memory, such as factory programmed memory and write-once memory, and (IV) tags that are capable of communicating with other tags or other devices.
The interrogator 101 generally includes a receiver 119 and a transmitter 123, each of which is coupled to an I/O (input/output) controller 117. The receiver 119 may have its own antenna 121 and the transmitter 123 may have its own antenna 125. Those skilled in the art will appreciate that the transmitter 123 and receiver 119 may share the same antenna. The receiver 119 and transmitter 123 may be similar to conventional receiver and transmitter units found in existing interrogators. In north america, the receiver and transmitter typically operate in a frequency range of approximately 900 megahertz. In other embodiments, the range is about 2400 megahertz. However, it will be appreciated that the operation of the RFID system disclosed herein is not dependent on a particular operating frequency. The receiver and transmitter are coupled to an I/O controller 117, the I/O controller 117 controlling the reception of data from the receiver and the transmission of data (such as commands) from the transmitter 123. The I/O controller is coupled to a bus 115, which bus 115 is in turn coupled to a microprocessor 113 (or processing logic) and a memory 111. There are a variety of different possible implementations for the processing system represented by elements 117, 115, 113, and 111 that may be used in interrogator 101. In one embodiment, interrogator 101 may include processing logic coupled to bus 115. The processing logic can include a microcontroller, a finite state machine, or a logic array. In one implementation, the microprocessor 113 is a programmable microcontroller, such as an 8051 microcontroller or other known microcontrollers or microprocessors (e.g., an ARM microprocessor), and the memory 111 includes dynamic random access memory and a memory controller that controls the operation of the memory. The memory 111 may also include non-volatile read-only and/or rewritable memory for storing data and software programs. The memory 111 typically contains a program that controls the operation of the microprocessor 113 and also contains data as used during the processing of the tags in interrogation of the tags. In one embodiment, described further below, the memory 111 includes a computer program that causes the microprocessor 113 to send programming commands to the transmitter via the I/O controller and receive responses from the tags via the receiver 119 and via the I/O controller 117. In one embodiment, described further below, memory 111 includes instructions for creating and maintaining a queue or list of tags to be programmed. Interrogator 101 may also include a network interface 127, such as an Ethernet interface, that allows interrogator 101 to communicate with other processing systems via network 129. A network interface 127 may be coupled to bus 115 so that it can receive data, such as a list of tags identified from interrogation by microprocessor 113 or from memory 111.
In one embodiment, interrogator 101 implements noise cancellation using a directional coupler and a reflection circuit. The directional coupler electrically couples out a signal portion at one port to another port by a predetermined amount. The reflection circuit provides a variable attenuation and a variable phase shift of the transmitted signal to produce a cancellation signal. The cancellation signal is added to the received signal to cancel or reduce unmodulated reflections of the transmitted signal.
FIG. 2 illustrates an example of one implementation of a tag that may be used with at least one embodiment of the present invention. The tag 200 comprises an antenna 201 coupled to a receiver and demodulator 205 and to a backscatter modulator 209. The correlator and controller unit 207 is coupled to the receiver and demodulator 205 and to the backscatter modulator 209. The particular example of a tag shown in fig. 2 may be used in various embodiments where memory for maintaining data between commands is maintained in the tag and where one-bit-by-one-bit (or larger block of data) correlation occurs in the tag. The receiver and demodulator 205 receives signals via the antenna 201 and the switch 203, demodulates the signals, and provides these signals to the correlator and controller unit 207. To control the operation of the tag, commands received by the receiver 205 are passed to the controller of the unit 207. The data received by the receiver 205 is also passed to the control unit 207, which data may comprise parameters of the commands in the embodiments described below. Backscatter modulator 209, under control of control unit 207, modulates the input impedance of the tag corresponding to the response or other data to interrogator 101 via antenna 201. Those skilled in the art will appreciate that impedance modulation of the chip to antenna 201 will result in a change in reflection at the interrogator that can be demodulated to extract the data transmitted by the tag.
In one embodiment of the invention, the tag is designed with features such as small Integrated Circuit (IC) area to allow for low cost, small memory, and non-precise timing requirements. In one embodiment, atomic transactions are used to minimize tag state storage requirements. However, in other embodiments, other label designs may be used. Further, it should be understood that the method of specifying simultaneous programming of tags according to embodiments of the present invention can also be used in other similar contexts.
Fig. 3 illustrates an example of an RF tag according to an embodiment of the present invention. In one implementationIn this manner, a VLC (low cost) tag 300 includes an antenna 301 and an Integrated Circuit (IC)303 connected together. The IC implements a command protocol and contains an identification code for the tag, which may be an Electronic Product Code (EPC) compliant with a tag data standard, such as the tag data standard issued by the tag data standards working group of EPCGlobalTM). The antenna 301 receives an interrogation signal and reflects it back to the interrogator 101 in response to a modulated signal generated by the IC 303. The tag IC303 may include an RF interface and power supply 311, a data detector and timing circuit 313, a command and control 315, a data modulator 317, and a memory 319. In one embodiment, command and control 315 includes static logic that enables simultaneous programming according to embodiments of the present invention.
In one embodiment, the RF interface and power supply 311 converts the RF energy to DC power required for the tag IC303 to operate and provides modulation information to the data detector and timing circuit 313. Alternatively, the power may be provided by a battery or harvested power source. Data detection and timing block 313 demodulates the reader signal and generates timing and data signals used by control logic 315. The RF interface also provides a means of coupling the tag modulated signal to an antenna for transmission to the interrogator 101. Data detector and timing circuit 313 demodulates the interrogator 101 signal and generates timing and data signals used by command and control logic 315. Command and control logic 315 coordinates all functions of tag IC 303. Command and control logic 315 may include state logic to interpret data from interrogator 101, perform the required internal work, and determine whether a tag is responding to interrogator 101. Command and control logic 315 implements a plurality of tag states and communication protocols according to embodiments described below. Tag memory 319 may contain the EPCs of products tagged by VLC tagsTMAnd (4) code. The tag memory 46 may contain a unique identification code or a non-unique identification code. The tag memory may also contain a checksum that may be used for error detection. The data modulator 317 translates the binary tag data into a signal that is then applied to the RF interface 311 and then transmitted to the interrogator 101. In one embodiment, the signal applied to the RF interface 311 is via the antenna 301And (4) transmitting.
The design and implementation of the label can be characterized as a layer. For example, the physical and environmental layers characterize the mechanical, environmental reliability, and manufacturing aspects of the tag; a Radio Frequency (RF) transmission layer characterizing RF coupling between the reader and the tag; and the communication layer characterizes the communication/data protocol between the reader and the tag. Various different implementations of labels located at different layers can be used with embodiments of the present invention. It should be understood that the implementation of the tag is not limited to the examples shown in this specification. Different tags or communication devices can use the method of embodiments of the present invention to communicate according to the needs of the target application.
In one embodiment of the invention, the tag may be manufactured via a fluid self-assembly process. For example, an integrated circuit may be fabricated from a plurality of other integrated circuits in a semiconductor wafer. The integrated circuit would include all necessary logic for a particular RF tag, if possible, without the antenna 301. Thus, all of the logic shown in tag 300 would be included on a single integrated circuit and fabricated with similar integrated circuits on a single semiconductor wafer. Each circuit is programmed with a unique identification code and then the wafer will be processed to remove each integrated circuit from the wafer to create a block suspended in the fluid.
The fluid is then dispensed onto a substrate, such as a flexible substrate, to create a separate RF tag. A receiving area on the substrate receives at least one integrated circuit that can then be connected to an antenna on the substrate to form an RF tag.
As described above, it is advantageous to program the tags in the most efficient manner possible. One bottleneck in programming tags is the time to commit data to memory. Submitting data to memory requires continuous power to the tag for up to ten microseconds or more, depending on the tag design.
Pre-programmed label
In one embodiment, the tag memory includes logically separate and distinct partitions. In one embodiment, the tag memory is divided into reserved memory, user memory, EPC memory, and TID memory. If a password is implemented in the tag, the reserved memory contains a delete and or access password. The user memory allows user-specific data storage. The EPC memory contains EPC data used to identify tagged objects. In one embodiment, the TID memory is a read-only memory pre-loaded with a unique tag ID prior to distribution from the tag manufacturer. The tag ID in the TID memory may be a unique number for uniquely identifying a tag and the object to which the tag is affixed. In other embodiments, the tag memory includes additional types of memory blocks in addition to or in place of the aforementioned blocks.
A buyer or user of a tag may want to program a tag memory block based on particular usage requirements. For example, a manufacturer of a television may want to program their manufacturer name, television model number, color, size, and other identifying features into a label before using the label to label and track their product.
In one embodiment, one or more portions of the tag memory are pre-programmed by the tag manufacturer before the tag is sent to the end user (e.g., before warehouse storage, the product manufacturer uses the tag in a supply chain or other user). In one embodiment, the tag is pre-programmed with one or both of a unique serial number and a unique tag ID. The unique serial number may be incorporated into the product number or EPC. In addition to or instead of a unique serial number, a unique tag ID may be used to determine a unique identification of the tag or associated object. In one embodiment, a unique tag ID is programmed into the TID memory area and a unique serial number is programmed into the EPC memory area. The pre-programming of the serial number and tag ID by the tag manufacturer can reduce the total amount of programming required by the end user. For example, company XYZ wants to program specific identification features into the label (e.g., product color, model number, and other features of their product). Company XYZ has a large array of products with the same characteristics. Without pre-programmed labels, company XYZ must spend the time required to individually program each label with a unique serial number or other unique identifier and product color and model number. By pre-programming with the label manufacturer, company XYZ need only program their product color and model number into each label, speeding up their total time to fully program their label. In this example, the color and model number are the same for a large batch of products, and company XYZ will program the exact same color and model number for many labels. Because the tags received by company XYZ from the tag manufacturer are pre-programmed with at least one unique identifier, only the same characteristics (e.g., color and model number) need to be added to the tag data. In the case where the manufacturer pre-programs unique tags, the end user is able to program the same data (e.g., color and model number) for a group of tags simultaneously and avoid writing unique data for each tag. In one embodiment, unique data (e.g., a serial number or a unique tag ID) is programmed to each tag simultaneously using a simultaneous programming operation as discussed further below.
Label counting
In one embodiment, interrogator 101 inventories the current tag population before sending the simultaneous programming command. Performing inventory of tag populations is useful in determining serial numbers, tag IDs, tag types, tag levels, data characteristics, and the number of tags in the presence. In one embodiment, after determining the tag population, the interrogator 101 specifies a set of tag preparations from the entire tag population to program simultaneously. In some cases, interrogator 101 skips the initial inventory, for example, when the user manually enters a set of tags, or a list of tags has been set in interrogator memory 111.
Various methods exist for scanning a population of tags to determine various characteristics of the tags. In one embodiment, the RFID tag has one or more sessions (e.g., sessions 0-3). Each session can store a state having two values (e.g., state a and state B). In one embodiment, one of the states may be a persistent state and the other state may be a transient state. The interrogator uses a series of encoded interrogation signals to search a population of tags. The search may be a random search or a binary tree search that systematically sorts and separates groups and subgroups that match more and more specific search criteria.
In one embodiment, interrogator 101 inventories tags with one or more inventory commands (e.g., interrogation, ACK, and NAK). The interrogation command initiates and specifies an inventory round to which one or more tags respond with a 16-bit number. If the interrogator 101 successfully extracts the 16-bit number, it is sent back to the tag for handshaking via an ACK command. The tag responds if the 16-bit number sent by the ACK command matches the number sent by the tag. The tag that has confirmed its 16-bit number then replies with a prefix, its CRC (cyclic redundancy check) and its EPC (electronic product code). In another embodiment, the number may be in the range of 8 to 64 bits. The tag then transitions its internal state for the session from a to B (or from B to a) unless it gets a NAK. If it receives a NAK, it stays in the previous state. The interrogator is able to discover tags in the population of tags and transform the internal state of all discovered tags. In other embodiments, the interrogator 101 uses other inventory commands, operations, or methods to inventory the population of tags. In one embodiment, the tag has four sessions available, each with a single bit of independent state memory. This session structure allows up to four interrogators or processes to communicate with a population of tags in a multitasking environment, however other embodiments may allow more than four interrogators.
Assigning individual tags to program
In one embodiment, the inventoried tags are added to the memory of the interrogator, and the set of designated tags is selected from the inventoried population of tags. In one embodiment, the tallied tags appear in the interrogator 101 as a queue or list of tags.
In one embodiment, the interrogator 101 can assign individual tags to be added to the simultaneous programming group by assigning a serial number or unique tag ID to the tag. The tag serial number and unique tag ID may be found during the initial inventory stage, or the interrogator 101 may have a preset list of tags for programming. In one embodiment, the interrogator 101 may automatically group individual tags for programming based on a programming interval, tag rank, data stored in the tag memory, or other characteristic. For example, the interrogator 101 can select only a group of level II tags for programming, or can select a group of tags having a serial number within a defined range. In other embodiments, the user can manually select a set of tags for simultaneous programming. In one embodiment, the user can use the tag serial number or unique tag ID to designate individual tags to add to the simultaneous programming group.
In one embodiment, a set of tags designated for simultaneous programming contains two or more tags. In one embodiment, interrogator 101 can designate a single group of four hundred or more tags for simultaneous programming, and program the group simultaneously according to the method described below. In one embodiment, after programming, the tags are individually verified whether the programming was successful. The successfully programmed tags are removed from the list or queue of tags to be programmed and the next set of tags is designated. The interrogator 101 continues to program the designated set of tags until no more tags remain to be programmed. In one embodiment, when there are no more tag sets to be programmed, the interrogator 101 provides a completion status message and records the completion of the programming to the interrogator's internal memory.
Different types of tags may require different durations to commit data to memory. The time required to commit data to memory may also be referred to as the programming interval and may be directly related to the amount of time required for the tag to receive a steady supply of power during programming. For example, some tags may be able to commit data to tag memory in ten microseconds or less under steady power, while other tags may require twenty microseconds or more under steady power in order to commit data to the tag's memory. The maximum number of tags that an interrogator 101 can program within a group depends on the duration of time that the interrogator 101 can maintain communication with and power to the group of tags. For example, local radio frequency regulations may require interrogator 101 to limit the duration of time it takes to communicate with and power the tag group. In one embodiment, the interrogator 101 determines the total duration of time allowed for communication and power to the population of tags and automatically queues a number of tags that can be successfully programmed in a given time.
In one embodiment, during inventory, the interrogator 101 stores details about each tag. The interrogator is able to determine various characteristics of the tags within a population of tags and is able to group the tags by specific characteristics. In one embodiment, the interrogator 101 is able to group tags based on the minimum time required for the tags to submit data to memory. For example, a population of tags may be a mix of tags that require ten microseconds to program and tags that require twenty microseconds to program. In one embodiment, interrogator 101 sets the programming interval to at least twenty microseconds, programming the entire population with a programming interval of at least twenty microseconds. In another embodiment, interrogator 101 groups tags that require a ten microsecond programming interval together in one or more simultaneous programming groups, separate from groups that require twenty microseconds. In another embodiment, the interrogator 101 determines the longest programming interval needed from among all the tags to be programmed and uses this longest programming interval as the default programming interval for programming all the tags. In one embodiment, interrogator 101 uses the programming interval requirement of each tag to maximize the number of tags that can be programmed in a group before having to switch frequencies.
Addressing indicator
Tags are manufactured to have several states that control the response of the tag to a command. For example, the EPC generation 2 tag contains ready, acknowledge, open, and security states (among other states). The logic of the tag determines the behavior of the various tag states. For example, the ready state and the canceled state are two states that the tag can enter at power-up. Tags in the ready state do not participate in the inventory loop. The open state and the secure state are used by access commands (commands to read from or write to the tag). The open state is capable of executing all access commands except Lock (Lock) and block persistent Lock (block permalock). The secure state is capable of executing all access commands.
In one embodiment, each tag contains a "addressing" indicator. In one embodiment, the addressing indicator is a flag or bit that can be set in the memory of the tag. In one embodiment, activating/setting the addressing indicator is accomplished by changing the addressing bit of the tag from 0 to 1. In other embodiments, the addressing indicator can be implemented and operated in other ways.
In one embodiment, tags with an activated/set addressing indicator may remain in the addressable state while interrogator 101 continues to raise other tags to the addressable state. Further details of the operation of the simultaneous program command are discussed below.
Tags that do not have an addressing indicator or have an inactive indicator can only be addressed one at a time because the tags change their state when they receive a command to address a different tag. For example, without an addressing indicator, a command to address tag A's memory causes nearby tags B, C, and D, to exit their addressable states.
In one embodiment, an open or secure state with an active/inactive addressing indicator is capable of receiving and processing simultaneous programming commands. In one embodiment, the simultaneous program commands include commands to address and prepare data for programming, and commands to submit data to memory. While the program command is discussed in further detail below.
In one embodiment, activating/setting the addressing-in-progress indicator in the open or secure state transitions the state to a separate and independent open addressing or secure addressing state. In other embodiments, activating/setting the addressing indicator in the open or secure state does not change the existing state, but allows a group of tags to receive and process simultaneous programming commands. It will be apparent to those skilled in the art that other states may be modified to include the addressing indicator.
In one embodiment, the tag also contains an addressing independent tag state separate from the states described above and from the addressing indicator associated with the open or secure state. In one embodiment, the addressing state also allows the tag to receive and process simultaneous programming commands. In one embodiment, to receive and process a simultaneous programming command sent to a group of tags, the tags receive a command to switch to an addressing state. In one embodiment, the tag is placed in an addressing state before the simultaneous program commands are sent. In one embodiment, a tag in the addressing state stays in the addressing state until a signal (e.g., from an inquiry or NAK command) is received to exit the addressing state.
In one embodiment, unlike the open state or the secure state, the addressing state does not respond to a programming command with a backscatter reply. In one embodiment, while in the addressing state, the tag receives a program command and does not respond with any error reports. In one embodiment, to verify successful concurrent programming, the interrogator 101 issues a separate validation verification to each tag, as described further below.
In one embodiment, the tag is not permitted to enter the addressing state at power up. In one exemplary embodiment, the tag to be programmed is transitioned to the addressing state during the inventory process. In other embodiments, the tag to be programmed is in a confirmed state (or other state) after the inventory process, and is then switched by the interrogator 101 to the addressing, open addressing, or secure addressing state. In one embodiment, tags that do not transition to the addressing, open addressing, or secure addressing states are unable to receive and process simultaneous programming commands.
Programming selected tags
In one embodiment, tags in the addressing, open addressing, or secure addressing states are capable of receiving simultaneous programming commands. In one embodiment, two commanded operations are used: 1) a command for addressing a specified tag and transmitting data to be programmed to the specified tag, and 2) a command for submitting addressing data for a group of specified tags, unique data being programmed to a group of tags simultaneously. In one embodiment, the same data is addressed and programmed to a group of tags simultaneously in one command operation rather than two commands.
In one embodiment, there are three types of simultaneous program commands. The batch program command programs the same/identical data (e.g., the same color and model of the product) to a set of tags. The program set and program submit commands program unique data to each tag in a set of designated tags (e.g., a unique serial number). It will be apparent to those skilled in the art that whether data is actually only optional when using program setup and program commit commands. In other embodiments, there may be different command names and types that also provide for simultaneous programming commands. In one embodiment, a variety of commands can be used with the addressing, open addressing, and secure addressing states (e.g., write, block write, and lock commands). In one embodiment, the write command writes data to the tag memory. In one embodiment, a block write command writes a plurality of 16-bit words to the tag memory. In other embodiments, the size of the block write word may be 8 bits, 32 bits, or other lengths. In one embodiment, the lock command locks the password and prevents subsequent writes using the locked password. The lock command may also lock various memory regions to prevent subsequent writes to a particular memory region.
In one embodiment, the interrogator 101 uses a predetermined exclusive handle to establish an I/O data link to the tag in the addressing state. For example, the handle may be a 16-bit number consisting of all 0 s. This predetermined exclusive handle is used to send simultaneous programming commands to the tags. Commands that the tag receives from handles that are not the exclusive handle are ignored and the tag will not act on commands that are not related to simultaneous programming.
In one embodiment, tags capable of receiving simultaneous programming commands do not require a handle to receive the simultaneous programming commands. In one embodiment, tags in the addressing, open addressing, or secure addressing states ignore commands sent with handles that are not exclusive simultaneous programming handles.
Batch programming unique data
In one embodiment, the method for programming the unique data is divided into a plurality of commands. The program set command establishes individual tag addressing and provides the data to be programmed for each designated tag. The program commit command causes the tag to program (commit) the addressed data to the tag memory.
In one embodiment, the program setup command individually addresses and sends data to each tag in a specified set of tags. For example, for a group of ten tags, tag 1 would receive a program set command addressed to tag 1, tag 2 would receive a program set command addressed to tag 2, and so on. The interrogator 101 issues a program set command individually for each tag in the designated population of tags until each tag has been addressed and data has been sent to the designated tag address. In one embodiment, the programming settings data sent to each tag in a group may be unique data (e.g., a unique serial number). In one embodiment, the program set command specifies a memory area of the tag, and the data is stored in the memory area. In one embodiment, the program set command addresses each tag based on the serial number or unique tag ID of the tag.
In one embodiment, the program set command causes each individual tag to temporarily hold data in one or more flip-flops or latches while power is continuously applied to the tag. In one embodiment, the designated tag completely commits the data to memory when the programming interval is received. In one embodiment, to submit data sent by the program set command, the interrogator 101 issues a program submit command to maintain power at the programming interval. As discussed above, tags may have different required durations to fully commit data to the tag memory. In one embodiment, to fully program the tag, interrogator 101 remains powered for at least twenty microseconds. In one embodiment, interrogator 101 selects a programming interval based on the specified tag type determined during the initial inventory phase. In one embodiment, the programming interval submits the data to non-volatile memory so that another interrogator can access the data at a future point in time.
FIG. 4 illustrates a flowchart representation of one embodiment of a method of simultaneously programming addressing data individually to each tag in a set of tags. At block 405, the interrogator 101 requests a population of tags.
At block 410, the interrogator 101 assigns a set of tags from the entire inventory population. In one embodiment, the interrogator 101 assigns a set of tags from an initial population of tags. In one embodiment, interrogator 101 successively programs the population of tags until all inventoried tags are successfully programmed.
At block 415, the interrogator 101 sets a positive addressing indicator for each tag to be programmed in the designated group of tags.
At block 420, the interrogator 101 provides the data to be programmed to each designated tag in the designated set of tags. In one embodiment, the interrogator 101 individually provides the data to be programmed to each tag until each designated tag in the group has received the data to be programmed.
At block 425, the interrogator 101 provides a command to program all of the tags of the specified group at the same time. In one embodiment, interrogator 101 maintains the programming interval for a specified duration of time while the tag sets program data to memory.
At block 430, the interrogator 101 individually verifies whether the program command was successful for each individual tag in the specified group.
At block 435, the interrogator resets the addressing indicator for all tags in the designated group of tags.
Batch programming of identical data
The batch program command is sent simultaneously with the programming interval. In one embodiment, the batch program command includes a destination memory region, data to be programmed, and a program interval. The interrogator 101 determines the duration of the programming interval as described above. In one embodiment, batch programming commands are received and processed by tags in an addressing, open addressing, or secure addressing state. In one embodiment, a tag with an active/set addressing indicator can receive a batch programming command.
FIG. 5 illustrates a flowchart representation of one embodiment of a method for simultaneously programming a set of designated tags with the same data. At block 505, the interrogator 101 inventories a population of tags.
At block 510, the interrogator 101 assigns a set of tags from the manifest population.
At block 515, the interrogator 101 sets a positive addressing indicator for each tag to be programmed in the designated set of tags.
At block 520, the interrogator 101 sends a simultaneous programming command to the entire group of designated tags. In one embodiment, the simultaneous program command includes data to be programmed and power is maintained for a specified programming interval.
At block 525, the interrogator 101 verifies whether the program command was successful individually for each individual tag in the specified group.
At block 530, the interrogator resets the addressing indicator for all tags in the designated group of tags.
FIG. 6 illustrates a flowchart representation of one embodiment of a tag implementation method that participates in simultaneous programming. At block 605, the tag participates in the inventory.
At block 610, the tag receives a command to set its addressing indicator and executes internal logic to set the addressing indicator.
At block 615, the tag receives one or more simultaneous programming commands as described above.
At block 620, the tag receives a successful command to verify the simultaneous programming commands and sends back a reply to the verify command.
At block 625, the tag receives a command to reset its addressing indicator and executes internal logic to reset the addressing indicator.
Verifying programming success
A group of simultaneously programmed tags may respond automatically and simultaneously to simultaneous programming such that the responses conflict with each other, making it difficult for a single responding interrogator 101 to identify. In one embodiment, the success of the simultaneous programming is verified for each tag. A single verification of the tags ensures that the interrogator 101 receives a clear response from each tag. In one embodiment, the interrogator 101 verifies the data programmed to the tags by issuing a verify command to each tag individually. The verify command returns a response from the tag indicating whether the programming of the tag was successful. If the tag programming command is unsuccessful or the interrogator 101 does not receive a response, the tag is added back to the tag queue to be programmed. The interrogator 101 retries the failed or unknown tag by resending the program command in a subsequent round of concurrent programming.
Resetting a positive addressing indicator
Based on verification that the tag was successfully programmed with the correct data, the interrogator 101 resets the addressing, open addressing, or secure addressing state. In one embodiment, the interrogate or NAK command is sufficient to reset the addressing, open addressing, or secure addressing state. In one embodiment, after a group of tags is successfully programmed, the interrogator 101 switches from the addressing-in, open addressing, or secure addressing state to another state (e.g., ready state or arbitration state). In one embodiment, the interrogator 101 resets, deactivates, or deselects the addressing indicator based on verification that the tag has been successfully programmed.
In one embodiment, the interrogator 101 also locks the tag's memory before resetting or transitioning from the state of addressing, open addressing, or secure addressing. In one embodiment, interrogator 101 locks the tag's memory after reset or transition from the state of addressing, open addressing, or secure addressing.
Having described various embodiments and aspects of the invention, reference is made to the accompanying drawings that show the various embodiments. In the foregoing specification, the invention has been described with reference to specific exemplary 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 sense rather than a restrictive sense.
Reference in the specification to an embodiment means that a particular feature, structure, or characteristic described in connection with the embodiment is 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 foregoing embodiments of the invention may be described as a process which is usually depicted as a flowchart, a flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations can be rearranged. A process is terminated when its operations are completed. A process may correspond to a method, a program, a procedure, etc.

Claims (45)

1. An apparatus for identifying and programming labels, the apparatus comprising:
a transmitter;
a receiver; and
a microprocessor configured to:
transmitting a first set of commands to prepare a plurality of designated tags to receive a second set of commands, an
A second set of commands is transmitted, wherein the second set of commands causes the plurality of designated tags to receive a programming command to program data into the memory of the prepared tag.
2. The apparatus of claim 1, wherein the microprocessor is further configured to verify the success of the programming command individually for each of the plurality of tags.
3. The apparatus of claim 1, wherein the preparing of the plurality of tags further comprises configuring a microprocessor to establish an address for each of the plurality of tags and to transmit data to the address of each of the plurality of tags.
4. The apparatus of claim 1, wherein the first set of commands further comprises setting an addressing state in each of the plurality of designated tags.
5. The apparatus of claim 4, wherein said unaddressed state allows the designated tag to receive programming commands simultaneously.
6. The apparatus of claim 1 operating in a frequency range of about 900 megahertz.
7. The apparatus of claim 1, further comprising a network interface.
8. The apparatus of claim 1, wherein the plurality of commands comprises a handshake sequence.
9. The apparatus of claim 1, further comprising a near-field loop antenna coupled to at least one of the transmitter or the receiver.
10. An apparatus for identifying and programming labels, the apparatus comprising:
a transmitter;
a receiver; and
processing logic configured to:
a set of commands is transmitted to specify a plurality of tags,
transmitting a programming command to the plurality of tags, wherein the command simultaneously prepares a plurality of tags and programs data to memories of the plurality of tags.
11. The apparatus of claim 10, wherein the processing logic is further configured to verify the success of the program command individually for each of the plurality of tags.
12. The apparatus of claim 10, wherein the processing logic is further configured to determine that the program command was unsuccessful in programming a tag, and to add an unsuccessfully programmed tag to a programming queue.
13. The apparatus of claim 10, wherein said designating the plurality of tags further comprises changing an addressing state of the plurality of tags.
14. The apparatus of claim 13, wherein changing the addressing state of the plurality of tags allows for simultaneous programming of the plurality of tags.
15. The apparatus of claim 10 operating in a frequency range of about 900 mhz.
16. The apparatus of claim 10, wherein the processing logic is a microcontroller.
17. The apparatus of claim 10, further comprising a dynamic random access memory and a memory controller to control the operation of the memory.
18. The apparatus of claim 10, further comprising a directional coupler.
19. The apparatus of claim 10, further comprising a network interface.
20. The apparatus of claim 10, wherein the plurality of commands comprises a handshake sequence.
21. A label, comprising:
a receiver to detect a signal representing a command;
a memory containing a state being addressed; and
a processor coupled to the receiver and the memory, the processor configured to activate an addressing state on the tag, wherein the addressing state allows other tags to be raised to the addressing state while the tag remains in the addressing state.
22. The tag of claim 21, wherein the addressing state allows for processing of simultaneous programming commands.
23. The tag of claim 21, wherein the processor is further configured for simultaneous programming commands, and the simultaneous programming commands use an exclusive handle.
24. The tag of claim 21, further comprising an antenna coupled to the receiver to receive radio frequency signals from a reader.
25. The tag of claim 21, wherein the tag is a single integrated circuit.
26. The tag of claim 21, wherein the simultaneous programming command is addressed to a tag having one of a unique serial number or a unique tag identification number.
27. A machine-implemented method, comprising:
transmitting a first set of commands to a designated tag, the designated tag prepared to receive a second set of commands; and
a second set of commands is transmitted, wherein the second set of commands causes the designated tag to receive a programming command to program data into the memory of the prepared tag.
28. The machine-implemented method of claim 27, further comprising:
the data programmed into the memory of the prepared tag is individually verified.
29. The machine-implemented method of claim 27, wherein preparing the plurality of tags further comprises activating an addressing state of the tags.
30. The machine-implemented method of claim 29, further comprising:
determining that programming of the data was successful; and
a command is issued to reset the addressing state of the tag.
31. A machine-implemented method, comprising:
designating a plurality of tags; and
transmitting a programming command to the plurality of tags, wherein the command simultaneously prepares a plurality of tags and programs data to memories of the plurality of tags.
32. The machine-implemented method of claim 31, further comprising:
the data programmed into the memory of the prepared tag is individually verified.
33. The machine-implemented method of claim 31, wherein preparing the plurality of tags further comprises activating an addressing state of the tags.
34. The machine-implemented method of claim 33, further comprising:
determining that programming of the data was successful; and
a command is issued to reset the addressing state of the tag.
35. A method performed in a tag, the method comprising:
an addressing state on the tag is activated, wherein the addressing state allows other tags to be raised to the addressing state while the tag remains in the addressing state.
36. The method of claim 35, wherein the addressing state allows for processing of simultaneous program commands.
37. A data processing system comprising:
means for transmitting a first set of commands, the first set of commands preparing a plurality of designated tags to receive a second set of commands; and
means for transmitting a second set of commands, wherein the second set of commands causes the plurality of designated tags to receive a program command to program data into the memory of the prepared tag.
38. The data processing system of claim 37, further comprising:
means for individually verifying the data on each of the plurality of tags.
39. The data processing system of claim 37, wherein preparing the plurality of tags further comprises activating an addressing state of the tags.
40. The data processing system of claim 37, further comprising:
means for determining that programming of the data is successful and issuing a command to reset the addressing state of the tag.
41. A data processing system comprising:
means for transmitting a set of commands specifying a plurality of tags;
means for transmitting a program command to the plurality of tags, wherein the program command prepares a plurality of tags and programs data to memories of the plurality of tags.
42. A data processing system comprising:
means for activating an addressing state on a tag, wherein the addressing state allows other tags to be raised to the addressing state while the tag remains in the addressing state.
43. The data processing system of claim 42, further comprising:
means for individually verifying the data on each of the plurality of tags.
44. The data processing system of claim 42, wherein preparing the plurality of tags further comprises activating an addressing state of the tags.
45. The data processing system of claim 44, further comprising:
means for determining that the programming of the data was successful; and
means for issuing a command to reset the addressing state of the tag.
HK14103081.8A 2012-01-20 2014-03-31 Simultaneous programming of selected tags HK1189979B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/355,432 2012-01-20

Publications (2)

Publication Number Publication Date
HK1189979A true HK1189979A (en) 2014-06-20
HK1189979B HK1189979B (en) 2020-01-24

Family

ID=

Similar Documents

Publication Publication Date Title
US9405941B2 (en) Simultaneous programming of selected tags
US8134451B1 (en) RFID tag chips and tags capable of backscattering more codes and methods
US8072327B2 (en) Causing RFID tags to reply using changed reply timing
US8154385B2 (en) Local processing of received RFID tag responses
US6172596B1 (en) System method and apparatus for identifying and communicating with a plurality of types of radio frequency communication devices
CN101364911B (en) Household appliance network system capable of realizing equipment recognition
CN114692790B (en) A communication method and related equipment
US8427315B2 (en) Ahead-of-time scheduling of commands in RFID reader systems
US8063740B1 (en) Interfacing to RFID reader utility that causes RFID tags to reply using changed reply timing
US7884702B2 (en) Queued operations in HF/UHF RFID applications
US7973644B2 (en) Systems and methods for RFID tag arbitration where RFID tags generate multiple random numbers for different arbitration sessions
CN101174308B (en) Response control mehtod for RFID tag, device for rfid tag, and rfid reading and control device
US8354917B2 (en) RFID tag chips and tags complying with only a limited number of remaining commands and methods
US20080258878A1 (en) Facilitating rfid tags to refrain from participating in a subsequent inventorying attempt
US12039390B2 (en) RFID ICs with privacy modes
US20070069863A1 (en) IC tag, method of controlling the IC tag, and IC tag system
US20070236331A1 (en) Preventing timeout of RFID tag in timed state of air-interface protocol
CN100437622C (en) Method of activating a communication mode of a peer-to-peer communication unit
US9582691B2 (en) Simultaneous programming of selected tags
HK1189979A (en) Simultaneous programming of selected tags
KR101268542B1 (en) System and method for recognizing a plurality of RFID tags
HK1189979B (en) Simultaneous programming of selected tags
US8028149B2 (en) Method of reading the memory plane of a contactless tag
US7436307B2 (en) Method and system for setting parameters of a field station in a communications network
Tee et al. An intelligent warehouse stock management and tracking system based on silicon identification technology and 1-wire network communication