RF tag reader and writer

An RF tag reader and writer is provided which includes: a communication unit that communicates with one or more RF tags as an information acquisition target using an anti-collision method of avoiding a collision between signals and that performs an acquisition process of acquiring tag information which is information stored in the one or more RF tags; and a communication success rate calculator that calculates a communication success rate of the communication unit with the one or more RF tags on the basis of the number of times by which the communication unit successfully acquires the tag information from the one or more RF tags within a predetermined period and the number of times by which the communication unit performs a communication process with the one or more RF tags in a state where the collision between signals is avoided within the predetermined period.

CROSS-REFERENCE TO RELATED APPLICATION

This application is based upon and claims the benefit of priority from Japanese Patent Application No, 2010-29450, filed on Feb. 12, 2010; the entire contents of which are incorporated herein by reference.

FIELD

The embodiments described in this specification relate to a tag information acquiring technique of acquiring (reading) information stored in RF tags by communications with the RF tags.

BACKGROUND

In recent years, an RFID (Radio Frequency Identification) system attracts attention and is introduced into, for example, a field of distributions. The RFID system includes an RF tag (also referred to as an “RFID tag”) including an IC chip and an antenna and being attached to a commodity and an RF tag reader and writer (hereinafter, simply also referred to as “reader and writer”) reading information stored in a memory in the IC chip of the RF tag in a contactless manner and writing information to the memory in the IC chip of the RF tag in a contactless manner.

An exemplary process in the RFID system is a batch information reading process (hereinafter, also referred to as “batch reading”) from plural RF tags in an inventory arrangement in a store. At this time, the reader and writer radiates electric waves over a range of several m and communicates with unspecified RF tags attached to plural commodities, whereby information stored in the RF tags is read all at once. Here, the RF tags as reading targets are generally arranged in a range spatially wider than a reading range of an antenna of the reader and writer. Accordingly, in the inventory arrangement, the information is acquired from the RF tags while moving the antenna of the reader and writer and changing a communication range.

Here, in the reader and writer according to the related art, a buzzer sounds when information can be acquired from an RF tag. A user can confirm whether the acquiring of information is successful depending on whether the buzzer sounds or not. Accordingly, in the inventory arrangement, the user goes around in a range of the inventory arrangement while checking whether the buzzer sounds and thus acquires information from the RF tags. Thereafter, the acquired information is compared with information which is stored in advance in a memory area of a server or the reader and writer and which is the same as the information stored in the RF tag in use (in a state where it is attached to a commodity), whereby it is checked whether any reading omission exists.

However, it is difficult for the user to accurately see the communication state or the reading omission only through the buzzer indicating that the reading is successful.

DETAILED DESCRIPTION

An RF tag reader and writer according to an embodiment of the invention is an RF tag reader including a reading omission determining unit that determines that there is a possibility of a reading omission of an RF tag belonging to a group when tag information is not acquired from the RF tag which belongs to the group and of which the tag information is not acquired, within a predetermined time after acquiring tag information corresponding to one of plural RF tags grouped into a predetermined group.

First Embodiment

Hereinafter, a first embodiment of the invention will be described with reference to the accompanying drawings. In the following description an identification ID (tag ID) is exemplified as information stored in an RF tag. For the purpose of easy understanding, it is assumed that a calculation period of a communication success rate is set to a round.

FIG. 1is a perspective view illustrating an RF tag reader and writer100according to the first embodiment of the invention. The reader and writer100according to the first embodiment includes an antenna device90having an antenna (not shown) built in a chassis92and a reader and writer body30. The antenna device90and the reader and writer body30are connected to each other via a coaxial cable94.

The antenna disposed in the antenna device90is not particularly limited and may be, for example, a patch antenna. The reader and writer100communicates with an RF tag (not shown) using electric waves radiated from the antenna. In the first embodiment, a grip member96is disposed in the chassis92, whereby a user can easily hold and carry the antenna device90when using the reader and writer100. However, the grip member96may not be provided.

FIG. 2is a functional block diagram illustrating an RF tag. The RF tag is attached to a commodity or a delivery, is a type of RF data carrier, and is an independent component in which a tag antenna capable of transmitting and receiving data and an IC chip are monolithically formed in a substrate. An IC chip900includes a memory903that stores a predetermined information signal (tag information), a power generator905that supplies power to units of the IC chip900by rectifying and stabilizing modulated electric waves received by a tag antenna901, a demodulator907that demodulates and sends the modulated electric waves (demodulates a communication signal) to a controller915, a modulator909that modulates data sent from the controller915and sends the modulated data (modulates a response signal) to the tag antenna901, a clock extractor911that extracts a clock signal from the modulated electric waves received by the tag antenna901and supplies the extracted clock signal to the controller915, a random number generator913that generates a random number of 0 to 2Q-1on the basis of a designated slot number value Q which is used to determine which identification slot the RF tag should output a response signal and which is designated by the modulated electric waves when receiving the modulated electric waves from the reader and writer100, and the controller915that controls the operation of the RF tag by the use of the memory903, the demodulator907, the modulator909, the clock extractor911, and the random number generator913.

The hardware configuration of the reader and writer body30will be described below. As shown inFIG. 3, the reader and writer body30includes a controller31, an RF unit33, an input unit35, a display unit37, and an interface unit39. Current is supplied to the hardware components and the antenna device90by a battery and a power source unit32which is shown inFIG. 1and which controls charging and discharging of the battery. Therefore, the reader and writer100according to the first embodiment serves as a portable reader and writer.

