Sign up
Title:
Reader control system
United States Patent 8115595
Abstract:
An RFID reader control system and method is provided. A protocol for controlling an RFID reader and an RFID reader control unit of a mobile phone is defined. Messages, information, commands, responses, and notification are constructed and transmitted between the RFID reader and the RFID reader control unit.


Inventors:
Ryoo, Seung Hyup (Gyeonggi-do, KR)
Kim, Jin Tae (Seoul, KR)
Min, Sang Cheol (Seoul, KR)
Kim, Hee Seung (Seoul, KR)
Park, Jae Joon (Gyeonggi-do, KR)
Lee, Dong Hyun (Seoul, KR)
Kim, Yong Sam (Seoul, KR)
Application Number:
11/912646
Publication Date:
02/14/2012
Filing Date:
04/25/2006
Assignee:
LG Electronics Inc. (Seoul, KR)
Primary Class:
Other Classes:
235/375, 235/376, 235/377, 235/378, 235/379, 235/380, 235/381, 235/382, 235/382.5, 235/383, 235/384, 235/385, 340/10.2, 340/10.3, 340/10.31, 340/10.32, 340/10.33, 340/10.34, 340/10.4, 340/10.41, 340/10.42, 340/10.5, 340/10.51, 340/10.52, 340/10.6, 340/572.1, 340/572.2, 340/572.3, 340/572.4, 340/572.5, 340/572.6, 340/572.7, 340/572.8, 340/572.9
International Classes:
H04Q5/22; H04W4/12; H04W80/00; H04W99/00
Field of Search:
340/10, 340/572, 235/375-385, 370/349
View Patent Images:
US Patent References:
7932876Electro-optical device, method of driving the same, and electronic apparatusApril, 2011Jo et al.345/76
7884702Queued operations in HF/UHF RFID applicationsFebruary, 2011Drago et al.340/10.5
7873767Wireless IC memory, accessing apparatus for use of wireless IC memory, accessing control method for use of wireless IC memory, and wireless IC memory systemJanuary, 2011Moritani et al.710/74
20100289627Fully Secure Item-Level TaggingNovember, 2010McAllister et al.340/10.42
7835314Physical layer interface system and method for a wireless communication systemNovember, 2010Yee et al.370/310.1
20100248783MOBILE TERMINAL AND METHOD FOR PROVIDING TERMINAL RELATED INFORMATION IN POWER-OFF STATESeptember, 2010Jolivet455/558
7792043Devices, systems and methods for communicating with a PLCSeptember, 2010McNutt et al.370/242
7772963System and method for synchronization of data streamsAugust, 2010Davis
7768389Wireless user input device providing host link indicationAugust, 2010Frank340/531
RE41530Method and apparatus to select radio frequency identification devices in accordance with an arbitration schemeAugust, 2010Wood, Jr.370/329
7705712Smart card receiver and system for pulsed RF fieldsApril, 2010Kelly et al.340/10.1
20100027523Data communication interface and communication devices incorporating sameFebruary, 2010Chan et al.370/345
7667572RFID tag data acquisition systemFebruary, 2010Husak et al.
7656837Method for packet-switching interface for code division switching in a terrestrial wireless systemFebruary, 2010Gerakoulis370/329
20090282154CONTROL SYSTEM AND CONTROL METHOD, METHOD AND APPARATUS FOR PROCESSING INFORMATION, INFORMATION PROCESSING TERMINAL AND METHOD THEREOF, STORAGE MEDIUM, AND PROGRAMNovember, 2009Akashika et al.709/227
20090256684COMMUNICATIONS SYSTEM AND MEMORY CARDOctober, 2009Fukuda340/10.3
7603465Control system and control method, method and apparatus for processing information, information processing terminal and method thereof, storage medium, and programOctober, 2009Akashika et al.709/227
20090201529IMAGE FORMING SYSTEM, APPARATUS, METHOD AND CONTROL PROGRAMAugust, 2009Takahara358/1.15
7577261Wireless audio system using wireless local area networkAugust, 2009Liu et al.381/77
7573916Multi-function high-speed network interfaceAugust, 2009Bechtolsheim et al.370/542
RE40883Methods and apparatus for dynamic instruction controlled reconfigurable register file with extended precisionAugust, 2009Pechanek et al.712/210
7565391Binary digit multiplications and applicationsJuly, 2009Hu708/625
7546469Image forming apparatus, method for controlling writing data from the same to storage device, method for controlling reading data from storage device to the same, and replacement part thereforJune, 2009Suzuki et al.713/176
20090033493Method, System and Apparatus for Writing Common Information to a Plurality of Radio Frequency Identification (RFID) TagsFebruary, 2009Lin et al.340/572.1
20090006675Universal Serial Bus Dongle Device with Millimeter Wave Transceiver and System for use TherewithJanuary, 2009Rofougaran710/62
20090003828SYSTEMS AND METHODS FOR HOST IDENTIFICATIONJanuary, 2009So398/56
7471745Method and apparatus for channel quality metric generation within a packet-based multicarrier modulation communication systemDecember, 2008Anim-Appiah et al.375/324
20080262770INFORMATION RECORDING MEDIUM, AND PROCESS MANAGEMENT APPARATUS AND PROCESS MANAGEMENT SYSTEM USING THE INFORMATION RECORDING MEDIUMOctober, 2008Higaki et al.702/82
7437585Storage system and power control method therefor, adapter and power control method therefor, and storage controller and control method thereforOctober, 2008Nakano et al.713/330
20080141073BIOS debugging system and methodJune, 2008Shih et al.714/36
20080139117Power Control Apparatus and Method for Supporting Seamless MobilityJune, 2008Madine et al.455/41.2
20080133789Devices, systems, and methods regarding a PLCJune, 2008McNutt et al.710/30
20080125885Devices, system and methods for communicating with a PLCMay, 2008McNutt et al.700/81
7369635Rapid discrimination preambles and methods for using the sameMay, 2008Spital et al.375/368
20080094183IC MEMORY, AS WELL AS, ACCESSING APPARATUS AND VALIDITY TESTING METHOD FOR USE OF IC MEMORYApril, 2008Fukushima et al.340/10.51
20080068133ARTICLE MANAGING SYSTEMMarch, 2008Hashimoto et al.340/10.1
20080065792Custom branding of host application based on distributed storage of graphics elements in the attached accessoryMarch, 2008Wu et al.710/16
20080059659Wireless IC memory, accessing apparatus for use of wireless IC memory, accessing control method for use of wireless IC memory, and wireless IC memory systemMarch, 2008Moritani et al.710/8
7333479RFID system with packetized data storage in a mobile environment: methods, systems and program productsFebruary, 2008Jalkanen et al.370/352
20080010622SYSTEM AND METHOD FOR ANALYZING RESPONSE VALUES SUM OF DIFFERENTIAL SIGNALSJanuary, 2008Hsu et al.716/4
20070276984Data format for efficient encoding and access of multiple data items in RFID tagsNovember, 2007Schuessler711/100
20070229926COMMUNICATION DEVICE CAPABLE OF DISPLAYING PREVIEW OF TRANSMISSION DATAOctober, 2007Morisaki et al.358/527
7271674Automatic level control for radio frequency amplifiersSeptember, 2007Butenhoff et al.331/183
7257107Device and method for detecting unauthorized, “rogue” wireless LAN access pointsAugust, 2007Swier et al.370/338
20070171201Computer input deviceJuly, 2007Pi et al.345/157
20070096883Apparatus and method for modifying RFID tag data in portable terminalMay, 2007Kim340/10.51
7212121Wireless tag system, wireless tag access control device, wireless tag access control method, wireless tag access control program and wireless tagMay, 2007Hashimoto340/572.1
20070075834METHOD AND SYSTEM FOR COMMUNICATING WITH AND TRACKING RFID TRANSPONDERSApril, 2007Armstrong et al.340/10.1
20070030797Method of receiving of OFDM signal having repetitive preamble signalFebruary, 2007Baek370/208
20070024426IC tag, IC tag controlling method, and IC tag systemFebruary, 2007Akiyama et al.340/10.5
20070014341Optimized RFID/NFC BER testingJanuary, 2007Rowse et al.
20060274657METHOD FOR MEASURING SENSITIVITY OF DATA PACKET SIGNAL RECEIVERDecember, 2006Olgaard
20060174150Storage system and power control method therefor, adapter and power control method therefor, and storage controller and control method thereforAugust, 2006Nakano et al.713/330
7088246RFID tag and method for processing RFID dataAugust, 2006Fukuoka340/572.5
20060152217Method and system for electronic compass calibration and verificationJuly, 2006Withanawasam324/244
7054298Device and method for transmitting preamble of access channel in mobile communication systemMay, 2006Kim et al.370/342
7032080Plural station memory data sharing systemApril, 2006Mugitani et al.711/148
20060049250RFID system performance monitoringMarch, 2006Sullivan
20060044113Wireless tag system, wireless tag access control device, wireless tag access control method, wireless tag access control program and wireless tagMarch, 2006Hashimoto et al.340/10.1
20060026297COMPUTER SYSTEM WITH MULTIPLE DATA ACCESS CHANNELS AND CONTROL METHOD THEREOFFebruary, 2006Kung et al.709/239
20060006987Radio IC tag reader writer, radio IC tag system, and radio IC tag data writing methodJanuary, 2006Hashimoto et al.340/10.51
6985757Smart host power supply detection for PC card wireless modemJanuary, 2006Liu et al.455/558
20050283607Network security authentication methodDecember, 2005Zhang et al.713/170
6957219System and method of pipeline data access to remote dataOctober, 2005Lin et al.
20050195930Rapid discrimination preambles and methods for using the sameSeptember, 2005Spital et al.375/368
6946950MOBILE BODY DISCRIMINATION APPARATUS FOR RAPIDLY ACQUIRING RESPECTIVE DATA SETS TRANSMITTED THROUGH MODULATION OF REFLECTED RADIO WAVES BY TRANSPONDERS WHICH ARE WITHIN A COMMUNICATION REGION OF AN INTERROGATOR APPARATUSSeptember, 2005Ueno et al.340/10.1
6940392Method and apparatus for varying signals transmitted by a tagSeptember, 2005Chan et al.340/10.4
20050162256Method and system for acquiring maintenance information by an RFID tagJuly, 2005Kinoshita340/10.41
6912211CDMA to packet-switching interface for code division switching in a terrestrial wireless systemJune, 2005Gerakoulis370/329
20050108559Image forming apparatus, method for controlling writing data from the same to storage device, method for controlling reading data from storage device to the same, and replacement part thereforMay, 2005Suzuki et al.713/193
20050096031Radio communication system, radio communication device, radio communication method, and computer programMay, 2005Sugaya et al.455/422.1
20050030929Device and method for detecting unauthorized, "rogue" wireless LAN access pointsFebruary, 2005Swier et al.370/338
20050015536PERIPHERAL DEVICE HAVING A PERSONAL DISK USED FOR STORING DEVICE DRIVERSJanuary, 2005Lee710/313
20040264441RFID system with packetized data storage in a mobile environment: methods, systems and program productsDecember, 2004Jalkanen et al.370/352
6812824Method and apparatus combining a tracking system and a wireless communication systemNovember, 2004Goldinger et al.340/10.1
20040202137Method for CDMA to packet-switching interface code division switching in a terrestrial wireless systemOctober, 2004Gerakoulis370/335
6804578Real time total asset visibility systemOctober, 2004Ghaffari
20040160310Radio frequency identification deviceAugust, 2004Chen et al.340/10.2
6782044Radio interference detection and screening system for locomotive control unit radiosAugust, 2004Wright et al.
20040117423Signed integer long division apparatus and methods for use with processorsJune, 2004Shi et al.708/650
20040107246Control system and control method, method and apparatus for processing information, information processing terminal and method thereof, storage medium, and programJune, 2004Akashika et al.709/203
20040065733RFID tag and method for processing RFID dataApril, 2004Fukuoka235/435
20040032308Circuit package integrating passive radio frequency structureFebruary, 2004Cheung et al.333/26
6690979Intelligent appliance networkFebruary, 2004Smith
20030227392Context-aware and real-time item tracking system architecture and scenariosDecember, 2003Ebert et al.
20030223599Audio signal processing apparatus and audio signal processing methodDecember, 2003Abe et al.381/119
6590962Method of performing non-interactive resistive fault locationJuly, 2003Groessl et al.379/14.01
20020175805Method and system for communicating with and tracking RFID transpondersNovember, 2002Armstrong et al.340/10.31
20020174254Card type network interface, network conference terminal device and network conference systemNovember, 2002Kita et al.709/250
6430677Methods and apparatus for dynamic instruction controlled reconfigurable register file with extended precisionAugust, 2002Pechanek et al.712/210
6379058System for RF communication between a host and a portable printerApril, 2002Petteruti et al.
6343292System and method for providing text descriptions to electronic databasesJanuary, 2002Roach et al.1/1
6336142Methods and apparatus for downloading data between an information processing device and an external device via a wireless communications techniqueJanuary, 2002Kato et al.
6330971Radio frequency identification system and method for tracking silicon wafersDecember, 2001Mabry et al.
20010038032Method of controlling portable personal device having facilities for storing and playing digital contents by computer and portable personal device operation method thereforNovember, 2001Kang et al.
6209112Apparatus and method for reducing power consumption of an error-correcting decoderMarch, 2001Stevenson714/752
6172596System method and apparatus for identifying and communicating with a plurality of types of radio frequency communication devicesJanuary, 2001Cesar et al.340/10.41
6154486Preamble code structure and detection method and apparatusNovember, 2000Scott et al.375/142
6138228Protocol and bus link system between components of a micro-controllerOctober, 2000Douady712/33
6122505Communication system with base stations having test capabilitiesSeptember, 2000Genell et al.
5973613Personal messaging system and methodOctober, 1999Reis et al.
5952922In-building modulated backscatter systemSeptember, 1999Shober
5917840Protection against communications crosstalk in a factory process control systemJune, 1999Cheney et al.
5896375Short-range radio communications system and method of useApril, 1999Dent et al.
5793661Method and apparatus for performing multiply and accumulate operations on packed dataAugust, 1998Dulong et al.708/603
5686902Communication system for communicating with tagsNovember, 1997Reis et al.
5671020Method and apparatus for improved video filter processing using efficient pixel register and data organizationSeptember, 1997Law348/608
5668803Protocol for packet data communication systemSeptember, 1997Tymes et al.
5640002Portable RF ID tag and barcode readerJune, 1997Ruppert et al.
5619444Apparatus for performing analog multiplication and additionApril, 1997Agranat et al.708/835
5375252Paging radio communications system and methodDecember, 1994Hashimoto340/7.27
4730307Method and apparatus for local area networksMarch, 1988Hughes et al.370/445
Foreign References:
JP11338739December, 1999METHOD FOR PROVIDING DIAGNOSTIC INFORMATION
KR10-2000-0069897November, 2000
KR10-2005-0021612March, 2005
WO/2004/079970September, 2004SYSTEM AND METHOD FOR PASSING DATA FRAMES IN A WIRELESS NETWORK
WO/1920/000004September, 2004
Other References:
Martins Feldhofer (An authentication protocol in a security layer for RFID Smart Tags), (IEEE, May 12-15, 2004), p. 761.
“An Authentication Protocol in a Security Layer for RFID Smart Tags” (IEE Melecon 2004, May 12-15, 2004, Dubrovnik, Croatia); Martin Feldhofer Institute for Applied Information Processing and Communications (IAIK) Graz University of Technology, Inffeldgasse 16a, 8010 Graz, Austria; Email: Martin.Feldhofer@iaik.tugraz.at.
“An Ubiquitous Architectural Framework and Protocol for Object Tracking using RFID Tags” Pradip De, Kalyan Basu and Sajl K. Das; Center for Research in Wireless Mobility and Networking (CReWMaN) Department of Computer Science and Engineering University of Texas at Arlington, TX 76019-0015 [pradipde, basu, das]@cse.uta.edu.
Primary Examiner:
Bugg, George
Assistant Examiner:
Obiniyi, Paul
Attorney, Agent or Firm:
Birch, Stewart, Kolasch & Birch, LLP
Claims:
The invention claimed is:

