User Guide
Table Of Contents
- Contents
- Contents
- Introduction to the Mercury6e- Transcore Module
- Functionality of the Embedded Modules
- Overview of the Communication Protocol
- Command Set
- Boot Loader Commands
- Multi-Protocol Tag Commands
- Allegro/Title-21 Tag Commands
- eGo/SeGo Tag Command Set
- ATA Tag Command Set
- Gen2 Tag Commands
- Get Configuration Commands
- Get Hardware Version (10h)
- Get Antenna Configuration (61h)
- Get Read TX Power (62h)
- Get Current Tag Protocol (63h)
- Get Write TX Power (64h)
- Get Frequency Hop Table (65h)
- Get User GPIO Inputs (66h)
- Get Current Region (67h)
- Get Power Mode (68h)
- Get User Mode (69h)
- Get Reader Configuration(6Ah)
- Get Protocol Configuration (6Bh)
- Get Reader Statistics (6Ch)
- Get Available Protocols (70h)
- Get Available Regions (71h)
- Get Current Temperature (72h)
- Set Configuration Commands
- Regulatory Test Commands
- Appendix A: Hardware Details
- Appendix B: Using the ArbSer Application
- Appendix C: 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
- FPGA 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 D: FPGA Support
Firmware Overview
16 Introduction to the Mercury6e-Transcore Module
The application firmware, which implements the actual reader functionality, is field
upgradable.
Boot Loader
The boot loader provides low-level functionality. This program provides a customer
interface for upgrading the application firmware and storing data into flash.
When a module is powered up or reset, the boot loader code is automatically copied from
sector 0 of flash into the Microprocessor’s on-chip RAM, and executed. The boot loader
provides the following features:
Ability to read / write / erase flash memory
Upgrade application FW
Change serial baud rate
Verify image CRC
Application Firmware
The application firmware (FW) is an important software component of the module. It
contains the protocol code as well as all the user interfaces to set and get various system
parameters. The application FW is started using the Boot Firmware command in the
boot loader; it does not start by itself upon power up.
Note
You can use the Arbser utility to upgrade the reader firmware.
Verifying Application FW Image CRC
The application FW has an image level Cyclic Redundancy Check (CRC) embedded in it
to protect against corrupted firmware during an upgrade process. (If the upgrade is
unsuccessful, the CRC will not match the contents in flash.) When the boot loader starts
the application FW, it first verifies that the image CRC is correct. If this check fails, then
the boot loader does not start the application FW.
The upgrade process uses a series of individual 250-byte packet write operations to
ensure that an upgrade is successfully completed for the complete image. It also ensures
that the application FW in flash was not corrupted accidently, and can be expected to
perform properly when executed.