The controller31serves to perform various processes in the reader and writer100, such as communication with an RF tag and communication with an external device such as a PC (personal computer) (not shown) via a network, by executing a program stored in a memory unit311to be described later on the basis of an input from a user. For example, the controller controls the RF unit33in accordance with communication protocols so as to transmit an identification ID, which is acquired from the PC via the interface unit39to be described later or input from the user via the input unit35to be described later, as electric waves to the RF tag from the antenna device90. On the basis of power information stored in the memory unit311to be described later, the controller31also controls the RF unit33to be described later to radiate the electric waves from the antenna device90with transmission power indicated by the power information.

The RF unit33is a hardware component having a function of communicating with an RF tag via the antenna device90. The detailed circuit diagram of the RF unit33is shown inFIG. 4.

Here, when an RF tag is a passive tag not having a battery, the RF unit33first amplifies an unmodulated carrier by the use of a power amplifier331, outputs electromagnetic waves from the antenna via a directional coupler332, and thus starts up the RF tag. When data is transmitted to the RF tag, data is transmitted by modulating an amplitude of a signal encoded in accordance with the communication protocols by the use of an amplitude modulator333, amplifying the power by the use of the power amplifier331, and outputting electromagnetic waves from the antenna via the directional coupler332. When a signal is received from the RF tag, the RF tag controls (back-scatters) an impedance of an antenna terminal in a state where an unmodulated carrier is being transmitted from the reader and writer100, whereby the reflection state is changed and the change is detected by the antenna device of the reader and writer100. The received electromagnetic wave signal is orthogonally demodulated by the directional coupler332, a synchronization clock is generated by synchronization clock generators I (334) and Q (335), a head of data is detected by allowing preamble detectors I (336) and Q (337) to detect a predetermined preamble, and the data is decoded by decoders I (338) and Q (339), whereby the received data is obtained. Error detectors I (341) and Q (342) detect an error using an error detection code. InFIG. 3, when there is no error in any of the demodulation of an in-phase component and the demodulation of an orthogonal component in the orthogonal demodulation, it is determined that the data is received correctly. By the control of a transmission power controller of the controller31(specifically, by transmitting a transmission power setting signal for setting the transmission power), the transmission power can be set by the power amplifier331depending on the process type.

The input unit35is a hardware component allowing a user to input an instruction to the reader and writer100by the use of the input unit35, and specifically includes buttons (keys) or a touch pad capable of inputting the instruction by pressing them.

The display unit (display)37is a hardware component used to display a communication result with the RF tag for the user or to prompt the user to input an instruction, and specifically includes an LCD (Liquid Crystal Display). By constructing the display unit37as a graphical display mounted with a touch panel sensor, the input unit35and the display unit37may be formed in a single body.

The interface unit39is a hardware component that communicates with an external device such as a PC storing identification IDs via a network.

The functional blocks of the controller31will be described below. As shown inFIG. 5, the controller31includes the memory unit311, a communication unit312, a communication rate calculator313, a communication success rate calculator314, a communication stability determining unit315, a position determining unit316, and a grouping unit317.

The memory unit311stores acquired identification IDs or communication protocols (for example, communication protocol of an RF tag based on ISO 18000-6 type C) for transmitting the identification IDs using electric waves. In the first embodiment, the memory unit311also stores communication success rate reference information which is a reference for a communication success rate used for the determination of a communication state by the communication stability determining unit315to be described later. In the first embodiment, a communication rate or a communication success rate calculated for every round is stored therein (details of which will be described later).

The communication unit312controls the RF unit33to perform a communication with an RF tag using a slot aloha method of performing a communication process with an RF tag in plural time slots (hereinafter, simply referred to as “slots”) of a round. More specifically, the communication unit312in the first embodiment performs a communication process in accordance with the protocol of ISO 18000-6 type C.

The communication process of the communication unit312with an RF tag will be described in more detail.FIG. 6is a timing diagram illustrating the operation of the reader and writer100according to this embodiment.FIG. 7is a diagram illustrating a relationship among a position and a communication range of the antenna device90of the reader and writer100according to this embodiment and positions of RF tags. Here, the communication range inFIG. 7means a range in which it can accurately communicate with an RF tag when the RF tag is completely placed in the range and no collision is generated.

In the description of the first embodiment, it is assumed that four RF tags1to4exist as the RF tag and the number of slots per round is 4 (=2Q=22) on the basis of the protocol of ISO 18000-6 type C. Out of a Query command, a Query-Rep command, a Query-adjust command, an RN16transmission (RN16response), an Ack command, and an ID transmission (ID return) based on the ISO 18000-6 type C and shown inFIG. 6, an error can more easily occur in the RN16transmission and the ID transmission to be transmitted from the RF tags than in the Query command, the Query-Rep command, the Query-adjust command, and the Ack command transmitted to the RF tags from the communication unit312(that is, the reader and writer100) because the RN16transmission and the ID transmission are transmitted in a back-scattering manner. Since the amount of data in the ID transmission is generally greater than that in the RN16transmission, an error more easily occurs in the ID transmission in the state where there is no collision between the RF tags.

First, it is assumed that the antenna device90of the reader and writer100is located at a position A in rounds 1 and 2 and located at a position B in rounds 3 and 4. When the antenna device90is located at the position A, it is assumed that RF tag1, RF tag2, and RF tag4are within the communication range of the reader and writer100and RF tag3is placed at a boundary of the communication range.

InFIG. 6, first, the communication unit312of the reader and writer100starts transmitting electromagnetic waves. Since the electromagnetic waves are transmitted only to supply power to the RF tags, unmodulated carriers are transmitted. RF tags1to4are started up with the reception of the electromagnetic waves. Each RF tag communicating on the basis of the protocol of ISO 18000-6 type C has a flag (an inventoried flag) and the flag when each RF tag is started up is set to A.