1. A method of reading a data from a tag device, the method performed by a reading device and comprising: receiving, from a mobile processor by the reading device, a first command including a first value indicating a number of reading cycles; receiving, from the mobile processor by the reading device, a second command for instructing the reading device to perform a reading operation to read a plurality of tag devices automatically, the second command including a second value indicating a number of repeat cycles; calculating, by the reading device, a number of the reading operation by multiplying the first value and the second value; and performing, by the reading device, the reading operation according to the calculated number.

2. The method of claim 1, wherein the first command includes a first command-code value discerning a type of the first command and the second command includes a second command-code value discerning a type of the second command.

3. The method of claim 2, further comprising transmitting a first response message in response to the first command; and transmitting a second response message in response to the second command.

4. The method of claim 3, wherein the first response message includes a value the same as the first command-code value included in the first command, when the first command is performed successfully.

5. The method of claim 1, further comprising storing a result code value indicating a reason of failure when at least the first command and the second command is failed.

6. The method of claim 1, further comprising stopping the reading operation, when the reading operation is performed by the calculated number or when there is no tag device to be read.

7. A reading device configured to read data from a tag device, the reading device comprising a first interface unit configured to transmit/receive data to/from an external module; and a control unit configured to: receive, from the external module via the first interface unit, a first command including a first value indicating a number of reading cycles, receive, from the external module via the first interface unit, an second command for instructing the reading device to perform a reading operation reading a plurality of tag devices automatically, the second command including a second value indicating a number of repeat cycles, calculate a number of the reading operation by multiplying the first value and the second value, and perform the reading operation according to the calculated number.

8. The reading device of claim 7, wherein the first command includes a first command-code value discerning a type of the first command and the second command includes a second command-code value discerning a type of the second command.

9. The reading device of claim 8, wherein the control unit further transmits a first response message in response to the first command and transmits a second response message in response to the second command.

10. The reading device of claim 9, wherein the first response message includes a value the same as the first command-code value included in the first command, when the first command is performed successfully.

11. The reading device of claim 7, wherein the control unit further stores a result code value indicating a reason of failure when at least the first command and the second command is failed.

12. The reading device of claim 7, wherein the control unit further stops the reading operation, when the reading operation is performed by the calculated number or when there is no tag device to be read.

13. The method of claim 1, wherein the first command further includes delay time information that represents a delay between read operations.

14. The method of claim 1, wherein the second command further includes a first code value and a second code value, wherein the first code value instructs the reading device to perform the automatic read operation, and wherein the second code value indicates which memory part of which type of a tag device is to be read in the automatic read operation.

15. The method of claim 1, wherein the second command does not include an address of a tag device to be read in the automatic read operation.

16. The reading device of claim 7, wherein the first command further includes a delay time information that represents a delay between read operations.

17. The reading device of claim 7, wherein the second command further includes a first code value and a second code value, wherein the first code value instructs the reading device to perform the automatic read operation, and wherein the second code value indicates which memory part of which type of a tag device to be read in the automatic read operation.

18. The reading device of claim 7, wherein the second command does not include an address of a tag device to be read in the automatic read operation.

Description:

TECHNICAL FIELD

The present invention relates to a reader control system.

BACKGROUND ART

The ISO and EPC standards define a reader protocol that supports connection of an RFID reader to a host through a network. In RFID systems, an RFID reader is mounted on a mobile phone or attached to a mobile phone in a dongle configuration. Such RFID systems require a protocol that enables an RFID reader control unit of the mobile phone to control the RFID reader.

In mobile phone environments, an RFID system is employed between a processor (e.g., MPU and MCU) of a mobile phone and an RFID reader chip installed in the mobile phone. Alternatively, a reader protocol is employed between a mobile phone and an RFID reader attached onto the mobile phone in a dongle configuration. When an RFID reader is attached onto a mobile phone in a dongle configuration, the RFID reader and the mobile phone are connected by an interface unit such as UART or USB. In this case, an efficient protocol is needed between the RFID reader and the mobile phone.

The ISO and EPC standards provide protocols that are applied mainly for the case where an RFID reader is connected through a network. Therefore required is an RFID system including an RFID reader control protocol suitable for mobile phone environments.

DISCLOSURE OF INVENTION

Technical Problem

Accordingly, the present invention is directed to a reader control system that substantially obviates one or more problems due to limitations and disadvantages of the related art.

An object of the present invention is to provide a reader control system and method suitable for mobile terminal environments. In the system and method, a protocol for controlling a reader and a reader control unit of a mobile terminal is defined and messages, information, commands, responses, and notification are constructed and transmitted between the reader and the reader control unit.

Technical Solution

To achieve these objects and other advantages and in accordance with the purpose of the invention, as embodied and broadly described herein, there are provided commands and responses that are exchanged between a reader and a reader control unit such as a processor of a terminal.

In another aspect of the present invention, there are provided a reader control protocol format and respective fields that are used between a reader and a reader control unit such as a processor of a terminal.

In another aspect of the present invention, there are provided protocol messages, fields of each protocol message, and the content of each field, with respect to commands, responses, and notifications that are used in a reader control protocol that is performed between a reader and a reader control unit such as a processor of a terminal.

In a further aspect of the present invention, there is provided a method of using respective fields of a reader control protocol format that is exchanged between a reader and a reader control unit such as a processor of a terminal.

In a further aspect of the present invention, there is provided a method of constructing a message and information in a reader control protocol that is performed between a reader and a reader control unit such as a processor of a terminal.

In a further aspect of the present invention, there is provided a method of transmitting a message and/or information in a reader control protocol that is performed between a reader and a reader control unit such as a processor of a terminal.

In a further aspect of the present invention, there is provided a method of constructing and transmitting a protocol bit stream in a reader control protocol that is performed between a processor, a reader, and a reader control unit such as a processor of a terminal.

In a further aspect of the present invention, there is provided a method of constructing and storing a message and/or information in a reader control protocol that is performed between a processor, a reader, and a reader control unit such as a processor of a terminal.

In a further aspect of the present invention, there is provided a method of controlling and managing a reader in a reader control protocol that is performed between a processor, a reader, and a reader control unit such as a processor of a terminal.

In a further aspect of the present invention, there is provided a method of reading, writing, changing, querying, protecting, and killing (or deleting) a reader message and/or information in a reader control protocol that is performed between a processor, a reader, and a reader control unit such as a processor of a terminal.

In a further aspect of the present invention, there are provided a response and an error process to a message and/or information and the implementation and use method of additional functions, in a reader control protocol that is performed between a processor, a reader, and a reader control unit such as a processor of a terminal.

It is to be understood that both the foregoing general description and the following detailed description of the present invention are exemplary and explanatory and are intended to provide further explanation of the invention as claimed.

Advantageous Effects

According to the present invention, the present invention is directed a reader control system and method suitable for mobile terminal environments. In the system and method, a protocol for controlling a reader and a reader control unit of a mobile terminal is defined and messages, information, commands, responses, and notification are constructed and transmitted between the reader and the reader control unit.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this application, illustrate embodiment(s) of the invention and together with the description serve to explain the principle of the invention. In the drawings:

FIGS. 1 and 2 illustrate the configuration of mobile RFID systems to which the present invention is applied;

FIG. 3 illustrates a mobile RFID reader control protocol format according to an embodiment of the present invention;

FIG. 4 through 6 illustrates a payload type according to an embodiment of the present invention; and

FIGS. 7 through 83 illustrate mobile RFID reader control protocol message structures according to embodiments of the present invention.

BEST MODE FOR CARRYING OUT THE INVENTION

Reference will now be made in detail to the preferred embodiments of the present invention, examples of which are illustrated in the accompanying drawings. Wherever possible, the same reference numbers will be used throughout the drawings to refer to the same or like parts.

In the following embodiments of the present invention, a mobile terminal (e.g., a mobile phone) with an RFID reader control unit is taken as an example of a terminal with an RFID reader control unit.

FIG. 1 illustrates a mobile RFID system configuration when a mobile RFID reader is installed in a mobile phone. FIG. 2 illustrates a mobile RFID system configuration when a mobile RFID reader is attached to the outside of a mobile phone in a dongle configuration.

Referring to FIG. 1, a mobile phone 100 includes a mobile phone processor 110 and a chip-type or module-type mobile RFID reader 120. The present invention proposes a mobile RFID reader control protocol executed between the processor 110 and the RFID reader 120.

Referring to FIG. 2, a mobile phone 100 includes a mobile phone processor 110 and a receptacle connector 120. A mobile RFID reader dongle 200 includes a chip-type or module-type mobile RFID reader 210 and a receptacle connector 220. The RFID reader 210 is connected to the mobile phone 100 by the receptacle connectors 120 and 220. The present invention proposes a mobile RFID reader control protocol executed between the processor 110 and the RFID reader 210.

Terms in the embodiments of the present invention are based on the MRF document ‘Term Definition of Mobile RFID Service Standards’. For example, the term ‘Q’ is a parameter used in a tag based on the ISO 18000-6C standards. When a reader transmits the parameter Q to a tag, the tag generates (2Q−1) time slots and sends a response in synchronization with one of the (2Q−1) time slots.

[1] Format of Mobile RFID Reader Control Protocol

A mobile RFID reader control protocol according to an embodiment of the present invention includes a preamble, a header, a payload, and an end mark. FIG. 3 illustrates a format of a mobile RFID reader control protocol according to an embodiment of the present invention. A preamble includes information for indicating the start of a protocol message, which is used to discern protocol messages. For example, the preamble may be configured in 8 bits and may have a value of OxBB. A header includes information for indicating a message type, a corresponding code, and a payload length. That is, payload length information is stored in the header. Information received from an RFID tag is stored in the payload. An end mark includes information for indicating the end of a protocol message, which is used to discern protocol messages together with the preamble. For example, the end mark may be configured in 8 bits and may have a value of Ox7E.

[1.1] Preamble Field and End Mark Field

For example, in each protocol message, the preamble and the end mark each have a 8-bit data, which indicate the start and end of the protocol message. The preamble and the end mark are located at the start and end of the protocol message, respectively, and have a predetermined value. For example, the preamble may have a value of OxBB, and the end mark may have a value of Ox7E. It is preferable that the preamble and the end mark have a different value than those used in a message type field and a code field of the header.

[1.2] Header Field

The header includes three fields describing an RFID tag type, command/response/notification type and code, and a payload length. The message type field is used to discern a command that is transmitted from the processor to the reader and a response and a notification that are transmitted from the reader to the processor. The code field is used to discern a variety of types of command, response or notification. Also, the code field includes information about success or failure of command in response and notification. The payload length field includes information indicating the length of a payload located right after the header, which represents the length in byte.

[1.2.1] Message Type Field

The message type field includes information about which one of a command, a response and a notification in a protocol format, which may be represented in a total of 8 bits. The message type (e.g., command, response and notification) can be discerned using values shown in Table 1 below.

TABLE 1
Corresponding Code Value
Command/Response/Notification Type(Hexadecimal)
Command0x00
Response0x01
Notification0x02
Test Mode0x03
Reserved0x04-0xFF

As shown in Table 1, a code value indicating a command is 0x00, a code value indicating a response is 0x01, a code value indicating a notification is 0x02, a code value indicating a test mode is 0x03, and code values indicating “Reserved” are 0x04˜0xFF. The command, the response, the notification, and the test mode shown in Table 1 will be described in detail later.

[1.2.2] Code Field

A code field is used to discern the types of a command, a response, and a notification. There may be various commands to be processed by a mobile RFID reader. Also, there may be various responses to the commands and various notifications to be sent by the reader. Therefore, when a different code is assigned to each kind of command, response and notification, the reader can accurately discern them by referring to the message type field and the code field. For example, when a value 0x00 and a value 0x01 are respectively assigned to a message type field and a code field for a power control command, the reader can recognize a received command as the power control command by the assigned values.

[1.2.3] Payload Length Field

A payload length field indicates the length of a payload field located after a header field. For example, the payload length field may be composed of 16 bits. Here, the unit of length is byte. When a payload length is represented in byte using 16 bits, the maximum representable length becomes 65,536 bytes. This means that the maximum length of a payload cannot exceed 65,535.

[1.3] Payload Field

A payload field stores various types of data. The payload field may include arguments related to a command transmitted from the processor to the RFID reader, and various data contained in a response transmitted from the RFID reader to the processor. There may be various types of payloads suitable for respective commands and responses, such as payloads illustrated in FIGS. 4 through 6. FIGS. 4 through 6 illustrate Type A through Type X.

