3M Traffic Safety Systems IDMAX016 RFID Reader User Manual

3M Traffic Safety Systems RFID Reader

User manual

Download: 3M Traffic Safety Systems IDMAX016 RFID Reader User Manual
Mirror Download [FCC.gov]3M Traffic Safety Systems IDMAX016 RFID Reader User Manual
Document ID740922
Application IDXLM8eQmGphUSPQyinIvv2g==
Document DescriptionUser manual
Short Term ConfidentialNo
Permanent ConfidentialNo
SupercedeNo
Document TypeUser Manual
Display FormatAdobe Acrobat PDF - pdf
Filesize34.46kB (430688 bits)
Date Submitted2006-12-21 00:00:00
Date Available2006-12-21 00:00:00
Creation Date2006-12-18 16:35:12
Producing SoftwareAcrobat Distiller 6.0 (Windows)
Document Lastmod2006-12-18 16:35:12
Document TitleMicrosoft Word - IDentity MaX Desktop Users Guide 1.1.doc
Document CreatorPScript5.dll Version 5.2
Document Author: ryin

December 06, 2006
Revision 1.0
Proprietary Information
This equipment complies with FCC Part 15.247 and Industry Canada RSS-210 rules. Any changes or modifications
not expressly approved by SIRIT could void the user’s authority to operate the equipment. To maintain compliance,
the IDentity MaX Desktop reader must be used with the power supply that was supplied with the reader.
RF Exposure Warning
To comply with the FCC radiofrequency (RF) Exposure requirements, the antenna(s) used with this device must be
installed to provide a minimum separation distance of 20 cm from all persons
Part Number: IDentity MaX Desktop User’s Guide
Release Date: Dec 6, 2006
IDentity MaX Desktop Users Guide_1.0.doc
December 6, 2006
Revision 1.0
Proprietary Information
Contents
Contents................................................................................................................................................... 1
List of Figures ......................................................................................................................................... 2
List of Tables........................................................................................................................................... 4
List of Tables........................................................................................................................................... 4
1.0 INTRODUCTION/SCOPE............................................................................................................. 4
USING THIS MANUAL ........................................................................................................................... 4
INTENDED AUDIENCE ........................................................................................................................... 4
TOPICS ................................................................................................................................................. 4
2.0 MECHANICAL AND ELECTRICAL.......................................................................................... 6
2.1 MECHANICAL SPECIFICATIONS ....................................................................................................... 6
2.2 ELECTRICAL SPECIFICATIONS......................................................................................................... 6
3.0 INSTALLATION AND OPERATION.......................................................................................... 8
4.0 HOST PROTOCOL ...................................................................................................................... 10
4.1 PACKET FORMAT ......................................................................................................................... 10
DEFINITIONS ...................................................................................................................................... 11
4.2 MESSAGE FORMATS .................................................................................................................... 12
4.3 COMMANDS ................................................................................................................................. 14
4.3.1 DOWNLOAD Command............................................................................................................ 14
4.3.2 DOWNLOAD Sub-Command ..................................................................................................... 15
4.3.3 PROGRAM Sub-Command ........................................................................................................ 16
4.3.4 END Sub-Command.................................................................................................................... 17
4.4 SYSTEM COMMAND .................................................................................................................. 17
4.4 SYSTEM COMMAND .................................................................................................................. 18
4.4.1 SYSTEM Sub-Commands........................................................................................................... 19
4.5 CLASS 0 COMMANDS ................................................................................................................... 20
4.5.1 Class 0 Sub-Commands............................................................................................................... 20
4.5.2 KILL Sub-Command................................................................................................................... 21
4.5.2.1 KILL Sub-Command Status Message ............................................................................................. 22
4.5.3 SET Sub-Command.................................................................................................................. 23
4.5.3.1 SET Sub-Command Status Message ........................................................................................ 24
4.5.4 READ Sub-Command................................................................................................................. 25
4.5.4.1 READ Sub-Command Status Message .................................................................................... 26
4.5.4.2 READ Sub-Command Summary Status Message .................................................................... 27
4.6 CLASS 1 COMMANDS ................................................................................................................... 28
4.6.2 KILL Sub-Command................................................................................................................... 30
4.6.2.1 KILL Sub-Command Status Message ...................................................................................... 31
4.6.3 SET Sub-Command..................................................................................................................... 32
4.6.3.1 SET Sub-Command Status Message ......................................................................................... 33
4.6.4 READ Sub-Command................................................................................................................. 34
4.6.4.1 READ Sub-Command Status Message .................................................................................... 35
4.6.4.2 READ Sub-Command Summary Status Message .................................................................... 36
4.6.5 SCROLL ID Sub Command......................................................................................................... 37
4.6.6 READ_ALL Sub-Command ........................................................................................................ 40
4.6.6.1 READ_ALL Sub-Command Status Message............................................................................ 41
4.6.6.2 READ_ALL Sub-Command Summary Status Message .......................................................... 42
4.6.7 PROGRAM_ID Sub-Command .................................................................................................. 43
4.6.8 VERIFY ID Sub-Command ........................................................................................................ 45
4.6.9 LOCK ID Sub-Command............................................................................................................ 48
4.6.10 ERASE ID Sub-Command ........................................................................................................ 50
4.6.10.1 ERASE ID Sub-Command Status Message.................................................................................. 51
December 06, 2006
Revision 1.0
Proprietary Information
4.7 CLASS 1 GENERATION 2 COMMANDS .......................................................................................... 52
4.7.1 Class 1 Generation 2 Sub-Commands ......................................................................................... 53
4.7.2 KILL Sub-Command................................................................................................................... 54
4.7.2.1 KILL Sub-Command Status Message ...................................................................................... 55
4.7.3 SET Sub-Command..................................................................................................................... 56
4.7.3.1 SET Sub-Command Status Message ......................................................................................... 57
4.7.4 READ Sub-Command................................................................................................................. 58
4.7.4.1 READ Sub-Command Status Message .................................................................................... 59
4.7.4.2 READ Sub-Command Summary Status Message .................................................................... 60
4.7.5 PROGRAM Sub-Command ........................................................................................................ 61
4.7.5.1 PROGRAM Sub-Command Status Message............................................................................ 62
4.7.6 LOCK Sub-Command................................................................................................................. 63
4.7.6.1 C1G2 LOCK Sub-Command Status Message.......................................................................... 64
5.0 TROUBLESHOOTING............................................................................................................... 65
Chapter 6
No Response from Reader..................................................................................................................... 65
Tags Will Not Read............................................................................................................................... 66
Poor Read Range/Intermittent Tag Reads ............................................................................................. 67
APPENDIX A CRC CALCULATION ............................................................................................. 68
List of Figures
Figure 1 Packet Format .......................................... 10
Figure 2 Command Message Field Format ............ 12
Figure 3 Response Message Field Format............. 12
Figure 4 Download Command Format.................... 14
Figure 5 PROGRAM Sub-Command Message Format
16
Figure 6 END Sub-Command Message Format..... 17
Figure 7 System Command Format........................ 18
Figure 9 Class 0 Command Format........................ 20
Figure 10 KILL Sub-Command Message Format ... 21
Figure 11 KILL Sub-Command Status Message Format
22
Figure 12 SET Sub-Command Message Format ... 23
Figure 13 SET Sub-Command Status Message Format
24
Figure 14 READ Sub-Command Message Format 25
Figure 15 READ Sub-Command Status Message Format
26
Figure 16 READ Sub-Command Status Message Format
27
Figure 17 Class 1 Command Format...................... 28
Figure 18 KILL Sub-Command Message Format ... 30
Figure 19 KILL Sub-Command Status Message Format
31
Figure 20 SET Sub-Command Message Format ... 32
Figure 21 SET Sub-Command Status Message Format
33
Figure 22 READ Sub-Command Message Format 34
Figure 23 READ Sub-Command Status Message Format
35
Figure 24 READ Sub-Command Status Message Format
36
Figure 25 SCROLL ID Sub-Command Message Format
37
Figure 26 SCROLL_ID Sub-Command Status Message Format
Figure 27 SCROLL_ID Sub-Command Status Message Format
Figure 28 READ_ALL Sub-Command Message Format
40
Figure 29 READ_ALL Sub-Command Status Message Format
Figure 30 READ_ALL Sub-Command Status Message Format
Figure 31 PROGRAM_ID Sub-Command Message Format 43
Figure 32 PROGRAM_ID Sub-Command Status Message Format
Figure 33 VERIFY_ID Sub-Command Message Format
45
December 6, 2006
Revision 1.0
38
39
41
42
44
Proprietary Information
Figure 34 VERIFY_ID Sub-Command Status Message Format
46
Figure 35 VERIFY_ID Sub-Command Summary Status Message Format
Figure 36 LOCK_ID Sub-Command Message Format48
Figure 37 LOCK_ID Sub-Command Status Message Format 49
Figure 38 ERASE_ID Sub-Command Message Format
50
Figure 39 ERASE_ID Sub-Command Status Message
51
Figure 40 Class 1 Generation 2 Command Format 52
Figure 41 KILL Sub-Command Message Format ... 54
Figure 42 KILL Sub-Command Status Message Format
55
Figure 43 SET Sub-Command Message Format ... 56
Figure 44 SET Sub-Command Status Message Format
57
Figure 45 READ Sub-Command Message Format 58
Figure 46 READ Sub-Command Status Message Format
59
Figure 47 READ Sub-Command Summary Status Message Format
60
Figure 48 PROGRAM Sub-Command Message Format
61
Figure 49 PROGRAM Sub-Command Status Message Format
62
Figure 50 LOCK Sub-Command Message Format. 63
Figure 51 LOCK Sub-Command Status Message Format
64
December 6, 2006
Revision 1.0
Proprietary Information
47
List of Tables
Table 1 IDentity MaX Desktop Reader Pin Definitions7
Table 2 Status Field Status Codes ......................... 13
Table 4 Command Field Command Codes ............ 14
Table 5 Download Sub-Commands........................ 15
Table 6 END Sub-Command Field Definitions ....... 17
Table 7 System Sub-Commands............................ 19
Table 9 Class 0 Sub-Commands............................ 20
Table 10 KILL Sub-Command Field Definitions...... 21
Table 11 Sub-Command Status Field Definitions... 22
Table 12 SET Sub-Command Message Format..... 23
Table 13 SET Sub-Command Status Field Definitions24
Table 14 READ Sub-Command Field Definitions ... 25
Table 15 READ Sub-Command Status Field Definitions
26
Table 16 READ Sub-Command Status Field Definitions
27
Table 17 Class 1 Sub-Commands.......................... 29
Table 18 KILL Sub-Command Field Definitions...... 30
Table 19 KILL Sub-Command Status Field Definitions
31
Table 20 SET Sub-Command Field Definitions ...... 32
Table 21 SET Sub-Command Status Field Definitions33
Table 22 READ Sub-Command Field Definitions ... 34
Table 23 READ Sub-Command Status Field Definitions
35
Table 24 READ Sub-Command Status Field Definitions
36
Table 24 SCROLL ID Subcommand Field Definitions37
Table 25 SCROLL_ID Sub-Command Status Field Definitions
38
Table 26 SCROLL_ID Sub-Command Status Field Definitions
39
Table 27 READ_ALL Sub-Command Field Definitions
40
Table 28 READ_ALL Sub-Command Status Field Definitions 41
Table 29 READ_ALL Sub-Command Status Field Definitions 42
Table 30 PROGRAM_ID Sub-Command Field Definitions
43
Table 31 PROGRAM_ID Sub-Command Status Field Definitions
44
Table 32 VERIFY_ID Sub-Command Status Field Definitions 46
Table 33 VERIFY_ID Sub-Command Summary Status Field Definitions 47
Table 34 LOCK_ID Sub-Command Field Definitions48
Table 35 LOCK_ID Sub-Command Status Field Definitions 49
Table 36 ERASE_ID Sub-Command Status Field Definitions 51
Table 37 Class 1 Generation 2 Sub-Commands .... 53
Table 38 KILL Sub-Command Field Definitions...... 54
Table 39 KILL Sub-Command Status Field Definitions
55
Table 40 SET Sub-Command Field Definitions ...... 56
Table 41 SET Sub-Command Status Field Definitions57
Table 42 READ Sub-Command Field Definitions ... 58
Table 43 READ Sub-Command Status Field Definitions
59
Table 44 READ Sub-Command Summary Status Message Field Definitions
Table 45 PROGRAM Sub-Command Field Definitions
61
Table 46 PROGRAM Sub-Command Status Field Definitions 62
Table 47 LOCK Sub-Command Field Definitions ... 63
Table 48 LOCK Sub-Command Status Field Definitions
64
December 6, 2006
Revision 1.0
Proprietary Information
60
1.0 Introduction/Scope
Using This Manual
This User’s Guide provides instructions for installing the
IDentity MaX Desktop RFID reader and for integrating the
host protocol onto a PC based application.
Intended Audience
This manual is intended for use by technical personnel
responsible for installing IDentity MaX Desktop reader and
writing PC applications to communicate with it:
•
•
•
•
Electrical Engineers
Mechanical Engineers
Software Engineers
Manufacturing Engineers
Topics
Introduction/Scope
Reader Mechanical and Electrical
Information
Installation and Operation
Host Protocol
Troubleshooting
Appendix A
CRC Calculation
December 06, 2006
Revision 1.0
Proprietary Information
Explains the scope of this
manual and intended audience
Describes the physical and
electrical characteristics of the
reader
Describes the proper procedures
to install and operate the reader
Specifies the protocol used to
communicate with the reader
Lists possible causes and
remedies for operating
abnormalities
Example CRC-16 calculation
and sample “C” code
December 6, 2006
Revision 1.0
Proprietary Information
2.0 Mechanical and Electrical
2.1 Mechanical Specifications
Dimensions (LxWxD)
5.75” x 3.25” x 2.25” (not including cables)
Weight
1 lb, 7 oz.
Cables and Connectors
Data: 6 ft. Serial Cable with DB-9S (Female) connector
Power: 6 ft. cable with attached power supply using a two
prong, non-polarized, North American power connector
December 6, 2006
Revision 1.0
Proprietary Information
2.2 Electrical Specifications
Table 1 IDentity MaX Desktop reader UHF RFID Reader Pin Definitions
Pin Number
Pin Description
No Connection
RXD – Receive Serial Data
TXD – Transmit Serial Data
No Connection
Ground
No Connection
DTR – Data Terminal Ready
No Connection
No Connection
Input voltage
RF output power
Frequency
Communications Protocol
Communications Parameters
Communications Signal Level
Regulatory
December 6, 2006
Revision 1.0
120 VAC 60 Hz / 5VDC, 2A max
5dBm
UHF band, 902 - 928 MHz
Serial with CCITT CRC-16 error detection
115200 bps, 8 data bits, no parity, 1 stop bit
Serial data at RS-232 logic levels
FCC Part 15
Proprietary Information
3.0 Installation and Operation
3.1 Installation
The following steps are recommended to properly install the
IDentity MaX Desktop reader.
1. Unpack the contents of the shipping container.
2. Inspect the shipping container and contents for damage. If
damaged, notify the carrier and Sirit. Keep all shipping
materials for inspection by the carrier.
3. Determine the location of the reader. It will need to be
within 6 feet of the PC that will be hosting the user
application and within 6 feet of an AC power outlet.
4. Plug the AC power supply of the Desktop reader into the
AC power outlet.
5. Align the DB 9 connector with the serial port connector on
the host PC. Insert firmly. Screw down the thumbscrews
to ensure retention in the connector.
6. Rotate the unit so that the toggle switch and LED face the
operator.
3.2 Operation
The following steps are required to ensure proper operation of
the IDentity MaX Desktop reader:
1. Verify that all power and host PC connections are made.
2. Move the toggle switch on the front of the unit to the ON
(up) position.
3. Verify that the “Power On” LED illuminates.
4. Start the user application on the Host PC.
5. Place the RFID tag being read on the Desktop reader within
the dotted lines shown on the top of the reader. Contact
with the top of the reader must be maintained in order to
obtain a proper tag read transaction.
December 6, 2006
Revision 1.0
Proprietary Information
NOTE: To avoid erroneous tag reads, keep all RFID tags
other than the one being processed at least 1ft. away from
the IDentity MaX Desktop reader.
6. Perform the required operations as specified by the user
application and procedures.
7. After all tag transactions have been processed, flip the
toggle switch on the front of the reader to the OFF (down)
position.
December 6, 2006
Revision 1.0
Proprietary Information
4.0 Host Protocol
The Host Protocol supports communications between the
IDentity MaX Desktop reader and a Host. The following
sections define this protocol by breaking down the different
fields and layers of the packet protocol.
This interface uses the serial port on the IDentity MaX Desktop
reader. The serial port interface will be configured to transfer
data at 115,200 bps, 8 data bits, no parity, and 1 stop bit.
4.1 Packet Format
The protocol is Byte Oriented (packets and messages are a
sequence of bytes). All multi-byte commands, parameters and
responses are encoded MSB first. All bit field parameters or
responses are encoded left justified (MSBit in high order bit of
MSByte).
MSB
LSB
SOF (0x01)
Length
Message
CRC
1 byte
1 byte
1-128 bytes
2 bytes
Figure 1 Packet Format
December 6, 2006
Revision 1.0
Proprietary Information
10
DEFINITIONS
CRC: Two bytes, CCITT CRC-16 calculated over the
LENGTH field through the end of MESSAGE field in the
FORWARD direction with a PRELOAD of 0xFFFF. If the
CRC is calculated incorrectly, the reader will not respond. See
Appendix A.
LENGTH: Number of bytes in the packet from the LENGTH
byte through the end of the CRC, excluding the SOF
MESSAGE: Commands or responses
SOF: 0x01 Start-Of-Frame, byte field used to indicate the start
of a packet boundary
December 6, 2006
Revision 1.0
Proprietary Information
11
4.2 Message Formats
The MESSAGE portion of a packet is used to transport both
commands from the host to the reader and responses from the
reader to the host. The reader will not send autonomous
(unsolicited) responses.
Command messages contain a one byte “Command” field.
Following the command byte field is the “Parameter” field that
could contain zero to many parameters associated with the
command field.
MSB
LSB
Message
Command
Parameters
1 byte
127 bytes
Figure 2 Command Message Field Format
Response messages contain a one byte “Status” field that is
common to all reader responses. The “Status” field contains an
indication of the reader status. Following the status byte is the
“Response” field that could contain zero to many responses
associated with the “Status” field.
Figure 3 Response Message Field Format
MSB
LSB
Message
Status
Response
1 byte
127 bytes
December 6, 2006
Revision 1.0
Proprietary Information
12
The “Status” field contains the following status codes:
Table 2 Status Field Status Codes
STATUS_ERROR
Status
Code
0xFF
STATUS_COMPLETE
0x00
STATUS_IN_PROGRESS
0x01
Status
December 6, 2006
Revision 1.0
Description
The command processing is complete with
errors or faults detected.
The command has completed with no errors
or faults encountered.
The reader is still processing the command.
More response data is to be expected.
Proprietary Information
13
4.3 Commands
The following table shows all the commands that are supported
for command processing on the reader:
Table 3 Command Field Command Codes
Command
Code
Description
DOWNLOAD
0x00
Download new application software to the reader
SYSTEM
0x01
TAG_0
0x02
Set system operational mode and get software
versions
Class 0 tag commands
TAG_1
0x03
Class 1 tag commands
TAG_G2
0x04
Class 1 Generation 2 commands
4.3.1 DOWNLOAD Command
The DOWNLOAD command is used to download new
application software to the reader.
Figure 4 Download Command Format
MSB
LSB
Message
Command
Code
Parameters
0x00
SubCommand
Code
Parameters
1 byte
1 byte
126 bytes
December 6, 2006
Revision 1.0
Proprietary Information
14
4.3.2 DOWNLOAD Sub-Command
The DOWNLOAD command further utilizes sub-commands
and parameters to support the download process in the reader.
Table 4 Download Sub-Commands
Sub-Command
Code
NOTIFY
0x00
START
0x01
PROGRAM
0x02
END
0x03
REBOOT
0x04
December 6, 2006
Revision 1.0
Description
Both the reader and the application accept this
command. If the application receives this
command it will respond and reboot into the
application into the reader. If the reader receives
this command it will reboot the reader and then
respond
Only the reader accepts this sub-command.
Notifies the reader to erase the application area of
flash memory. During the flash erase process, the
reader may return several status messages of
IN_PROGRESS before returning a completion
status.
Only the reader accepts this sub-command. A
variable length message containing data to
beprogrammed into flash. The reader will
calculate a cumulative CRC of the data as it is
being downloaded During the flash programming
process, the reader may return several status
messages of IN_PROGRESS before returning a
completion status.
Only the reader accepts this sub-command.
Notifies the reader that there are no more
PROGRAM messages. Upon receipt, the reader
will compare CRC values then program the
application header into flash. During the flash
programming process, the reader may return
several status IN_PROGRESS messages before
returning a completion status.
Both the reader and the application accept this
sub-command. After responding to this command
the system will reboot.
Proprietary Information
Return
Status
Message
Yes
Yes
Yes
Yes
Yes
15
4.3.3 PROGRAM Sub-Command
The PROGRAM sub-command contains the following message
format for programming the flash. The DATA field will
contain one or more bytes of data that needs to be programmed.
Figure 5 PROGRAM Sub-Command Message Format
MSB
LSB
Message
Parameters
Command
Code
0x00
SubCommand
Code
0x02
Address
Data
1 byte
1 byte
4 bytes
122 bytes
December 6, 2006
Revision 1.0
Parameters
Proprietary Information
16
4.3.4 END Sub-Command
The END sub-command notifies the reader that there are no
more PROGRAM messages, compares the CRC values, and
programs the application header into flash. The END subcommand contains the following message format:
Figure 6 END Sub-Command Message Format
MSB
LSB
Message
Command
Code
Parameters
SubCommand
Code
Parameters
0x00
0x03
CRC
1 byte
1 byte
2 bytes
Start
Address
4 bytes
Parameters
120 bytes
Table 5 END Sub-Command Field Definitions
Field
Definition
2-byte CCITT CRC-16 of all program data (forward with
0xFFFF pre-load)
START_ADDRESS 4-byte address at which to start code execution
CRC
December 6, 2006
Revision 1.0
Proprietary Information
17
4.4 SYSTEM Command
The SYSTEM command is used to set system operational
mode and get software versions. The SYSTEM command is
also used for manufacturing test and is supported with Test
type system commands.
Figure 7 System Command Format
MSB
LSB
Message
Command
Code
0x01
1 byte
Parameters
Sub-Command
Code
1 byte
Parameters
126 bytes
The SYSTEM command returns the following response
message:

