U.S. patent application number 11/619051 was filed with the patent office on 2007-07-12 for system and method for radio frequency tag group select.
Invention is credited to Christian Lenz Cesar, Shun-Shing Chan, Thomas Anthony Cofino, Kenneth Alan Goldman, Sharon L. Greene, Harley Kent Heinrich, Dilip Diokar Kandlur, Arvind Krishna, Kevin Patrick McAuliffe.
Application Number | 20070159305 11/619051 |
Document ID | / |
Family ID | 33303827 |
Filed Date | 2007-07-12 |
United States Patent
Application |
20070159305 |
Kind Code |
A1 |
Cesar; Christian Lenz ; et
al. |
July 12, 2007 |
System and Method for Radio Frequency Tag Group Select
Abstract
A system and method is disclosed for selecting certain subgroups
of radio frequency (RF) tags for querying, communicating, and/or
identifying by a base station. The base station sends commands to a
group tags within a RF field of the base station. The tags use
control logic to determine whether or not they meet certain
criteria sent out by the commands. This may cause the tags to
change state which either prevents or allows a given tag to
participate in an identification process. In this way, a given
subgroups of tags meeting certain criteria can be selected for
querying, communicating, and/or identifying.
Inventors: |
Cesar; Christian Lenz;
(Shrub Oak, NY) ; Chan; Shun-Shing; (Flushing,
NY) ; Heinrich; Harley Kent; (Brewster, NY) ;
Cofino; Thomas Anthony; (Rye, NY) ; Kandlur; Dilip
Diokar; (Bilarcliff Manor, NY) ; Goldman; Kenneth
Alan; (Norwalk, CT) ; Greene; Sharon L.; (Mt.
Kisco, NY) ; McAuliffe; Kevin Patrick; (Peekskill,
NY) ; Krishna; Arvind; (Briarcliff Manor,
NY) |
Correspondence
Address: |
JOHN H. SHERMAN, LEGAL DEPT.;INTERMEC TECHNOLOGIES CORPORATION
550 2ND STREET SE
CEDAR RAPIDS
IA
52401
US
|
Family ID: |
33303827 |
Appl. No.: |
11/619051 |
Filed: |
January 2, 2007 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
10979866 |
Nov 2, 2004 |
7158046 |
|
|
11619051 |
Jan 2, 2007 |
|
|
|
09179481 |
Oct 27, 1998 |
6812852 |
|
|
10979866 |
Nov 2, 2004 |
|
|
|
08646539 |
May 8, 1996 |
5828318 |
|
|
09179481 |
Oct 27, 1998 |
|
|
|
08694606 |
Aug 9, 1996 |
5942987 |
|
|
09179481 |
Oct 27, 1998 |
|
|
|
08303965 |
Sep 9, 1994 |
5673037 |
|
|
08694606 |
Aug 9, 1996 |
|
|
|
Current U.S.
Class: |
340/10.32 ;
340/10.2; 340/13.25 |
Current CPC
Class: |
G05B 2219/2231 20130101;
G06K 7/0008 20130101; G06K 7/10108 20130101; G05B 19/0421 20130101;
G08C 2201/20 20130101; G05B 2219/25277 20130101; G07C 9/28
20200101; G08C 17/02 20130101; G06K 7/10039 20130101 |
Class at
Publication: |
340/010.32 ;
340/010.2; 340/825.69 |
International
Class: |
H04Q 5/22 20060101
H04Q005/22 |
Claims
1. A method of selecting subgroups of a group of radio frequency
tags comprising the steps of: a. sending a group select radio
signal command from a base station to a plurality of radio
frequency tags, the command defining certain selection conditions,
the tags each having a radio frequency communications component for
receiving the command and a tag memory with tag fields; b. changing
a state of one or more tags in the group of tags, the state change
being from a READY state to a SELECTED state, the tags changing
state being a selected subgroup of tags from the group of tags, and
the selected tags having data in their respective tag memory that
meets the selection conditions.
2. The method of claim 1, where the selected tags send a tag
identifier to the base station.
3. The method of claim 1, where the selected tags change data in
one or more tag fields of their respective memory.
4. The method of claim 1, where steps a and b are repeated one or
more times to create a ORed subgroup which includes the union of
the tags of each of the subgroups.
5. The method of claim 2, where the tags are queried to indicate
that the selected subgroup has one or more members.
6. The method of claim 5, where a flag is set if the selected
subgroup has members, the flag being an alarm and the selection
condition being that there was a security breach.
7. The method according to claim 1, wherein in step a. the command
defining certain logical selection conditions; and in step b. the
tags changing state being a first selected subgroup of tags from
the group of tags; the method further comprises the steps of: c.
sending a group unselect radio signal command from a base station
to a plurality of radio frequency tags, the command defining
certain logical unselection conditions; and d. changing a state of
one or more tags in the first selected subgroup of tags, the state
change being from the SELECTED state to the READY state, the
remaining tags in the SELECTED state being a second selected
subgroup of tags, the tags in the second selected subgroup having
data in their respective tag memories that meet both the selection
and unselection conditions.
8. The method of claim 7, where steps c and d are repeated one or
more times to create an ANDed subgroup which includes the tags in
the intersection of each of the second selected subgroups.
9. The method of claim 7, where the selection conditions are one or
more of the logical comparisons including greater than, less than,
equal, not equal, greater than or equal, and less than or
equal.
10. The method of claim 9, where the comparison is made between a
data value sent from the base station and a tag value stored in the
tag memory.
11. The method of claim 10, where the tag value is a value obtained
by masking in the tag.
12. The method of claim 7, where the unselection conditions are one
or more of the logical comparisons including greater than, less
than, equal, not equal, greater than or equal, and less than or
equal.
13. The method of claim 12, where the comparison is made between a
data value sent from the base station and a tag value stored in the
tag memory.
14. The method of claim 13, where the tag value is a value obtained
by masking in the tag.
15. A system for selecting subgroups of radio frequency tags from a
group of tags, comprising: a. a base station for communicating
radio frequency commands to the tags, the commands comprising
command type, function, tag memory address value, and command data;
b. a plurality of tags having radio frequency component for
receiving the radio frequency commands from the base station and
sending radio frequency information to the base station, a tag
memory with a tag memory address and tag memory data, tag control
logic, a tag compare function, and a tag state, whereby the command
type sent by the base station causes the tag control logic to
perform the function sent by the base station in the tag compare
function to compare tag memory data located in the tag memory
address specified by the tag memory address value with the command
data, and if comparison conditions are met, the tag control logic
causing the tag state to change.
16. The system, as in claim 15, where the command type is a select
command and the tag logic causes the tag to move from a READY state
to a SELECTED state; or where the command type is a unselect
command and the tag logic causes the tag to move from a SELECTED
state to a READY state.
17. The system, as in claim 15, where the tags identify
clothing.
18. The system, as in claim 16, where the base station queries the
tags in the SELECTED state.
19. The system, as in claim 18, where an security alarm is enabled
if there are any tags in the SELECTED state.
20. A system for selecting a subset of slaves that satisfy a
selection criterion, and causing the selected subset of slaves to
participate in an identification and isolation process whereby
slaves of the selected subset are successively identified and
isolated from further participation in such identification and
isolation process, said system comprising: (a) a master unit for
communicating a command containing a selection criterion to a
plurality of slaves; (b) each slave of said plurality of slaves
being in one of three or more different possible conditions during
the identification and isolation process; (c) a memory in said each
slave containing at least one information value for use in
evaluation of a selection criterion; (d) a receiving unit in said
each slave for receiving the command containing the selection
criterion from the master unit; and (e) a processing unit in said
each slave that processes the command containing the selection
criterion from the master unit; (f) the processing units of the
slaves having a mode of operation such that a subgroup of slaves
that have an information value that satisfies the selection
criterion are moved from a first condition to a second condition
for participation in an identification and isolation process; and
(g) the processing units of the subgroup of slaves in the second
condition having a mode of operation whereby individual slaves of
said subgroup can progress to a third condition during the
identification and isolation process, with slaves that have
progressed to the third condition, and have been identified, being
isolated from further participation in the identification and
isolation process that continues so as to identify and isolate
other of the slaves in the second condition.
21. A method for selecting a subset of slaves that satisfy at least
one selection criterion during a selection process, and then
identifying slaves of the selected subset, and causing identified
slaves of the selected subset of slaves to be isolated from further
participation in the identification process, said method
comprising; (a) storing at least one information value in each of a
plurality of slaves for use in evaluating at least one selection
criterion; (b) representing at least one selection criterion in at
least one selection criterion command; (c) communicating the at
least one selection criterion command to the plurality of slaves;
(d) processing the at least one selection criterion command at each
of said plurality of slave and deeming certain of the slaves based
on storage of the at least one information value to be selected as
a result of the selection process; (e) carrying out an
identification process with respect to the certain slaves deemed
selected as a result of the selection process; and (f) causing
slaves that are identified during the identification process of
clause (e) to be isolated from responding further in the course of
the identification process of clause (e).
Description
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] The present application is a division of application Ser.
No. 10/979,866 filed Nov. 2, 2004, which is a continuation of
application Ser. No. 09/179,481 filed Oct. 27, 1998, now U.S. Pat.
No. 6,812,852 issued Nov. 2, 2004, which is a continuation of
application Ser. No. 08/646,539 filed May 8, 1996, now U.S. Pat.
No. 5,828,318 issued Oct. 27, 1998. Said application Ser. No.
09/179,481 is a continuation-in-part of application Ser. No.
08/694,606 filed Aug. 9, 1996, now U.S. Pat. No. 5,942,987 issued
Aug. 24, 1999, which in turn is a continuation-in-part of
application Ser. No. 08/303,965 filed Sep. 9, 1994, now U.S. Pat.
No. 5,673,037 issued Sep. 30, 1997. Reference is also made to U.S.
Pat. No. 5,550,547 which is commonly owned with the aforementioned
applications. Said U.S. Pat. Nos. 5,550,547, 5,673,037 and
5,828,318 are hereby incorporated herein by reference in their
entireties, including material incorporated in said U.S. Pat. No.
5,550,547, 5,673,037 and 5,828,318 by reference. application Ser.
No. 10/979,866 filed Nov. 2, 2004, is hereby incorporated herein by
reference in its entirety including material incorporated in said
application Ser. No. 10/979,866 by reference.
FIELD
[0002] This invention relates to the field of radio frequency
tagging. More specifically, the invention relates to communication
with and/or identification of subsets of a group of radio frequency
tags.
BACKGROUND
[0003] A radio frequency (RF) identification system consists of an
RF base station and a plurality of RF tags.
[0004] In a typical configuration, the base station has a computer
section which issues commands to an RF transmitter and receives
commands from the RF receiver. The commands serve to identify tags
present in the RF field of the base station. In some
implementations, commands exist to gather information from the
tags. In more advanced systems, commands exist which output
information to the tags. This output information may be held
temporarily on the tag, it may remain until over written, or it may
remain permanently on the tag.
[0005] The RF transmitter of the base station encodes the command
from the computer section, modulates it from a base band to the
radio frequency, amplifies it, and passes it to the RF antenna. The
RF receiver gathers the return signal from the antenna, demodulates
it from the RF frequency to the base band, decodes it, and passes
it back to the computer section for processing. The base station
antenna sends RF signals to and receives RF signals from one or
more tags within the RF signal range.
[0006] Two useful functions of the system are: [0007] 1.)
determining if any tags meeting certain criteria are in the field
(the range of the RF signal transmitted and/or received by the the
base station) of the base station; and [0008] 2.) identifying tags
meeting certain criteria for subsequent processing.
STATEMENT OF PROBLEMS WITH THE PRIOR ART
[0009] The prior art requires that all tags in the RF field be
identified and that data be read from them in order to determine if
any of the tags met the criteria specified by the tagging
application. This process is slow to the point where certain
tagging applications are precluded.
[0010] For example, a security application might have a number of
tags passing through a base station RF field in a short time. It is
important that tags meeting certain alarm criteria be detected
during this short time (also called real time). The requirement may
be to identify and read all tags to determine alarm status during
the real time that the tags are passing through the base station
field. If there are a large number of tags passing through the RF
field and/or the tags are passing through very rapidly, the prior
art may fail to identify and read all the tags in the RF field
before they pass out of the field.
[0011] As another example, a transit application might have a large
number of tagged items in a tagged container. To log the movement
of a container, all the tags must be identified in the container as
well as the container itself. Using prior art techniques, the
container might be required to pause in the field to allow enough
time to identify and read all of the tags in the field. This pause
may cause an undesirable delay in the movement of the
container.
GENERAL DISCUSSION OF THE DISCLOSURES INCORPORATED HEREIN BY
REFERENCE
[0012] Because the master often does not know ahead of time the
number of slaves present and because that number may be very large
and possibly unwieldy, it is advantageous for the master to be able
to select a subset of the slaves with which to communicate further.
Such a selection must of course be done by a conditional. Those
slaves that meet the condition are thus considered selected, while
those that do not meet the condition are considered not selected.
The selection is performed by broadcasting to all slaves the
condition that must be met. This is akin to asking those among a
large crowd of people whose last name is Lowell to raise their
hand. Each slave is defined as having at least the capability to
listen to the master's broadcasts, to receive the broadcast
condition and to self-test so as to determine whether it meets the
condition. See U.S. patent application Ser. No. 08/303,965, to
Cesar et al. filed on Sep. 9, 1994, now U.S. Pat. 5,673,037 issued
Sep. 30, 1997, which is herein incorporated by reference in its
entirety. U.S. Pat. No. 5,673,037 in turn incorporates U.S. Pat.
No. 5,550,547 by reference in its entirety, and accordingly, U.S.
Pat. No. 5,550,547 is hereby incorporated herein by reference in
its entirety. U.S. Pat. No. 5,550,547 discloses a base station with
a base memory (220, the second figure of U.S. Pat. No. 5,550,547)
which stores a special command structure that is used to
communicate with the RFID tags. In a preferred embodiment, the base
memory includes a novel command structure for tag group selection
also. U.S. Pat. No. 5,550,547 states that group select structures
are described in the U.S. patent application Ser. No. 08/303,965
entitled "SYSTEM AND METHOD FOR RADIO FREQUENCY TAG GROUP SELECT"
to C. Cesar et al. filed Sep. 9, 1994 (now U.S. Pat. No.
5,673,037), which is incorporated by reference in its entirety in
U.S. Pat. No. 5,550,547. The fifth figure of the incorporated U.S.
Pat. No. 5,550,547 shows an algorithm being executed by each of a
plurality of RF tags which includes processing of an identification
command which in a preferred embodiment is the group select
command.
OBJECTS
[0013] An object of this invention is an improved system and method
to rapidly determine which tags of a group of tags meet a certain
criteria.
[0014] Another object of this invention is an improved system and
method to rapidly identify and/or select tags meeting certain
criteria for subsequent processing.
SUMMARY
[0015] The present invention enables rapid querying, selecting, and
identifying of a large number of radio frequency (RF) tags. This is
done by implementing an efficient state machine on each tag. The
tags power up in a default state (READY) where they do not transmit
or participate in an identification algorithm. A subset of the tags
in the field can be moved into a second state (SELECTED) by a
signal from the base station. In the SELECTED state the tags
transmit their unique identifier to the base station in an attempt
to identify themselves.
[0016] The process of moving the tags to the second state,
SELECTED, is based on the data in the tag data memory. With a
comparison unit and two tag commands, any arbitrarily complex
selection criteria can be realized to move a given tag into the
SELECT state (or back to the READY state).
[0017] Determining if any tags meeting certain criteria are in the
field is performed very efficiently since the invention does not
require individual tag identification. This is accomplished by each
tag processing one or more "group select" and/or "group unselect"
commands in sequence using control logic located on the tag. This
tag control logic determines whether the respective tag meets the
selection criteria.
[0018] Tags meeting the selection criteria participate in the
identification process. This identification process may be limited
to determining whether one or more tags are participating, but not
uniquely identifying individual tags.
[0019] The invention also simplifies the identification of tags in
a large group of tags. This is done by using one or more "group
select" and/or "group unselect" commands to select only the
relevant tags for identification. This allows the system to process
only tags which are of interest, i.e., meet the selection criteria.
This feature improves the speed at which the system can process
tags and allows the system to select subgroups of tags for
processing from very large numbers of tags.
[0020] Other protocols may be used with the present invention. In
one preferred embodiment, more than one tag simultaneously
communicating with the base station can be identified by using the
protocol described in U.S. patent application to S. Chan et al.
entitled "MULTIPLE ITEM RADIO FREQUENCY TAG IDENTIFICATION
PROTOCOL", now U.S. Pat. No. 5,550,547, which is herein
incorporated by reference in its entirety.
BRIEF DESCRIPTION OF THE DRAWINGS
[0021] FIG. 1 is a block diagram of the present system showing a
base station and a plurality of novel tags.
[0022] FIG. 2 is a drawing showing the concept of tag groups and
subgroups.
[0023] FIG. 3 is a block diagram of a preferred embodiment of the
novel tag of the present invention.
[0024] FIG. 4 comprises FIG. 4A which is a flow chart showing the
steps of an OR function performed in the tag and FIG. 4B is a flow
chart showing the steps of an AND function performed in the
tag.
[0025] FIG. 5 comprises FIG. 5A which is a block diagram showing
the format of a preferred embodiment of a "group select" command
and FIG. 5B which is a block diagram showing the format of a
preferred embodiment of a "group unselect" command sent out by the
base station.
[0026] FIG. 6 is a flow chart showing the steps performed by one
preferred embodiment of a novel base station algorithm.
DESCRIPTION
[0027] The system 100 is comprised of two types of hardware, a base
station 105 and a plurality of tags 150.
[0028] The base station 105 includes a microprocessor 110 running a
novel base station algorithm 115. The microprocessor has a duplex
connection to a radio frequency (RF) front end 120, which in turn
connects to an RF antenna 125. The resulting RF signal 130 is
broadcast to the tags. Base stations 105 of this type (without the
novel algorithm 115) are well known.
[0029] Each tag (typically 160) in the group 150 of tags contains a
tag antenna 162 which couples the RF signal 130 to the RF front end
164. This in turn connects to the tag control circuit 166. The
control circuit implements an algorithm 170, and interfaces to the
tag memory 168.
[0030] FIG. 2 shows the concept of tag groups 150 and subgroups
(210, 220, 230, 240, 250, and 260).
[0031] The plurality of tags 150 in the RF field 130 of the base
station 105 is represented by the 18 tags shown. A base station 105
is able to communicate with a tag (typically 160) in the RF field
130 of the base station 105 using the RF field 130 or signal 130.
Tags in the RF field 130 are said to be in the tag group 150.
[0032] A group select command can be used to select the subgroup
(for example, 210) from the tag group 150 and move it to a SELECTED
state using the algorithm 115 on the base station, algorithm 170 on
the tag, and the tag control logic 166 processing the commands 410
and 460. See FIG. 4.
[0033] Note that several different subgroups can be moved from a
READY state to a SELECTED state by sending a signal 130 from the
base station 105. The subgroups moved, i.e., the subgroups that
have tags that change state, are determined by criteria sent out by
the base station.
[0034] In essence, tags meeting any one of the selection criteria
of the group select commands are placed in the SELECTED state. In
the example above, tags meeting the first OR the second criteria
(i.e., tags in subgroups 210 and 220 of group 150) are selected,
forming the subgroup 230.
[0035] To illustrate, suppose that the plurality of tags 150
identify and/or are attached to clothing items. Further, suppose
that it is desired to determine whether there are any socks or
shirts in the RF field 130. Finally, suppose that the tag memory
168 has an address A10, with data D10 for socks and D11 for
shirts.
[0036] Socks or shirts are selected, like subgroup 230, of group
150 above by running the base station algorithm 115. Refer to FIGS.
4 and 6. The first step 605 would be to send a group select command
410 (received by the tags) with the following fields: [0037]
command 510--group select [0038] function 515--equals [0039]
address 520--including A10 [0040] mask 525--mask only A10 [0041]
data 530--D10 which would cause the subgroup 210 of socks to move
from the READY state to the SELECTED state.
[0042] The next step would be to send a group select command 410
(received by the tags) with the following fields: [0043] command
510--group select [0044] function 515--equals [0045] address
520--including A10 [0046] mask 525--mask only A10 [0047] data
530--D11 which would cause the subgroup 220, of tags associated
with shirts to move from the READY state to the SELECTED state.
Therefore, the subgroup 230, comprising subgroups 210 (socks) and
220 (shirts) is the logical OR (or union) of the two subgroups 210
of socks and 220 of shirts, and is now in the SELECTED state.
[0048] A group unselect command can move a subgroup back to the
READY state. The group unselect command performs a logical AND (or
intersection) function.
[0049] For example, suppose that it is desired to determine whether
there are any pale green pants in the RF field 130. Further,
suppose that the tag memory 168 has an address A10, with data D12
for pants and an address A20, with data D21 for pale green
colors.
[0050] The first step would be to send a group select command 410
(received by the tags) with the following fields: [0051] command
510--group select [0052] function 515--equals [0053] address
520--including A10 [0054] mask 525--mask only A10 [0055] data
530--D12 which would cause the subgroup 240 of pants to move from
the READY state to the SELECTED state.
[0056] The next step would be to send a group unselect command 460
(received by the tags) with the following fields: [0057] command
560--group select [0058] function 565--not equals [0059] address
570--including A20 [0060] mask 575--mask only A20 [0061] data
580--D21 which would cause the subgroup 250 of pants whose color is
not pale green to move from the SELECTED state to the READY state.
The subgroup 260, which is the logical AND of the two subgroups 240
of pants and not 250 of not pale green, is now in the SELECTED
state.
[0062] FIG. 3 is a block diagram of one typical preferred
embodiment of a tag 160 and further illustrates how the tag moves
between states.
[0063] Data enters and leaves the control block 166 through the RF
block 164.
[0064] Within the control block 166, the appropriate fields (see
description of FIG. 5 below) of the command sent from the base
station 105 are routed to an address register 305, a mask register
320, a function register 335, and a command data register 315. More
specifically, the value in the command field (510, 560) and
function field (515, 565) of the base station 105 signal 130 is
placed in the function register 335, the value in the data field
(530,580) of the signal 130 is placed in the command data register
315. The value in the mask field (525, 575 in FIG. 5) of the
command signal 130 is placed in the mask register 320, and the
value in the address field (520, 570) of the signal 130 is placed
in the tag address register 305.
[0065] In one preferred implementation, the data emanating from the
RF block 164 is serial digital data, and the registers
(305,320,315,335) are shift registers which are loaded in turn. The
registers could also be parallel loadable registers, with a field
of data being assembled before being loaded into a register. The
determination of where the data fields are loaded is determined by
the command field (510,560).
[0066] After the fields of the signal 130 are stored in the tag
registers, a group select or group unselect operation begins by
reading data from the tag data memory 168 into the tag data
register 310. The data read is determined by the value previously
loaded into the address register 305.
[0067] In one preferred implementation, the tag memory 168 holds
byte wide (8 bit) data, and the tag data register 310 is a parallel
in/serial out shift register. The memory could also be bit wide,
with the tag data register being a simple one bit storage device.
In a preferred embodiment, the mask indicates whether or not the
data should be acted upon. If it is to be acted upon, the tag data
310 and command data 315 are compared in the compare block 325. In
another preferred embodiment, the mask could be more complex. For
example, it could modify the type of function to be performed
rather than simply enabling a function.
[0068] In one preferred embodiment, the command data field
(530,580) is 8 bytes, the tag data memory 168 is one byte wide, and
the mask contains a logic 1 for each byte which should participate
in the comparison and a 0 for each byte which should be ignored. As
each byte in turn is read from the tag data memory 168 to the tag
data register 310 and routed to the compare unit 325, one bit of
the mask register 320 is used to determine whether the data should
be used or ignored.
[0069] Note that in a preferred embodiment, a mask of all zeros
says that all data is ignored. The result is a useful select all
tags or unselect all tags function.
[0070] The compare unit determines the results (greater than,
greater than or equal, equal, less than, less than or equal) as
data is received. The compare unit 325 computes the results for
each masked data item using standard digital arithmetic and passes
the results to the tag state machine 330. Once the compare
operation is complete, the tag state 330 is updated.
[0071] If required, the compare operation can be repeated multiple
times as data is received in the command data register and data is
read from the tag data memory to the tag data register.
[0072] For example, suppose that the address A1 reads 8 bytes and
the first three bytes (here these first three bytes might be the
address A10 described above) contain data D10 describing the item
as socks. To group select all socks, the command data field 410
would have the following fields [0073] command 510--group select
[0074] function 515--equals [0075] address 520--A1 [0076] mask
525--11100000 [0077] data 530--D10
[0078] Once the compare operation is complete, the tag state 330 is
updated. In this example, an 8 byte compare with mask is performed.
Alternatively, a different number of bits could be used, or the
mask could be bit wide.
[0079] The tag states in the tag state machine 330 are READY (the
tag is in the set of unselected tags) and SELECTED (the tag is in
the set of selected tags). A preferred state machine is a one bit
register. In one preferred embodiment, that tag might have other
states (for example, shut down, identified, error states, etc.)
with a correspondingly more complex state machine 330.
[0080] An additional path connects the tag data register back to
the RF section. This read data path can be used to identify and
classify individual tags in the base station. In a typical
implementation, the connection between the RF block 164 and the
control block 166 contains a transmit path 340 and a receive path
345.
[0081] Alternatively, there could be one bidirectional path.
[0082] FIG. 4A shows the tag 160 selection algorithm 170 in more
detail.
[0083] In step 410 the group select command is received by the tag
control logic.
[0084] In step 415, the conditions of the command are checked as
described in FIG. 3 using the tag data memory 168, the tag data
register 310, the mask register 320, the command data register 315,
and the compare block 325.
[0085] In step 420, the control logic decides whether the
conditions were met, using the compare block 325 and the function
register 335.
[0086] If the conditions (i.e. the compare conditions) were not
met, the tag state 330 does not change and the tag waits for the
next command.
[0087] If the conditions are met, step 425 changes the tag state
330 from READY to SELECTED. That is, the tag moves from the set of
unselected tags to the set of selected tags.
[0088] For example, to select all tags which indicate socks, the
group select command 410 would indicate a group select on equals,
with the address pointing to the potential socks data, the mask
selecting only the potential socks field within the address, and
the data indicating socks.
[0089] FIG. 4B shows the tag 160 unselection algorithm 170 in more
detail.
[0090] In step 460, the group unselect command is received by the
tag control logic.
[0091] In step 465, the conditions of the command are checked as
described in FIG. 3 using the tag data memory 168, the tag data
register 310, the mask register 320, the command data register 315,
and the compare block 325.
[0092] In step 470, the control logic decides whether the
conditions (i.e., the compare conditions) were met, using the
compare block 325 and the function register 335.
[0093] If the conditions were not met, the tag state 330 does not
change and the tag waits for the next command.
[0094] If the conditions are met, step 475 changes the tag state
330 from SELECTED to READY. That is, the tag moves from the set of
selected tags to the set of unselected tags.
[0095] For example, to unselect all tags which indicate colors
other than pale green, the group unselect command 460 would
indicate a group unselect on not equals, with the address pointing
to the color data, the mask selecting only the color field within
the address, and the data indicating pale green.
[0096] FIG. 5 shows preferred formats for a group select or group
unselect command received from the tag RF block 164 through the
path 340 (FIG. 3) initially sent from the base station 105.
[0097] The first field, 510 or 560, indicates the type of command,
select or unselect, field 510 for select commands and field 560 for
unselect commands. In a preferred embodiment, the tag implements
other commands, (e.g. read, write, etc.) and the field contains
multiple bits which describe the command. In a typical
implementation, the bits could be either coded or contain one bit
per command.
[0098] The next field, 515 (select) or 565 (unselect), indicates
the type of command function. In a typical implementation, the
functions includes equal, not equal, greater than, less than,
greater than or equal, or less than or equal. A more complex tag
could implement additional functions or combinations of functions
in the function register 335, the mask register 320, and the
compare block 325.
[0099] The next field, 520 (select) or 570 (unselect), contains the
tag memory address. Its exact format depends on the configuration
of the tag data memory. In a preferred embodiment, the address
would access 8 bytes of tag data memory, with individual bytes
selected via the mask field. In an alternative implementation, a
one byte address or a bit address could be used.
[0100] The next field, 525 (select) or 575 (unselect), holds the
mask. Its format also depends upon the tag data memory format and
the mask granularity desired. For example, the mask could be on a
bit by bit basis, or it could mask 8 bit bytes. In a typical
implementation, the mask enables or inhibits the compare block 325,
but more complex masking is also possible.
[0101] The final field, 530 (select) or 580 (unselect), holds the
command data. This is the data with which the tag data is compared.
Again, the format is dependent on the tag data memory configuration
and the application. A typical size could be one bit, an 8 bit
byte, or a number of bytes.
[0102] In a preferred embodiment, the format of the command
selection conditions 505 and 555 would be identical. In this way,
the tag control logic acts on the commands in the same manner, with
only the final state change dependent upon the actual command.
[0103] For example, the command to select pale green items would
be: [0104] command 510--group select [0105] function 515--equals
[0106] address 520--address including the color field in tag data
memory [0107] mask 525--mask of the actual color bytes in tag data
memory [0108] data 530--code indicating pale green
[0109] Similarly, the command to unselect pale green items would
be: [0110] command 560--group unselect [0111] function 565--equals
[0112] address 570--address including the color field in tag data
memory [0113] mask 575--mask of the actual color bytes in tag data
memory [0114] data 580--code indicating pale green
[0115] FIG. 6 describes the base station algorithm.
[0116] The first step, 605, is a group select command. This moves a
subset of tags from the READY state to the SELECTED state. This
group select step 605 can be repeated any number of times as
required, 615, to move more tags from READY to SELECTED. This
performs an OR function.
[0117] The next step, if required, is 610. This group unselect
command acts on the tags in the SELECTED state. A subset of them
moves back to the READY state. This performs an AND function. This
group unselect step 610 can be repeated any number of times as
required, 620, to move more tags from SELECTED to READY.
[0118] For example, to select socks and shirts, one group select
command 605 selects socks. Through 615, another group select
command 605 selects shirts. The result is that items which are
shirts OR socks are selected.
[0119] In another example, to select pale green pants, a group
select command 605 selects pants. Then a group unselect command 610
unselects not pale green. The result is that items which are pants
and pale green are selected.
[0120] After the tags now in the SELECTED state are accessed, the
entire selection process can be repeated as required, indicated by
the path 625.
[0121] In a typical application, accessing the tag could consist of
identifying individual items and reading a universal product code
(UPC).
[0122] This flexibility allows tags to be selected using an
arbitrarily complex logical equation.
[0123] For example, it would be possible to identify all pale green
pants sizes 30 through 34 manufactured in Conn. or mens socks
manufactured between January and March.
[0124] In one application, querying, a flag is set if the selected
subgroup has one or more members. In that application, tags
remaining in the SELECTED state after processing a group select or
group unselect command would transmit back to the base station.
[0125] The base station, in 630, would detect the presence or
absence of a return signal from one or more tags. If a signal is
detected, a flag is set in 635. If a signal is not detected, the
flag is cleared in 640. The flag state can be determined without
identifying individual tags. In other words, the base station has
queried the tag group to determine if any tags met certain
conditions (or criteria) without ever identifying a tag.
[0126] For example, an application could scan a display of pale
green pants for misshelved items, The application would first group
select on not pants. A set flag indicates the presence of not pants
tags, and the application knows that items are misshelved. If the
flag is not set, the application next group selects pants and then
group unselects pale green colors. A set flag now indicates the
presence of pants which are not pale green. Again the application
knows that items are misshelved.
[0127] In another application, the flag is an alarm. The selection
conditions are arranged by the application so that the only tags
remaining in the SELECTED state are those tags for which security
is being breached. In that case, in step 645, the application would
check the flag. If the flag is set, the application implements its
alarm procedure 650.
[0128] For example, an application could group select all retail
items, followed by a group unselect on items marked paid. A set
flag indicates unpaid items passing through the field, which can be
used by the application to trigger an alarm.
[0129] Given this disclosure, one skilled in the art could
construct other embodiments that are equivalent to those disclosed
here. These embodiments are within the contemplation of the
inventors.
* * * * *