Each of the payloads illustrated in FIGS. 3 through 6 includes a specific field. The use of the specific field and the method thereof will be described in detail later. The generation and configuration of each payload type will now be described in detail. The number of bits and order mentioned in the following payload configurations are merely examples, and the present invention is not limited to this.

A payload Type A includes an 8-bit argument.

A payload Type B includes a variable-length argument.

A payload Type C is generated to include an 8-bit modulation index, an 8-bit byte mask, and an 8-bit address, which are transmitted in the order named.

A payload Type D includes a 3-bit target, a 3-bit action, a 2-bit MB, a 32-bit pointer, an 8-bit mask length, T, RFU (Reserved for Future Use), and a mask of maximum 25 bits, which are transmitted in the order named.

A payload Type E includes a 2-bit DR, a 4-bit M, a 2-bit TR, a 2-bit Sel, a 2-bit S, T, a 4-bit Q, and a 3-bit UpDn, which are transmitted in the order named.

A payload Type F includes a 16-bit argument 1 and an 8-bit argument 2, which are transmitted in the order named.

A payload Type G includes a 32-bit argument.

A payload Type H includes a 16-bit argument 1 and a variable-length argument 2, which are transmitted in the order named.

A payload Type I includes a 64-bit argument 1, a 16-bit argument 2, and a 16-bit argument 3, which are transmitted in the order named.

A payload Type J includes a variable-length argument 1, a 16-bit argument 2, and a 16-bit argument 3, which are transmitted in the order named.

A payload Type K includes a 16-bit argument.

A payload Type L includes a 64-bit UID, a 16-bit manufacturer, a 16-bit hardware type, a 48-bit memory layout, and a variable-length user data, which are transmitted in the order named.

A payload Type M includes a 64-bit UID, a 16-bit manufacturer, a 16-bit hardware type, an 8-bit EAC, an 8-bit AFID, an 8-bit SDF, an 8-bit USL, and an 8-bit ASL, which are transmitted in the order named.

A payload Type N includes a 16-bit TID bank length, a variable-length TID bank, a 16-bit UII (Unique Item Identifier) length, a 16-bit PC, a variable-length UII or UII set, and a variable-length user data, which are transmitted in the order named.

A payload Type O includes an 8-bit argument 1 and a 16-bit argument 2, which are transmitted in the order named.

A payload Type P includes a 32-bit access password, a 16-bit UII length, a variable-length UII, a 16-bit new UII length, a variable-length new UII, and a 16-bit PC, which are transmitted in the order named.

A payload Type Q includes a 64-bit UID, a 16-bit start address, a 16-bit length, and a variable-length user data, which are transmitted in the order named.

A payload Type R includes a 32-bit access password, a 16-bit UII length, a variable-length UII, a 16-bit start address, a 16-bit length, and a variable-length user data, which are transmitted in the order named.

A payload Type S includes a 64-bit UID, a 48-bit memory layout, a 16-bit user data length, and a variable-length user data, which are transmitted in the order named.

A payload Type T includes a 32-bit access password, a 16-bit UII length, a variable-length UII, a 16-bit new UII length, a variable-length new UII, a 16-bit PC, a 16-bit user data length, a variable-length user data, a variable-length reserved bank length, and a variable-length reserved bank data, which are transmitted in the order named.

A payload Type U includes a 32-bit access password, a 32-bit kill password, a 16-bit UII length, and a variable-length UII, which are transmitted in the order named.

A payload Type V includes a 64-bit UID and an 8-bit argument, which are transmitted in the order named.

A payload Type W includes a 32-bit access password, a 16-bit UII length, a variable-length UII, and a 24-bit lock data, which are transmitted in the order named.

A payload Type X includes a DR, a 2-bit M, TR, a 2-bit Sel, a 2-bit S, T, a 4-bit Q, and a 3-bit UpDn, which are transmitted in the order named.

The description of the foregoing payload types, the use of each field, and the use method thereof will be described in detail later.

[1.4] Endian Format and Transmission Order Format

All the fields constructing the mobile RFID reader control protocol format follow the big-Endian format. According to the big-Endian format, the most significant byte value is first written and then the least significant byte value is written. A preamble field, a header field, a payload field, and an end mark field are transmitted in the order named. In the header field, a message type field, a code field, and a payload length field are transmitted in the order named. In the payload field, a target field, an argument type field, a payload data length field, and a payload data and pending field are transmitted in the order named. In each field, the most significant byte is first transmitted.

[1.5] Method of Describing Small-Size Data in Fixed-Size Field

When a small-size data needs to be inserted into a protocol field larger than the small-sized data, the less significant bytes are first filled and then the remaining more significant bytes are filled with 0x00. In this case, the big-Endian format is also applied. For example, when a value of 12 needs to be inserted into a 16-bit length field, the less significant bytes are filed with 0x0C and the more significant bytes are filled with 0x00.

[2] Summary and List of Command, Response, and Notification

A protocol between a processor of a mobile terminal and an RFID reader can be classified into a command, a response, and a notification, which are defined in the ISO and EPC standards.

In the embodiment of the present invention, the command and the response always exist and operate in pairs. Only after a response to a command has been received, the next command is executed. Each command has a specific code, which is described in a code field of a header and represented in 8 bits. When a response is successful, a code of a corresponding command is described in a code field and a response-related content is described in a payload field. On the other hand, when a response is unsuccessful, a value of 0xFF is described in a code field and a result code is described in a payload field. A payload varies according to a command and a response. Detailed types of the payload will be described in detail later.

[2.1] Command and Response

In the embodiment of the present invention, commands and responses in a mobile RFID reader protocol are categorized into reader control/management, tag read, tag write, tag lock/unlock, tag kill, and additional functions. Table 2 below shows an example of a command list according to the present invention. In Table 2, the commands are classified into mandatory commands and optional commands. All the commands have the corresponding responses. Commands corresponding to a tag write category, a tag kill category, and a tag lock category must be implemented carefully. The reason for this is that such commands may change the contents of a tag. When these commands are wrongly used, security problems may occur to cause corresponding damages.

TABLE 2
TypeMandatory CommandOptional Command
Readercontrol/Reader Power ControlReaderGet Type B A/I
managementConnection ControlGet Reader InformationGetParametersSet Type B A/I
categorySignal StrengthSet SignalParametersGet Automatic
StrengthGet RegionSet RegionResetRead ParametersSet
ReaderGet Type C A/I Select ParametersSetAutomatic Read
Type C A/I Select ParametersGetParameters
Type C A/I Query-related
ParametersSet Type C A/I Query-related
Parameters
TagRead Type C UII BlockRead Type C UserRead Type B TIDRead
ReadCategoryDataRead Entire Type C TagStartType B User DataRead
Automatic ReadStop Automatic ReadEntire Type B Tag
TagWrite Type B UII SetWrite
WriteCategoryType C UII BlockWrite
Type B User DataWrite
Type C User DataWrite
Entire Type B TagWrite
Entire Type C Tag
TagKill Type C Tag
KillCategory
TagLock Type B TagLock
LockCategoryType C Tag
AdditionalFunctionStart Test ModeStop Test ModeStarGet Last Result
CategoryReceive TestStop Receive Test

[2.2] Mobile RFID Reader Control/Management Category

An RFID reader control/management command category includes commands shown in Table 3 below. The main commands relate to reader power control, reader connection control, get reader information, reader RF signal strength control, and reader filter function control. The reader power control command and the reset reader command, which are the most basic reader control commands, may be directly controlled by a hardware interface such as GIPO. In this case, the foregoing two commands may not be implemented separately.

TABLE 3
Code
Value
Command Name(Hexadecimal)Description of Command
Reader Power0x01Power on/off reader (Active/Sleep)
Control
Reader0x02Initialize or end communication
Connectionwith reader
Control
Get Reader0x03Get reader-related information (Reader
Informationat leasthave information about
model, manufacturer, S/N, usable
frequency, and supportable tag type)
Get Signal0x04Get RF signal strength of reader
Strength
Set Signal0x05Set RF signal strength of reader
Strength
Get Region0x06Get nation/region information of reader
Set Region0x07Set nation/region information of reader
Reset Reader0x08Immediately end all operations of
reader and initialize reader. Thereafter,
reader control requires using
Reader connection control command
Get Type B A/I0x09Get air interface parameters related
Parametersto Type B standard
Set Type B A/I0x0ASet air interface parameters related
Parametersto Type B standard
Get Type C A/I0x0BGet select parameters of air interface
Select Parametersrelated to Type C standard
Set Type C A/I0x0CSet select parameters of air interface
Select Parametersrelated to Type C standard
Get Type C A/I0x0DGet query-related parameters of air
Query relatedinterface related to Type C standard
Parameters
Set Type C A/I0x0ESet query-related parameters of air
Query relatedinterface related to Type C standard
Parameters
Get Automatic0x0FGet parameters related to automatic
read Parametersmode read
Set Automatic0x10Set parameters related to automatic
read Parametersmode read
Vendor Specific0x11-0x17Vendor can be defined
Reserved0x18-0x1Freserved

Referring to Table 3, the reader control/management category includes a get automatic read parameters command and a set automatic read parameters command for getting and setting commands related to an automatic read command. These commands operate according to preset parameters. These preset parameters include a read cycle indicating the number of times of performance of a read operation, and also include a read delay time indicating a delay time between read operations when the reader performs a read operation more than two times.

[2.3] Tag Read Category

A tag read category includes commands shown in Table 4 below. These commands are mainly used to read the specific ID of a tag (TID), a UII set (e.g., mCodes of MRF and EPC codes indicating things), and a user memory bank area.

TABLE 4
Code
Value
Command Name(Hexadecimal)Description of Command
Read Type B TID0x21Read 8th through 16th address values
and TID of ISO 18000-6B Tag
Read Type C UII0x22Read UII block of ISO 18000-6C Tag
Block(UII or UII Set and PC are readed)
Read Type B User0x23Read user memory bank of
DataISO 18000-6B Tag
Read Type C User0x24Read user memory bank of
dataISO 18000-6C Tag
Read Entire Type0x25Read all area of ISO 18000-6B Tag
B Tag
Read Entire Type0x26Read all area of ISO 18000-6C Tag
C Tag
Start Automatic0x27Perform automatic mode read operation
Read(applicable to the above 6 commands)
Stop Automatic0x28Stop automatic mode read operation
Read
Vendor Specific0x29-0x37Vendor can be defined
Reservedreserved

Referring to Table 4, the tag read category further includes commands for automatically reading a plurality of successive tags. The commands related to the automatic read operation include a start automatic read command and a stop automatic read command.

The start automatic read command is configured to designate codes (0x21˜0x26) of read commands to be repeated and a repeat cycle, which indicates which number of times a read operation of a read cycle designated in the set automatic read parameters command needs to be repeated. That is, the total number of times of a read operation of the RFID reader equals Read cycle×Repeat cycle. When a repeat cycle is an invalid value, a response indicating a wrong value is generated in a result code. When a read operation has been performed by the repeat cycle or there is no tag to be read, the RFID reader automatically stops a read operation.

The stop automatic read command is used to stop the read operation that is being performed by the start automatic read command.

Most commands cannot be executed during the automatic read operation. If such a command is to be executed, the command is regarded as failed and the result code receives 0x0D of Automatic Read in Operation. Examples of commands executable during the automatic read operation are reset reader, get signal strength, set signal strength, and stop automatic read.

Data obtained from an RFID tag by a tag read command are transmitted to the processor of the terminal through a notification or a response to a command. In the embodiment of the present invention, a buffer function of storing data obtained from a tag by a reader chip is set to be optional. However, when the buffer function needs to be implemented, a vendor-specific command code area of the additional function category must be used and the implementation must be based on the HAL API standards.

[2.4] Tag Write Category

A tag write category includes commands shown in Table 5 below. These commands are used to write an ID code, a user memory bank area, and additional information in the tag.

TABLE 5
Code
Value
Command Name(Hexadecimal)Description of Command
Write Type C UII0x41Write UII block of ISO 18000-6C
BlockTag (UII set, PC
and CRC values must be written)
Write Type B User0x42Write user memory bank area of
DataISO 18000-6B Tag
Write Type C User0x43Write user memory bank area of
DataISO 18000-6C Tag
Write Entire Type0x44Write entire content of
B TagISO 18000-6B Tag
Write Entire Type0x45Write entire content of
C TagISO 18000-6C Tag
Vendor Specific0x46-0x57Vendor can be defined
Reserved0x58-0x5Freserved

[2.5] Tag Kill Category

A tag kill category includes commands shown in Table 6 below. These commands are used to kill (erase) the contents of a tag.

TABLE 6
Code
Command NameValue(Hexadecimal)Description of Command
Kill Type c Tag0x61Kill Type C Tag
Vendor Specific0x62-0x77Vendor can be defined
Reserved0x78-0x7Freserved

[2.6] Tag Lock Control Category

A tag lock control category includes commands for controlling a lock function for preventing the contents of a tag to be changed or erased, which are shown in Table 7 below.

TABLE 7
Code
Command NameValue(Hexadecimal)Description of Command
Lock Type B Tag0x81Control lock of ISO 1800-6B Tag
Lock Type C Tag0x82Control lock of ISO 1800-6C
Tag
Vendor Specific0x83-0x97Vendor can be defined
Reserved0x98-0x9Freserved

A lock command is configured such that different commands are assigned to tags. Also, arguments necessary for the lock command are based on the air interface standards.

[2.7] Additional Function Category

An additional function category includes commands for additional functions, which are shown in Table 8 below.

TABLE 8
Code
Command NameValue(Hexadecimal)Description of Command
Get Last Result0xA1Reader gets the last event
Stat Test Mode0xA2Convert mode of reader into
test mode
Stop Test Mode0xA3Stop test mode of reader
Stat Receive Test0xA4Start count of successfully-
received air interface packet to
measure receive sensitivity
Stop Receive Test0xA5Stop count of successfully-
received air interface packet
for measurement of
receive sensitivity
Vendor Specific0xA6-0xB7Vendor can be defined
Reserved0xB8-0xFEreserved

The additional function category includes convenience-providing functions other than basic contents for processing a tag by the reader. These include a filter function of the reader and commands for getting and setting the tag access status of the reader. The additional function category further includes commands for starting or ending a test mode. A start receive test command and a stop receive test command for measurement of receive sensitivity can be used only in the test mode. The test mode will be described in detail later.

[2.8] Result Code