The communication unit312transmits a Query command which is a response request command for requesting unspecified RF tags for responses. The Query command includes at least a parameter indicating that the number of slots per round is 4 and a parameter indicating that the RF tag having a flag of A is a target. RF tags1to4generate a random number and determine at what slot out of four slots of one round to respond, when receiving the Query command. Each RF tag also generates data RN16(corresponding to a response) when responding thereto. The slot and the RN16for response are determined depending on the random number generated by each RF tag, and particularly a value of the RN16varies depending on the RF tags. InFIG. 6, it is assumed that RF tag1responds at slot1, RF tag2and RF tag3respond at slot2, and RF tag4responds at slot3.

In accordance with the ISO 18000-6 type C, only RF tag1returns the RN16at slot1. Since there is no collision, the communication unit312correctly receives the RN16transmitted from RF tag1. Then, the communication unit312transmits an Ack command (corresponding to a tag information request command) including the received RN16. When receiving the Ack command, the RF tag1checks whether the RN16transmitted from itself is included in the Ack command and determines that the Ack command is transmitted to itself when the RN16is included in the Ack command. In this case, RF tag1is a destination, RF tag1returns an identification ID to the communication unit312, and the communication unit312correctly receives the returned identification ID.

Then, the communication unit312transmits a Q-rep (Query-Rep) command and goes to the next slot (slot2). The Query-Rep command includes at least a parameter indicating the flag (A) as described above. Here, RF tag1having transmitted the identification ID at slot1changes the flag to B and stops its response. RF tags2to4receive the Query-Rep command and acquire information indicating that the slot is changed to slot2. InFIG. 6, since RF tag2and RF tag3transmit the RN16at the same time, a collision occurs and thus the reader and writer100cannot correctly receive data.

Since the communication unit312cannot correctly receive the RN16within a predetermined time, the communication unit transmits a Q-rep (Query-Rep) command again and goes to slot3. RF tags2to4receive the Query-Rep command and acquire information indicating that the slot is changed to slot3. RF tag4transmits an RN16, receives an Ack command, and returns an ID, similarly to RF tag1at slot1.

Then, the communication unit312transmits a Query-Rep command and goes to the next slot (slot4). Similarly, RF tag4changes its flag to B and stops its response. RF tags2and receive the Query-Rep command and acquire information indicating that the slot is changed to slot4. In the example shown inFIG. 6, no tag transmits the RN16at slot4.

The communication unit312goes to the next round (round 2) and transmits a Query command. Similarly, the Query command includes at least a parameter indicating that the number of slots per round is 4 and a parameter indicating that an RF tag having a flag of A is a target.

RF tag1and RF tag4have a flag of B and thus stop their transmission. When receiving the Query command, RF tag2and RF tag3generate a random number, determines at what slot out of four slots of a round to respond, and generates a data RN16for response, similarly to round 1. InFIG. 6, it is assumed that RF tag2responses at slot1and RF tag3responses at slot2. Similarly, RF tag2transmits the RN16, receives an Ack command, and returns an identification ID, and the communication unit312correctly receives the identification ID.

The communication unit312transmits a Query-Rep command and goes to the next slot (slot2). Similarly, RF tag2changes the flag to B and stops its response. RF tag3receives the Query-Rep command and acquires information indicating that the slot is changed to slot2. Similarly, RF tag3transmits the RN16, receives an Ack command, and returns an identification ID. An example is shown where the communication unit312cannot correctly receive the identification ID returned by RF tag3at slot2of round 2. The example where the identification ID cannot correctly be received includes an example where the error detectors341and342shown inFIG. 4detect an error using an error detection code such as a CRC (Cyclic Redundancy Check) code included in the data about the returning of the identification ID or an example where the preamble detectors336and337shown inFIG. 4do not detect a preamble within a predetermined time. In this way, when the identification ID cannot correctly be received, the communication unit312transmits a Nak command indicating that the ID cannot correctly be received from RF tag3. RF tag3receives the Nak command.

The communication unit312transmits the Query-Rep command similarly and goes to slot3. RF tag3receives the Nak command and the flag is maintained in a state of A. At slot3, no RF tag responses. Similarly, at slot4, no RF tag responses.

The communication unit312goes to the next round (round 3) and transmits a Query command. As described above, the Query command includes at least a parameter indicating that the number of slots per round is 4 and a parameter indicating that an RF tag having a flag of A is a target. RF tag1, RF tag2, and RF tag4have a flag of B and thus stop their transmission. In round 3, the antenna device90of the reader and writer100moves to a position of B inFIG. 7and can satisfactorily communicate with RF tag3.

When the Query command is received, RF tag3generates a random number, determines at what slot out of four slots of a round to respond, and generates a data RN16for response, similarly to round 1.FIG. 6shows an example where RF tag responses at slot2. Since the processes from the transmission of the RN16to the transmission of the identification ID are similar to those of other RF tags, description thereof is not made. After slot3of round 3, no tag responses.

In this way, the communication unit312performs a communication processing with the RF tags using a slot aloha method of performing a communication process with an RF tag as an information acquisition target at each of plural time slots of a round, and transmits a response request command (such as a Query command) to the RF tags, acquires responses (RN16) transmitted from an RF tag with the reception of the response request command, transmits a tag information request command (Ack command) for requesting for transmitting tag information, which is information stored in the RF tag, to the RF tag having transmitted the acquired response, and acquires the tag information transmitted from the RF tag with the acquisition of the tag information request command, at each time slot.

