3M Traffic Safety Systems IDMAX016 RFID Reader User Manual
3M Traffic Safety Systems RFID Reader
User manual
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 : ryinEXIF Metadata provided by EXIF.tools