A result code is used for a response to a command. The result code indicates results of both success and failure. For the case of Success, a code value of a corresponding command is inserted into the code field of the header of a response protocol message. For the case of Failure, a value of 0xFF is inserted. Also, an 8-bit result code is inserted into a payload data section. This facilitates discrimination between contents of errors when commands are incorrectly executed. A result code 0x00 indicates success, which is used in case that no separate result value exists when a command is successful. Table 9 below illustrates the types of results and corresponding codes.

TABLE 9
Error TypeError CodeDescription
Success0x00Indicates success of command
Power Control Failure0x01Power control on/off operation
is failed
Connection control0x02Connection control operation
Failureis failed
Cannot Get Reader Info0x03Reader ID cannot be set or got
Cannot Get Signal0x04Signal strength cannot be got
Strength
Signal Strength Control0x05Signal strength cannot be set
Failure
Reader Filter Control0x06Reader Filter cannot be control
Failure
Cannot Get Region0x07Region information of reader
cannot be got
Region control Failure0x08Region of reader cannot be set
Read Failure0x09Read operation is failed
Automatic Read Failure0x0AAutomatic mode read operation
is failed
Automatic Read in0x0BAutomatic read is already
Operationin operation
Cannot Stop Automatic0x0CAutomatic mode read cannot
Readbe stopped
Not in Automatic Mode0x0DAutomatic read is not in operation
Invalid Parameter0x0EParameter is invalid
Cannot Get Automatic0x0FAutomatic mode parameters
Parameterscannot be got
Write Failure0x10Write operation is failed
Erasure Failure0x11Erase operation is failed
Kill Failure0x12Kill operation is failed
Lock Control Failure0x13Lock operation is failed
Cannot Get Last Result0x14Last event cannot be got
No Tag Detected0x15No tag is detected
Password not Match0x16Password does not match
Not Supported0x17Command is not supported
Command
Undefined command0x18Command is not defined
Cannot Reset Reader0x19Reader cannot be reset
Cannot Control Type B0x1AAir interface parameters
A/I Parametersrelated to Type B
standard cannot be set or got
Cannot Control Type C0x1BAir interface parameters
A/I Parametersrelated to Type C
standard cannot be set or got
No User Data0x1CUser memory bank does not exist
Reader is not in Test0x1DReader is not in current test mode
Mode
Test Mode Control0x1ETest mode control is failed
Failure
Automatic Read0x1FAutomatic read is completed
Complete
No more Tags to Read0x20No more tags remain to be red
Vendor Specific0x30-0xDF
Reserved0xE0-0xFF

[2.9] Vendor-Specific Command and Response

In addition to the commands proposed in the present invention, vendor-specific commands of an RFID reader manufacturer may be further included in all the categories described above. Preferably, these vendor-specific commands use code values of a vendor-specific area in accordance with the categories proposed in the present invention. For example, when a specific command corresponding to a tag read function needs to be added, it preferably uses a code value of 0x29˜0x37 that is a vendor-specific area of a tag read category.

[2.10] Notification

A notification is a protocol message that is transmitted from the RFID reader to the processor of the terminal. Unlike a response message, the notification protocol message is independent of a command. The notification is mainly used as a response for indicating a result for an operation repeated in an automatic mode, and is used for critical errors generated in the RFID reader.

In the embodiment of the present invention, the notification protocol message may have the same format as the response protocol message. However, for example, a value of 0x02 may be used in a message type field to discriminate the notification protocol message from the response protocol message.

In addition, when a critical error is generated in the reader, the notification may be used to inform the processor of the error. In this case, a format may be identical to that of a command containing the error, which is identical to what is designated as a notification in a message type field. The critical errors are not defined in the present invention, but may be those defined by a vendor. An error that needs to be transmitted by a notification may be defined using a vendor-specific area of a result code.

[2.11] Compatibility with HAL API Standards

Tables 10 and 11 below show relationships between commands defined in the HAL API standards and the mobile reader protocol commands proposed in the present invention. One HAL API command may correspond to several of the mobile reader protocol commands, and vice versa. A driver must be implemented in accordance with the relationships.

For example, a MH_rfidReportReaderStatus command is implemented using a considerably large number of mobile reader protocol commands. In this case, the implemented is preferably made by including a status parameter in the driver. When the results of a performed mobile reader protocol are stored in the status parameter, it is possible to reduce the number of reader protocol commands that needs to be performed when the MH_rfidReportReaderStatus command is received. In addition, since a return value for an HAL API function must be given, the corresponding results must be stored in the status parameter.

Among the HAL API commands, commands related to control of a buffer and management of a filter may be selectively implemented. The present invention assumes that the buffer and the filter may exist in any one of the HAL or the mobile reader chip. Accordingly, in order to implement a buffer function or a filter function in a reader chip, a mobile reader protocol command must be implemented such that the relationship with an HAL API command is proper. In this case, the mobile reader protocol may use a code value of a vendor-specific command field.

TABLE 10
HAL API Standard
TypeCommandMobile Reader Protocol Standard Command
ReaderMH_rfidPowerOnMH_rfidReader Power ControlReader Power
ControlPowerOffMH_rfidOpenReaderControlReader Connection ControlReader
MH_rfidCloseReaderConnection controlReset ReaderReader
MH_rfidResetReaderMH_rfidConnection ControlSet RegionGet RegionSet
SetRegionMH_rfidGetRegionSignal StrengthGet Signal StrengthGet Reader
MH_rfidSetRFStrengthInfoGet Reader InfoProcess in driver: Response
MH_rfidGetRFStrengthto Reader Connection ControlProcess in driver:
MH_rfidGetManufacturerCheck of automatic reading or notSet Type C
MH_rfidGetModelMH_rfidisA/I Query Related ParametersGet Type C A/I
OpenReaderMH_rfidisBusyQuery Related ParametersSet Automatic Read
ReaderMH_rfidSetQMH_rfidParametersGet Automatic Read ParametersSet
GetQMH_rfidSetReadAutomatic Read ParametersGet Automatic
CycleMH_rfidGetReadCycleRead Parameters
MH_rfidSetReadDelay
timeMH_rfidGetReadDelaytime

TABLE 11
HAL API Standard
TypeCommandMobile Reader Protocol Standard Command
TagControlMH_rfidReadTIDCMH_rfidRead Type C UII BlockRead Type C UII
ReadUIISetCMH_rfidReadUIIBlockRead Type C UII BlockRead Type C
BlockCMH_rfidReadUserDataUser DataStop Automatic ReadRead Type B
CMH_rfidStopReadMH_rfidUser DataRead Type B User DataWrite
ReadUIISetBMH_rfidReadType B User DataLock Type B TagWrite
UserDataBMH_rfidWriteUserType C UII BlockWrite Type C UII
DataBMH_rfidLockBMH_rfidBlockWrite Type C User DataLock Type C
WriteUIISetCMH_rfidWriteTagLock Type C TagKill Type C Tag
UIIBlockCMH_rfidWriteUser
DataCMH_rfidLockCMH_rfid
UnlockCMH_rfidKillTagC
BufferControlMH_rfidCreateBufferMH_rfidCannot be supported by mobile reader
DestroyBufferMH_rfidReadprotocol but can be implemented in vendor-
BufferMH_rfidWriteBufferMH_rfidspecific fashion
DeleteBufferMH_rfid
ClearBufferMH_rfidGetNum
BufferMH_rfidGetMaxNum
BufferMH_rfidSortBufferMH_rfid
ValidateBuffer
FilterControlMH_rfidAddFilterMH_rfidDeleteCannot be supported by mobile reader
FilterMH_rfidEnableFilterprotocol but can be implemented in vendor-
MH_rfidDisableFilterspecific fashion
StatusReportMH_rfidReportReaderStatusProcess in reader: Status parameters are
stored and processed in case of Power and
OpenGet Automatic Read ParametersGet
RegionGet Signal StrengthGet Reader
InformationGet Type C A/I Query Related
Parameters

[3] Details of Command, Response, and Notification

This section [3] describes details of the commands, the responses, and the notifications that are stated above. The following descriptions illustrate arguments needed by the commands and the responses, their types, and notifications. Also illustrated are the relationship between the abovementioned protocol format and the command/response/the notification, and protocol streams for representing them.

[3.1] Reader Control/Management Category

[3.1.2] Reader Power Control

A reader power control command is used to control turning on/off power supplied to the hardware of the RFID reader. Power is supplied to the reader in the on state, while no power is supplied to the reader in the off state.

The reader power control command is constructed to include a message type, a code, a payload type, and an argument. The message type may be represented by 0x00 indicating a command. The code may be represented by 0x01 indicating reader power control. The payload type may be represented by Payload Type A. The argument is 8-bit power state information, which may be represented by 0xFF in an on state and by 0x00 in an off state.

FIG. 7 illustrates the structure of a protocol message in a power on state. Specifically, FIG. 7 illustrates values of a preamble field, a message type field, a code field, a payload field MSB, a payload field LSB, an argument field, and an end mark field.

A response to the reader power control command is constructed to include a message type, a code, a payload type, and an argument. The message type may be represented by 0x01 indicating a response. The code may be represented by 0x01 for the case of Success, and by 0xFF for the case of Failure. The payload type may be represented by Payload Type A. The argument may be represented by a result code 0x00 indicating success and by a result code 0x01 indicating power control failure.

FIG. 8 illustrates the structure of a protocol message for a reader power control response for the case of Success. Specifically, FIG. 8 illustrates values of a preamble field, a message type field, a code field, a payload field MSB, a payload field LSB, an argument field, and an end mark field.

[3.1.2] Reader Connection Control

A reader connection control command is used to connect/disconnect the processor to/from the reader. When the processor is connected to the reader, the reader can receive and process all commands. On the other hand, when the processor is disconnected from the reader, the reader can process only power/connection control commands. When the reader was supplied with power but cannot be connected, the minimum power is supplied.

The reader connection control command is constructed to include a message type, a code, a payload type, and an argument. The message type may be represented by 0x00 indicating a command. The code may be represented by 0x02 indicating reader connection control. The payload type may be represented by Payload Type A. The argument is 8-bit reader connection state information, which may be represented by 0xFF in case of connection and by 0x00 in case of disconnection.

FIG. 9 illustrates the structure of a protocol message in a connection state. Specifically, FIG. 9 illustrates values of a preamble field, a message type field, a code field, a payload field MSB, a payload field LSB, an argument field, and an end mark field.

A response to the reader connection control command is constructed to include a message type, a code, a payload type, and an argument. The message type may be represented by 0x01 indicating a response. The code may be represented by 0x02 in case of Success, and by 0xFF in case of Failure. The payload type may be represented by Payload Type A. The argument may be represented by a result code 0x00 indicating success and by a result code 0x02 indicating Connection Control Failure.

FIG. 10 illustrates the structure of a protocol message for a reader connection control response for the case of Success. Specifically, FIG. 10 illustrates values of a preamble field, a message type field, a code field, a payload field MSB, a payload field LSB, an argument field, and an end mark field.

[3.1.3] Command for Getting Information of the Reader (Get Reader Information)

A get reader Information command is used to get information from the reader. The information includes a model name, an S/N, a manufacturer, a use frequency, and the type of a tag supported.

The get reader information control command is constructed to include a message type, a code, a payload type, and an argument. The message type may be represented by 0x00 indicating a command. The code may be represented by 0x03 indicating the get reader information command. The payload type may be represented by Payload Type A. The argument is an 8-bit information type data indicating the type of information to be requested from the reader, which may include a reader model name (0x00), a reader S/N (0x01), a reader manufacturer (0x02), a reader use frequency (0x03), and the type (0x04) of a tag supported by the reader.

FIG. 11 illustrates the structure of a protocol message when the reader manufacturer is requested. Specifically, FIG. 11 illustrates values of a preamble field, a message type field, a code field, a payload field MSB, a payload field LSB, an argument field, and an end mark field.

A response to the get reader information command is constructed to include a message type, a code, a payload type, and an argument. The message type may be represented by 0x01 indicating a response. The code may be represented by 0x03 in case of Success, and by 0xFF in case of Failure. The payload type may be represented by Payload Type B in case of model name, S/N, manufacturer and frequency, by Payload Type A in case of the tag type supported by the reader, and by Payload Type A in case of command failure. The argument may be represented by a variable-length corresponding string in case of model name, S/N, manufacturer and frequency, by an 8-bit value 00000001 (ISO 18000-6B) or 00000010 (ISO 18000-6C) in case of the tag type supported by the reader, by ‘Bit OR’ in case of supporting plurality, and by a result code 0x03 indicating Cannot Get Reader Info in case of command failure.

FIG. 12 illustrates the structure of a protocol message for a get reader information response when the manufacture is ‘LC ELECTRONICS’. Specifically, FIG. 12 illustrates values of a preamble field, a message type field, a code field, a payload field MSB, a payload field LSB, an argument field, and an end mark field. FIG. 13 illustrates a response when the tag type supported by the reader is 18000-B/C.

[3.1.4] Command for Getting an RF Signal Strength of the Reader (Get Signal Strength)

A get signal strength command is used to get a currently-set RF signal strength of an RFID reader. The signal strength can be represented in percentage, and the maximum signal strength the reader can provide can be regarded as 100%.

The get signal strength command includes a message type and a code, but does not include a payload type and an argument. The message type may be represented by 0x00 indicating a command. The code may be represented by 0x04 indicating Get Signal Strength.

FIG. 14 illustrates the structure of a protocol message for a get signal strength command. Specifically, FIG. 14 illustrates values of a preamble field, a message type field, a code field, a payload field MSB, a payload field LSB, and an end mark field.

A response to the get signal strength command is constructed to include a message type, a code, a payload type, and an argument. The message type may be represented by 0x01 indicating a response. The code may be represented by 0x04 in case of Success, and by 0xFF in case of Failure. The payload type may be represented by Payload Type A. The argument may be represented by 0˜100 (0x00˜0x64) indicating the signal strength in percentage, and by a result code 0x04 indicating Cannot Get Signal Strength.

FIG. 15 illustrates the structure of a protocol message for a Get Signal Strength response for the case of Success when the signal strength is 75%. Specifically, FIG. 15 illustrates values of a preamble field, a message type field, a code field, a payload field MSB, a payload field LSB, an argument field, and an end mark field.

[3.1.5] Command for Setting an RF Signal Strength of the Reader (Set Signal Strength)