In the first embodiment, the communication unit312stores the identification IDs acquired as described above in the memory unit311. The communication unit312includes a slot number information acquiring section322acquiring information (slot number information) indicating the number of slots nSL0(=2Q) per round in the course of the communication process with the RF tags, a communication number counter324generating information (communication number information) indicating the number of slots nACK0at which the Ack command has been transmitted in the communication process when the communication process of one round with the RF tags is finished, and a communication success number counter326generating information (communication success number information) indicating the number of slots nIDat which the identification ID is acquired in the communication process when the communication process of one round with the RF tags is finished. The communication unit312transmits the slot number information and the communication number information to the communication rate calculator313. The communication unit312transmits the communication number information and the communication success number information to the communication success rate calculator314.

The communication rate calculator313calculates a communication rate which is a rate of the number of time slots at which the communication with one RF tag is made in one round on the basis of the number of time slots at which the tag information request command is transmitted in one round and the number of time slots in one round.

Specifically, the communication rate calculator313considers the slot at which the reader and writer100transmits the Ack command as a slot at which individual communication is made and calculates the communication rate on the basis of the acquired slot number information and the acquired communication number information. In the protocol of ISO 18000-6 type C, it is prescribed that an RF tag corresponding to details of an Ack command should return an identification ID when the reader and writer100(the communication unit312) transmits the Ack command. Accordingly, the slot at which the reader and writer100transmits the Ack command can be considered as a slot at which the individual communication with a specific RF tag is made. The communication rate calculator313calculates the communication rate aACK=nACK/nSL0in a round on the basis of the number of slots nSL0and the communication number nACKin a round acquired from the communication unit312.

In the example shown inFIG. 6, the communication rate calculator313calculates the communication number as nACK=2 and the communication rate as aACK=2/4=0.5 in round 1. Similarly, the communication rate calculator313calculates nACK=2 and aACK=2/4=0.5 in round 2, calculates nACK=1 and aACK=1/4=0.25 in round 3, and calculates nACK=0 and aACK=0/4=0 in round 4 and the subsequent rounds.

The communication success rate calculator314calculates the communication success rate aID=nACK0with the RF tags in round 1 on the basis of the number of time slots nACK0at which an Ack command for requesting for transmitting the tag information is transmitted from the communication unit312in the communication process of the communication unit312with the RF tags and the number of time slots nIDat which the identification ID is acquired from the RF tags as a response to the Ack command.

Specifically, the communication success rate calculator314acquires communication success number information indicating the number of time slots nIDat which the reception of the identification ID is successful in round 1 and communication number information indicating the number of time slots nACK0at which the Ack command is transmitted in the round from the communication unit312. Here, nACK0is the same as the number of times by which the RF tags transmit the identification ID as a response. Therefore, the communication success rate calculator314calculates the communication success rate per round as aID=nID/nACK0.

In the example shown inFIG. 6, the communication success rate calculator314calculates the communication success number as nID=2, the communication number as nACK=2, the communication success rate as aID=2/2=1 in round 1. Similarly, the communication success rate calculator314calculates nID=1, nACK=2, and aID=1/2=0.5 in round 2, calculates nID=1, nACK=1, and aID=1/1=1 in round 3, and calculates nID=0, nACK=0, and aID=0/0=0 in round 4.

In the protocol of ISO 18000-6 type C, after the reader and writer100transmits the Ack command, the number of RF tags returning an ID is 1. Therefore, after transmitting the Ack command, the collision with another RF tag does not occur in the slot. Accordingly, the communication success rate aIDis a value indicating the communication state with the RF tag of which a one-to-one communication (individual communication) with the RF tag reader and writer is established and is a value from which an error factor due to the collision is excluded.

In the example shown inFIG. 6, for the purpose of easy understanding, the reader and writer100transmits the Ack command only once at the slot at which the Ack command is transmitted. However, the invention is not limited to this configuration, but the reader and writer100may repeatedly transmit the Ack command at the same slot when an error is detected in receiving the identification ID. In this case, the number of times by which the first Ack command is transmitted at each slot corresponds to the communication number.

The communication success rate calculator314calculates the communication success rate as aID=nID/nACKon the basis of the communication success number nIDand the number of times nACKby which the Ack command is transmitted in a calculation period (for example, one round), when the Ack command is transmitted plural times at one time slot.

Accordingly, in the first embodiment, the communication number counter324of the communication unit312together performs a process of generating the communication number information and a process of generating information (Ack command transmission number information) on the number of times by which the Ack command is transmitted. Therefore, the communication number counter324can be referred to as an Ack command transmission number counter.

The communication stability determining unit315acquires the communication success rate reference information which is stored in the memory unit311and which is a reference for the communication success rate aID, and determines whether the communication state with the RF tag is good on the basis of a comparison result of the communication success rate aIDcalculated by the communication success rate calculator314with the communication success rate reference information (communication state determining process). Specifically, the communication stability determining unit315determines that the communication state is good when the communication success rate aIDis equal to or greater than the communication success rate reference designated by the communication success rate reference information. The communication stability determining unit315determines that the communication state is not good when the communication success rate aIDis less than the communication success rate reference designated by the communication success rate reference information.

In the first embodiment, the communication stability determining unit315does not perform the communication state determining process on the round in which the communication rate calculated by the communication rate calculator313is 0. The communication stability determining unit315performs the communication state determining process on the round in which the communication rate calculated by the communication rate calculator313is greater than 0.

