User Manual
Table Of Contents
- M6e-31.5dBm Hardware Guide
- Contents
- Mercury6e Introduction
- Hardware Overview
- Firmware Overview
- Communication Protocol
- Functionality of the Mercury6e
- Appendix A: Error Messages
- Common Error Messages
- FAULT_MSG_WRONG_NUMBER_OF_DATA – (100h)
- FAULT_INVALID_OPCODE – (101h)
- FAULT_UNIMPLEMENTED_OPCODE – 102h
- FAULT_MSG_POWER_TOO_HIGH – 103h
- FAULT_MSG_INVALID_FREQ_RECEIVED (104h)
- FAULT_MSG_INVALID_PARAMETER_VALUE - (105h)
- FAULT_MSG_POWER_TOO_LOW - (106h)
- FAULT_UNIMPLEMENTED_FEATURE - (109h)
- FAULT_INVALID_BAUD_RATE - (10Ah)
- Bootloader Faults
- Flash Faults
- Protocol Faults
- FAULT_NO_TAGS_FOUND – (400h)
- FAULT_NO_PROTOCOL_DEFINED – 401h
- FAULT_INVALID_PROTOCOL_SPECIFIED – 402h
- FAULT_WRITE_PASSED_LOCK_FAILED – 403h
- FAULT_PROTOCOL_NO_DATA_READ – 404h
- FAULT_AFE_NOT_ON – 405h
- FAULT_PROTOCOL_WRITE_FAILED – 406h
- FAULT_NOT_IMPLEMENTED_FOR_THIS_PROTOCOL – 407h
- FAULT_PROTOCOL_INVALID_WRITE_DATA – 408h
- FAULT_PROTOCOL_INVALID_ADDRESS – 409h
- FAULT_GENERAL_TAG_ERROR – 40Ah
- FAULT_DATA_TOO_LARGE – 40Bh
- FAULT_PROTOCOL_INVALID_KILL_PASSWORD – 40Ch
- FAULT_PROTOCOL_KILL_FAILED - 40Eh
- FAULT_PROTOCOL_BIT_DECODING_FAILED - 40Fh
- FAULT_PROTOCOL_INVALID_EPC – 410h
- FAULT_PROTOCOL_INVALID_NUM_DATA – 411h
- FAULT_GEN2 PROTOCOL_OTHER_ERROR - 420h
- FAULT_GEN2_PROTOCOL_MEMORY_OVERRUN_BAD_PC - 423h
- FAULT_GEN2 PROTOCOL_MEMORY_LOCKED - 424h
- FAULT_GEN2 PROTOCOL_INSUFFICIENT_POWER - 42Bh
- FAULT_GEN2 PROTOCOL_NON_SPECIFIC_ERROR - 42Fh
- FAULT_GEN2 PROTOCOL_UNKNOWN_ERROR - 430h
- Analog Hardware Abstraction Layer Faults
- Tag ID Buffer Faults
- System Errors
- Common Error Messages
- Appendix B: Getting Started - Devkit
Tag Handling
46 Functionality of the Mercury6e
Tag Handling
When the M6e performs inventory operations (MercuryAPI Read commands) data is
stored in a Tag Buffer
until retrieved by the client application, or streamed directly to the
client if operating in Streaming mode [Not Yet Implemented].
Tag Buffer
The M6e uses a dynamic buffer that depends on EPC length and quantity of data read.
As a rule of thumb it can store a maximum of 1024 96-bit EPC tags in the TagBuffer at a
time. Since the M6e supports streaming of read results the buffer limit is, typically, not an
issue. Each tag entry consists of a variable number of bytes and consists of the following
fields:
The Tag buffer acts as a First In First Out (FIFO) — the first Tag found by the reader is the
first one to be read out.
Tag St r eam ing
When reading tags during inventory operations (MercuryAPI Reader.Read() and
Reader.StartReading()) by default the M6e “streams” the tag results back to the
host processor. This means that tags are pushed out of the buffer as soon as they are
processed by the M6e and put into the buffer. The buffer is put into a circular mode that
keeps the buffer from filling. This allows for the M6e to perform continuous search
operations without the need to periodically stop reading and fetch the contents of the
buffer. Aside from not seeing “down time” when performing a read operation this behavior
is essentially invisible to the user as all tag handling is done by the MercuryAPI.
Tag Buffer Entry
Total Entry
Size
Field Size Description
68 bytes
(Max EPC
Length = 496bits)
EPC
Length
2 bytes Indicates the actual EPC length of the tag
read. Cannot exceed the Max EPC length
setting.
PC Word 2 bytes Contains the Protocol Control bits for the tag.
EPC 62 bytes Contains the tag’s EPC value padded with
trailing zeros if the size is less than the Max
EPC Length size.
Tag CRC 2 bytes The tag’s CRC.
Tag Read Meta Data