A set signal strength command is used to set an RF signal strength of the reader. The signal strength can be represented in percentage, and the maximum signal strength the reader can provide can be regarded as 100%.

The set signal strength command includes a message type, a code, a payload type, and an argument. The message type may be represented by 0x00 indicating a command. The code may be represented by 0x05 indicating Set Signal Strength. The payload type may be represented by Payload Type A. The argument may be represented by 0x00˜0x64 (0˜100) indicating an 8-bit signal strength value.

FIG. 16 illustrates the structure of a protocol message for a set signal strength command when the signal strength is 50%. Specifically, FIG. 16 illustrates values of a preamble field, a message type field, a code field, a payload field MSB, a payload field LSB, an argument field, and an end mark field.

A response to the set signal strength command is constructed to include a message type, a code, a payload type, and an argument. The message type may be represented by 0x01 indicating a response. The code may be represented by 0x05 in case of Success, and by 0xFF in case of Failure. The payload type may be represented by Payload Type A. The argument may be represented by a result code 0x00 indicating success, and by a result code 0x04 indicating Signal Strength Control Failure.

FIG. 17 illustrates the structure of a protocol message for a get Signal Strength response for the case of Success. Specifically, FIG. 17 illustrates values of a preamble field, a message type field, a code field, a payload field MSB, a payload field LSB, an argument field, and an end mark field.

[3.1.6] Command for Getting Region/Nation Information Set in the Reader (Get Region)

A get region command is used to get region/nation information set in the reader. That is, since the radio wave standard the RFID reader can use is different according to nations and regions, the get region command is used to get such region/nation information.

The get region command includes a message type and a code, but does not include a payload type and an argument. The message type may be represented by 0x00 indicating a command. The code may be represented by 0x06 indicating Get Region.

FIG. 18 illustrates the structure of a protocol message for the get region command. Specifically, FIG. 18 illustrates values of a preamble field, a message type field, a code field, a payload field MSB, a payload field LSB, and an end mark field.

A response to the get region command is constructed to include a message type, a code, a payload type, and an argument. The message type may be represented by 0x01 indicating a response. The code may be represented by 0x06 in case of Success, and by 0xFF in case of Failure. The payload type may be represented by Payload Type A. The argument may be represented by an 8-bit value indicating a region or a nation set in the reader, and by a result code 0x07 indicating Cannot Get Region. For example, Korea, America, Europe, Japan, and China may be represented by 0x01, 0x02, 0x04, 0x08, and 0x10, respectively.

FIG. 19 illustrates the structure of a protocol message for a get region response when a region set in the reader is Korea. Specifically, FIG. 19 illustrates values of a preamble field, a message type field, a code field, a payload field MSB, a payload field LSB, an argument field, and an end mark field.

[3.1.7] Command for Setting Region/Nation Information in the Reader (Set Region)

A set region command is used to set region/nation information in the reader. That is, since the radio wave standard the RFID reader can use is different according to nations and regions, the set region command is used to set such region/nation information.

The set region command includes a message type, a code, a payload type, and an argument. The message type may be represented by 0x00 indicating a command. The code may be represented by 0x07 indicating Set Region. The payload type may be represented by an 8-bit value indicating a region set in the reader, which is identical to that of Get Region.

FIG. 20 illustrates the structure of a protocol message for the set region command when a nation set in the reader is Korea, which may include values of a preamble field, a message type field, a code field, a payload field MSB, a payload field LSB, an argument field, and an end mark field.

A response to the set region command is constructed to include a message type, a code, a payload type, and an argument. The message type may be represented by 0x01 indicating a response. The code may be represented by 0x07 in case of Success, and by 0xFF in case of Failure. The payload type may be represented by Payload Type A. The argument may be represented by a result code 0x00 indicating success and by a result code 0x08 indicating Region Control Failure.

FIG. 21 illustrates the structure of a protocol message for a set region response when a region set in the reader is Korea. Specifically, FIG. 21 illustrates values of a preamble field, a message type field, a code field, a payload field MSB, a payload field LSB, an argument field, and an end mark field.

[3.1.8] Reset Reader

A reset reader command is used to promptly stop all operations of the reader and initialize the reader. Upon completion of the initialization, a response to the reset reader command is transmitted to the reader. Right after execution of the reset reader command, the aforementioned reader connection control command must be used to connect the reader since the reader is initialized to a state where only power is supplied.

The reset reader command includes a message type and a code, but does not include a payload and an argument. The message type may be represented by 0x00 indicating a command. The code may be represented by 0x08 indicating Reset Reader.

FIG. 22 illustrates the structure of a protocol message for the reset reader command, which may include values of a preamble field, a message type field, a code field, a payload field MSB, a payload field LSB, and an end mark field.

A response to the reset reader command is constructed to include a message type, a code, a payload type, and an argument. The message type may be represented by 0x01 indicating a response. The code may be represented by 0x08 in case of Success, and by 0xFF in case of Failure. The payload type may be represented by Payload Type A. The argument may be represented by a result code 0x00 indicating success and by a result code 0x19 indicating Cannot Reset Reader.

FIG. 23 illustrates the structure of a protocol message for a response to the reset reader command in case of Success. Specifically, FIG. 23 illustrates values of a preamble field, a message type field, a code field, a payload field MSB, a payload field LSB, an argument field, and an end mark field.

[3.1.9] Command for Getting Air Interface Parameters (Get Type B A/I Parameters)

A get type B A/I parameters command is used to get air interface (A/I) parameters related to the ISO 18000-6B standards. For example, these A/I parameters may be an modulation index (MI), a byte mask (BM), and an address. The get type B A/I parameters command includes a message type and a code, but does not include a payload type and an argument. The message type may be represented by 0x00 indicating a command. The code may be represented by 0x09 indicating Get Type B A/I Parameters. FIG. 24 illustrates the structure of a protocol message for the get type B A/I parameters command, which includes values of a preamble field, a message type field, a code field, a payload field MSB, a payload field LSB, an argument, and an end mark field.

A response to the get type B A/I parameters command is constructed to include a message type, a code, a payload type, and an argument. The message type may be represented by 0x01 indicating a response. The code may be represented by 0x09 in case of Success, and by 0xFF in case of Failure. The payload type may be represented by Payload Type C in case of Success, and by Payload Type A in case of Failure.

In case of Success, the argument represents a modulation index, a byte mask, and an address. The modulation index may be represented by an 8-bit value, which determines the ISO 18000-6B modulation scheme. That is, MI=18% (0x00), MI=100% (0xFF), and the like are represented. The byte mask may be represented by an 8-bit value, which is an 8-bit byte mask value defined in the ISO 18000-6B standards to determine which bit of one byte is compared. The address may be represented by an 8-bit value, which is an address defined in the ISO 18000-6B standards to determine which portion of a tag is compared. In case of Failure, the address may be represented by a result code 0x1A indicating Cannot Control Type B A/I Parameters and a result code 0x17 indicating Not Supported Command.

FIG. 25 illustrates the structure of a response protocol message for the get type B A/I parameters command. Here, MI=18%, BM=0xFF, and Address=0xFF.

[3.1.10] Command for Setting A/I Parameters (Set Type B A/I Parameters)

A set type B A/I parameters command is used to A/I parameters related to the ISO 18000-6B standards. The set type B A/I parameters command includes a message type, a code, a payload type, and an argument. The message type may be represented by 0x00 indicating a command. The code may be represented by 0x0A indicating Set Type B A/I Parameters. The payload type may be represented by Payload Type C.

The argument represents a modulation index, a byte mask, and an address. The modulation index may be represented by an 8-bit value, which determines the ISO 18000-6B modulation scheme. That is, MI=18% (0x00), MI=100% (0xFF), and the like are represented. The byte mask may be represented by an 8-bit value, which is an 8-bit byte mask value defined in the ISO 18000-6B standards to determine which bit of one byte is compared. The address may be represented by an 8-bit value, which is an address defined in the ISO 18000-6B standards to determine which portion of a tag is compared.

FIG. 26 illustrates the structure of a protocol message for the set type B A/I parameters command, wherein MI=18%, BM=0xFF, and Address=0xFF.

A response to the set type B A/I parameters command includes a message type, a code, a payload type, and an argument. The message type may be represented by 0x01 indicating a response. The code may be represented by 0x0A in case of Success, and by 0xFF in case of Failure. The payload type may be represented by Payload Type A.

The argument may be represented by a result code 0x00 in case of Success, by a result code 0x1A in case of Cannot Control Type B A/I Parameters, and by 0x17 in case of Not Supported Command.

FIG. 27 illustrates the structure of a response protocol message for the case of Success.

[3.1.11] Command for Getting A/I Select Parameters (Get Type C A/I Select Parameters)

A get type C A/I select parameters command is used to get A/I select parameters related to the ISO 18000-6C standards. The get type C A/I select parameters command includes a message type and a code, but does not include a payload type and an argument. The message type may be represented by 0x00 indicating a command. The code may be represented by 0x0B indicating Get Type C A/I Select Parameters.

FIG. 28 illustrates the structure of a protocol message for the get type C A/I select parameters command.

A response to the get type C A/I select parameters command includes a message type, a code, a payload type, and an argument. The message type may be represented by 0x01 indicating a response. The code may be represented by 0x0B in case of Success, and by 0xFF in case of Failure. The payload type may be represented by Payload Type D, and by Payload Type A in case of Failure.

In case of Failure, the argument may be represented by a result code 0x1B. In case of Success, the argument may be represented by a 3-bit target value to which a parameter is applied [Inventoried S0(000), Inventoried S1(001), Inventoried S2(010), Inventoried S3(011), SL(100)], a 3-bit action value defined in Type C, a 2-bit value indicating a memory bank of a tag [RFU(00), UII(01), TID(10), User(11)], a 32-bit start (or bit) address pointer of a tag memory to be compared, an 8-bit length value of the tag memory to be compared, a 1-bit truncated flag representing Enable(1) and Disable(0), a 7-bit RFU (Reserved for Further) (use a reserved value of 0000000), and a bit mask (0˜255 bit) defined in Type C.

FIG. 29 illustrates the structure of a response protocol message to the Get Type C A/I Select Parameters command in case that Target=S0, Action=assert SL or inventoried→A, MB=User, Pointer=0x000000F, Length=0x20, T=0, and Mask=11111111111111110000000000000000

[3.1.12] Command for Setting A/I Select Parameters (Set Type C A/I Select Parameters)

A set type C A/I select parameters command is used to set A/I select parameters related to the ISO 18000-6C standards. The set type C A/I select parameters command includes a message type, a code, a payload type, and an argument.

The message type may be represented by 0x00 indicating a command. The code may be represented by 0x0C indicating Set Type C A/I Select Parameters. The payload type may be represented by Payload Type D.

The argument may be represented by a 3-bit target value to which a parameter is applied [Inventoried S0(000), Inventoried S1(001), Inventoried S2(010), Inventoried S3(011), SL(100)], a 3-bit action value defined in Type C, a 2-bit value indicating a memory bank of a tag [RFU(00), UII(01), TID(10), User(11)], a 32-bit start (or bit) address pointer of a tag memory to be compared, an 8-bit length value of the tag memory to be compared, a 1-bit truncated flag representing Enable(1) and Disable(0), a 7-bit RFU (use a reserved value of 0000000), and a bit mask (0˜255 bit) defined in Type C.

FIG. 30 illustrates the structure of a protocol message for the set type C A/I select parameters command in case that Target=S0, Action=assert SL or inventoried→A, MB=User, Pointer=0x000000FF, Length=0x20, T=0, and Mask=11111111111111110000000000000000.

A response to the set type C A/I select parameters command includes a message type, a code, a payload type, and an argument. The message type may be represented by 0x01 indicating a response. The code may be represented by 0x0C in case of Success, and by 0xFF in case of Failure. The payload type may be represented by Payload Type A.

The argument may be represented by a result code 0x00 in case of Success, and by a result code 0x1B in case of Cannot Control Type C A/I Parameters.

FIG. 31 illustrates the structure of a response protocol message to the Set Type C A/I Select Parameters command.

[3.1.13] Command for Getting A/I Query-Related Parameters (Get Type C A/I Query-Related Parameters)

A get type C A/I query-related parameters command is used to get A/I query-related parameters related to the ISO 18000-6C standards.

The get type C A/I query-related parameters command includes a message type and a code, but does not include a payload type and an argument. The message type may be represented by 0x00 indicating a command. The code may be represented by 0x0D indicating Get Type C A/I Query-related Parameters. FIG. 32 illustrates the structure of a protocol message for the get type C A/I query-related parameters command.

A response to the get type C A/I query-related parameters command includes a message type, a code, a payload type, and an argument. The message type may be represented by 0x01 indicating a response. The code may be represented by 0x0D in case of Success, and by 0xFF in case of Failure. The payload type may be represented by Payload Type E in case of Success, and by Payload Type A in case of Failure. In case of Cannot Control Type C A/I Parameters, the argument may be represented by a result code 0x1B.

In case of Success, the argument may be represented by a 1-bit value indicating DR (TRcal divide ratio) (if DR is 8 or 64/3, the 1-bit value is set to ‘0’ or ‘1’, respectively), a 2-bit value M indicating the number of cycles per symbol (if the number of cycles is 1, 2, 4, or 8, M is set to ‘00’, ‘01’, ‘10’, or ‘11’, respectively), a 1-bit Trex value (if Pilot Tone exists, the value is set to ‘1’; if not, the value is set to ‘0’), a 2-bit Sel value (A11:‘00’ or ‘01’; ˜SL:‘10’; and SL: ‘1’), a 2-bit session value (S0:‘00’; S1:‘01’; S2:‘10’; and S3:‘11’), a 1-bit target value (A:‘0’; and B:‘1’), a 4-bit value Q indicating the number of slots per round, and a 3-bit UpDn value (if Q is unchanged, it is set to ‘000’; if Q=Q+1, Q is set to ‘110’; and if Q=Q−1, Q is set to ‘011’).

FIG. 33 illustrates the structure of a response protocol message to the get type C A/I query-related parameters command for the case where DR=8, M=1, Trex=no pilot tone, Sel=A11, Session=S0, Target=A, Q=8, and UpDn=not changed.

[3.1.14] Command for Setting A/I Query-Related Parameters (Set Type C A/I Query-Related Parameters)

A set type C A/I query-related parameters command is used to set A/I query-related parameters related to the ISO 18000-6C standards.

