Frame Definition

The serial communication between the Host Computer and the Interrogator is done frame by frame with formats explained below.

Frame Format

Header

Type

Instruction Code

Parameter Length (PL)

Parameter

CRC

End

BB

00

07

00 01

01

09

7E

The CRC is calculated by summing the frame bytes from Type to the last byte of Parameter, only taking the LSB byte.

Frame Type

Type

Description

0x00

Command from the Host Computer to the Interrogator

0x01

Response from the Interrogator to the Host Computer

0x02

Notification from the Interrogator to the Host Computer

Each command frame has a corresponding response frame. The response frame indicates whether the instruction has been executed.

There are corresponding notification frames for single inventory instructions and multiple inventory instructions. The notification frames is automatically sent to the Host Computer by the Interrogator according to the reading situation. When the Interrogator reads a tag, it sends a notification frame, and when the Interrogator reads multiple tags, it sends multiple notification frames.

Frame Code Index

This is the list of possible code for the command frame and the corresponding response frame. Usually, the response frame will have the same code as the command code with this exception:

  • 0xE5 command code can have 0xE5 or 0xE6 response code

  • 0xD3 command code can have 0xD3 or 0xD4 response code

  • Error response frame will have 0xFF as the response code

Code

Instruction

0x03

Get Interrogator Module Information

0x22

Single Inventory

0x27

Multiple Inventory

0x28

Stop Multiple Inventory

0x0C

Set Select

0x12

Get Select

0x39

Read Tag

0x49

Write Tag

0x82

Lock Tag

0x65

Kill Tag

0x11

Set Communication Baud Rate

0x0D

Get Query Parameters

0x0E

Set Query Parameters

0x07

Set work area

0xAB

Set working channel

0xAA

Get working channel

0xAD

Set automatic frequency hopping

0xB7

Get transmit power

0xB6

Set transmit power

0xB0

Set to transmit continuous carrier

0xF1

Get receiver demodulator parameters

0xF0

Set the receiver demodulator parameters

0xF2

Test the blocking signal at the RF input

0xF3

Test channel RSSI

0x1A

Control IO port

0x17

Module sleep

0x1D

Set module idle sleep time

0xE0

NXP ChangeConfig command

0xE1

NXP ReadProtec/Reset ReadProtect command

0xE3

NXP Change EAS command

0xE4

NXP EAS-Alarm command

0xE5/0xE6

Impinj Monza 4 QT command

0xD3/0xD4

BlockPermalock instruction

Response Error Codes

If the execution of the instruction fails, the interrogator will return a response frame of execution failure which has 0xFF as the Command Code.

The response frame parameter will be 1 Byte of error code, and sometimes with PC+EPC of the tag if available.

Error

Code

Description

Command Error

0x17

The command code in the command frame is wrong.

FHSS Fail

0x20

Frequency hopping search channel timed out. All channels are occupied during this time.

Inventory Fail

0x15

No Tag reply or CRC error.

Wrong Access Password

0x16

Wrong access password.

Read Fail

0x09

No Tag reply or CRC error.

Write Fail

0x10

No Tag reply or CRC error.

Lock Fail

0x13

No Tag reply or CRC error.

Kill Fail

0x12

No Tag reply or CRC error.

BlockPermalock Fail

0x14

No Tag reply or CRC error.

NXP G2X ReadProtect Custom Command Error

Error

Code

Description

ChangeConfig Fail

0x1A

No Tag reply or CRC error.

ReadProtect Fail

0x2A

No Tag reply or CRC error.

Reset ReadProtect Fail

0x2B

No Tag reply or CRC error.

Change_EAS Fail

0x1B

No Tag reply or CRC error.

EAS_Alarm Fail

0x1D

The EAS_Alarm command fails, and the correct Alarm Code is returned without a tag.

EPC Gen2 Error

This is the format of the error response frame related to EPC Gen2 Protocol.

The error codes specified by the EPC Gen2 protocol is only 4 bits, and it is represented on the lower 4 bits of the response frame error code. The upper 4 bits is 0xA – 0xE depending on the command it corresponds to.

EPC Gen2 protocol returns an error code with this format:

Error Code Format

Command

0xA0 | Error Code

Read

0xB0 | Error Code

Write

0xC0 | Error code

Lock

0xD0 | Error code

Kill

0xE0 | Error code

BlockPermalock

This is from Table I.2: Tag error codes of EPCglobal Gen2 Specification v2.0.1.

Error Code

Error-Code Name

Description

0x00

Other error

Catch-all for errors not covered by other codes.

0x01

Not supported

The Tag does not support the specified parameters or feature.

0x02

Insufficient privileges

The Interrogator did not authenticate itself with sufficient privileges for the Tag to perform the operation

0x03

Memory overrun

The Tag memory location does not exist, is too small, or the Tag does not support the specified EPC length.

0x04

Memory locked

The Tag memory location is locked or permalocked and is either not writeable or not readable.

0x05

Crypto suite error

Catch-all for errors specified by the cryptographic suite.

0x06

Command not encapsulated

The Interrogator did not encapsulate the command in an AuthComm or SecureComm as required.

0x07

ResponseBuffer overflow

The operation failed because the ResponseBuffer overflowed.

0x08

Security timeout

The command failed because the Tag is in a security timeout.

0x0B

Insufficient power

The Tag has insufficient power to perform the operation.

0x0F

Non-specific error

The Tag does not support error-specific codes.