An example of the communication success rate reference information stored in the memory unit311is shown inFIG. 8. InFIG. 8, in the round in which the communication rate is 0, the communication stability determining unit315determines that no RF tag exists in the communication range or the reading is finished (determination result1) and thus does not determine the communication state (that is, does not determine the communication state but considers the communication state as determination result1). When the communication rate is greater than 0 but the communication success rate is less than the reference, the communication stability determining unit315determines that an RF tag responding exists but the communication state is not good (determination result2) When the communication rate is greater than 0 and the communication success rate is equal to or greater than the reference, the communication stability determining unit315determines that an RF tag responding exists and the communication state is good (determination result3).

In the first embodiment, the determination results are correlated with notification details to be notified to a user via the display unit37and are stored in the memory unit311as a communication success rate determination table including the communication success rate reference information. The controller31displays the notification details stored in the communication success rate determination table in correlation with the determination results on the display unit37, when the communication stability determining unit315performs the communication state determining process (more specifically, when the controller31receives a notification that the determination results are stored in the memory unit311from the communication stability determining unit315). In the first embodiment, the controller31displays the communication rate and/or the communication success rate along with the notification details on the display unit37.

As shown inFIG. 9, the communication stability determining unit315stores the determination result in the memory unit311in correlation with the round, the communication rate, and the communication success rate. The communication stability determining unit315notifies the position determining unit316that the communication state is determined. InFIG. 9, the reference for the communication success rate is set to 0.7.

The position determining unit316acquires the determination result from the memory unit311on the basis of the notification from the communication stability determining unit315, and determines that the position of the antenna (antenna device90) of the reader and writer100is shifted between the rounds when the determination result by the communication stability determining unit315varies between the successive rounds.

Specifically, when the communication state is changed from the state where “the communication state is not good (determination result2)” to the state where “the communication is good (determination result3)” or when the determination result by the communication stability determining unit315is changed from “no RF tag exists around or the reading from the RF tag is finished (determination result1)” to “the communication state is good (determination result3)”, the position determining unit316determines that the position of the antenna of the reader and writer100is shifted. Accordingly, it is possible to detect the movement of the antenna. The controller31may display the determination result by the position determining unit316on the display unit37. Accordingly, a user can see that the reader and writer100correctly detects the movement or that the reader and writer100correctly works. It is possible to obtain the position information in addition to the identification ID of the RF tag.

In the first embodiment, the position determining unit316notifies the grouping unit317that the position of the antenna is shifted.

The grouping unit317groups the identification IDs acquired from one or plural RF tags out of the identification IDs stored in the memory unit311before the shift in position of the antenna on the basis of the notification that the position of the antenna is shifted from the position determining unit316, and stores the grouped identification IDs in the memory unit311.

Specifically, the grouping unit317groups and stores the identification IDs not having been grouped but stored in the memory unit311before the notification from the position determining unit316, as shown inFIG. 10. That is, the grouping unit317groups the acquired identification IDs on the basis of the shift in position. Accordingly, the user can easily recognize the identification IDs received at the same position.

In the first embodiment, as shown inFIG. 10, the grouping unit317can easily confirm a moving path of the antenna and can intuitively recognize the path, by storing the grouped identification IDs in a predetermined memory area in correlation with information on the grouping and storing order.

In the first embodiment, the controller31can specifically include a processing unit such as a CPU or an MPU mounted on the reader and writer body30, a RAM, and a ROM.

The flow of a communication process with an RF tag in the reading process (batch reading process) on unspecified RF tags, which is performed by the reader and writer100according to the first embodiment, will be described with reference toFIG. 11. In the following description, it is assumed that the magnitude of the transmission power from the reader and writer100is set in advance in the reader and writer body30. In the following description, it is assumed that the number of slots per round in the batch reading process is set in advance in the reader and writer100and the communication unit312performs the communication process corresponding to the set number of slots on the basis of the protocol of ISO 18000-6 type C. In the below-described flow of processes, a selective reading process or a selective writing process can be performed, but the processes can be embodied using known methods and thus will not be described. The selective reading process and the like may not be performed.

First, in Act101, the controller31acquires process designating information indicating which of the batch reading, the selective reading, and the selective writing should be performed on the basis of a user's input. Specifically, the controller31generates a process designating picture shown inFIG. 12and displays the generated process designating picture on the display unit37. A user designates a desired process by the use of the input unit35on the basis of the process designating picture displayed on the display unit37. The control unit31acquires the process designating information by means of the user's designation using the input unit35. Here, the controller31acquires the process designating information which designates the batch reading process via the picture.

In Act102, the controller31sets the transmission power for the RF unit33on the basis of electric wave power information corresponding to the batch reading and being stored in the memory unit311. The controller31notifies the communication unit312of the controller31that the setting of the transmission power is finished.

In Act103, the communication unit312controls the RF unit33to radiate electric waves corresponding to the batch reading from the antenna device90so as to perform the batch reading and performs a process of acquiring information (identification IDs) stored in the RF tags. The communication unit312transmits the slot number information acquired from the memory unit311by the slot number information acquiring section322with the performing of the communication process, the communication number information generated by the communication number counter324with the end of the communication process in one round, and the communication success number information generated by the communication success number counter326with the end of the communication process in one round to the communication rate calculator313and the communication success rate calculator314(Act104; transmission of information on the slot number and the like). Specifically, the communication unit transmits the slot number information and the communication number information to the communication rate calculator313and transmits the communication success number information and the communication number information to the communication success rate calculator314.

In Act105, the communication rate calculator313calculates the communication rate from the slot number information and the communication number information when acquiring the slot number information and the communication number information. Then, the communication rate calculator313transmits the calculated communication rate to the communication stability determining unit315.