The set type C A/I query-related parameters command includes a message type, a code, a payload type, and an argument. The message type may be represented by 0x00 indicating a command. The code may be represented by 0x0E indicating Set Type C A/I Query-related Parameters. The payload type may be represented by Payload Type E. The argument may be represented by a 1-bit value indicating DR (TRcal divide ratio) (if DR is 8 or 64/3, the 1-bit value is set to ‘0’ or ‘1’, respectively), a 2-bit value M indicating the number of cycles per symbol (if the number of cycles is 1, 2, 4, or 8, M is set to ‘00’, ‘01’, ‘10’, or ‘11’, respectively), a 1-bit Trex value (if Pilot Tone exists, the value is set to ‘1’; if not, the value is set to ‘0’), a 2-bit Sel value (A11:‘00’ or ‘01’; SL:‘10’; and SL:‘1’), a 2-bit session value (S0:‘00’; S1:‘01’; S2:‘10’; and S3:‘11’), a 1-bit target value (A:‘0’; and B:‘1’), a 4-bit value Q indicating the number of slots per round, and a 3-bit UpDn value (if Q is unchanged, it is set to ‘000’; if Q=Q+1, Q is set to ‘110’; and if Q=Q−1, Q is set to ‘011’).

FIG. 34 illustrates the structure of a protocol message for the set type C A/I query-related parameters command for the case where DR=8, M=1, Trex=no pilot tone, Sel=A11, Session=S0, Target=A, Q=8, and UpDn=not changed.

A response to the set type C A/I query-related parameters command includes a message type, a code, a payload type, and an argument. The message type may be represented by 0x01 indicating a response. The code may be represented by 0x0E in case of Success, and by 0xFF in case of Failure. The payload type may be represented by Payload Type A. The argument may be represented by a result code 0x00 in case of Success, and by a result code 0x1B in case of Cannot Control Type C A/I Parameters.

FIG. 35 illustrates the structure of a response protocol message to the set type C A/I query-related parameters command.

[3.1.15] Command for Getting Automatic Tag Read Parameters (Get Automatic Read Parameters)

A get automatic read parameters command is used to get automatic tag read parameters.

The get automatic read parameters command includes a message type and a code, but does not include a payload type and an argument. The message type may be represented by 0x00 indicating a command. The code may be represented by 0x1F indicating Get Automatic Read Parameters. FIG. 36 illustrates the structure of a protocol message for the get automatic read parameters (Read Entire Type A Tag) command.

A response to the get automatic read parameters command includes a message type, a code, a payload type, and an argument. The message type may be represented by 0x01 indicating a response. The code may be represented by 0x0F in case of Success, and by 0xFF in case of Failure. The payload type may be represented by Payload Type F in case of Success, and by Payload Type A in case of Failure. In case of Success, the argument may include a 16-bit read cycle value indicating the number of times of read operation performed by the reader, and an 8-bit read delay time value representing a delay (msec) between read operations performed by the reader. In case of Cannot Get Automatic Parameters, the argument may include a result code 0x0F. In case of Not Supported Command, the payload may include a result code 0x17. FIG. 37 illustrates the structure of a response protocol message to the set automatic read parameters command for the case where Read Cycle=50, and Read Delay Time=50 msec.

[3.1.16] Command for Setting Automatic Tag Read Parameters (Set Automatic Read Parameters)

A set automatic read parameters command is used to set automatic read parameters.

The set automatic read parameters command includes a message type, a code, a payload type, and an argument. The message type may be represented by 0x00 indicating a command. The code may be represented by 0x10 indicating Set Automatic Read Parameters. The payload type may be represented by Payload Type F. The argument may include a 16-bit read cycle value indicating the number of times of read operation performed by the reader, and an 8-bit read delay time value representing a delay (msec) between read operations performed by the reader. FIG. 38 illustrates the structure of a protocol message for the set automatic read parameters command for the case where Read Cycle=50, and Read Delay Time=50 msec.

A response to the set automatic read parameters command includes a message type, a code, a payload type, and an argument. The message type may be represented by 0x01 indicating a response. The code may be represented by 0x10 in case of Success, and by 0xFF in case of Failure. The payload type may be represented by Payload Type A. The argument may be represented by a result code 0x00 in case of Success, and by a result code 0x10 in case of Automatic Parameter Control Failure. When Read Cycle and Read Delay Time have invalid parameters, the argument may be represented by a result code 0x0E. In case of Not Supported Command, the argument may be represented by 0x17. FIG. 39 illustrates the structure of a response protocol message for the case of Success.

[3.2] Tag Read Category

[3.2.1] Command for Reading a Tag UID (Read Type B UID)

A read type B UID command is used to read a UID of an ISO 18000-B tag. The UID has a length of 64 bits and is essential when a write operation is performed on a corresponding tag. A 40-bit SUID may be used instead of the 64-bit UID. However, the present invention is described with respect to the use of the 64-bit UID. The read type B UID command is used to read 8th through 16th address values from a tag, which correspond to the length of UII Set and the length of AD Set, respectively. The address values are, respectively;

    • 08˜09: Tag manufacturer
    • 10˜11: Hardware Type
    • 12: Embedded Application code
    • 13: Application Family ID
    • 14: Storage Data Format(Referring to ISO/IEC 15961 8.2, 15962 B.63, and 15962 E.4)
    • 15: Length of UII Set (bytes)
    • 16: Length of AD Set (bytes)

The read type B UID command includes a message type and a code, but does not include a payload type and an argument. The message type may be represented by 0x00 indicating a command. The code may be represented by 0x21 indicating Read Type B UID. FIG. 40 illustrates the structure of a protocol message for the read Type B UID command.

A response to the read type B UID command includes a message type, a code, a payload type, and an argument. The message type may be represented by 0x01 indicating a response. The code may be represented by 0x21 in case of Success, and by 0xFF in case of Failure. The payload type may be represented by Payload Type M in case of Success, and Payload Type A in case of Failure or when there is no tag to be read (No Tag Detected).

The argument represent Success, No Tag Detected, and Failure. In case of Success, the argument may be represented by the UID, Manufacturer, Hardware Type, Embedded Application Code (EAC), Application Family ID (AFID), Storage Data Format (SDF), UII Set Length, and the AD Set Length. In case of No Tag Detected, the argument may be represented by a result code 0x15. In case of Read Failure, the argument may be represented by a result code 0x09. In case of Not Supported Command, the argument may be represented by a result code 0x17. FIG. 41 illustrates the structure of a response protocol message for the read type B UID command for the case where UID=0xE035000000000001, Manufacturer=0x1234, Hardware Type=0x5678, EAC=0x0A, AFID=0x01, SDF=0x00, UII Set Length=8, and AD Set Length=16.

[3.2.2] Command for Reading a UID Block of a Tag (Read Type C UII Block)

A read type C UII block command is used to read and inform a UII block of an ISO 18000-C tag. The UII block exists in a UII memory bank of a tag and denotes all of UII or UII Set and a PC section of the type C tag. The UII or the UII Set has a variable length, while the PC section has a fixed length. Therefore, when interpreting a response, the length of the UII or the UII Set can be found by subtracting 2 from Payload Length.

The read type C UII block command includes a message type and a code, but does not include a payload type and an argument. The message type may be represented by 0x00 indicating a command. The code may be represented by 0x22 indicating Read Type C UII Block. FIG. 42 illustrates the structure of a protocol message for the read Type C UII Block command.

A response to the read type C UII Block command includes a message type, a code, a payload type, and an argument. The message type may be represented by 0x01 indicating a response. The code may be represented by 0x22 in case of Success, and by 0xFF in case of Failure. The payload type may be represented by Payload Type H in case of Success, and Payload Type A in case of Failure or in case of No Tag Detected.

In case of Success, the argument may be represented by the UII Block (UII+PC). In case of No Tag Detected, the argument may be represented by a result code 0x15. In case of Read Failure, the argument may be represented by a result code 0x09. FIG. 43 illustrates the structure of a Read Type C UII Block Response protocol message for the case of a 96-bit UII, that is, the case where PC=0x2000, and UII=0x30F4257BF4625F8000000002.

[3.2.3] Command for Reading a User Memory Bank Area of a Tag (Read Type B User Data)

A read type B user data command is used to read a user memory bank area of an ISO 18000-B tag. The user memory bank area is read by its length from a start address. In Type B, since UII or UII Set is stored in the first address of the user memory bank area, the start address must be set to ‘0’ to read the UII or the UII Set.

The read type B user data command includes a message type, a code, a payload type, and an argument. The message type may be represented by 0x00 indicating a command. The code may be represented by 0x23 indicating Read Type B User Data. The payload type may be represented by Payload Type I. The argument may include a 64-bit UID of a tag to read a user memory bank, a 16-bit start address of a user memory bank area, and 16-bit length (User Data Length, on a byte basis) by which the user memory bank area is to be read. FIG. 44 illustrates the structure of a protocol message for the read type B user data command for the case where UID=0xE035000000000001, Start Address=0x0000, and Length=8 byte.

A response to the read type B user data command includes a message type, a code, a payload type, and an argument. The message type may be represented by 0x01 indicating a response. The code may be represented by 0x23 in case of Success, and by 0xFF in case of Failure. The payload type may be represented by Payload Type B in case of Success, and by Payload Type A in case of Failure or in case of No Tag Detected. In case of Success, the argument may include the contents of the user memory bank (e.g., UII Set). In case of No Tag Detected, the argument may include a result code 0x15. In case of Read Failure, the argument may include a result code 0x09. In case of No User Data, the argument may include a result code 0x1C. In case of Not Supported Command, the argument may include a result code 0x17. FIG. 45 illustrates the structure of a response protocol message to the Read Type B user data command for the case where UII Set=0x123456789ABCDEF0.

[3.2.4] Command for Reading a User Memory Bank Area of a Tag (Read Type C User Data)

A read type C user data command is used to read a user memory bank area of an ISO 18000-C tag. The user memory bank area is read by its length from a start address. When a protocol message for the read type C user data command is written, UII or UII Set indicating a tag to read the user memory bank is needed. The UII or the UII Set has a variable length, while other arguments have a fixed length. Therefore, Payload Length can be found by adding 4 to the length of the UII or the UII Set.

The read type C user data command includes a message type, a code, a payload type, and an argument. The message type may be represented by 0x00 indicating a command. The code may be represented by 0x24 indicating Read Type C User Data. The payload type may be represented by Payload Type J. The argument may include a 64-bit UID or UII Set (variable length) of a tag to read a user memory bank, a 16-bit start address of a user memory bank area, and 16-bit length (User Data Length, on a byte basis) by which the user memory bank area is to be read. FIG. 46 illustrates the structure of a protocol message for the read type C user data command for the case where UID=0x30F4257BF8000000002, Start Address=0x0000, and Length=15 byte.

A response to the read type C user data command includes a message type, a code, a payload type, and an argument. The message type may be represented by 0x01 indicating a response. The code may be represented by 0x24 in case of Success, and by 0xFF in case of Failure. The payload type may be represented by Payload Type G in case of Success, and by Payload Type A in case of Failure, No Tag Detected, or No User Data.

In case of Success, the argument may include the contents of the user memory bank. In case of No Tag Detected, the argument may include a result code 0x15. In case of Read Failure, the argument may include a result code 0x09. In case of No User Data, the argument may include a result code 0x1C. FIG. 47 illustrates the structure of a response protocol message to the Read Type C user data command for the case where the contents of the user memory bank=‘FLATRON L1740BQ’.

[3.2.5] Command for Reading the Entire Contents of a Tag (Read Entire Type B Tag)

A Read Entire Type B Tag command is used to read the entire contents of an ISO 18000-B tag, and the entire contents of the tag is received as a response. However, a user memory bank is read by a predetermined length. Since only data read from a user memory bank area of all fields of the response have a variable length, this length can be found by subtracting 24 from Payload Length. Wherein, a memory layout is represented by 12th through 17th address of Type B Tag. The value of 12th through 17th address is referred to the value of address of the Read Type B UID command.

The Read Entire Type B Tag command includes a message type, a code, a payload type, and an argument. The message type may be represented by 0x00 indicating a command. The code may be represented by 0x25 indicating Read Entire Type B Tag. The payload type may be represented by Payload Type K. The argument may include a 16-bit User Data Length indicating the size of data read from the user memory bank. FIG. 48 illustrates the structure of a protocol message for the Read Entire Type B Tag command for the case where User Data Length=15.

A response message for the Read Entire Type B Tag command includes a message type, a code, a payload type, and an argument. The message type may be represented by 0x01 indicating a response. The code may be represented by 0x25 in case of Success, and by 0xFF in case of Failure. The payload type may be represented by Payload Type L in case of Success, and by Payload Type A in case of Failure or No Tag Detected.

In case of Success, the argument may include UID, Manufacturer, Hardware Type, Memory Layout, and User Data. In case of No Tag Detected, the argument may include a result code 0x15. In case of Read Failure, the argument may include a result code 0x09. In case of Not Supported Command, the argument may include a result code 0x17. FIG. 49 illustrates the structure of a response protocol message to the Read Entire Type B Tag command for the case where UID=0xE035000000000001, Manufacturer=0x1234, H/W Type=0x5678, Memory Layout=0x000000000000, and Data to be written=‘FLATRON L1740BQ.

[3.2.6] Command for Reading the Entire Contents of a Tag (Read Entire Type C Tag)

A Read Entire Type C Tag command is used to read the entire contents of an ISO 18000-C tag. The ISO 18000-C tag has four memory banks including Reserved, TID, UII, and User Data. This command is used to read three memory banks including TID, UII, and User Data, except Reserved.

The Read Entire Type C Tag command includes a message type, a code, a payload type, and an argument. The message type may be represented by 0x00 indicating a command. The code may be represented by 0x26 indicating Read Entire Type C Tag. The payload type may be represented by Payload Type K. The argument may include a 16-bit User Data Length indicating the size of data read from the user memory bank. FIG. 50 illustrates the structure of a protocol message for the Read Entire Type C Tag command for the case where User Data Length=14.

A response message for the Read Entire Type C Tag command includes a message type, a code, a payload type, and an argument. The message type may be represented by 0x01 indicating a response. The code may be represented by 0x26 in case of Success, and by 0xFF in case of Failure. The payload type may be represented by Payload Type N in case of Success, and by Payload Type A in case of Failure or No Tag Detected.