Where:
 - The current loader software version mark
(0x0000, 0xFFFF)
 - The current application software version
mark (0x0000, 0xFFFF)
 - The current MODE setting (0x01, 0x02)
The loader supports the SYSTEM command with the MODE
value being ignored. In addition to the software version marks,
the loader response returns a current MODE value of 0x00.
December 6, 2006
Revision 1.0
Proprietary Information
18
4.4.1 SYSTEM Sub-Commands
The SYSTEM command utilizes sub-commands and
parameters in the following manner:
Table 6 System Sub-Commands
SubCommand
Code
Type
Command
NO_CHG
0x00
Mode
STANDBY
0x01
Mode
ENABLED
0x02
Mode
RF_ON
0x80
Test
Description
No change (the system mode is not
changed)
This is a system mode command:
STANDBY (0x01) - Processor ON, all
RF circuitry OFF
Processor, receiver circuitry, and PLL
ON, TX OFF
Turn ON the RF transmitter
Return
Status
Message
Yes
Yes
Yes
Yes
Note: when coming out of STANDBY and returning to the
ENABLED state, allow 200ms before sending commands to
the IDentity MaX Desktop reader.
December 6, 2006
Revision 1.0
Proprietary Information
19
4.5 Class 0 Commands
The following section describes the command messages used
to support Class 0 tags. Class 0 tags are read-only and cannot
be written. . The Command Code 0x02 is for TAG_0 (Class 0)
tag commands.
Figure 8 Class 0 Command Format
MSB
LSB
Message
Command
Code
0x02
1 byte
Parameters
Sub-Command
Code
1 byte
Parameters
1-126 bytes
4.5.1 Class 0 Sub-Commands
The Class 0 command utilizes sub-commands and parameters
in the following manner:
Table 7 Class 0 Sub-Commands
Sub-Command
Code
Description
Return
Status
Message
KILL
0xFF
Kill Class 0 tag
Yes
SET
0x00
Set read parameters
Yes
READ
0x01
Read Class 0 tag IDs using the following
parameters
Yes
December 6, 2006
Revision 1.0
Proprietary Information
20
4.5.2 KILL Sub-Command
The KILL sub-command contains the following command
message format:
Figure 9 KILL Sub-Command Message Format
MSB
LSB
Message
Command
0x02
1 byte
Parameters
SubCommand
Singulation
0xFF
Mode
1 byte
Parameters
Singulation
Bit Count
Singulation
Bits
1 byte
12 bytes
1 byte
Pass
Code
bytes
109 bytes
Table 8 KILL Sub-Command Field Definitions
Field
Definition
SINGULATION_MODE
0x00 = ID0, 0x01 = ID1, or 0x02 = ID2
SINGULATION_BIT_COUNT
Number of singulation bits to follow
(0x00, 0x7F)
SINGULATION_BITS
Singulation bits
PASSCODE
24-bit pass code
December 6, 2006
Revision 1.0
Proprietary Information
21
4.5.2.1 KILL Sub-Command Status Message
The KILL sub-command status message contains the following
message format:
Figure 10 KILL Sub-Command Status Message Format
MSB
LSB
Message
Status
Status
Code
Response
Tag Count
0x00
1 byte
1 byte
126 bytes
Table 9 Sub-Command Status Field Definitions
Field
Definition
STATUS
This field should be set to STATUS_COMPLETE
TAG_COUNT
Number of tags singulated and killed (0x00, 0x01)
December 6, 2006
Revision 1.0
Proprietary Information
22
4.5.3
SET Sub-Command
The SET sub-command changes the power level of the reader
and contains the following message format:
Figure 11 SET Sub-Command Message Format
MSB
LSB
Message
Command
Parameters
SubCommand
Parameters
0x02
0x00
RF
Level
Mod
Depth
1 byte
1 byte
1 byte
1 byte
124 bytes
Table 10 SET Sub-Command Message Format
Field
Definition
RF power level to be used for reading Class 0 tags
RF_LEVEL
NO_CHG (0x00) - The current setting is to remain unchanged
Setting (0x01, 0x10) - +15 dBm to +30 dBm in 16 steps of 1
dB
Modulation depth to be used for reading Class 0 tags
NO_CHG (0x00) - The current setting is to remain unchanged
MOD_DEPTH
Setting (0x01, 0x20) – 20 % to 95 % in steps of ~2.42 %
December 6, 2006
Revision 1.0
Proprietary Information
23
4.5.3.1 SET Sub-Command Status Message
The SET sub-command status message contains the following
message format:
Figure 12 SET Sub-Command Status Message Format
MSB
LSB
MESSAGE
Status
Response
RF
Level
Mod
Depth
1 byte
1 byte
0x00
1 byte
125 bytes
Table 11 SET Sub-Command Status Field Definitions
Field
STATUS CODE
RF_LEVEL
MOD_DEPTH
December 6, 2006
Revision 1.0
Definition
This field should be set to STATUS_COMPLETE
This the Forward Power A/D target value for power control
The current Modulation Depth setting for reading Class 0
tags
Proprietary Information
24
4.5.4 READ Sub-Command
The READ sub-command is used with Class 0 (read-only
capability), and when reading specific tags. The READ subcommand contains the following message format:
Figure 13 READ Sub-Command Message Format
MSB
LSB
Message
Command
Parameters
SubCommand
0x02
0x01
1 byte
1 byte
Singulation
Mode
1 byte
Parameters
Filter Bit
Filter_Bits
Count
1 byte
16 bytes
108 bytes
Table 12 READ Sub-Command Field Definitions
Field
Definition
SINGULATION_MODE 0x00=ID0, 0x01=ID1, or 0x02=ID2
FILTER_BIT_COUNT
FILTER_BITS
December 6, 2006
Revision 1.0
Number of filter bits to follow (0x00.0x7F). If
(0x80.0xFF), treat as negative value of filter bit count and
treat FILTER_BITS as ID1 data.
Holding filter bits
Proprietary Information
25
4.5.4.1 READ Sub-Command Status Message
The READ sub-command status message contains the
following command message format:
Figure 14 READ Sub-Command Status Message Format
MSB
LSB
Message
Status
Status
Code
Response
Tag
Count
Tag ID
1 byte
126 bytes
0x01
1 byte
Table 13 READ Sub-Command Status Field Definitions
Field
STATUS CODE
TAG_COUNT
TAG_ID
Definition
This field should be set to IN_PROGRESS
The number of tags reported in this message
A sequence of 1 or more tag IDs. The 2 high order bits of the
IDs are used to determine the number of bits in the tag ID per
the EPC specification.). If either of the first two bits are a “1”
then the tag is 64 bits long. If the fifth bit is a “1” and the
first two bits are “00” the tag is 64-bits long otherwise if the
first two bits are “00” and the fifth bit is “0”, then the tag is
96-bits long.
If any tags are filtered and read, this command will return
multiple messages. After all tags have been reported, the
reader will send a final summary message to the host.
December 6, 2006
Revision 1.0
Proprietary Information
26
4.5.4.2 READ Sub-Command Summary Status Message
After all tags have been reported, the reader will send a final
summary status message to the host.
Figure 15 READ Sub-Command Status Message Format
MSB
LSB
Message
Status
Status
Code
Response
Total
Tag
Count
0x00
1 byte
2 bytes
125 bytes
Table 14 READ Sub-Command Status Field Definitions
Field
STATUS CODE
Definition
This field should be set to STATUS_COMPLETE
TOTAL_TAG_COUNT Total number of tags reported
December 6, 2006
Revision 1.0
Proprietary Information
27
4.6 Class 1 Commands
The following section describes the command messages used
to support Class 1 tags. Class 1 tags may be read or written.
The Command Code 0x03 is for TAG_1 (Class 1) tag
commands.
Figure 16 Class 1 Command Format
MSB
LSB
Message
Command
Code
0x03
1 byte
December 6, 2006
Revision 1.0
Parameters
Sub-Command
Code
1 byte
Parameters
1-126 bytes
Proprietary Information
28
4.6.1 Class 1 Sub-Commands
The Class 1 command utilizes sub-commands and parameters
in the following manner.
Table 15 Class 1 Sub-Commands
Sub-Command
Code
Description
KILL
0xFF
SET
0x00
READ
0x01
Kill a Class 1 tag
This command is used to set the RF power
level and modulation depth.
Read Class 1 tag IDs using the following
parameters. This read utilizes the
SCROLL_ALL_ID command.
All Class 1 tags receiving this command will
program the specified tag id in memory.
All tags receiving this command will reply
with their CRC, followed by their entire ID
code, and their password. A tag that has
successfully executed the LOCK_ID
command ignores the VERIFY_ID
command.
This command prevents any further
modification of the tag ID, CRC, and
password.
This command sets all bits of the tag ID,
CRC, and password to '0'. A tag that has
successfully executed the LOCK_ID
command ignores the ERASE_ID command.
Read Class 1 tag IDs using the specified
parameters. This read utilizes the PING
command.
The SCROLL ID sub-command is used to
search for tags in dense (very closely
grouped) tag environments.
This command will read and report Class 1
tags that do not conform to the EPC tag data
standards. It utilizes the Scroll_All_ID tag
command.
PROGRAM_ID 0x02
VERIFY_ID
0x03
LOCK_ID
0x04
ERASE_ID
0x05
PING_READ
0x06
SCROLL_ID
0x09
READ_ALL
0x0A
December 6, 2006
Revision 1.0
Proprietary Information
Return
Status
Message
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
29
4.6.2 KILL Sub-Command
Tags with IDs matching the singulation bits are permanently
deactivated and will no longer respond to or execute reader
commands. The password is used to enable this functionality.
This “self-destruct” command renders the tag inactive forever.
The KILL sub-command contains the following command
message format:
Figure 17 KILL Sub-Command Message Format
MSB
LSB
Message
Command
Parameters
SubCommand
Parameters
0x03
0xFF
Tag Id Bit
Count
Password
Tag Id
1 byte
1 byte
1 byte
1 byte
12 bytes
112 bytes
Table 16 KILL Sub-Command Field Definitions
Field
Definition
TAG_ID_BIT_COUNT Number in the Tag ID (64, 96,)
PASSWORD
TAG_ID
December 6, 2006
Revision 1.0
Tag 8-bit password
This is the Tag ID to be used in addressing a single tag that is to
be killed
Proprietary Information
30
4.6.2.1 KILL Sub-Command Status Message
The KILL sub-command status message contains the following
message format:
Figure 18 KILL Sub-Command Status Message Format
MSB
LSB
Message
Status
Status
Code
Response
Tag Count
0x00
1 byte
1 byte
126 bytes
Table 17 KILL Sub-Command Status Field Definitions
Field
STATUS
TAG_COUNT
December 6, 2006
Revision 1.0
Definition
This field should be set to STATUS_COMPLETE
Number of tags killed (0x00, 0x01)
Proprietary Information
31
4.6.3 SET Sub-Command
The SET sub-command contains the following message
format:
Figure 19 SET Sub-Command Message Format
MSB
LSB
Message
Command
Parameters
SubCommand
Parameters
0x03
0x00
RF Level
Mod
Depth
1 byte
1 byte
1 byte
1 byte
124 bytes
Table 18 SET Sub-Command Field Definitions
Field
Definition
RF power level to be used for reading Class 1 tags
NO_CHG (0x00) - The current RF setting is to remain
unchanged
Setting (0x01 . . . 0x10) - +15 dBm to +30 dBm in 16 steps
of 1 dB
Modulation depth to be used for reading Class 1 tags
NO_CHG (0x00) - The current RF setting is to remain
MOD_DEPTH unchanged
RF_LEVEL
Setting (0x01 . . . 0x20) – 20 % to 95 % in steps of ~2.42 %
December 6, 2006
Revision 1.0
Proprietary Information
32
4.6.3.1 SET Sub-Command Status Message
The SET sub-command status message contains the following
command message format:
Figure 20 SET Sub-Command Status Message Format
MSB
LSB
Message
Status
Response
RF
level
Mod
Depth
1 byte
1 byte
0x00
1 byte
125 bytes
Table 19 SET Sub-Command Status Field Definitions
Field
STATUS CODE
RF_LEVEL
MOD_DEPTH
December 6, 2006
Revision 1.0
Definition
This field should be set to ERR_NONE
This is the Forward Power A/D target value for
power control
This is the current Modulation Depth setting
Proprietary Information
33
4.6.4 READ Sub-Command
The READ sub-command is used to read tags. The
SCROLL_ALL_ID command is used to search for tags during
the interrogation process. During this process, the reader
listens for the loudest tag, responds, and “quiets” that tag in
order to hear the next loudest tag. The READ sub-command
contains the following message format:
Figure 21 READ Sub-Command Message Format
MSB
LSB
Message
Command
Parameters
SubCommand
Parameters
0x03
0x01
Filter Bit
Count
Filter_Bits
1 byte
1 byte
1 byte
16 bytes
109 bytes
Table 20 READ Sub-Command Field Definitions
Field
Definition
FILTER_BIT_COUNT
FILTER_BITS
Number of filter bits to follow (0..96). Filter bit count of 0
indicates no filter bits.
Holding filter bits
If any tags are filtered and read, this command will return
multiple messages.
December 6, 2006
Revision 1.0
Proprietary Information
34
4.6.4.1 READ Sub-Command Status Message
The READ sub-command status message contains the
following message format:
Figure 22 READ Sub-Command Status Message Format
MSB
LSB
Message
Status
Status
Code
Response
Tag
Count
Tag Id
1 byte
126 bytes
0x01
1 byte
Table 21 READ Sub-Command Status Field Definitions
Field
STATUS
CODE
Definition
This field should be set to IN_PROGRESS
TAG_COUNT The number of tags reported in this message
TAG_ID
A sequence of 1 or more tag IDs. The 2 high order bits of the IDs are
used to determine the number of bits in the tag ID per the EPC
specification.). If either of the first two bits are a “1” then the tag is 64
bits long. If the fifth bit is a “1” and the first two bits are “00” the tag is
64-bits long otherwise if the first two bits are “00” and the fifth bit is
“0”, then the tag is 96-bits long.
If any tags are singulated and read, this command will return
multiple messages. After all tags have been reported, the
reader will send a final summary message to the host.
December 6, 2006
Revision 1.0
Proprietary Information
35
4.6.4.2 READ Sub-Command Summary Status Message
After all tags have been reported, the reader will send a final
summary status message to the host.
Figure 23 READ Sub-Command Status Message Format
MSB
LSB
Message
Status
Status
Code
Response
Total
Tag
Count
0x00
1 byte
2 bytes
125 bytes
Table 22 READ Sub-Command Status Field Definitions
Field
STATUS CODE
Definition
This field should be set to
STATUS_COMPLETE
TOTAL_TAG_COUNT Total number of tags reported
December 6, 2006
Revision 1.0
Proprietary Information
36
4.6.5 SCROLL ID Sub Command
The SCROLL ID sub-command is used to search for tags in
dense (very closely grouped) tag environments. Using Scroll
ID for tag singulation requires more time to execute than the
standard READ sub-command. Therefore, it is not
recommended for low density tag environments. The Scroll ID
sub-command status message contains the following message
format:
Figure 24 SCROLL ID Sub-Command Message Format
MSB
LSB
Message
Command
Parameters
SubCommand
Parameters
0x03
0x09
Filter Bit Count
Filter_Bits
1 byte
1 byte
1 byte
16 byte
109 bytes
Table 23 SCROLL ID Subcommand Field Definitions
Field
Field
Definition
FILTER_BIT_COUNT Number of filter bits to follow (0..96). Filter bit 0 indicates no filter bits.
FILTER_BITS
Holding filter bits.
Definition
December 6, 2006
Revision 1.0
Proprietary Information
37
4.6.5.1 SCROLL ID Sub-Command Status Message
The SCROLL_ID sub-command status message contains the
following message format:
Figure 25 SCROLL_ID Sub-Command Status Message Format
MSB
LSB
Message
Status
Status
Code
Response
Tag
Count
Tag ID
1 byte
126 bytes
0x01
1 byte
Table 24 SCROLL_ID Sub-Command Status Field Definitions
Field
Definition
STATUS
This field should be set to IN_PROGRESS
CODE
TAG_COUNT The number of tags reported in this message
A sequence of 1 or more tag IDs. The 2 high order bits of the IDs
are used to determine the number of bits in the tag ID per the EPC
specification.). If either of the first two bits are a “1” then the tag is
TAG_ID
64 bits long. If the fifth bit is a “1” and the first two bits are “00”
the tag is 64-bits long otherwise if the first two bits are “00” and the
fifth bit is “0”, then the tag is 96-bits long.
If any tags are singulated and read, the SCROLL_ID command
will return multiple messages.
December 6, 2006
Revision 1.0
Proprietary Information
38
4.6.5.2 SCROLL ID Sub-Command Summary Status Message
After all tags have been reported, the reader will send a final
summary status message to the host.
Figure 26 SCROLL_ID Sub-Command Status Message Format
MSB
LSB
Message
Status
Status
Code
Response
Total
Tag
Count
0x00
1 byte
2 bytes
125 bytes
Table 25 SCROLL_ID Sub-Command Status Field Definitions
Field
STATUS CODE
TOTAL_TAG_COUNT
December 6, 2006
Revision 1.0
Definition
This field should be set to STATUS_COMPLETE
Total number of tags reported
Proprietary Information
39
4.6.6 READ_ALL Sub-Command
The READ_ALL sub-command is used to read tags. The
SCROLL_ALL_ID command is used to search for tags during
the interrogation process. During this process, the reader
listens for the loudest tag, responds, and “quiets” that tag in
order to hear the next loudest tag. This version of the read
command will not filter out tag IDs that do not conform to the
EPC tag data standards, as the standard READ command does.
The READ_ALL sub-command contains the following
message format:
Figure 27 READ_ALL Sub-Command Message Format
MSB
LSB
Message
Command
Parameters
SubCommand
Parameters
0x03
0x0A
Filter Bit
Count
Filter_Bits
1 byte
1 byte
1 byte
16 bytes
109 bytes
Table 26 READ_ALL Sub-Command Field Definitions
Field
FILTER_BIT_COUNT
FILTER_BITS
December 6, 2006
Revision 1.0
Definition
Number of filter bits to follow (0..96). Filter bit count of 0
indicates no filter bits.
Holding filter bits
Proprietary Information
40
4.6.6.1 READ_ALL Sub-Command Status Message
The READ_ALL sub-command status message contains the
following message format:
Figure 28 READ_ALL Sub-Command Status Message Format
MSB
LSB
Message
Status
Status
Code
Response
Tag
Count
Tag ID Length - Tag ID
1 byte
126 bytes
0x01
1 byte
Table 27 READ_ALL Sub-Command Status Field Definitions
Field
STATUS
CODE
Definition
This field should be set to IN_PROGRESS
TAG_COUNT The number of tags reported in this message
A sequence of 1 or more tag lengths combined with tag IDs. The first
byte will contain the length of the tag ID that follows, whether 64 or 96
Tag ID Length
bit (0x40 or 0x60), and the bytes that follow will contain the Tag ID up
- Tag ID
to the length specified in the first byte. Subsequent tag IDs will follow
this same pattern.
If any tags are singulated and read, this command will return
multiple messages. After all tags have been reported, the
reader will send a final summary message to the host.
December 6, 2006
Revision 1.0
Proprietary Information
41
4.6.6.2 READ_ALL Sub-Command Summary Status Message
After all tags have been reported, the reader will send a final
summary status message to the host.
Figure 29 READ_ALL Sub-Command Status Message Format
MSB
LSB
Message
Status
Status
Code
Response
Total
Tag
Count
0x00
1 byte
2 bytes
125 bytes
Table 28 READ_ALL Sub-Command Status Field Definitions
Field
STATUS CODE
Definition
This field should be set to
STATUS_COMPLETE
TOTAL_TAG_COUNT Total number of tags reported
December 6, 2006
Revision 1.0
Proprietary Information
42
4.6.7 PROGRAM_ID Sub-Command
The PROGRAM_ID sub-command will program all Class 1
tags. The PROGRAM_ID message contains the Tag ID Bit
Count, Password, and the Tag ID to be used in programming
the tag.
In order to implement the PROGRAM_ID command, the
reader sends a PROGRAM_ID command to the tag to program
the tag ID and password. The reader further verifies the
PROGRAM_ID command execution by sending a
VERIFY_ID command. The reader will determine if the tag
ID values were properly programmed and report any errors.
Figure 30 PROGRAM_ID Sub-Command Message Format
MSB
LSB
Message
Command
Parameters
SubCommand
Parameters
0x03
0x02
Tag ID
Bit Count
Password
Tag ID
1 byte
1 byte
1 byte
1 byte
12 bytes
112 bytes
Table 29 PROGRAM_ID Sub-Command Field Definitions
Field
Tag ID Bit
Count
PASSWORD
TAG ID
December 6, 2006
Revision 1.0
Definition
This field should be set to the number of bits in the tag id
This field contains the password received from the EPC
tag, MSB first
This field contains the EPC tag ID code (up to 96 bits),
MSB first
Proprietary Information
43
4.6.7.1 PROGRAM_ID Sub-Command Status Message
Once the tag has been programmed with the correct CRC, Tag
ID, and Password, a status complete message will be sent to the
host indicating the command execution result. A status
complete message indicates the tag was programmed
successfully. Otherwise, an error status message is sent
indicating any of the following error conditions upon
programming a tag:
ERR_PROG_ID_FAIL
ERR_TAG_READ_FAIL
Figure 31 PROGRAM_ID Sub-Command Status Message Format
MSB
LSB
Message
Status
Response
Status
Code
0x00
1 byte
127 bytes
Table 30 PROGRAM_ID Sub-Command Status Field Definitions
Field
STATUS CODE
ERR_PROG_ID_FAIL
Definition
This field should be set to
STATUS_COMPLETE 0x00
This field would be set to 0xEB
ERR_TAG_READ_FAIL This field would be set to 0xEA
December 6, 2006
Revision 1.0
Proprietary Information
44
4.6.8 VERIFY ID Sub-Command
All tags receiving the VERIFY_ID command will reply with
their CRC, followed by their entire ID (MSB of the identifier
first), followed by their Password. A tag that has successfully
executed the LOCK_ID command ignores this command.
It should be noted that an all “0” or totally blank 64-bit tags
cannot be read successfully by the VERIFY_ID sub-command.
Because the tags are blank, they will be erroneously identified
as 96-bit tags. But since they will only return 64-bits, the
reader will misinterpret this and return an error.
The VERIFY_ID sub-command contains the following
message format:
Figure 32 VERIFY_ID Sub-Command Message Format
MSB
LSB
Message
Command
Parameters
SubCommand
0x03
0x03
1 byte
1 byte
December 6, 2006
Revision 1.0
Parameters
126 bytes
Proprietary Information
45
4.6.8.1 VERIFY ID Sub-Command Status Message
The VERIFY ID sub-command status message will contain a
CRC, EPC ID Code and Password. The VERIFY ID subcommand status message contains the following message
format:
Figure 33 VERIFY_ID Sub-Command Status Message Format
MSB
LSB
Message
Status
Response
0x00
Tag Count
EPC ID
Code
Password
CRC
1 byte
1 byte
12 bytes
1 byte
2 bytes
111 bytes
Table 31 VERIFY_ID Sub-Command Status Field Definitions
Field
STATUS CODE
TAG COUNT
EPC ID CODE
PASSWORD
CRC
December 6, 2006
Revision 1.0
Definition
This field should be set to STATUS_COMPLETE
This field indicates the number of tags to be reported in this
message
This field contains the EPC tag ID code (up to 96 bits), MSB
first
This field contains the 8-bit password received from the EPC
tag, MSB first
This field contains the 16-bit CRC response from the tag, MSB
first
Upon error, an ERR_TAG_READ_FAIL status message (
0xEA) is sent to the host.
Proprietary Information
46
4.6.8.2 VERIFY_ID Sub-Command Summary Status Message
After all tags have been reported, the reader will send a final
summary status message to the host.
Figure 34 VERIFY_ID Sub-Command Summary Status Message Format
MSB
LSB
Message
Status
Status
Code
Response
Total
Tag
Count
0x00
1 byte
2 byte
125 bytes
Table 32 VERIFY_ID Sub-Command Summary Status Field Definitions
Field
STATUS CODE
TOTAL_TAG_COUNT
December 6, 2006
Revision 1.0
Definition
This field should be set to STATUS_COMPLETE
Total number of tags reported
Proprietary Information
47
4.6.9 LOCK ID Sub-Command
The LOCK_ID command prevents any further modification of
the tag ID, CRC, and Password. In order to implement the
LOCK_ID command, the Reader first sends a VERIFY_ID
command to the tag in order to retrieve the CRC, Tag ID, and
Password information. The Reader then sends a LOCK_ID
command to the tag to lock the tag information. The Reader
further verifies the LOCK_ID command execution by sending
a VERIFY_ID command. If the reader gets the CRC, Tag ID,
and Password from the tag, the LOCK_ID command failed.
No response signifies a successful LOCK_ID command
execution. Failure to lock a tag is reported back with the
appropriate status error code.
Figure 35 LOCK_ID Sub-Command Message Format
MSB
LSB
Message
Command
Parameters
SubCommand
Parameters
0x03
0x04
Password
1 byte
1 byte
1 byte
125 bytes
Table 33 LOCK_ID Sub-Command Field Definitions
Field
Definition
PASSWORD
8-bit Password
December 6, 2006
Revision 1.0
Proprietary Information
48
4.6.9.1 LOCK ID Sub-Command Status Message
Once the tag has been locked a status message will be sent to
the host indicating the command execution result. A status
complete status message indicates the tag was locked
successfully. Otherwise, an error status message is sent
indicating any of the following error conditions upon locking a
tag:
ERR_TAG_READ_FAIL
ERR_LOCK_ID_FAIL
Figure 36 LOCK_ID Sub-Command Status Message Format
MSB
LSB
Message
Status
Response
Status
Code
0x00
1 byte
127 bytes
Table 34 LOCK_ID Sub-Command Status Field Definitions
Field
STATUS CODE
Definition
This field should be set to STATUS_COMPLETE 0x00
ERR_INVALID_PARAM This will return a 0xFD
ERR_TAG_READ_FAIL
This will return a 0xEA
ERR_LOCK_ID_FAIL
This will return a 0xE8
December 6, 2006
Revision 1.0
Proprietary Information
49
4.6.10 ERASE ID Sub-Command
The ERASE_ID command sets all bits of the tag ID, CRC, and
Password to '0'. A tag that has successfully executed the
LOCK_ID command ignores the ERASE_ID command.
In order to implement the ERASE_ID command, the Reader
sends an ERASE_ID command to the tag to erase all tag
information. The Reader further verifies the ERASE_ID
command execution by sending a VERIFY_ID command. If
the reader receives non-zero values for the CRC, Tag ID, and
Password from the tag, the ERASE_ID command failed. A
successful ERASE_ID command execution is defined as a tag
response of all zeros in the CRC, Tag ID, and Password fields.
Failure to erase a tag is reported back with the appropriate
status error code.
Figure 37 ERASE_ID Sub-Command Message Format
MSB
LSB
Message
Command
Parameters
SubCommand
0x03
0x05
1 byte
1 byte
December 6, 2006
Revision 1.0
Parameters
126 bytes
Proprietary Information
50
4.6.10.1 ERASE ID Sub-Command Status Message
Once the tag has been erased a status message will be sent to
the host indicating the command execution result. A
STATUS_COMPLETE status message indicates the tag was
erased successfully. Otherwise, an error status message is sent
indicating any of the following error conditions upon erasing a
tag:
ERR_ERASE_ID_FAIL
ERR_TAG_READ_FAIL
Figure 38 ERASE_ID Sub-Command Status Message
MSB
LSB
Message
Status
Response
Status
Code
0x00
1 byte
127 bytes
Table 35 ERASE_ID Sub-Command Status Field Definitions
Field
STATUS CODE
Definition
This field should be set to
STATUS_COMPLETE
ERR_ERASE_ID_FAIL
This field will return a 0xE9
ERR_TAG_READ_FAIL
This field will return a 0xEA
December 6, 2006
Revision 1.0
Proprietary Information
51
4.7 Class 1 Generation 2 Commands
The following section describes the command messages used
to support Class 1 Generation 2 tags. Class 1 Generation 2 tags
may be read and written. The Command Code 0x04 is for
TAG_2 (Class 1 Generation 2) tag commands.
Figure 39 Class 1 Generation 2 Command Format
MSB
LSB
Message
Command
Code
0x04
1 byte
December 6, 2006
Revision 1.0
Parameters
Sub-Command
Code
1 byte
Parameters
1-126 bytes
Proprietary Information
52
4.7.1 Class 1 Generation 2 Sub-Commands
The Class 1 Generation 2 command utilizes sub-commands and
parameters in the following manner.
Table 36 Class 1 Generation 2 Sub-Commands
Sub-Command
Code
Description
KILL
0xFF
SET
0x00
Kill a Class 1 Generation 2 tag
This command is used to set the RF power
level and modulation depth.
READ
0x01
PROGRAM
0x02
LOCK
0x03
December 6, 2006
Revision 1.0
Read Class 1 Generation 2 tags
All Class 1 Generation 2 tags receiving this
command will program the specified tag id
in memory.
This command prevents any further
modification of the data stored on the tag
Proprietary Information
Return
Status
Message
Yes
Yes
Yes
Yes
Yes
53
4.7.2 KILL Sub-Command
The KILL sub-command is used to render tags nonoperational. The KILL sub-command contains the following
message format:
Figure 40 KILL Sub-Command Message Format
MSB
LSB
Message
Command
Parameters
SubCommand
Parameters
0x04
0xFF
Q value
Tag ID Bit
Count
Kill
Password
Tag ID
1 byte
1 byte
1 bytes
1 byte
4 bytes
32 bytes
88 bytes
Table 37 KILL Sub-Command Field Definitions
Field
Q Value
Tag ID Bit Count
Kill Password
TAG_ID
December 6, 2006
Revision 1.0
Definition
Q Value for interrogation session with tags
This field should be set to the number of bits in the tag id
The KILL password that is programmed onto the tag to be
killed
This is the Tag ID bits to be used in addressing a single tag
that is to be killed
Proprietary Information
54
4.7.2.1 KILL Sub-Command Status Message
The KILL sub-command status message contains the following
message format:
Figure 41 KILL Sub-Command Status Message Format
MSB
LSB
Message
Status
Status
Code
Response
Tag Count
0x00
1 byte
2 bytes
126 bytes
Table 38 KILL Sub-Command Status Field Definitions
Field
Definition
STATUS
This field should be set to STATUS_COMPLETE
TAG_COUNT
Number of tags killed (0x0000 or more, MSB first)
December 6, 2006
Revision 1.0
Proprietary Information
55
4.7.3 SET Sub-Command
The SET sub-command contains the following message
format:
Figure 42 SET Sub-Command Message Format
MSB
LSB
Message
Command
Parameters
SubCommand
Parameters
0x04
0x00
RF Level
Mod
Depth
1 byte
1 byte
1 byte
1 byte
124 bytes
Table 39 SET Sub-Command Field Definitions
Field
Definition
RF power level to be used for reading Class 1 Generation 2
tags
NO_CHG (0x00) - The current RF setting is to remain
RF_LEVEL
unchanged
Setting (0x01 . . . 0x10) - +15 dBm to +30 dBm in 16 steps
of 1 dB
Modulation depth to be used for reading Class 1 Generation
2 tags
NO_CHG (0x00) - The current RF setting is to remain
MOD_DEPTH
unchanged
Setting (0x01 . . . 0x20) – 20 % to 95 % in steps of ~2.42 %
December 6, 2006
Revision 1.0
Proprietary Information
56
4.7.3.1 SET Sub-Command Status Message
The SET sub-command status message contains the following
command message format:
Figure 43 SET Sub-Command Status Message Format
MSB
LSB
Message
Status
Response
RF
level
Mod
Depth
1 byte
1 byte
0x00
1 byte
125 bytes
Table 40 SET Sub-Command Status Field Definitions
Field
STATUS CODE
RF_LEVEL
MOD_DEPTH
December 6, 2006
Revision 1.0
Definition
This field should be set to ERR_NONE
This is the Forward Power A/D target value for
power control
This is the current Modulation Depth setting
Proprietary Information
57
4.7.4 READ Sub-Command
The READ sub-command is used to read tags. The READ
sub-command contains the following message format:
Figure 44 READ Sub-Command Message Format
MSB
LSB
Message
Command
Parameters
SubCommand
Parameters
0x04
0x01
Q value
Filter Bit
Count
Filter_Bits
1 byte
1 byte
1 byte
1 byte
32 bytes
92 bytes
Table 41 READ Sub-Command Field Definitions
Field
Q Value
FILTER_BIT_COUNT
FILTER_BITS
December 6, 2006
Revision 1.0
Definition
Q Value for interrogation session with tags
Number of filter bits to follow (0..96). Filter bit
count of 0 indicates no filter bits.
Holding filter bits, based on Filter_Bit_Count
Proprietary Information
58
4.7.4.1 READ Sub-Command Status Message
Figure 45 READ Sub-Command Status Message Format
MSB
LSB
Message
Status
Status
Code
Response
Tag
Count
Tag ID Length - Tag ID
1 byte
126 bytes
0x01
1 byte
Table 42 READ Sub-Command Status Field Definitions
Field
STATUS
CODE
Definition
This field should be set to IN_PROGRESS
TAG_COUNT The number of tags reported in this message
A sequence of 1 or more tag lengths combined with tag IDs. The first
byte will contain the length of the tag ID that follows, whether 64 or 96
Tag ID Length
bit (0x40 or 0x60), and the bytes that follow will contain the Tag ID up
- Tag ID
to the length specified in the first byte. Subsequent tag IDs will follow
this same pattern.
If any tags are singulated and read, this command will return
multiple messages. After all tags have been reported, the
reader will send a final summary message to the host.
December 6, 2006
Revision 1.0
Proprietary Information
59
4.7.4.2 READ Sub-Command Summary Status Message
After all tags have been reported, the reader will send a final
summary status message to the host.
Figure 46 READ Sub-Command Summary Status Message Format
MSB
LSB
Message
Status
Status
Code
Response
Total
Tag
Count
0x00
1 byte
2 bytes
125 bytes
Table 43 READ Sub-Command Summary Status Message Field Definitions
Field
STATUS CODE
Definition
This field should be set to
STATUS_COMPLETE
TOTAL_TAG_COUNT Total number of tags reported
December 6, 2006
Revision 1.0
Proprietary Information
60
4.7.5 PROGRAM Sub-Command
The PROGRAM sub-command is used to program an EPC ID
into a Class 1 generation 2 tag. The PROGRAM subcommand contains the following message format:
Figure 47 PROGRAM Sub-Command Message Format
MSB
LSB
Message
Command
Parameters
SubCommand
Parameters
0x04
0x02
Q value
Tag ID Bit
Count
Kill
Password
Tag ID
1 byte
1 byte
1 byte
1 byte
4 bytes
32 bytes
88 bytes
Table 44 PROGRAM Sub-Command Field Definitions
Field
Q Value
Tag ID Bit Count
Kill Password
TAG_ID
December 6, 2006
Revision 1.0
Definition
Q Value for interrogation session with tags
This field should be set to the number of bits in the tag id
The KILL password to be programmed onto the tag to allow
it to be killed in the future
This is the Tag ID to be programmed into the tag
Proprietary Information
61
4.7.5.1 PROGRAM Sub-Command Status Message
The PROGRAM sub-command status message contains the
following message format:
Figure 48 PROGRAM Sub-Command Status Message Format
MSB
LSB
Message
Status
Status
Code
Response
Tag Count
0x00
1 byte
2 bytes
126 bytes
Table 45 PROGRAM Sub-Command Status Field Definitions
Field
STATUS
TAG_COUNT
December 6, 2006
Revision 1.0
Definition
This field should be set to STATUS_COMPLETE
Number of tags programmed
Proprietary Information
62
4.7.6 LOCK Sub-Command
The LOCK sub-command prevents further modification of the
EPC ID and the Kill password stored on a tag. The LOCK subcommand contains the following message format:
Figure 49 LOCK Sub-Command Message Format
MSB
LSB
Message
Command
Parameters
SubCommand
Parameters
0x04
0x03
Q value
Tag ID Bit
Count
Tag ID
1 byte
1 byte
1 byte
1 byte
32 bytes
92 bytes
Table 46 LOCK Sub-Command Field Definitions
Field
Q Value
Tag ID Bit Count
TAG_ID
December 6, 2006
Revision 1.0
Definition
Q Value for interrogation session with tags
This field holds the number of bits in the tag id
This is the ID of the tag to be locked
Proprietary Information
63
4.7.6.1 C1G2 LOCK Sub-Command Status Message
Figure 50 LOCK Sub-Command Status Message Format
MSB
LSB
Message
Status
Status
Code
Response
Tag
Count
0x00
1 byte
1 byte
126 bytes
Table 47 LOCK Sub-Command Status Field Definitions
Field
STATUS
CODE
Definition
This field should be set to STATUS_COMPLETE
TAG_COUNT The number of tags locked
December 6, 2006
Revision 1.0
Proprietary Information
64
5.0 Troubleshooting
This section is intended to help you identify and correct
some common problems that can occur. For additional
information or assistance with any query, please call
SIRIT at 1-877-492-0101, ext. 2550.
No Response from Reader
Checklist
Check that the external power supply is
plugged into a 120 VAC 60 Hz outlet
Solution
Correct voltage problem.
Check physical connection to serial port of
the Host PC
Correct any connection issue at serial
interface connector.
Check that serial communications
parameters are correct (115200bps, 8 data
bits, no parity, 1 stop bit)
Correct settings of serial communications
port.
Check that serial commands are properly
constructed
Correct commands to conform to serial
protocol as specified in Section 4
December 6, 2006
Revision 1.0
Proprietary Information
65
Tags Will Not Read
Checklist
Check that the external power supply is
plugged into a 120 VAC 60 Hz outlet
Solution
Correct voltage problem.
Check for proper reader response to
commands
If reader does not respond per serial
protocol as specified in Section 4,
perform “No Response”
troubleshooting.
Check reader response to serial
commands for error codes
If Status field of reader response is
“FF”, look up error code in Response
field in section 4
Check serial command to reader for
proper command
Correct command (i.e., Make sure to
use Class 0 read command for Class 0
tags).
Check for working tags in read zone
Make sure tags are functional, and
making contact with the top of the
reader.
Check tag environment
UHF tags will not function well in some
environments, such as in close
proximity to metal.
December 6, 2006
Revision 1.0
Proprietary Information
66
Intermittent Tag Reads
Checklist
Solution
Check for working tags in read zone
Make sure tags are functional, and in contact
with the top of the reader.
Check tag environment
UHF tags will not function well in some
environments, such as in close proximity to
metal.
December 6, 2006
Revision 1.0
Proprietary Information
67
Appendix A CRC Calculation
This section shows how to calculate the CCITT CRC-16 over
the entire body of the message. The CCITT CRC-16 is
calculated starting with the LENGTH byte and continuing
through the length -2. The final two CRC bytes are not
included in the calculation but should be checked against the
CCITT CRC-16 for a match.
A typical command string, the Notify Command, with this
CRC Calculated follows:
01 05 00 00 27 6C
Where the 01 is the SOF byte, the 05 is the length and 00 00 is
the command for the Notify Command with the 276C as the
correctly calculated CRC.
Here is a “C” language listing that shows the CCITT CRC-16
calculation.
// ***************************************************************************************************
//
// CRC_Calc
// Calculates CCITT-CRC for IDentity MaX Desktop RFID reader
//
// Version 1.0
//
// This routine calculates the two byte CCITT-CRC for command and data messages for the IDentity MaX Desktop reader UHF
RFID
// Reader.
//
// Inputs: Place the entire message to be transmitted including SOH and two empty bytes for CRC into an array.
// In this demo case CommandArray and the total length of the command in the length variable, CommandLength
// are passed. These are passed into "bytearray[]" and "arraylength" variables of the routine.
//
// Outputs: This routine will return the value of the two-byte CRC which is calculated in the variable "crc".
//
// The routine begins with array index [1], and goes to array length -2. You will have to move the two bytes returned
// into the last two bytes of the array before transmitting the command. You can also use it to verify received
// commands by checking the entire length, i.e. set your length to two more than the actual length of the command. If
// the returned, the CRC is "0000" then the command is valid
//
// ****************************************************************************************************
#include 
#include 
unsigned short CRC_Calc(char bytearray[256],int arraylength)
unsigned short crc = 0xFFFF;
unsigned short tempresults;
unsigned short bitindex;
unsigned short byteindex;
December 6, 2006
Revision 1.0
// Preload to FFFF
// Just a temporary results holder
// 0 - 7
// The byte pointer into the byte
// array that holds
Proprietary Information
68
// the command to be checked.
unsigned char placeholder;
// A place to put the byte while we
// work on it.
for (byteindex = 1; byteindex <= (arraylength - 3); byteindex++)
// begin checking after SOH and
// before CRC bytes
placeholder = bytearray[byteindex];
for(bitindex = 0; bitindex <= 7; bitindex++)
tempresults = (crc >> 15) ^ (placeholder >> 7);
crc <<= 1;
// Shift CRC right 15 bits then do a
// bitwise XOR
// Shift CRC left one bit and store it
// in CRC
if(tempresults)
crc ^= 0x1021;
// Standard CCITT Polynomial
// X16+X12+X5+1
placeholder <<= 1;
return crc;
// Returns the CRC calculated in
// the variable crc
December 6, 2006
Revision 1.0
Proprietary Information
69


Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.4
Linearized                      : No
Page Count                      : 74
XMP Toolkit                     : XMP toolkit 2.9.1-13, framework 1.6
About                           : uuid:788bc2d3-5887-40f3-8022-544e72dc405a
Producer                        : Acrobat Distiller 6.0 (Windows)
Creator Tool                    : PScript5.dll Version 5.2
Modify Date                     : 2006:12:18 16:35:12-06:00
Create Date                     : 2006:12:18 16:35:12-06:00
Document ID                     : uuid:e69986cf-79c2-4442-bdb7-d32236c54226
Format                          : application/pdf
Title                           : Microsoft Word - IDentity MaX Desktop Users Guide 1.1.doc
Creator                         : ryin
Author                          : ryin
EXIF Metadata provided by EXIF.tools
FCC ID Filing: M4ZIDMAX016

Navigation menu