In Act106, the communication success rate calculator314calculates the communication success rate from the communication number information and the communication success number information when receiving the communication number information and the communication success number information. Then, the communication success rate calculator314transmits the calculated communication success rate to the communication stability determining unit315. The order for performing Act106and Act105is not particularly limited, and for example, Act106may be first performed.

In Act107, when acquiring the communication rate and the communication success rate, the communication stability determining unit315determines the communication state. The communication stability determining unit315stores the determination result in the memory unit311and notifies the controller31that the communication state is determined. The controller31displays the notification details corresponding to the communication state determination result shown inFIG. 8on the display unit37on the basis of the notification (Act108). In the first embodiment, the communication stability determining unit315also notifies the position determining unit316that the communication state is determined (to Act301).

The flow of the communication state determining process in the communication stability determining unit315according to the first embodiment will be described in detail with reference toFIG. 13.

First, in Act201, the communication stability determining unit315determines whether the acquired communication rate is 0. When it is determined that the communication rate is 0, the communication stability determining unit315does not perform the communication state determining process using the communication success rate but determines the communication state as determination result1shown inFIG. 8(Act211). The communication stability determining unit315stores determination result1in the memory unit311in correlation with the round, the communication success rate, and the communication rate, as shown inFIG. 9.

On the other hand, when the communication rate is greater than 0, the communication stability determining unit315acquires the communication success rate reference information from the memory unit311and compares the acquired communication success rate reference information with the acquired communication success rate in Act202. When the acquired communication success rate is smaller than the communication success rate reference, the communication stability determining unit315determines the communication state as determination result2shown inFIG. 8(Act203). The communication stability determining unit315stores determination result2in the memory unit311in correlation with the round as shown inFIG. 9. On the other hand, when the acquired communication success rate is equal to or greater than the communication success rate reference, the communication stability determining unit315determines the communication state as determination result3shown inFIG. 8(Act204). The communication stability determining unit315stores determination result3in the memory unit311in correlation with the round as shown inFIG. 9.

The flow of the position determining process and the identification ID grouping process based on the position determining process will be described with reference toFIG. 14.

First, in Act301, the position determining unit316acquires the determination result of the communication state from the memory unit311and determines whether the determination result by the communication stability determining unit315varies between successive rounds, when it is notified that the communication state is determined. When the determination result does not vary between the successive rounds, the position determining unit316determines that the position of the antenna of the reader and writer100is not shifted and ends the flow of processes (Act311). On the other hand, when it is determined that the determination result by the communication stability determining unit315varies between the successive rounds, the position determining unit316determines that the position of the antenna of the reader and writer100is shifted (Act302). Then, the position determining unit316notifies the grouping unit317that the position of the antenna is shifted.

In Act303, the grouping unit317groups the identification IDs, which are acquired before the determination that the position of the antenna is shifted and are stored in the memory unit311in a non-correlated state (a non-grouped state), and stores the grouped identification IDs in the memory unit311, when receiving the notification that the position of the antenna is shifted from the position determining unit316.

According to the first embodiment of the invention, it is possible to more accurately see the communication state of the reader and writer100on the basis of the calculated communication success rate. Specifically, when it is not possible to acquire the tag information such as the identification ID, it is possible to determine whether the reason is based on the collision or other factors. By notifying the user of the communication success rate via the display unit37or the like, the user can recognize the communication state in real time.

Second Embodiment

A second embodiment of the invention will be described below. The elements common to the first embodiment are referenced by like reference numerals and description thereof is not repeated.

FIG. 15is a block diagram illustrating the configuration of the RF unit33according to the second embodiment of the invention. In the second embodiment, the RF unit33includes a received signal level detector having a function of detecting a received signal level (the intensity of a received signal) from an RF tag in addition to the configuration described in the first embodiment. The received signal level detector can be configured to detect and output a larger amplitude of the amplitudes of an I signal and a Q signal. Alternatively, since the I signal and the Q signal are orthogonal to each other, the received signal level detector may be configured to detect and output a vector-summed amplitude (=√(I2+Q2), where I and Q represent the amplitude of the I signal and the amplitude of the Q signal, respectively) thereof.

FIG. 16is a block diagram illustrating the configuration of a controller according to the second embodiment. In the second embodiment, the controller31includes a response rate calculator321in addition to the configuration described in the first embodiment. The communication unit312includes a received signal level information acquiring section323, a signal level determining section325, and a response number counter327.

The received signal level information acquiring section323acquires received signal level information, which is information on the intensity of the received signal transmitted from an RF tag, from the received signal level detector.

The signal level determining section325acquires signal level reference information which is a reference for the received signal level and which is stored in the memory unit311, and determines whether the received signal level transmitted from the RF tag is greater than the reference for every time slot on the basis of a comparison result of the signal level reference information and the received signal level information acquired by the received signal level information acquiring section323.FIG. 17is a diagram illustrating an example of the signal revel reference information in the second embodiment. In the time slot at which it is determined that the received signal level of an electric wave is greater than the reference, the signal level determining section325determines that a response is returned from the RF tag with the acquisition of a response request command (Query or Query-Rep) transmitted via the RF unit33from the communication unit312.

The response number counter327counts the number of slots per round at which the signal level determining unit325determines that the received signal level of an electric wave is greater than the reference, and generates information of the number of slots nRN16(response number information) at which it is determined that the received signal level is greater than the reference.

The response rate calculator321acquires the response number information generated by the signal level determining section325and the slot number information indicating the number of time slots nSL0(=2Q) in a round from the communication unit312and calculates a response rate aRN16=nRN16/nSL0indicating the rate of the number of time slots at which a response is transmitted from an RF tag. The response rate calculator321transmits the calculated response rate to the communication stability determining section315.