In case of Success, the argument may include a TID memory bank, UII or UII Set, PC, and data read from the user memory bank. In case of No Tag Detected, the argument may include a result code 0x15. In case of Read Failure, the argument may include a result code 0x09. FIG. 51 illustrates the structure of a response protocol message to the Read Entire Type C Tag command for the case where TID=0xA98654E2, PC=0x2000, 96-bit UII=0x30F4257BF4625F8000000002, and Data of User Memory Bank=‘FLATRON L1740B.

[3.2.7] Command for Starting an Automatic Tag Read Operation (Start Automatic Read)

A Start Automatic Read command is used to start an automatic tag read operation. A protocol message constituting this command may include a message type, a code, a payload type, and an argument. The message type may be represented by 0x00 indicating a command. The code may be represented by 0x27 indicating Start Automatic Read. The payload type may be represented by Payload Type 0.

The argument may be represented by an 8-bit Command Code (0x21˜0x26; an automatic read operation is not performed for other values) and a 16-bit Repeat Cycle. The 8-bit Command Code indicates a code of a command to perform an automatic read operation. When a read operation of a designated unit in a Read Cycle is regarded as one Repeat Cycle, the 16-bit Repeat Cycle indicates the number of times of repetition of the Repeat Cycle (i.e., the reading number of times=ReadCycle×RepeatCycle). FIG. 52 illustrates the structure of a protocol message for the Start Automatic Read command for the case where Read Entire Type C Tag, Access Password=0x12345678, and Read Cycle=100.

A response protocol message for the Start Automatic Read command includes a message type, a code, a payload type, and an argument. The message type may be represented by 0x01 indicating a response. The code may be represented by 0x27 in case of Success, and by 0xFF in case of Failure. The payload type may be represented by Payload Type A.

In case of Success, the argument may include a result code 0x00. In case of Automatic Read Failure, the argument may include a result code 0x0A, a result code 0x0E for the case where a code of the command is not in the range of 0x21˜0x26, a result code 0x0E for the case where Repeat Cycle is not ‘0’, and a result code 0x0B for the case where an automatic read operation is being performed (Automatic Read in Operation). FIG. 53 illustrates the structure of a response protocol message for the case of Success.

A notification message may be used for Start Automatic Read. This notification message may include a message type, a code, a payload type, and an argument. The message type may be represented by 0x02 indicating Notification. The code may be identical to the command code that is used as the argument in the Start Automatic Read command. In case where data read from a tag is transmitted, the payload type may be identical to the response corresponding to a command code 0x21˜0x26. In case where the automatic read operation is performed by the predetermined number of times and thus completed (Automatic Read Completed), the payload type may be represented by Payload Type A.

Meanwhile, in case where data read from a tag is transmitted, the argument may be identical to a response corresponding to a command code 0x21˜0x26. In case where the automatic read operation is performed by the predetermined number of times and thus completed (Automatic Read Completed), the argument may include a result code 0x1F. When there are no more tags to read (No more Tags to Read), the argument may include a result code 0x20. FIG. 54 illustrates the structure of a notification protocol message for the case of Automatic Read Completed. In case where data read from a tag is transmitted, the notification protocol message may be identical to the response corresponding to the command code 0x21˜0x26.

[3.2.8] Command for Stopping an Automatic Tag Read Operation (Stop Automatic Read)

A Stop Automatic Read command is used to stop an automatic tag read operation. The Stop Automatic Read command includes a message type and a code, but does not include a payload type, and an argument. The message type may be represented by 0x00 indicating a command. The code may be represented by 0x28 indicating Stop Automatic Read. FIG. 55 illustrates the structure of a protocol message for the Stop Automatic Read command for the case of Read Entire Type A Tag command.

A response protocol message for the Stop Automatic Read command includes a message type, a code, a payload type, and an argument. The message type may be represented by 0x01 indicating a response. The code may be represented by 0x28 in case of Success, and by 0xFF in case of Failure. The payload type may be represented by Payload Type A. In case of Success, the argument may include a result code 0x00. In case of Cannot Stop Automatic Read, the argument may include a result code 0x0C. In case where an automatic read operation is not being performed, the argument may include a result code 0x0D. FIG. 56 illustrates the structure of a protocol message for the Stop Automatic Read Response for the case of Success.

[3.3] Tag Write Category

[3.3.1] Command for Writing a UII Block in a UII Memory Bank of a Tag (Write Type C UII Block)

A Write Type C UII Block command is used to write a UII block in a UII memory bank of an ISO 1800-C tag, wherein CRC is calculated and process by the mobile RFID reader. The Write Type C UII Block command includes a message type, a code, a payload type, and an argument. The message type may be represented by 0x00 indicating a command. The code may be represented by 0x41 indicating Write Type C UII Block. The payload type may be represented by Payload Type P. The argument may include a 32-bit Access Password for writing a Type C tag, a 16-bit UII Length for representing the length of UII or UII Set, a UII or UII Set (variable) for indicating a tag to be written in, a 16-bit New UII Length for representing the length of new UII or UII Set, a New UII or UII Set (variable) for representing a New UII or UII Set to be written in the tag, and a PC for representing a PC value to be written in the tag. FIG. 57 illustrates the structure of a protocol message for the Write Type C UII Block command for the case where Access Password=0x87651234, UII=0x30F4257BF46258000000001, New UII=0x30F4257BF46258000000002, and PC=0x2000.

A response message for the Write Type C UII Block command includes a message type, a code, a payload type, and an argument. The message type may be represented by 0x01 indicating a response. The code may be represented by 0x41 in case of Success, and by 0xFF in case of Failure. The payload type may be represented by Payload Type A. The argument may include a result code 0x00 for the case of Success, a result code 0x10 for the case of Write Failure, and a result code 0x17 for the case of Not Supported Command. FIG. 58 illustrates the structure of a response protocol message for the Write Type C UII Block command.

[3.3.2] Command for Writing the Entire Contents of a Tag (Write Type B User Data)

A Write Type B User Data command is used to write the entire contents of an ISO 1800-B tag. The Write Type B User Data command includes a message type, a code, a payload type, and an argument. The message type may be represented by 0x00 indicating a command. The code may be represented by 0x42 indicating Write Type B User Data. The payload type may be represented by Payload Type Q. The argument may include a 64-bit UID of a tag to be written in, a 16-bit Start Address representing a start address of a user memory bank area in which data are to be written, a 16-bit Length representing the size (on a byte basis) of data to be written, and a User Data (variable) to be written in the user memory bank by a length designated by the 16-bit Length. FIG. 59 illustrates the structure of a protocol message for the Write Type B User Data command for the case where UID=0xE35000000000001, Start Address=0x00, Length=15, and User Memory Bank=‘FLATRON L1740BQ.

A response message for the Write Type B User Data command includes a message type, a code, a payload type, and an argument. The message type may be represented by 0x01 indicating a response. The code may be represented by 0x42 in case of Success, and by 0xFF in case of Failure. The payload type may be represented by Payload Type A. The argument may include a result code 0x00 for the case of Success, a result code 0x15 for the case of No Tag Detected, a result code 0x10 for the case of Write Failure, and a result code 0x17 for the case of Not Supported Command. FIG. 60 illustrates the structure of a response protocol message for the Write Type B User Data command.

[3.3.3] Command for Writing the Entire Contents of a Tag (Write Type C User Data)

A Write Type C User Data command is used to write the entire contents of an ISO 1800-C tag. The Write Type C User Data command includes a message type, a code, a payload type, and an argument. The message type may be represented by 0x00 indicating a command. The code may be represented by 0x43 indicating Write Type C User Data. The payload type may be represented by Payload Type R. The argument may include a 32-bit Access Password necessary for writing data in a user memory bank area, a 16-bit UII Length (variable) representing the length of UII or UII Set, a 16-bit Start Address representing a start address of the user memory bank area in which data are to be written, a 16-bit User Data Length representing the size (on a byte basis) of data to be written, and a User Data (variable) to be written corresponding to a length designated by the 16-bit User Data Length. FIG. 61 illustrates the structure of a protocol message for the Write Type C User Data command for the case where Access Password=0x87651234, UII=0x30F4257BF46258000000001, Start Address=0x00, and Data to be written=‘FLATRON L1740BQ’.

A response message for the Write Type C User Data command includes a message type, a code, a payload type, and an argument. The message type may be represented by 0x01 indicating a response. The code may be represented by 0x43 in case of Success, and by 0xFF in case of Failure. The payload type may be represented by Payload Type A. The argument may include a result code 0x00 for the case of Success, a result code 0x15 for the case of No Tag Detected, a result code 0x10 for the case of Write Failure, and a result code 0x17 for the case of Not Supported Command. FIG. 62 illustrates the structure of a response protocol message for the Write Type C User Data command.

[3.3.4] Command for Writing the Entire Contents in a Tag (Write Entire Type B Tag)

A Write Entire Type B Tag command is used to write the entire contents in an ISO 1800-B tag. Data can be written in UID, Memory Layout and a user memory bank area. However, regions of Manufacture and H/W Type are designated at a manufacturing stage and thus cannot be written.

The Write Entire Type B Tag command includes a message type, a code, a payload type, and an argument. The message type may be represented by 0x00 indicating a command. The code may be represented by 0x44 indicating Write Entire Type B Tag. The payload type may be represented by Payload Type S. The argument may include a 64-bit UID of a Type B tag to be written, a 48-bit Memory Layout that can be designated and written by User Application (if necessary), a 16-bit User Data Length indicating the size of data to be written in the user memory bank, and a User Data indicating data to be written in the user memory bank of a tag (if necessary). FIG. 63 illustrates the structure of a protocol message for the Write Entire Type B Tag command for the case where UID=0xE35000000000001, Memory Layout=0x000000000000, and Data to be written=‘FLATRON L1740BQ’.

A response protocol message for the Write Entire Type B Tag command includes a message type, a code, a payload type, and an argument. The message type may be represented by 0x01 indicating a response. The code may be represented by 0x44 in case of Success, and by 0xFF in case of Failure. The payload type may be represented by Payload Type A. The argument may include a result code 0x00 for the case of Success, a result code 0x15 for the case of No Tag Detected, a result code 0x10 for the case of Write Failure, and a result code 0x17 for the case of Not Supported Command. FIG. 64 illustrates the structure of a response protocol message for the Write Entire Type B Tag command.

[3.3.5] Command for Writing the Entire Contents in a Tag (Write Entire Type C Tag)

A Write Entire Type C Tag command is used to write the entire contents in an ISO 1800-C tag. The Write Entire Type C Tag command is useful for simultaneously writing a UII Block and a user memory bank. Also, the Write Entire Type C Tag command can be used to write a Reserved Bank area in which Kill Password and Access Password are sequentially included. If a password needs to be changed, it must be written in a Reserved Bank area.

The Write Entire Type C Tag command includes a message type, a code, a payload type, and an argument. The message type may be represented by 0x00 indicating a command. The code may be represented by 0x45 indicating Write Entire Type C Tag. The payload type may be represented by Payload Type T.

The argument may include a 32-bit Access Password for writing a Type C tag, a 16-bit UII Length for representing the length of UII or UII Set, a UII or UII Set (variable) for indicating a tag to be written in, a 16-bit New UII Length for representing the length of new UII or UII Set, a New UII or UII Set (variable) for representing a New UII or UII Set to be written in the tag, a 64-bit PC to be written in the tag, a User Data used when there are data to be written in a user memory bank of the tag, a 16-bit Reserved Bank Length representing the length of data to be written in a reserved bank, a Reserved Bank Data (variable) to be written in the reserved bank.

FIG. 65 illustrates the structure of a protocol message for the Write Entire Type C Tag command for the case where Access Password=0x87651234, UII=0x30F4357BF46258000000001, New UII=0x30F4357BF46258000000002, PC=0x2000, Data to be written=‘FLATRON L1740BQ’, Kill Password=0x12345678, and Access Password=0x87654321.

A response protocol message for the Write Entire Type C Tag command includes a message type, a code, a payload type, and an argument. The message type may be represented by 0x01 indicating a response. The code may be represented by 0x45 in case of Success, and by 0xFF in case of Failure. The payload type may be represented by Payload Type A.

The argument may include a result code 0x00 for the case of Success, a result code 0x15 for the case of No Tag Detected, a result code 0x10 for the case of Write Failure, and a result code 0x17 for the case of Not Supported Command. FIG. 66 illustrates the structure of a response protocol message for the Write Entire Type C Tag command for the case of Success.

[3.4] Tag Kill Category

[3.4.1] Command for Killing a Tag (Kill Type C Tag)

A Kill Type C Tag command is used to kill an ISO 1800-C tag. Access Password and Kill Password are all required for the killing operation, which aims at security.

The Kill Type C Tag command includes a message type, a code, a payload type, and an argument. The message type may be represented by 0x00 indicating a command. The code may be represented by 0x61 indicating Kill Type C Tag. The payload type may be represented by Payload Type U.

The argument may include a 32-bit Access Password required for accessing a tag, a 32-bit Kill Password required for killing a tag, a 16-bit UII Length indicating the length of UII or UII Set, and a UII or UII Set (variable) indicating a Type C tag to be killed. FIG. 67 illustrates the structure of a protocol message for the Kill Type C Tag command for the case where Access Password=0x12345678, Kill Password=0x87654321, and UII=0x30F4357BF46258000000001.

A response message for the Kill Type C Tag command includes a message type, a code, a payload type, and an argument. The message type may be represented by 0x01 indicating a response. The code may be represented by 0x61 in case of Success, and by 0xFF in case of Failure. The payload type may be represented by Payload Type A.

The argument protocol may include a result code 0x00 for the case of Success, a result code 0x15 for the case where there is no tag to be killed (No Tag Detected), and a result code 0x12 for the case of Kill Failure. FIG. 68 illustrates the structure of a response protocol message for the Kill Type C Tag command for the case of Success.

[3.5] Tag Lock Control Related Category

[3.5.1] Command for Controlling Lock of a Type B Tag (Lock Type B Tag)

A Lock Type B Tag command is used to control lock of a Type B tag. The Lock Type B Tag command includes a message type, a code, a payload type, and an argument. The message type may be represented by 0x00 indicating a command. The code may be represented by 0x81 indicating Lock Type B Tag. The payload type may be represented by Payload Type V.

The argument may include a 64-bit UID required for selecting a tag to be locked, and an 8-bit Address (0x00˜0xFF) representing an address of a tag to be killed. FIG. 69 illustrates the structure of a protocol message for the Lock Type B Tag command for the case where UID=0xE035000000000001 and the 30th block is locked.

A response protocol message for the Lock Type B Tag command includes a message type, a code, a payload type, and an argument. The message type may be represented by 0x01 indicating a response. The code may be represented by 0x81 in case of Success, and by 0xFF in case of Failure. The payload type may be represented by Payload Type A.

The argument may include a result code 0x00 for the case of Success, a result code 0x15 for the case where there is no tag to be locked (No Tag Detected), a result code 0x13 for the case of Lock Control Failure, and a result code 0x17 for the case of Not Supported Command. FIG. 70 illustrates the structure of a response protocol message for the Lock Type B Tag command for the case of Success.

[3.5.2] Command for Controlling Lock of a Type C Tag (Lock Type C Tag)

A Lock Type C Tag command is used to control lock of a Type C tag. The Lock Type C Tag command includes a message type, a code, a payload type, and an argument. The message type may be represented by 0x00 indicating a command. The code may be represented by 0x82 indicating Lock Type C Tag. The payload type may be represented by Payload Type W. The argument may include a 32-bit Access Password required for a locking operation, a 16-bit UII Length indicating the length of UII or UII Set, a UII or UII Set (variable) indicating a Type C tag to be locked, and a 24-bit Lock Data for controlling a locking operation (use a 20-bit flag for controlling a locking operation and the less significant 20 bits; the less significant 4 bits=‘0’). FIG. 71 illustrates the structure of a protocol message for the Lock Type C Tag command for the case where UII=0x30F4257BF46258000000001, Access Password=0x87654321, and a UII code is permanently locked.

A response protocol message for the Lock Type C Tag command includes a message type, a code, a payload type, and an argument. The message type may be represented by 0x01 indicating a response. The code may be represented by 0x82 in case of Success, and by 0xFF in case of Failure. The payload type may be represented by Payload Type A.

The argument may include a result code 0x00 for the case of Success, a result code 0x15 for the case where there is no tag to be locked (No Tag Detected), a result code 0x13 for the case of Lock Control Failure, and a result code 0x17 for the case of Not Supported Command. FIG. 72 illustrates the structure of a response protocol message for the Lock Type C Tag command for the case of Success.

[3.6] Additional Function Category

[3.6.1] Command for Getting the Last Result Code (Get Last Result)

A Get Last Result command is used to get the last result code. The Get Last Result command includes a message type and a code, but does not include a payload type and an argument. The message type may be represented by 0x00 indicating a command. The code may be represented by 0xA1 indicating Get Last Result. FIG. 73 illustrates the structure of a protocol message for the Get Last Result command.

A response protocol message for the Get Last Result command includes a message type, a code, a payload type, and an argument. The message type may be represented by 0x01 indicating a response. The code may be represented by 0xA1 in case of Success, and by 0xFF in case of Failure. The payload type may be represented by Payload Type A. The argument may include the last result code for the case of Success, a result code 0x14 for the case of Cannot Get Last Result, and a result code 0x17 for the case of Not Supported Command. FIG. 74 illustrates the structure of a response protocol message for the case where the last result is Read Failure.

[3.6.2] Command for Starting a Test Mode (Start Test Mode)

A Start Test Mode command is used to change the RFID reader into a test mode. The Start Test Mode command includes a message type and a code, but does not include a payload type and an argument. The message type may be represented by 0x00 indicating a command. The code may be represented by 0xA2 indicating Start Test Mode. FIG. 75 illustrates the structure of a protocol message for the Start Test Mode command.

A response protocol message for the Start Test Mode command includes a message type, a code, a payload type, and an argument. The message type may be represented by 0x01 indicating a response. The code may be represented by 0xA2 in case of Success, and by 0xFF in case of Failure. The payload type may be represented by Payload Type A. The argument may include a result code 0x00 for the case of Success, and a result code 0x1E for the case of Test Mode Control Failure. FIG. 76 illustrates the structure of a response protocol message for the case of Success.

[3.6.3] Command for Stopping a Test Mode (Stop Test Mode)

A Stop Test Mode command is used to stop a test mode of the reader. The Stop Test Mode command includes a message type and a code, but does not include a payload type and an argument. The message type may be represented by 0x00 indicating a command. The code may be represented by 0xA3 indicating Stop Test Mode. FIG. 77 illustrates the structure of a protocol message for the Stop Test Mode command.

A response protocol message for the Stop Test Mode command includes a message type, a code, a payload type, and an argument. The message type may be represented by 0x01 indicating a response. The code may be represented by 0xA3 in case of Success, and by 0xFF in case of Failure. The payload type may be represented by Payload Type A.

The argument may include a result code 0x00 for the case of Success, and a result code 0x1E for the case of Test Mode Control Failure. FIG. 78 illustrates the structure of a response protocol message for the Stop Test Mode command for the case of Success.

[3.6.4] Command for Starting a Receive Test Mode (Start Receive Test)

A Start Receive Test command can be used only in a test mode, and is used to test the receive sensitivity of the reader. Upon receiving the Start Receive Test command, the reader enters a receive standby mode to accumulatively add the number of successfully-received bits.

The Start Receive Test command includes a message type and a code, but does not include a payload type and an argument. The message type may be represented by 0x00 indicating a command. The code may be represented by 0xA4 indicating Start Test Mode. FIG. 79 illustrates the structure of a protocol message for the Start Receive Test command.

A response protocol message for the Start Receive Test command includes a message type, a code, a payload type, and an argument. The message type may be represented by 0x01 indicating a response. The code may be represented by 0xA4 in case of Success, and by 0xFF in case of Failure. The payload type may be represented by Payload Type A.

The argument may include a result code 0x00 for the case of Success, and a result code 0x1D for the case where the reader is not in a test mode. FIG. 80 illustrates the structure of a response protocol message for the Start Receive Test command for the case of Success.

[3.6.5] Command for Stopping a Receive Test (Stop Receive Test)

A Stop Receive Test command can be used only in a test mode, and is used to test the receive sensitivity of the reader. When receiving the Stop Receive Test command, the reader exits the standby mode to receive an A/I packet and then transmits the number of successfully-received bits to the processor.

The Stop Receive Test command includes a message type and a code, but does not include a payload type and an argument. The message type may be represented by 0x00 indicating a command. The code may be represented by 0xA5 indicating Stop Test Mode. FIG. 81 illustrates the structure of a protocol message for the Stop Receive Test command.

A response protocol message for the Stop Receive Test command includes a message type, a code, a payload type, and an argument. The message type may be represented by 0x01 indicating a response. The code may be represented by 0xA5 in case of Success, and by 0xFF in case of Failure. The payload type may be represented by Payload Type G in case of Success, and by Payload Type A in case of Failure. In case of Success, the argument may include a 32-bit value indicating the number of received bits. In case of Test Mode Control Failure, the argument may include a result code 0x1E. FIG. 82 illustrates the structure of a response protocol message for the case where the number of received bits is 100000.

[3.7] Appendices for Command, Response, and Notification

[3.7.1] Commonly Applied Result Codes

The following result codes are commonly used for all of commands, responses and notifications.

    • Success: The result generated when a command is successfully executed, which can be represented by, for example, 0x00.
    • Invalid Parameter: The result generated when an argument of a command has an invalid value, which can be represented by, for example, 0x0E.
    • Not Supported Command: The result generated when the reader cannot support a command. An optional command may not be implemented in the reader. The result can be used in this case. This code can be represented by, for example, 0x17.

Undefined Command: The result generated when the reader receives a command that was not defined by the present invention or the vendor, which can be represented by, for example, 0x18.

    • Reader is not in Test Mode: The result generated when a command usable only in a test mode is issued when the reader is not in the test mode, which can be represented by, for example, 0x1D.

[3.7.2] Valid Value Ranges of Parameters Used in Commands

Table 12 below illustrates valid value ranges of parameters used in each command. When a parameter value deviates from such range, the aforementioned Invalid Parameter (0x0E) error code must be included in a response message to be transmitted. Since Table 12 does not deal with parameters for a password necessary for a Type C tag related command, a command of a tag write category, commands of a tag lock control related category, such parameters must be based on the corresponding standard document.

TABLE 12
Valid Value
CommandUse ParameterRange
Reader Power Control8-bit arg0x00 or 0xFF
Reader Connection Control8-bit arg0x00 or 0xFF
Get Reader Info8-bit arg0x00~0x04
Set Signal Strength8-bit arg0x00~0x64
Set Region8-bit arg0x01~0x1F
Set Type B A/I ParametersBased on ISO 18000-6B Standards
Set Type C A/I Select ParametersBased on ISO 18000-6C Standards
Set Type C A/I Query relatedBased on ISO 18000-6C Standards
Parameters
Set Automatic Read Parameters16-bit Read Cycle0x0001~0xFFFF
8-bit Read0x00~0xFF
Delay Time
Read Type B User Data16-bit User0x0001~0xFFFF
Data Length
Read Type C User Data16-bit User0x0001~0xFFFF
Data Length
Start Automatic Read16-bit Repeat0x0001~0xFFFF
Cycle

[3.7.3] Process Performed when there is No Response to a Command.

In the RFID reader control system according to the present invention, the following process is performed when there is no response to a command issued from the processor to the reader.

When a driver receives no response from the reader even after a predetermine time from the transmission time of a command, it transmits an error message to an upper layer. A response message received right after the above process is disregarded and deleted. A response waiting time Trespdly may be set to a predetermined value, for example, 500 msec. When a corresponding default value is adjusted, a changed value must be clearly expressed.

[3.7.4] Management of Reader Status

For management of a reader status, a reader power status and a reader connection status are managed by the driver.

[3.7.5] Details about Notification related to Automatic Read

When two or more tags are read, one notification must be performed for each of the read tags. When there is no tag to be read by the reader, the reader transmits a result code of ‘No more Tags to Read’ by a notification using a payload type A and stops an automatic read operation. Such notification must be clearly transmitted to an upper layer.

[4] Test Certification and Test Mode

The present invention enables test certification to be performed on the A/I protocol standards implemented in a mobile RFID reader according to the mobile RFID forum test certification standards. For the test certification, the A/I section defined in the ISO 18000-6C standards is mandatory and the contents about the ISO 18000-6B standards are optional.

[4.1] Test Mode

In the test mode, a protocol defined in the A/I standards implemented in a mobile RFID reader for test certification is received as it is, and to give a response thereto is supported. That is, a command is directly given in the format of a protocol defined in the A/I standards, and a response thereto is also received in the format of a protocol defined in the A/I standards. As above, a protocol message defined in the A/I standards is used, as it is, to make it possible to perform the test certification.

In order to convert the reader into the test mode, corresponding commands within the abovementioned additional category must be used. At this time, the reader must be in a power-on state and must be connected to the processor. The corresponding commands are the Start Test Mode command and the Stop Test Mode command that have been described above. When the Start Test Mode command is executed, a response thereto is received. When a normal response is received, the reader converts into the test mode. In the test mode, only a protocol message having a message type field of 0x03 in its header can be used. That is, commands of several categories defined above cannot be used. When receiving a general command in the test mode, the reader transmits the result code of ‘Reader is not in Test Mode’ to the processor and disregards the general command.

The Stop Test Mode command is use to stop the test mode. When receiving the Stop Test Mode command, the reader exits the test mode and can receive and process a general command.

[4.2] Protocol Message in Test Mode

In the test mode, an A/I protocol to receive the test certification can be used as it is. The A/I protocol is encapsulated into the payload field defined in the present invention. The contents of the protocol message in the test mode are as follows:

    • Preamble and End Mark values are used in the same manner.
    • The Message Type field of a header uses information (e.g., 0x03) indicating a protocol message in the test mode.
    • The Code field of the header includes a value 0x00 in case of a command based on the A/I protocol, and includes a value 0x01 in case of a response. A command is a protocol message that is transmitted from a reader to a tag, while the response is a protocol message that is transmitted from a tag to a reader.
    • The Payload Length field of the header indicates the total length of the A/I protocol message included in the payload.
    • The payload field itself corresponds to the A/I protocol message.

FIG. 83 illustrates the structure of a protocol message used in the test mode.

[4.3] Procedure for Processing Protocol Message in Test Mode

The RFID reader may process a protocol message of the test mode according to the following procedure.

[4.3.1] When the Reader Receives a Message in the Test Mode

(a). The reader reads a header field from a message received according to an RFID protocol.

(b). The reader checks a preamble.

(c). The reader ascertains that a Message Type field value is 0x03

(d). The reader ascertains that a Code field value is 0x00

(e). The reader reads the Read Payload Length field to check the length of an A/I protocol message in a payload section

(f). The reader reads the A/I protocol message from the payload section designated by the Payload Length field

(g). The reader transfers the read A/I protocol message to the A/I unit. The A/I unit transfers the received A/I protocol message to a tag.

[4.3.2] When the Reader Transmits a Message in the Test Mode

(a). An A/I unit receives an A/I protocol message from a tag.

(b). The received A/I protocol message itself acts as a payload.

(c). The entire A/I protocol message is inserted into a Payload Length field.

(d). A Code field value is set to 0x01.

(e). A Message Type field value is set to 0x03.

(f). Preamble and End Mark are added and transmitted.

[4.4] Test the Receive Sensitivity of the Reader

In the test mode, two commands are provided to test the receive sensitivity of the reader. The two commands are respectively the Start Receive Test command and the Stop Receive Test command that are defined in the additional function category.

When the Start Receive Test command is issued, the reader enters a receive standby mode. In the receive standby mode, a BER can be measured. In the receive sensitivity test, an A/I packet, a bit pattern, or a PN code may be used. When receiving them, the reader must accumulatively add the number of successfully-received bits.

When the receive sensitivity test ends, the Stop Receive Test command is transmitted and thus the number of the successfully-received bits is received by a response. A ratio of the number of the successfully-received bit to the number of bits transmitted in a test environment is obtained to calculate the BER.

Meanwhile, the content of an A/I protocol packet for the receive sensitivity test is determined in the test environment. The reader must support to set and change the determined contents.

INDUSTRIAL APPLICABILITY

According to the present invention, it is possible to provide a method of defining a protocol for controlling an RFID reader and an RFID reader control unit (e.g., processor) of a mobile terminal, and constructing and transmitting messages, information, commands, and responses between the RFID reader and the RFID reader control unit.