More specifically,FIG. 18is a timing diagram illustrating the communication with an RF tag in the second embodiment. In round 1, the response rate is aRN16=nRN16/nSL0=3/4=0.75. When a reference for the response rate is 0.1, the operation is completely the same as shown inFIG. 6. In the ISO 18000-6 type C, as described above, each RF tag generates a random number and determines a slot at which a response should be transmitted. In view of probability, all tags may collide with each other. When the response rate calculator is used, the communication state determining unit can determine that a tag responding exists even in this case.

When the response rate calculated by the response rate calculator321is 0, the communication stability determining unit315does not determine the communication state (does not determining the communication state and considers the communication state as determination result1) in the round corresponding to the response rate. On the other hand, the communication stability determining unit315performs the communication state determining process on a round in which the communication rate calculated by the communication rate calculator313is greater than 0, similarly to the first embodiment. The communication success rate reference information in the second embodiment is shown inFIG. 19. As shown inFIG. 20, the communication stability determining unit315stores the determination result in the memory unit311along with the communication success rate, the communication rate, and the response rate.

In the ISO 18000-6 type C, as described above, each RF tag generates a random number and determines a slot at which a response should be transmitted. Accordingly, all tags may collide with each other in a slot. As a result, particularly when the number of slots is set to be small, the identification ID may not be acquired in the corresponding round. In the second embodiment, the response rate calculator321calculates the response rate which is the rate of the number of slots in which a response is returned, and the communication stability determining unit315determines the communication state using the response rate.

Accordingly, when it is assumed that the communication success rate is low, a user can recognize that the reason of the low communication success rate is the collision between signals. Therefore, it is possible to further reduce the reading omission of the RF tags.

The flow of the communication process with an RF tag in the reading process (batch reading process) on unspecified RF tags, which is performed by the reader and writer100according to the second embodiment, will be described with reference toFIG. 21. The processes of Act401to Act403are common to Act101to Act103in the first embodiment and thus will not be described.

In Act404, the communication unit312stores the identification ID acquired in the communication process in the memory unit311and transmits information on the number of slots nIDat which the identification ID is successfully acquired in each round, the number of slots nACK0at which the Ack command is transmitted in each round, and the number of slots nSL0per round and information on the number of slots nRN16at which response is transmitted generated by the response number counter327to the communicate rate calculator313, the communication success rate calculator314, and the response rate calculator321(transmission of information of the number of slots or the like).

In Act405, the response rate calculator321calculates the response rate (aRN16=nRN16/nSL0) on the basis of the acquired slot number information and the acquired response number information. The response rate calculator321transmits the calculated response rate to the communication stability determining unit315.

In Act406, the communication rate calculator313calculates the communication rate (aACK=nACK0/nSL0) on the basis of the acquired slot number information and the acquired communication number information. The communication rate calculator313transmits the calculated communication rate to the communication stability determining unit315.

In Act407, the communication success rate calculator314calculates the communication success rate (aID=nID/nACK0) on the basis of the acquired communication number information and the communication success number information. The communication success rate calculator314transmits the calculated communication success rate to the communication stability determining unit315. Similarly to the first embodiment, the order of performing the processes of Act405to Act407is not particularly limited.

In Act408, the communication stability determining unit315performs the communication state determining process on the basis of the response rate, the communication rate, and the communication success rate. The communication stability determining unit315stores the determination result in the memory unit311and notifies the controller31that the communication state is determined. The controller31displays the notification details stored in the memory unit311in correlation with the determination results of the communication state on the display unit37on the basis of the notification (Act409). In the second embodiment, the communication stability determining unit315also notifies the position determining unit316that the communication state is determined (to Act301).

The flow of the communication state determining process by the communication stability determining unit315in the second embodiment will be described with reference toFIG. 22. The processes of Act502to Act506and the process of Act511are common to the processes of Act201to Act205and the process of Act211in the first embodiment and thus will not be described.

First, in Act501, the communication stability determining unit315determines whether the acquired response rate is 0. When the response rate is 0, the communication stability determining unit315does not perform the communication state determining process using the communication success rate but considers the communication state as determination result4shown inFIG. 19(Act512) The communication stability determining unit315stores determination result4in the memory unit311in correlation with the round.

On the other hand, when the response rate is not 0, the communication stability determining unit determines the communication state using the communication rate in Act502.

The flow of the response determining process by the communication unit312will be described (FIG. 23).

First, in Act601, the signal level determining section325acquires the received signal level information, which is information on the received signal level acquired from the received level detector of the RF unit33by the received signal level information acquiring section323by the communication of the communication unit312with an RF tag, from the received signal level information acquiring section323.

In Act602, the signal level determining section325acquires the signal level reference information from the memory unit311with the acquisition of the received signal level information and acquires the slot number information from the slot number information acquiring section322.

In Act603, the signal level determining section325determines whether the received signal level is equal to or greater than the reference on the basis of a comparison of the acquired received signal level information with the signal level reference information.

When the received signal level is equal to or greater than the reference, the signal level determining section325determines that a response from the RF tag is transmitted in the corresponding slot in Act604. In Act605, the signal level determining section325notifies the response number counter327that a response from the RF tag is transmitted (Act605).

On the other hand, in Act603, when it is determined that the received signal level is smaller than the reference, the signal level determining section325determines that a response from the RF tag is not transmitted in the corresponding slot (Act606).

In Act607, the signal level determining section325determines whether the slot in which the received signal level is determined is the final slot in the round. When the slot is not the final slot, the signal level determining section325repeatedly performs the process in Act603.

On the other hand, when the slot in which the received signal level is determined is the final slot in the round, the signal level determining section325notifies the response number counter327that it is the final slot (Act608). In response to the notification, the response number counter327generates the response number information using the notification in Act605.

According to the second embodiment of the invention, even when the collision between the RF tags frequently occurs, the communication stability determining unit can determine that an RF tag responding exists in the communication range. Accordingly, it is possible to further reduce the reading omission of the RF tags.

Although the first and second embodiments are described above, the invention is not limited to the embodiments but may be modified in various forms.

For example, although it is described in the first and second embodiments that the calculation period is a round, the calculation period may include plural rounds.

In the first and second embodiments, the power information for controlling the transmission power, the setting information for determining the communication stability such as the round number information, the communication success rate reference information, and the signal level reference information are stored in the memory unit311including a ROM or a RAM in the reader and writer body30. However, the invention is not limited to this configuration, but such information may be stored in a memory unit of an external device and may be acquired by the controller31via the interface unit39as needed.

In the first embodiment, the communication unit312may include a communication failure number counter calculating a communication failure number nIDERR=nACK−nIDin addition to the communication success number nID. The controller31may display the communication failure number calculated by the communication failure number counter on the display unit37. The controller31may further include a communication failure rate calculator calculating a communication failure rate nACK−nID)/nACKin the calculation period and may display the calculated communication error rate on the display unit37.

In the first and second embodiments, the Query command is transmitted in the first slot of a round in the communication process with the RF tag. According to this configuration, an RF tag which could not correctly receive the Query command at the first slot of a round can participate in the communication when it can correctly receive the Query command at the first slot of the next round.

On the other hand, when the communication stability determining unit determines that the communication state is good, the Query-adjust command may be transmitted as a response request command in a calculation period successive to the calculation period (for example, one round) in which it is determined that the communication state is good. The Query command includes the parameter Q directly designating the number of slots per round as described above, but the Query-adjust command includes a relative parameter indicating the same as the multiplier Q of the number of slots in the previous round or ±1 thereof and has a small amount of data than that of the Query command. Accordingly, by transmitting the Query-adjust command, it is possible to efficiently communicate for a short time.

In the first embodiment, the communication rate and the communication success rate are calculated and the communication state is determined on the basis of the rates. However, the invention is not limited to this configuration, but the communication state may be determined on the basis of the communication success rate. In this case, the communication success rate reference information may have, for example, the structure shown inFIG. 24.

In the second embodiment, the communication rate and/or the communication success rate may be calculated using the response rate. For example, when the response rate is 0, some of the communication rates and the communication success rates may not be calculated.

In the first and second embodiments, the number of slots at which the tag information cannot be received may be calculated.

In addition to the configuration described in the first and second embodiments, the controller31may further include a collision rate calculator. The collision rate calculator calculates the number of slots at which a collision occurs in a calculation period (for example, one round) as nCOL=nRN16−nACK0(where nRN16represents the number of slots at which a response is transmitted, including the number of slots at which the RN16is correctly received and the number of slots at which the RN16cannot be correctly received due to the collision or the like, and nACK0represents the number of slots at which the RN16is correctly received) and calculates a collision rate as a slot rate at which the collision occurs per calculation period as aCOL=nCOL/nSL0. When the communication stability determining unit315determines that aCOLis greater than a collision rate reference (which is acquired from a predetermined memory area of the memory unit11or the like), the controller31may increase the number of slots per round. Accordingly, it is possible to reduce the slot rate at which the collision occurs and thus to efficiently communicate with the RF tags for a short time.

The controller31may further include a non-response rate calculator. The non-response rate calculator calculates the number of slots at which a response is not transmitted in the calculation period (for example, one round) as nNA=nSL0−nRN16(where nSL0represents the number of slots per round 2Qand nRN16represents the number of slots at which a response is transmitted from the RF tags, including the number of slots at which the RN16is correctly received and the number of slots at which the RN16cannot be correctly received due to the collision or the like) and calculates a non-response rate as a rate of the number of slots at which a response is not transmitted per calculation period as aNA=nNA/nSL0. The communication stability determining unit315may acquire information representing a reference for the non-response rate stored in a predetermined memory area of the memory unit311or the like and the controller31may decrease the number of slots per round when it is determined that aNAis greater than the non-response rate reference. Accordingly, it is possible to reduce the number of slots at which a response is not transmitted and to efficiently communicate with the RF tags for a short time.

A program causing a computer constituting the RF tag reader and writer to execute the above-mentioned processes may be provided as a tag information acquiring program. In the first and second embodiments, the program for implementing the functions of the invention is stored in advance in the memory unit311disposed in the reader and writer, but the invention is not limited to this configuration. The same program may be downloaded to the reader and writer via a network or a computer-readable recording medium storing the same program may be installed in the reader and writer. The type of the recording medium is not particularly limited, as long as it can store a program and can be read by a computer. Specifically, examples of the recording medium include an internal memory device such as a ROM or a RAM built in a computer, a portable recording medium such as a CD-ROM, a flexible disk, a DVD disk, a magneto-optical disk, and an IC card, a database storing a computer program, another computer or a database thereof, and a transmission medium in a network. The functions installed in advance or downloaded may be embodied along with an OS (Operating System) or the like in the reader and writer. In the embodiments, it is assumed that the program includes programs dynamically generating execution modules.

As described in detail above, according to the configurations described in this specification, it is possible to more accurately see the communication state in the communication with the RF tags.