JADAK a business unit of Novanta MERCURY5E RFID Module User Manual MercuryEmbedMods UserGuide

Trimble Navigation Limited RFID Module MercuryEmbedMods UserGuide

Contents

Manual

Mercury®5e-Class Embedded ModulesUser Guide
Mercury5e-Class Embedded ModulesUser Guide
Government Limited Rights Notice: All documentation and manuals were developed atprivate expense and no part of it was developed using Government funds.The U.S. Government’s rights to use, modify, reproduce, release, perform, display, or disclose thetechnical data contained herein are restricted by paragraph (b)(3) of the Rights in TechnicalData — Noncommercial Items clause (DFARS 252.227-7013(b)(3)), as amended from time-to-time. Any reproduction of technical data or portions thereof marked with this legend must alsoreporduce the markings. Any person, other than the U.S. Government, who has been providedaccess to such data must promptly notify ThingMagic, Inc.ThingMagic, Mercury, and the ThingMagic logo are trademarks or registered trademarks ofThingMagic, Inc. Other product names mentioned herein may be trademarks or registered trademarks ofThingMagic, Inc. or other companies.© Copyright 2000–2008 ThingMagic, Inc. All Rights ReservedThingMagic, Inc.One Broadway, 5th floorCambridge, MA 02142866-833-4069Third EditionMarch, 2008
Communication Regulation InformationCommunication Regulation InformationEMC  FCC 47 CFR, Part 15Industrie Canada RSS-210Federal Communication Commission Interference StatementThis equipment has been tested and found to comply with the limits for a Class B digital device, pursuant to Part 15 of the FCC Rules. These limits are designed to provide reasonable protection against harmful interference in a residential installation. This equipment generates uses and can radiate radio frequency energy and, if not installed and used in accordance with the instructions, may cause harmful interference to radio communications. However, there is no guarantee that interference will not occur in a particular installation. If this equipment does cause harmful interference to radio or television reception, which can be determined by turning the equipment off and on, the user is encouraged to try to correct the interference by one of the following measures: Reorient or relocate the receiving antenna. Increase the separation between the equipment and receiver. Connect the equipment into an outlet on a circuit different from that to which the receiver is connected. Consult the dealer or an experienced radio/TV technician for help.This device complies with Part 15 of the FCC Rules. Operation is subject to the following two conditions: (1) This device may not cause harmful interference, and (2) this device must accept any interference received, including interference that may cause undesired operation.FCC Caution: Any changes or modifications not expressly approved by the party responsible for compliance could void the user's authority to operate this equipment.This transmitter module is authorized to be used in other devices only by OEM integrators under the following conditions:1.    The antenna(s) must be installed such that a minimum separation distance of 20cm is maintained between the radiator (antenna) & user’s/nearby people’s body at all times.2.    The transmitter module must not be co-located with any other antenna or transmitter. As long as the two conditions above are met, further transmitter testing will not be required. However, the OEM integrator is still responsible for testing their end-product for any additional compliance requirements required with this module installed (for example, digital device emissions, PC peripheral requirements, etc.).
Communication Regulation InformationNoteIn the event that these conditions can not be met (for certain configurations or co-location with another transmitter), then the FCC authorization is no longer considered valid and the FCC ID can not be used on the final product. In these circumstances, the OEM integrator will be responsible for re-evaluating the end product (including the transmitter) and obtaining a separate FCC authorization.The OEM integrator has to be aware not to provide information to the end user regarding how to install or remove this RF module in the user manual of the end product.User Manual RequirementThe user manual for the end product must include the following information in a prominent location;“To comply with FCC’s RF radiation exposure requirements, the antenna(s) used for this transmitter must be installed such that a minimum separation distance of 20cm is maintained between the radiator (antenna) & user’s/nearby people’s body at all times and must not be co-located or operating in conjunction with any other antenna or transmitter.”End Product LabelingThe final end product must be labeled in a visible area with the following:“Contains Transmitter Module FCC ID: QV5MERCURY5E” or “Contains FCC ID: QV5MERCURY5E.” (Replace QV5MERCURY5E, for the Mercury5e, with QV5MERCURY5EC for the M5e-Compact).Industry CanadaOperation is subject to the following two conditions: (1) this device may not cause interference, and (2) this device must accept any interference, including interference that may cause undesired operation of the device.To reduce potential radio interference to other users, the antenna type and its gain should be so chosen that the equivalent isotropically radiated power (e.i.r.p.) is not more than that permitted for successful communication.
Communication Regulation InformationThis device has been designed to operate with the antennas listed in Authorized Antennas. Antennas not included in this list are strictly prohibited for use with this device.To comply with IC RF exposure limits for general population/uncontrolled exposure, the antenna(s) used for this transmitter must be installed to provide a separation distance of at least 20 cm from all persons and must not be collocated or operating in conjunction with any other antenna or transmitter.
 1 ContentsCommunication Regulation Information  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .iFederal Communication Commission Interference Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iUser Manual Requirement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .iiEnd Product Labeling. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .iiIndustry Canada  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .iiChapter 1: Introducing the Mercury Embedded Reader  . . . . . . . . . . . . . . . . . . . . . . . . .1About the Readers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Product Line Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2Software for the Reader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2Boot Loader. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3Application Firmware  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  3About the Reader Assistant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  3Chapter 2: Setting Up the Reader  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4Attaching the Antenna  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4Powering Up the Reader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6Chapter 3: Using the Reader Assistant  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8Starting the Reader Assistant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9Communication Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10Serial Communications Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11Menu Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12File menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12Options menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12Action menu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12Configuring the Reader  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13Reading and Writing to Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16Advanced Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18Serial Log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20
2Loading FW and Using the Flash Area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21Working with Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24Tag Operations Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24Write Tag ID. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28Reading Tag Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29Writing Tag Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29Killing Tags. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30Locking Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31Reading Tags. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32Debugging the Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33Appendix A: Hardware Details  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-39Mechanicals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39Antenna Connector. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41Communications Connector  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41Appendix B: Error Messages   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-45Common Error Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45FAULT_MSG_WRONG_NUMBER_OF_DATA – (100h). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45Cause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45Solution  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45FAULT_INVALID_OPCODE – (101h)  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46Cause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46Solution  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46FAULT_UNIMPLEMENTED_OPCODE – 102h. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46Cause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46Solution  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46FAULT_MSG_POWER_TOO_HIGH – 103h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46Cause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46Solution  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46FAULT_MSG_INVALID_FREQ_RECEIVED (104h)  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47Cause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47Solution  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47FAULT_MSG_INVALID_PARAMETER_VALUE - (105h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47Cause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47Solution  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47FAULT_MSG_POWER_TOO_LOW - (106h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47Cause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47Solution  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3FAULT_UNIMPLEMENTED_FEATURE - (109h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48Cause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48Solution  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48FAULT_INVALID_BAUD_RATE - (10Ah) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48Cause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48Solution  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48Bootloader Faults. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49FAULT_BL_INVALID_IMAGE_CRC – 200h  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49Cause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49Solution  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49FAULT_BL_INVALID_APP_END_ADDR – 201h. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49Cause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49Solution  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49Flash Faults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50FAULT_FLASH_BAD_ERASE_PASSWORD – 300h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50Cause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50Solution  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50FAULT_FLASH_BAD_WRITE_PASSWORD – 301h  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50Cause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50Solution  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50FAULT_FLASH_UNDEFINED_ERROR – 302h. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51Cause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51Solution  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51FAULT_FLASH_ILLEGAL_SECTOR – 303h. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51Cause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51Solution  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51FAULT_FLASH_WRITE_TO_NON_ERASED_AREA – 304h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51Cause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51Solution  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51FAULT_FLASH_WRITE_TO_ILLEGAL_SECTOR – 305h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51Cause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51Solution  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52FAULT_FLASH_VERIFY_FAILED – 306h  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52Cause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52Solution  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52Protocol Faults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .53FAULT_NO_TAGS_FOUND – (400h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53Cause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53Solution  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54FAULT_NO_PROTOCOL_DEFINED – 401h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4Cause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54Solution  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54FAULT_INVALID_PROTOCOL_SPECIFIED – 402h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54Cause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54Solution  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54FAULT_WRITE_PASSED_LOCK_FAILED – 403h. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55Cause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55Solution  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55FAULT_PROTOCOL_NO_DATA_READ – 404h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55Cause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55Solution  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55FAULT_AFE_NOT_ON – 405h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55Cause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55Solution  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55FAULT_PROTOCOL_WRITE_FAILED – 406h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55Cause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55Solution  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56FAULT_NOT_IMPLEMENTED_FOR_THIS_PROTOCOL – 407h  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56Cause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56Solution  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56FAULT_PROTOCOL_INVALID_WRITE_DATA – 408h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56Cause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56Solution  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56FAULT_PROTOCOL_INVALID_ADDRESS – 409h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56Cause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56Solution  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56FAULT_GENERAL_TAG_ERROR – 40Ah  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57Cause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57Solution  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57FAULT_DATA_TOO_LARGE – 40Bh  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57Cause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57Solution  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57FAULT_PROTOCOL_INVALID_KILL_PASSWORD – 40Ch  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57Cause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57Solution  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57FAULT_PROTOCOL_KILL_FAILED - 40Eh. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57Cause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57Solution  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58FAULT_GEN2 PROTOCOL_OTHER_ERROR - 420h. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58FAULT_GEN2_PROTOCOL_MEMORY_OVERRUN_BAD_PC - 423h. . . . . . . . . . . . . . . . . . . . . . . . . 58FAULT_GEN2 PROTOCOL_MEMORY_LOCKED - 424h  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
5FAULT_GEN2 PROTOCOL_INSUFFICIENT_POWER - 42Bh. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58FAULT_GEN2 PROTOCOL_NON_SPECIFIC_ERROR - 42Fh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58FAULT_GEN2 PROTOCOL_UNKNOWN_ERROR - 430h. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58Analog Hardware Abstraction Layer Faults. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59FAULT_AHAL_INVALID_FREQ – 500h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59Cause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59Solution  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59FAULT_AHAL_INVALID_FREQ – 501h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59Cause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59Solution  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59Tag ID Buffer Faults  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .60FAULT_TAG_ID_BUFFER_NOT_ENOUGH_TAGS_AVAILABLE – 600h . . . . . . . . . . . . . . . . . . . . . . . 60Cause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60Solution  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60FAULT_TAG_ID_BUFFER_FULL – 601h. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60Cause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60Solution  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60FAULT_TAG_ID_BUFFER_REPEATED_TAG_ID – 602h  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61Cause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61Solution  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61FAULT_TAG_ID_BUFFER_NUM_TAG_TOO_LARGE – 603h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61Cause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61Solution  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61System Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62FAULT_SYSTEM_UNKNOWN_ERROR – 7F00h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62Cause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62Solution  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62FAULT_TM_ASSERT_FAILED – 7F01h. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62Cause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62Solution  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62Appendix C: Antennas   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-63Authorized Antennas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .63End User License and Warranty Agreement  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Chapter 1: Introducing the Mercury Embedded Reader  1 Chapter 1: Introducing the Mercury Embedded ReaderAbout the ReadersThe ThingMagic® Mercury® embedded readers are RFID engines that you can integrate with other systems to create RFID-enabled products. A comprehensive user interface called the Reader Assistant provides screens to read from and write to tags. In addition, there are screens for adding firmware and debugging. This guide explains how to set up the reader to read and write to tags.NoteChanges or modifications not expressly approved by ThingMagic Inc. could void the user’s authority to operate the Mercury5e or M5e-Compact.
Product Line OverviewChapter 1: Introducing the Mercury Embedded Reader 2Product Line OverviewThe embedded modules were designed to be incorporated into wide variety of products.The M4e is a general purpose, multi-protocol embedded reader. It utilizes a software (SW) radio architecture that allows the M4e to read all current existing RFID protocols, as well as being able to upgrade the firmware (FW) to read new protocols as they are designed. The M5e is a small form-factor, low power, low cost Gen2 module. The M5e is ideal for embedding a powerful RFID reader with read and write capabilities into a product or system. The M5e-C is a smaller version of the M5e. It has one MMCX connector for a monostatic antenna. It is ideal for applications demanding the smallest form-factor,Software for the ReaderThe software (SW) for the embedded products consists of two separate programs that coexist in flash memory:  The boot loader, which is started at power on, is not field upgradable. It is programmed into flash when the module is manufactured. The application firmware, which implements the actual reader functionality, is field upgradable.
Software for the ReaderChapter 1: Introducing the Mercury Embedded Reader 3Boot 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 CRCApplication 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.NoteYou can also use the Reader Assistant to update the reader FW.About the Reader Assistant An easy-to-use user interface (Reader Assistant) can be installed to simplify reader communication. This Reader Assistant can be used to demonstrate the embedded module or perform detailed evaluations of the product’s performance. The Reader Assistant has the following features: Real-time logging of all serial transmits and receives with a timestamp Reading and writing of all tag commands Reading, writing, and modifying data stored in flash memory Reading and writing to applications stored in flash memoryUpdating of new firmware releases
Chapter 2: Setting Up the Reader  4 Chapter 2: Setting Up the ReaderAttaching the AntennaThe antenna cable is attached to the Mercury5e or M5e-Compact reader at J2. The other end of the cable is attached to the antenna.Use the following procedure to connect a monostatic antenna to the reader.
Attaching the AntennaChapter 2: Setting Up the Reader 5To attach a monostatic antenna:1.    Connect one end of the coax cable to the antenna.2.    Connect the other end of the cable to J 2. AntennaCoax cableM5eTerm inat orJ2M5e-CJ2
Powering Up the ReaderChapter 2: Setting Up the Reader 63.    Attach a terminator to the open antenna port.When using a monostatic antenna, terminate the unused port (on the M5e) before the reader is powered on. If no terminator is available, a 3 dB attenuator can be substituted.Powering Up the ReaderAfter connecting the antenna and terminating the extra antenna, you can power up the reader.To power up:1.    Connect a DB9 serial cable from a PC to the reader flex cable. The async settings for the serial cable are:CAUTION!!!An unterminated antenna port can be dam-aged, if it is powered on.
Powering Up the ReaderChapter 2: Setting Up the Reader 72.    Attach a power supply into the reader’s electrical connection.3.    Connect the power supply to a 100–240 VAC power outlet. The reader begins to power up.Continue with the next chapter to start reading tags.
Chapter 3: Using the Reader Assistant  8 Chapter 3: Using the Reader AssistantThe Reader Assistant is a graphical user interface developed to allow you to communicate with the DevKits and Mercury embedded modules. From the Reader Assistant, you can perform the following tasks:Read tagsWrite to tagsConfigure the readerUpdate applications in flash memoryLoad new firmwareIf you select Options > Show Advanced Features or press Ctrl+A, the Tag OperationsDebugand   tabs appear. From these tabs, you can perform the following tasks:Write tag idsRead and Write tag dataKill and Lock tagsDebug using scripts
Starting the Reader AssistantChapter 3: Using the Reader Assistant 9Starting the Reader AssistantThe following procedure explains how to install and activate the Reader Assistant on your computer system.To start the Reader Assistant and set up the serial port:1.    Copy the ReaderAssistant folder from the CD to a computer that is used to connect to the embedded module or run the executable file from the CD.2.    Set up the computer to the embedded module as described in the Mercury Embedded Modules DevKit Set Up Sheet.3.    Double-click the executable file ReaderAssistant.exe.The Reader Assistant Splash screen appears and then the Reader Assistant opens.
Communication SettingsChapter 3: Using the Reader Assistant 10Communication SettingsYou use the Communication Settings screen to set the Com Port and the baud rate. It can also configure the baud rate used by the reader.The Communication Settings screen displays automatically the first time the Reader Assistant is launched. The Communication Settings screen also displays when the application settings file application_settings.dat is deleted. Otherwise, you can access the screen using the following procedure.To access the Communication Settings screen:1.    Select Options > Communication Settings and the following dialog opens.The Reader detects the COM Port that is on the computer system. Note:  If the Reader is attached to a different COM port, you have to choose the port from the list.2.    From the Baud Rate menu, choose a communication rate. The default is 9600.3.    Click OK to close the Communications Settings screen.
Communication SettingsChapter 3: Using the Reader Assistant 11Serial Communications ProblemIf the host computer and the reader lose communications, an alert screen displays that warns you of the problem. The alert displays if the response message fails to arrive after a timeout period or if the response message contains an invalid CRC..
Menu CommandsChapter 3: Using the Reader Assistant 12Menu CommandsThe menu commands, File, Options, and Action provide additional actions that you can take in the Reader Assistant.File menuThe File menu has the following commands: Save Application Settings – Ctrl+S Quit – Ctrl+Q Save Serial Log - Saves the current serial log to a file. Please note the default name for the save file is always offered and no checks are made for overwriting an existing file.Options menuThe Options menu has the commands: Communication Settings Show Serial Log – Ctrl+L Show Advanced Features – Ctrl+AAction menuThe Action menu has the following commands: Re-Synch Application and Reader – Ctrl+RSelecting this action attempts to update the Reader Assistant with the current settings of the module. This should not be used if the devkit/module has been disconnected or swapped with another devkit/module. In that case the Reader Assistant should be restarted. Reset ReaderSelecting this action resets all module settings to their default values.
Configuring the ReaderChapter 3: Using the Reader Assistant 13Configuring the ReaderThe Config tab allows you to configure the reader settings. All the settings are displayed in the Serial Log. For information about each setting, see the Config Tab Settings.NoteBe sure to set the antenna port before attempting to read tags. Otherwise, the reader cannot read tags.The following table explains the reader Config tab settings:Config Tab SettingsName DescriptionAntenna Port Select one of the following: Monostatic BistaticRead Power (dBm) Move the slider or click the up or down arrow to change the read power. The default is 100% or 30dBm on the Mercury5e and 23dBm on the M5e-Compact.Write Power (dBm) Move the slider or click the up or down arrow to change the write power. The default is 100% or 30dBm on the Mercury5e and 23dBm on the M5e-Compact.Protocol Select a protocol to use. M4e: EPC0/EPC0+Matrics, EPC1, ISO18k-6B, EPC0+Impinj, GEN2, UCODEM5e: GEN2.User Mode (M5e/M5e-Compact only)Select one of the following modes:0x00. Default0x01. Printer 0x03. Portal
Configuring the ReaderChapter 3: Using the Reader Assistant 14To change Config settings:1.    Select the antenna port you are using from the Antenna Port menu.2.    Set read and write power by doing one of the following tasks: Moving the Read Power slider or Write Power slider Changing the power percentage by clicking the up or down arrows.3.    Select a protocol from the Protocol menu.For M5e/M5e-Compact, GEN2 is the only protocol supported.Advanced SettingsPower Save Mode (M5e/M5e-Com-pact only)Allows you to set power saving modes:0x00. Full Power Mode – Operates at full power0x01. Minimal Savings Mode – Saves power without degrading system performance, 10 ms delay.0x02. Medium Savings Mode – Shuts down analog section between serial commands and restarts when a command is issued, 50 ms delay.0x03. Maximum Savings Mode/Deep Sleep– Shuts down board, only powers the proces-sor, restarts when a command is issued, up to 200 ms delay.GPIO Input #1GPIO Input #2Gets the GPIO setting. Click the Get GPIO Inputs button.GPIO Output #1GPIO Output # 2Sets the GPIO setting:Low | HighGen2 Session Sets the Gen2 Session to use for tag operations.Max. EPC Length Sets the maximum size EPC that can be read. When set to 496, shorter EPCs will still be read.Antenna Port Termination Checks for antennas or terminators on the antenna ports and displays the status.Temperature Gets the current temperature of board components.Transmit Modes Sets the transmit mode to use (if applicable):0x00 High Performance Mode0x01 Low Powr Mode.Name Description
Configuring the ReaderChapter 3: Using the Reader Assistant 154.    For M5e/M5e-Compact only, select a User Mode and a Power Mode.NoteSelect User Mode 01 (Printer) or Gen2 Session=0 for maximum read rate on individual tags. Selecting User Modes where the Gen2 Session=1 (User Modes 00 or 03) may result in a slow single tag read rate.
Reading and Writing to TagsChapter 3: Using the Reader Assistant 16Reading and Writing to TagsThe Read/Write tab can be used to quickly read tags to verify that the reader is working correctly. Set up the reader and provide tags to read. See the Mercury Embedded Modules DevKit Set Up Sheet provided with the DevKit.When you are connected, the reader type shows in the top field.
Reading and Writing to TagsChapter 3: Using the Reader Assistant 17To read tags from the Read/Write tab:1.    Click Start Reading Tags.The reader reads the tags and starts to display the EPCs and the running total number of times each EPC has been read (Reads) in the Read/Write screen.A yellow background is displayed with the date and timestamp as each tag is read. The most recently read tags display white backgrounds. The background gets darker as the time from when the tags were last read gets longer. See tag 6.2.    To stop reading tags, click Stop Reading Tags.3.    When the demo is complete, click Clear Screen to remove the information displayed on the screen.
Reading and Writing to TagsChapter 3: Using the Reader Assistant 18Advanced SettingsYou can access additional functionality by clicking Advanced. The functions include setting the search time, changing the font size, and writing to tags.To use advanced features:1.    Click Advanced.The following additional functions appear on the Read/Write screen.2.    Type a new value in the Search Time field to change the time in milliseconds.3.    Click the Font Size drop-down menu to change the size of the font in the screen.4.    To write to a tag, follow these steps:a.    Type a valid tag id in the Tag ID field.The Write Tag button activates when you enter the tag id.Note:  A valid tag ID is represented in hexadecimal format (multiples of four digits).
Reading and Writing to TagsChapter 3: Using the Reader Assistant 19b.    Click Write Tag. A dialog opens to verify the tag id you want written.c.    Click OK.
Serial LogChapter 3: Using the Reader Assistant 20Serial LogYou can open a panel in any screen to display the Serial Log. To access the Serial Log, select Options > Show Serial Log.NoteTo save the current Serial Log to a file selct File > Save Serial Log.
Loading FW and Using the Flash AreaChapter 3: Using the Reader Assistant 21Loading FW and Using the Flash AreaThe Firmware tab restarts the reader when it is selected. You can load the latest firmware from this screen. With the Advanced settings, you can read and write to the user flash area.There are three main functional sections within this tab. System Configuration section – displays version information from the reader. Application Image section – loads the FW image in one step.  User Flash Area – allows the user to examine and change the user flash area of the reader. To access, press Advanced..
Loading FW and Using the Flash AreaChapter 3: Using the Reader Assistant 22NoteIf you have selected the Bootloader radio button under User Flash Area, all other Reader Assistant tabs will be disabled. You must select the Application radio button to re-enabled the other tabs.
Loading FW and Using the Flash AreaChapter 3: Using the Reader Assistant 23The following table explains the Firmware tab settings:Firmware Tab SettingsName DescriptionBootloader Version The latest Bootloader installed. Gets the version number from the reader.Firmware Version The most recent installed firmware. Gets the version num-ber from the readerHardware Version The version of the hardware when it was built. Gets the version number from the reader.Firmware Date Date that the latest firmware was installed. Gets the date from the readerProcessor Silicon ID Gets the identification from the readerBootloader Sector Size Gets the sector size from the readerApplication Sector Size Gets the sector size from the readerUser Data Sector Size Gets the sector size from the readerHardware Calibration Sector Size Gets the sector size from the readerFirmware file field Do one of the following to load the file:•  Type a file name in the field. •  Click Browse to find the file on the system.Update Firmware button Click to update the firmware shown in the Firmware file field.Advanced SettingsUser Flash Area: Bootloader radio button: Click to access the bootloader program.Application radio button: Click to return to the applica-tion.Read User Flash button Click to display the user flash memory in the screen.Modify User Flash button Click a section of memory to select it, enter new byte val-ues, and then click the button to change the user flash memory in the location selected.Erase User Flash button Click a section of memory to select it and then click the button to erase the user flash memory in the location selected.
Working with TagsChapter 3: Using the Reader Assistant 24To modify the user flash area:1.    Click the Bootloader radio button to access the bootloader program.The user flash area is only accessible from the bootloader.2.    Click Read User Flash to populate the table with the contents of the flash.3.    To modify the flash contents, follow these steps:a.    Enter different byte values in the cells of the table.b.    Click Modify User Flash to commit the modifications to the user flash area on the reader.4.    To erase the flash contents, follow these steps:a.    Click in the table to select a section.b.    Click Erase User Flash to delete the values in that section.Working with TagsThe Tag Operations tab lets you perform various tag operations without having to write a program. You use this screen when you want to read or write tag data, lock or kill tags.Tag Operations TabTo access this tab, select Options > Show Advanced Features or press Ctrl+A and additional tabs become available.
Working with TagsChapter 3: Using the Reader Assistant 25
Working with TagsChapter 3: Using the Reader Assistant 26The following table explains the Tag Operations tab settings:Tag Operations Tab Settings GroupingName DescriptionUniversalTime out (msec) Timeout for all commands that require it.Select CriteriaMem Bank Drop-down selection that controls both the Select operation mode and the memory area that is the target of the Select cri-teria:•  No Select (00): First tag to respond is acted on (Select is not enabled)•  EPC (01): Select tag based on full or partial left-justified EPC value, specified by Length and EPC/Data field values.•  TID (02): Select tag based on any value within User memory field, specified by Address, Length, Select and ECP/Data field values•  User (03): Select tag based on any value within User memory field, specified by Address, Length, Select and ECP/Data field values•  EPC Mem (04): Select tag based on any value within EPC memory field, specified by Address, Length and EPC/Data field values.Address Start address of Select criteria, in hex (maximum of 4 bytes). Used for TID, User and EPC Mem Select modes. Leave at ‘0’ for No Select and EPC Select modes.Length  Length of the Select criteria, in bits (integer). Used for EPC, TID, User and EPC Mem Select modes. Leave at ‘0’ for No Select mode. Can be shorter but cannot be longer than the value in EPC/Data field.EPC/Data Value, in hex, of data to be compared with the value within tag memory. Must be an even number of words (4 hex digits per word) for EPC and EPC Mem Select modes. Leave blank for No Select mode.Write Tag IDTag ID EPC to write to a tag (hex). Must be in word (4 hex digits per word) multiples.Write button Executes the EPC (Tag ID) Write to the first tag to respond.
Working with TagsChapter 3: Using the Reader Assistant 27Tag DataTag Data Data bytes, in hex, to be written to a tag when “Write Data” button is pressed. Address Start location within memory bank for “Read Data” or “Write Data” functions, in words. Maximum of 4 bytes (8 hex digits).Mem Bank Drop-down select of memory bank to be written to or read.Password 4 byte password, in hex, to be entered if needed for “Read Data” or “Write Data” operations. If not needed (tag is not locked), leave as “0”.Word Count Number of words as an integer value to be read for “Read Data”. Not used for “Write Data”Read Data button Press to read data from memory as specified by Mem Bank, Address and Word Count settings. Enabled by Password entry, if needed.Write Data button Press to write data to memory as determined by Mem Bank, Tag Data, and Address settings (enabled by Password entry, if needed). Word Count value is ignored. If Select Criteria Mem Bank value is any value but No Select then the first tag which meets the Select Criteria is written to.Kill TagPassword The tags 4 byte, in hex, kill password of the tag. Require to be non-Zero to kill a tag.Kill Tag button Press to kill the tag.Lock TagPassword The tags 4 byte, in hex, access password if the lock tag pass-word is set.Mask Bits Bit-wise mask, in hex, specifying which action bits to pass1. Causes the corresponding bit in the Action field to be applied.0. Ignores the corresponding bit in the Action field.Action Bits Bit-wise value, in hex, specifying what locking action to apply to memory banks.1. Asserts lock (read, read/write, or permanent) memory loca-tion based on bit location.0. De-asserts lock. Lock Tag button Press to lock the tag.GroupingName Description
Working with TagsChapter 3: Using the Reader Assistant 28NoteDepending on the module you are using and the protocol setting in the Config tab, you may see different fields in the Tag Operations tab.Write Tag IDThe Tag Operations tab provides settings to write an EPC to a tag. The following procedure explains how to write to a tag using the fields under Write Tag ID.To write a tag EPC:1.    Type the EPC into the Tag ID field or select an EPC used previously.2.    Type a time in milliseconds in the Timeout(ms) field.3.    Click Write.The tag EPC information is displayed in the Serial Log field.Read Tag IDsRead Single button Press to display the EPC of the first tag that responds. If the maximum EPC size is 496 bits and the tag has an EPC longer than 96 bits the tag will be read, but only the first 96 bits are displayed in the results field.Read Multiple button When pressed, information from all tags that respond will be collected and displayed until the Timeout expires. Metadata is also displayed if the ‘Retrieve Metadata’ checkbox is selected.Retrieve Metadata checkbox If select tag metadata is displayed in the results field. Does not apply to Read Single. Metadata fields are:•  Count: number of time tag was read during Read Multiple operation.•  RSSI: indication of relative receive signal strength from tag•  TX: antenna port from which signal was transmitted when tag was read•  RX: antenna port from which signal was received when tag was read.•  Freq: Channel frequency when tag was read.•  Time: time at which tag was readGroupingName Description
Working with TagsChapter 3: Using the Reader Assistant 29Reading Tag DataThe following procedure explains how to read tag data.To read tag data:1.    Type an address location in the Address field.2.    Choose a selection from the Mem Bank menu.3.    Click Read Data and the information is shown in the Read Tag IDs field.Writing Tag DataFirst determine whether the first tag to respond will be written to or whether the first tag matching the Select criteria is to be written to, based on the Select Criteria Mem Bank selection. Note that if the Write changes the data in the fields used for Select Criteria, the subsequent Verify will fail, even though the tag will have been successfully written.No Select(00): Used when the “Write Data” action is to be applied to the first tag to respond.EPC(01): Used to write to a tag selectively based on the full or partial (starting at lowest memory location) EPC of the tag. EPC to be compared must be entered as a multiple of words (4 hex digits). This Select operation mode provides a subset of the functionality provided by mode “EPC Mem”, but is easier to use.1. Enter the EPC or partial EPC (multiples of 4 hex digits, each representing a word)2. Enter the length, in bits, of the portion of the EPC to be compared, as an integer. Only the portion of the EPC specified by the length will be compared. (“0” will always match). The length cannot exceed the entered EPC length.TID (02): Used to write to a tag selectively based on the any portion of the TID memory contents of the tag. 1. Enter the data to be compared in bytes2. Enter the starting address bit offset from the start of memory in hex (4 bytes maximum)3. Enter the length, in bits, of the portion of the data to be compared, as an integer. Only the portion of the data specified by the length will be compared. (“0” will always match). The length cannot exceed the entered data length.User (03): Used to write to a tag selectively based on the any portion of the User memory contents of the tag.
Working with TagsChapter 3: Using the Reader Assistant 301. Enter the data to be compared in bytes2. Enter the starting address bit offset from the start of memory in hex (4 bytes maximum)3. Enter the length, in bits, of the portion of the data to be compared, as an integer. Only the portion of the data specified by the length will be compared. (“0” will always match). The length cannot exceed the entered data length.EPC Mem (04): Used to write to a tag selectively based on the any portion of the EPC memory contents of the tag. Used in place of the “EPC” operation mode when the PC bits are the target of the comparison or the portion of the EPC to be compared does not start at the lowest memory location. Note that the EPC itself starts16 bits into memory.1. Enter the data to be compared in bytes2. Enter the starting address bit offset from the start of memory in hex (4 bytes maximum). Note that the PC bits start at hex “10” and the EPC starts at hex “20”3. Enter the length, in bits, of the portion of the data to be compared, as an integer. Only the portion of the data specified by the length will be compared. (“0” will always match). The length cannot exceed the entered data length.Once the tag singulation method is set, to perform the write, follow these steps.To write tag data:1.    Type a hex code in the Tag ID field.2.    Choose a selection from the Mem Bank menu.3.    Type an address location in the Address field.4.    Click Write Data.Killing TagsThe Tag Operations tab provides settings to kill tags. Once you kill a tag, it cannot be used again.To kill a tag:1.    Type the password that allows you to kill the tag.2.    Click Kill Tag to delete the tag.
Working with TagsChapter 3: Using the Reader Assistant 31Locking TagsThe Lock tag area of the Tag Operations tab locks a specific address in the tag data section. To lock a tag:1.    Type the 32-bit password that allows you to lock the tag.If a password is not set in the tag, type 0.2.    Set the Mask Bit field as described in the Mercury Embedded Developer’s Guide: Lock Tag (25h).3.    Set the Action Bit field. 4.    Click Lock Tag to lock the data in the tag.
Working with TagsChapter 3: Using the Reader Assistant 32Reading TagsThe M5e reader can use the settings in the Tag Operations tab to read the tag EPCs and retrieve the tag read metadata. You can read a single tag or multiple tags.To read tags:1.    Type in the amount of time in which you want the reader to read tags.2.    To read a single tag, click Read Single.3.    To read multiple tags, click Read Multiple.The tag ids are displayed in the text field.NoteRetrieve Metadata will only return tag read metadata when used with Read Multiple.NoteTags are only read on the configured antenna. The Read Multiple button does not support Multi-antenna Search.TAG DATA
Debugging the ModuleChapter 3: Using the Reader Assistant 33Debugging the Module The Debug tab sends serial commands to the reader using hexadecimal format. You can also add scripts containing sequences of commands to the Script Contents panel.NoteWrite the scripts in a text editor and then add them to the New Command Scripts list.If you do not see the Debug tab, press Ctrl+A.
Debugging the ModuleChapter 3: Using the Reader Assistant 34Debug Tab SettingsTo create a script:1.    Click New Script and the following is displayed in the Scripts Contents panel.Name DescriptionSend a Hexadecimal Command to Reader fieldEnter the command you want to send in hex for-mat.Send Command button Click to send the command.Hex Command Scripts Lists the scripts that you added to the screen.Script Quick-run buttons Select a script and right-click a button to add the script to that button.Note:  If you are running two scripts frequently, this is a quick way of selecting the two scripts to run.Script Contents This panel has the following functions:•  Script editor for creating scripts.•  Displays a selected script.New Script button Click to create a script in the Script Contents panel.Modify button Click to change a stored script.Save button Click to save a script.+ button Opens a dialog box to select the saved scripts you created to add to the list.– button Removes a script from the list.
Debugging the ModuleChapter 3: Using the Reader Assistant 352.    Type the script within the panel and click Save.A Save as dialog opens and you can save your script. 3.    To change the script, click Modify.4.    To run the script, right click a Script Quick-run button to attach the script to the button.
Debugging the ModuleChapter 3: Using the Reader Assistant 365.    Click the Script Quick-run button to run the script.After the script is finished running, the following dialog appears.6.    Click OK and the results appear in the Serial Log panel.7.    To see the results from the Send a Hexadecimal Command to Reader field or to execute the Hex Command Script, select Action > Re-Synch Application and Reader.
Chapter 3: Using the Reader Assistant 37
38
 A-39 Appendix A: Hardware DetailsThis Appendix details the mechanicals for the embedded modules and also provides pin 1 locations for the M5e and M5e-Compact serial connectors.MechanicalsThe following figures detail the hardware layouts that comprise the Mercury Embedded Modules.
MechanicalsA-40M5e Mechanicals
MechanicalsA-41M5e-Compact MechanicalAntenna ConnectorThe M5e has two MMCX connectors and the M5e-Compact has one MMCX connector for interfacing to the antennas.Communications ConnectorThe communications interface on the modules provides power, serial communications signals, and access to the GPIO inputs and outputs.The M5e and M5e-Compact have a 12-pin connector with the following pin-out:
MechanicalsA-42Pin-out of the 12-pin digital connectorThe following figure shows the diagrams of the M5e, and M5e-Compact communications interface as you face the boards..Pin # Signal1+5V2+5V3 GND4 GND5 Digital Output 16 Digital Output 27 Digital Input 18 Digital Input 29 RS-232 RX from host10 RS-232 TX to host11 Mfg test purposes12 Mfg test purposesPin 1 Pin 12Ribbon cablePin 12Pin 1M5e-CM5e M5e Compact
MechanicalsA-43NoteThe flat ribbon cable that connects with the communications interface on the M5e and M5e-Compact embedded modules is available from Parlex, Part Number: 100R12-152B; and can be purchased from standard electronic component suppliers.
MechanicalsA-44
 45 Appendix B: Error MessagesThe following error codes were incorporated into the reader for help in locating errors.Common Error MessagesThe following table lists the common faults discussed in this section.FAULT_MSG_WRONG_NUMBER_OF_DATA – (100h)CauseIf the data length in any of the Host-to-M5e/M5e-Compact messages is less than or more than the number of arguments in the message, the reader returns this message.SolutionMake sure the number of arguments matches the data length.Fault Message CodeFAULT_MSG_WRONG_NUMBER_OF_DATA – (100h) 100hFAULT_INVALID_OPCODE – (101h) 101hFAULT_UNIMPLEMENTED_OPCODE – 102h 102hFAULT_MSG_POWER_TOO_HIGH – 103h 103hFAULT_MSG_INVALID_FREQ_RECEIVED (104h) 104hFAULT_MSG_INVALID_PARAMETER_VALUE - (105h) 105hFAULT_MSG_POWER_TOO_LOW - (106h) 106hFAULT_UNIMPLEMENTED_FEATURE - (109h) 109hFAULT_INVALID_BAUD_RATE - (10Ah) 10Ah
Common Error Messages46FAULT_INVALID_OPCODE – (101h)CauseThe opCode received is invalid or not supported with the current version of code.SolutionCheck the documentation for the opCode the host sent and make sure it is supported.FAULT_UNIMPLEMENTED_OPCODE – 102hCauseSome of the reserved commands might return this error code.  This does not mean that they always will do this since ThingMagic reserves the right to modify those commands at anytime. SolutionCheck the documentation for the opCode the host sent to the reader and make sure it is supported.FAULT_MSG_POWER_TOO_HIGH – 103hCauseA message was sent to set the read or write power to a level that is higher than the current HW supports.SolutionCheck the HW specifications for the supported powers and insure that the level is not exceeded. The M5e 1 Watt units support power from 5 dBm to 30 dBm.The M5e-Compact units support power from 10 dBm to 23 dBm.
Common Error Messages47FAULT_MSG_INVALID_FREQ_RECEIVED (104h)CauseA message was received by the reader to set the frequency outside the supported rangeSolutionMake sure the host does not set the frequency outside this range or any other locally supported ranges.FAULT_MSG_INVALID_PARAMETER_VALUE - (105h)CauseThe reader received a valid command with an unsupported or invalid value within this command. For example, currently the module supports two antennas, 1 and 2. If the module receives a message with an antenna value other than 1 or 2, it returns this error.SolutionMake sure the host sets all the values in a command according to the values published in this document.FAULT_MSG_POWER_TOO_LOW - (106h)CauseA message was received to set the read or write power to a level that is lower than the current HW supports.SolutionCheck the HW specifications for the supported powers and insure that that level is not exceeded. The M5e supports powers between 5 and 30 dBm. The M5e-Compact units support power from 10 dBm to 23 dBm.
Common Error Messages48FAULT_UNIMPLEMENTED_FEATURE - (109h)CauseAttempting to invoke a command not supported on this firmware or hardware.SolutionCheck the command being invoked against the documentation.FAULT_INVALID_BAUD_RATE - (10Ah)CauseWhen a Set Baud Rate (0x06h) command is issued for a rate that is not specified in the Baud Rate table, this error message is returned. SolutionCheck the table of specific baud rates and select a baud rate. Send the baud rate in the hex format.
Bootloader Faults49Bootloader FaultsThe following table lists the common faults discussed in this section.FAULT_BL_INVALID_IMAGE_CRC – 200hCauseWhen a Verify Image CRC (0x08), or Boot Firmware (0x02) command is issued, the reader checks the image stored in flash and returns this error if the calculated CRC is different than the one stored in flash.SolutionThe exact reason for the corruption could be that the image loaded in flash was corrupted during the transfer or corrupted for some other reason. To fix this problem, reload the application code in flash.FAULT_BL_INVALID_APP_END_ADDR – 201hCauseWhen a Verify Image CRC (0x08), or Boot Firmware (0x02) command is issued, the reader checks the image stored in flash and returns this error if the last word stored in flash does not have the correct address value.SolutionThe exact reason for the corruption could be that the image loaded in flash got corrupted during the transfer or, corrupted for some other reason.  To fix this problem, reload the application code in flash.Fault Message CodeFAULT_BL_INVALID_IMAGE_CRC 200hFAULT_BL_INVALID_APP_END_ADDR 201h
Flash Faults50Flash FaultsThe following table lists the common faults discussed in this section.FAULT_FLASH_BAD_ERASE_PASSWORD – 300hCauseA command was received to erase some part of the flash but the password supplied with the command was incorrect.SolutionMake sure that you have the correct password for the flash sector. FAULT_FLASH_BAD_WRITE_PASSWORD – 301hCauseA command was received to write some part of the flash but the password supplied with the command was not correct.SolutionMake sure that you have the correct password for the flash sector.  Fault Message CodeFAULT_FLASH_BAD_ERASE_PASSWORD – 300h 300hFAULT_FLASH_BAD_WRITE_PASSWORD – 301h 301hFAULT_FLASH_UNDEFINED_ERROR – 302h 302hFAULT_FLASH_ILLEGAL_SECTOR – 303h 303hFAULT_FLASH_WRITE_TO_NON_ERASED_AREA – 304h 304hFAULT_FLASH_WRITE_TO_ILLEGAL_SECTOR – 305h 305hFAULT_FLASH_VERIFY_FAILED – 306h 306h
Flash Faults51FAULT_FLASH_UNDEFINED_ERROR – 302hCauseThis is an internal error and it is caused by a software problem in module.SolutionContact support at support@thingmagic.com.FAULT_FLASH_ILLEGAL_SECTOR – 303hCauseAn erase or write flash command was received with the sector value and password not matching.SolutionMake sure that you have the correct password for the flash sector.  FAULT_FLASH_WRITE_TO_NON_ERASED_AREA – 304hCauseThe module received a write flash command to an area of flash that was not previously erased.SolutionErase that sector of flash and then, try and rewrite to it.FAULT_FLASH_WRITE_TO_ILLEGAL_SECTOR – 305hCauseThe module received a write flash command to write across a sector boundary that is prohibited.
Flash Faults52SolutionIf the data spans two sectors, separate the data into two messages.FAULT_FLASH_VERIFY_FAILED – 306hCauseThe module received a write flash command that was unsuccessful because data being written to flash contained an uneven number of bytes.SolutionVerify that the data being sent is an even number of bytes.
Protocol Faults53Protocol FaultsThe following table lists the common faults discussed in this section.FAULT_NO_TAGS_FOUND – (400h)CauseA command was received (such as like read, write, or lock) but the operation failed. There are many reasons that can cause this error to occur. Fault Message CodeFAULT_NO_TAGS_FOUND – (400h) 400hFAULT_NO_PROTOCOL_DEFINED – 401h 401hFAULT_INVALID_PROTOCOL_SPECIFIED – 402h 402hFAULT_WRITE_PASSED_LOCK_FAILED – 403h 403hFAULT_PROTOCOL_NO_DATA_READ – 404h 404hFAULT_AFE_NOT_ON – 405h 405hFAULT_PROTOCOL_WRITE_FAILED – 406h 406hFAULT_NOT_IMPLEMENTED_FOR_THIS_PROTOCOL – 407h 407hFAULT_PROTOCOL_INVALID_WRITE_DATA – 408h 408hFAULT_PROTOCOL_INVALID_ADDRESS – 409h 409hFAULT_GENERAL_TAG_ERROR – 40Ah 40AhFAULT_DATA_TOO_LARGE – 40Bh 40BhFAULT_PROTOCOL_INVALID_KILL_PASSWORD – 40Ch 40ChFAULT_PROTOCOL_KILL_FAILED - 40Eh 40EhFAULT_GEN2 PROTOCOL_OTHER_ERROR - 420h 420hFAULT_GEN2_PROTOCOL_MEMORY_OVERRUN_BAD_PC - 423h423hFAULT_GEN2 PROTOCOL_MEMORY_LOCKED - 424h 424hFAULT_GEN2 PROTOCOL_INSUFFICIENT_POWER - 42Bh 42BhFAULT_GEN2 PROTOCOL_NON_SPECIFIC_ERROR - 42Fh 42FhFAULT_GEN2 PROTOCOL_UNKNOWN_ERROR - 430h 430h
Protocol Faults54Here is a list of possible reasons that could be causing this error:  No tag in the RF field Read/write power too low Antenna not connected Tag is we a k or deadSolutionMake sure there is a good tag in the field and all parameters are set up correctly. The best way to check this is to try few tags of the same type to rule out a weak tag. If none passed, then it could be SW configuration such as protocol value, antenna, and so forth, or a placement configuration like a tag location.FAULT_NO_PROTOCOL_DEFINED – 401hCauseA command was received to perform a protocol command but no protocol was initially set. The reader powers up with no protocols set.SolutionA Set Current Tag Protocol (63h) command must be sent followed by resending the desired command.FAULT_INVALID_PROTOCOL_SPECIFIED – 402hCauseA Set Current Tag Protocol (63h) command was received for a protocol value that is not supported with the current version of SW.SolutionThis value is invalid or this version of SW does not support the protocol value. Check the documentation for the correct values for the protocols in use.
Protocol Faults55FAULT_WRITE_PASSED_LOCK_FAILED – 403hCauseDuring a Write Tag Data for ISO18000-6B or UCODE, if the lock fails, this error is returned. The write command passed but the lock did not. This could be a bad tag.SolutionTry to write a few other tags and make sure that they are placed in the RF field.FAULT_PROTOCOL_NO_DATA_READ – 404hCauseA Read Tag ID or Data command was sent but did not succeed.SolutionThe tag used has failed or does not have the correct CRC. Try to read a few others to check the HW/SW configuration.FAULT_AFE_NOT_ON – 405hCauseA command was received for an operation, like read or write, but the AFE was in the off state.SolutionStart the AFE, then rerun the command.FAULT_PROTOCOL_WRITE_FAILED – 406hCauseThis fault can occur when an operation such as write, lock, kill, set password, or initialize, fails. There are many reasons for failure.
Protocol Faults56SolutionCheck that the tag is good and try another operation on a few more tags.FAULT_NOT_IMPLEMENTED_FOR_THIS_PROTOCOL – 407hCauseA command was received which is not supported by a protocol.SolutionCheck the documentation for the supported commands and protocols.FAULT_PROTOCOL_INVALID_WRITE_DATA – 408hCauseIn EPC0+, the first two bits determine the tag ID length. If the first two bits are 0b00, then the tag ID must be 96-bits. Otherwise the tag ID is 64 bits.SolutionMake sure that the first two bit have the correct values depending in the Tag ID length.FAULT_PROTOCOL_INVALID_ADDRESS – 409hCauseA command was received to write to an invalid address in the tag data address space. SolutionMake sure that the address specified is within the scope of the tag data address space. The protocol specifications contain information about the supported addresses.
Protocol Faults57FAULT_GENERAL_TAG_ERROR – 40AhCauseThis error is used by the M5e GEN2 module. This fault can occur if the read, write, lock, or kill command fails. This error can be internal or functional.SolutionMake a note of the operations you were performing and contact ThingMagic at http://support.thingmagic.comFAULT_DATA_TOO_LARGE – 40BhCauseA command was received to Read Tag Data with a data value larger than expected or it is not the correct size.SolutionCheck the size of the data value in the message sent to the reader.FAULT_PROTOCOL_INVALID_KILL_PASSWORD – 40ChCauseAn incorrect kill password was received as part of the Kill Tag (26h) command. SolutionCheck the password.FAULT_PROTOCOL_KILL_FAILED - 40EhCauseAttempt to kill a tag failed for an unknown reason
Protocol Faults58SolutionCheck tag is in RF field and the kill password.FAULT_GEN2 PROTOCOL_OTHER_ERROR - 420hFAULT_GEN2_PROTOCOL_MEMORY_OVERRUN_BAD_PC - 423hFAULT_GEN2 PROTOCOL_MEMORY_LOCKED - 424hFAULT_GEN2 PROTOCOL_INSUFFICIENT_POWER - 42BhFAULT_GEN2 PROTOCOL_NON_SPECIFIC_ERROR - 42FhFAULT_GEN2 PROTOCOL_UNKNOWN_ERROR - 430h
Analog Hardware Abstraction Layer Faults59Analog Hardware Abstraction Layer FaultsFAULT_AHAL_INVALID_FREQ – 500hCauseA command was received to set a frequency outside the specified range.For example, in North America the frequency range is from 902 MHz to 928 MHz.SolutionCheck the values you are trying to set and be sure that they fall within this range.FAULT_AHAL_INVALID_FREQ – 501hCauseWith LBT enabled an attempt was made to set the frequency to an occupied channel.SolutionTry a different channel.
Tag ID Buffer Faults60Tag ID Buffer FaultsThe following table lists the common faults discussed in this section.FAULT_TAG_ID_BUFFER_NOT_ENOUGH_TAGS_AVAILABLE – 600hCauseA command was received to get a certain number of tag ids from the tag id buffer. The reader contains less tag ids stored in its tag id buffer than the number the host is sending.SolutionSend a Get Tag ID Buffer command to ascertain how many tags are in the buffer. You can get the exact number of tags as long as they are less than or equal to the number returned by the previous command.FAULT_TAG_ID_BUFFER_FULL – 601hCauseThe tag id buffer is full.SolutionSend Clear Tag ID Buffer or Get Tag ID Buffer command with the number of tags to read, to get more space.Fault Message CodeFAULT_TAG_ID_BUFFER_NOT_ENOUGH_TAGS_AVAILABLE – 600h 600hFAULT_TAG_ID_BUFFER_FULL – 601h 601hFAULT_TAG_ID_BUFFER_REPEATED_TAG_ID – 602h 602hFAULT_TAG_ID_BUFFER_NUM_TAG_TOO_LARGE – 603h 603h
Tag ID Buffer Faults61FAULT_TAG_ID_BUFFER_REPEATED_TAG_ID – 602hCauseThe module has an internal error. One of the protocols is trying to add an existing TagID to the buffer.SolutionReport this problem to ThingMagic at http://support.thingmagic.com.FAULT_TAG_ID_BUFFER_NUM_TAG_TOO_LARGE – 603hCauseThe module received a request to retrieve more tags than is supported by the current version of the software.SolutionCheck the maximum number of supported tags in the TagID buffer in the Embedded Modules Developers Guide.
System Errors62System ErrorsFAULT_SYSTEM_UNKNOWN_ERROR – 7F00hCauseThe error is internal.SolutionMake note of the operations you were executing and contact ThingMagic at http://support.thingmagic.com.FAULT_TM_ASSERT_FAILED – 7F01hCauseAn unexpect Internal Error has occured.SolutionThe error will cause the module to switch back to Bootloader mode. When this occurs make note of the operations you were executing, save FULL error response and contact ThingMagic at support@thingmagic.com.
 63 Appendix C: AntennasAuthorized AntennasThe following table contains the antennas authorized by the FCC for use with the Mercury5e and M5e-Compact embedded modules. Detailed information for each is available from their respective manufacturers.Authorized AntennasAntenna Brand  Model NumberCushcraft S8658WPR
Authorized Antennas64
End User License and Warranty AgreementYOU SHOULD CAREFULLY READ THE FOLLOWING TERMS AND CONDITIONS OF THIS THINGMAGIC ENDUSER LICENSE AND WARRANTY AGREEMENT (“AGREEMENT”) BEFORE USING THE PRODUCTS WHICHARE ENCLOSED OR OTHERWISE ASSOCIATED WITH THIS AGREEMENT. USE OF THE PRODUCTS MEANSTHAT YOU ARE BINDING YOU AND THE COMPANY YOU REPRESENT TO THIS AGREEMENT. IF YOU DONOT AGREE WITH THESE TERMS AND CONDITIONS, YOU ARE NOT AUTHORIZED TO USE OR OPERATETHE PRODUCTS AND YOU SHOULD PROMPTLY RETURN THE PRODUCTS, ENCLOSURES AND ALLPACKAGING.The following terms govern use of the Products unless (i) there is a separate signed agreement between you andThingMagic, in which case the terms and conditions of such agreement will prevail, or (ii) if you received an EndUser License and Warranty Agreement from an authorized reseller (Reseller EULA), in which case, the terms andconditions of such Reseller EULA shall prevail and you should contact the reseller directly for Support Servicesand Warranty matters. 1.    INTELLECTUAL PROPERTY RIGHTS. Any and all intellectual property rights in and to the Products shallremain in ThingMagic, Inc. (ThingMagic) or its licensors.  The Firmware is protected by copyright laws andinternational copyright treaties, as well as other intellectual property laws and treaties. The Firmware islicensed, not sold.  Your use of any service accessible using the Firmware is not covered by this Agreementand may be governed by separate terms of use, conditions or notices.2.    GRANT OF LICENSE. Subject to compliance with the terms of this Agreement and payment of the applicablefees, ThingMagic hereby grants you a limited, non-exclusive, non-transferable license to use the Productsfor your internal business purposes, in any market other than the Transportation Market, according to theterms and conditions contained in this Agreement.  This License grants you the following rights: a.      Firmware. You may use, access, display, run, or otherwise interact with (“Run“) the Firmware inconnection with operating the Products. The primary user of the Products may make a second copyof the Firmware for his or her exclusive use for backup purposes. b.    Storage/Network Use. You may also store or install a copy of the Firmware on a storage device,such as a network server, used only to Run the Firmware on your other Products over an internalnetwork; however, you must acquire and dedicate a license for each separate Product on which theFirmware is Run from the storage device. A license for the Firmware may not be shared or usedconcurrently on different Products. c.    Reservation of Rights. All rights not expressly granted are reserved by ThingMagic. 3.    RESTRICTIONS. a.    Copyright Notices: You must maintain all copyright and other proprietary notices on all copies ofthe Firmware.
b.    Limitations on Modification: You may not copy, modify, adapt, or translate the Firmware, or createderivative works based on the Firmware. c.    Limitations on Reverse Engineering, Decompilation and Disassembly: You may not reverseengineer, decompile, or disassemble the Products, except and only to the extent that such activity ispermitted by applicable law notwithstanding this limitation. d.    Assignment and Resale: You may not transfer or assign this Agreement (by operation of law orotherwise) without the advance, written approval of ThingMagic which approval may be withheld forany reason.  You agree not to resell, lease, distribute or otherwise transfer the Products to any thirdparty at any time. If you are a potential reseller of the Products, you may demonstrate the Products toyour customers solely for evaluation purposes, provided that notwithstanding anything to the con-trary in this Agreement, (i) any such use will be “AS IS” with no warranty whatsoever, as more fullyset forth in Section 10 below, and (ii) may only be done in countries where ThingMagic has receivedthe necessary regulatory certifications (for a list of countries, please email [customersupport@thingmagic.com]. You may not, however, resell, lease, distribute or otherwise transfer the Productsto your customers until you have signed ThingMagic’s Reseller Agreement.e.    Additional Restrictions Applicable to Original Equipment Manufacturers (OEMs).If you purchased embedded Products under this Agreement, you may only use such Prod-ucts for testing and evaluation purposes, provided that any such use will be “AS IS” with notwarranty whatsoever, as muore fully set forth in Section 10 below. Prior to incorporating theembedded Products into production units which you will deliver to your customers, youmust sign ThingMagic’s OEM Agreement.4.     SUPPORT SERVICES:  ThingMagic provides support to authorized resellers of its Products.  ThingMagicmay provide you with direct support services related to the Products (“Support Services”), in its solediscretion. Use of Support Services, if any, is governed by the ThingMagic policies and programs describedin the Documentation, and/or other ThingMagic provided materials.5.     TERMINATION: Without prejudice to any other rights, ThingMagic may terminate this Agreement if you failto comply with the terms and conditions of this Agreement   The provisions of this Agreement, other thanyour license to use the Firmware, shall survive the termination of this Agreement. Upon termination, yourright to use the Products shall cease.  Depending on your location, there may be rules or regulationsregarding the disposal of the Products.  Please contact ThingMagic for further information.6.     U. S. GOVERNMENT RESTRICTED RIGHTS: Distribution and use of the Products and derivative worksthereof to and by the United States Government will be subject to the RESTRICTED RIGHTS as set forth inthe Federal Acquisitions Regulations Systems (FAR) at 48 CFR 252.7015, as amended from time to time..Any licensed Firmware described or referenced in this Agreement is a commercial computer softwareprogram developed at private expense.  Use, duplication or disclosure by the Government is subject torestrictions as set forth in FAR 48 CFR 52.227-19(c) where applicable or the applicable provisions of theDOD FAR 48 CFR 227.7202-3, as amended from time-to-time.7.     EXPORT RESTRICTIONS: The Products are subject to regulation by agencies of the U.S. Government,including without limitation the Department of Commerce, which prohibit or restrict export or diversion ofcertain technical products and technical data to certain countries and may be subject to export or importregulations in other countries.  You shall comply with such laws and regulations governing use, import,export, re-export, and transfer of the Products and acknowledge your responsibility to obtain such licensesas may be required after delivery to you.8.     LIMITED WARRANTY: Subject to the conditions in the following paragraph, ThingMagic warrants for aperiod of twelve (12) months from the date of original shipment the Products will be free from defects inmaterial and workmanship and will operate in substantial conformance with applicable specifications and
drawings set forth in the Documentation. If the Products fail to meet this warranty, ThingMagic (at its soleoption) will either replace or repair the nonconforming Product.  If neither of those can be done on a com-mercially reasonable basis, ThingMagic may, at its sole option, pay you an amount based on depreciation ofthe Product over a three (3) year useful life.  In the event of repair pursuant to the foregoing warranty, thevalidity of the foregoing warranty will be twelve (12) months from the date of shipment of the repairedProduct less the period of time between the date of original shipment and the date on which ThingMagicreceived return of the Product for repair. The foregoing is your sole and exclusive remedy if a Product failsto meet the limited warranty above. 9.     WARRANTY CONDITIONS: In order for the warranty to apply, you must first obtain a writtenreturn authorization from ThingMagic.  Returned Products must be shipped, transportation pre-paid, by the most practical method of shipment.  Shipping costs will be credited to you for all Prod-ucts found to be subject to warranty adjustment.  Excessive transportation costs will not beallowed.  This warranty shall not apply to any custom work performed by ThingMagic. This war-ranty shall also not apply to defects or substantial non-conformance with the Specifications whichresult from: (l) improper installation, use, storage, care or maintenance by the buyer;  (2) wearresulting from normal use of parts subject to wear; (3) modification, alteration or retiming of aproduct, or combination with another product; (4) use with products (including supplies) or soft-ware not furnished by ThingMagic; or (5) accident, neglect, misuse or abuse or where the trade-mark has been defaced or obliterated.10.    DISCLAIMER OF WARRANTIES: THINGMAGIC AND ITS SUPPLIERS PROVIDE THE PRO-DUCTS “AS IS” AND WITH ALL FAULTS, AND HEREBY DISCLAIM ALL OTHER WARRANTIESAND CONDITIONS, EITHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIM-ITED TO ANY IMPLIED WARRANTIES OR CONDITIONS OF MERCHANTABILITY, FITNESSFOR A PARTICULAR PURPOSE, LACK OF VIRUSES, AND LACK OF NEGLIGENCE OR LACKOF WORKMANLIKE EFFORT.  ALSO, THERE IS NO WARRANTY OR CONDITION OF TITLE,QUIET ENJOYMENT, OR NONINFRINGEMENT FOR THE PRODUCTS. THE ENTIRE RISKARISING OUT OF THE USE OR PERFORMANCE OF THE PRODUCTS IS WITH YOU.THINGMAGIC DOES NOT WARRANT THAT THE OPERATION OF THE FIRMWARE WILL BEUNINTERRUPTED OR ERROR FREE. 11.    LIABILITY DISCLAIMER: TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NOEVENT SHALL THINGMAGIC OR ITS SUPPLIERS BE LIABLE FOR ANY CONSEQUENTIAL, INCIDEN-TAL, DIRECT, INDIRECT, SPECIAL, PUNITIVE, OR OTHER DAMAGES OF ANY KIND WHATSOEVERARISING OUT OF OR IN ANY WAY RELATED TO THE USE OF OR INABILITY TO USE THE PRODUCTS,WHETHER BASED ON CONTRACT, TORT, NEGLIGENCE, STRICT LIABILITY OR OTHERWISE, EVEN IFTHINGMAGIC OR ANY SUPPLIER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.THIS EXCLUSION OF DAMAGES SHALL BE EFFECTIVE EVEN IF ANY REMEDY FAILS OF ITS ESSEN-TIAL PURPOSE. 12.    GOVERNING LAW: The laws of the Commonwealth of Massachusetts shall govern this Agreement andthe parties hereby irrevocably agree that they submit themselves to the personal jurisdiction of the stateand federal courts of Massachusetts for purposes of resolving any and all disputes arising under or relatedto these terms and conditions. The parties agree that the U.N. Convention on Contracts for the InternationalSale of Goods shall not govern this Agreement.13.     DEFINITIONS.a.    Documentation means any written information pertaining to the Products including but not lim-ited to user manuals, technical documentation, and training guides, whether in paper or electronicformat.
b.    Electronic Toll and Traffic Management means the market for equipment and services whichallow for toll collection and traffic monitoring utilizing vehicles equipped with RFID transponders,wireless communication, in road / roadside sensors, and a computerized system (hardware andsoftware) to uniquely identify each vehicle, electronically collect the toll, and provide generalvehicle / traffic monitoring and data collection.c.    Federal Vehicle Registration, Inspection and Licensing Programs means those vehicleregistration, inspection, licensing and permitting programs administered by an agency of theUnited States government under federal law or regulations. d.    Firmware is the machine readable (object code) version of computer programs developed or mar-keted by ThingMagic and related Documentation.  Firmware includes all modifications, enhance-ments, versions, releases, bug fixes and work-arounds.  e.    Local Vehicle Registration, Inspection and Licensing Programs means those vehicle regis-tration, inspection, licensing and permitting programs administered by county or municipal govern-mental under county or municipal laws or regulations.f.    Mobile Payment Applications means fast-food drive thru and fuel dispensing (gasoline, etc.)applications where the RFID sticker/tag is initially attached to the vehicle but not incorporated atthe point of vehicle manufacture.g.    National Vehicle Registration and Inspection Programs means those vehicle inspectionprograms administered by a national, multi-national or regional government other than theUnited States and other than any state, local, regional, or other governmental entity withinthe United States.h.    Products shall mean any and all ThingMagic RFID and RFID-related products, includingthe embedded Firmware.i.    Public Sector Vehicle Registration, Inspection and Licensing Programs means National,Federal, State or Local Vehicle Registration, Inspection and Licensing Programs usingRFID products to electronically identify and register vehicles, including passenger datadirectly related to a specific vehicle, and validate the identity, status and authenticity ofvehicle identity data, including passenger data directly related to a specific vehicle andthe corresponding back office and violation processing systems and services. j.    Railroad Locomotive and Wagon Tracking means railroad locomotive and railcar / wagonidentification and tracking using RFID products anywhere in the world except Japan and Europe.k.    State Vehicle Registration, Inspection and Licensing Programs means vehicle registration,inspection, licensing and permitting programs administered by state governmental agencies withinthe United States government under state laws or regulations.l.    Transportation Market means (i) Electronic Toll and Traffic Management, (ii) Public Sector Vehi-cle Registration, Inspection and Licensing Programs, (iii) Railroad Locomotive and Wagon Track-ing, (iv) airport based ground transportation management systems and taxi dispatch, (v) revenuebased parking, and (vi) vehicle initiated mobile payment applications, where the RFID sticker / tagis initially attached to the vehicle but not incorporated at the point of vehicle manufacture.
Index Index-1IndexAAnalog Hardware Abstraction Layer Faults 59application firmware 3Bboot loader 3features 3Bootloader error messages 49BootLoader tabsettings 23Bootloader tab 21Ccommon fault messages 45communications interface 41DDemo feature 16Demo tabread tags 17Eerror messagesbootloader 49common 45FAULT_AFE_NOT_ON 55FAULT_AHAL_INVALID_FREQ 59FAULT_BL_INVALID_APP_END_ADDR49FAULT_BL_INVALID_IMAGE_CRC 49FAULT_DATA_TOO_LARGE 57FAULT_FLASH_BAD_ERASE_PASSWORD 50FAULT_FLASH_BAD_WRITE_PASSWORD 50FAULT_FLASH_ILLEGAL_SECTOR 51FAULT_FLASH_UNDEFINED_ERROR51FAULT_FLASH_WRITE_TO_NON_ERASED_AREA 51FAULT_GENERAL_TAG_ERROR 57FAULT_INVALID_OPCODE 46FAULT_INVALID_PROTOCOL_SPECIFIED 54FAULT_MSG_INVALID_FREQ_RECEIVED 47FAULT_MSG_INVALID_PARAMETER_VALUE 47FAULT_MSG_POWER_TOO_HIGH 46FAULT_MSG_POWER_TOO_LOW 47FAULT_MSG_WRONG_NUMBER_OF_DATA 45FAULT_NO_PROTOCOL_DEFINED 54FAULT_NO_TAGS_FOUND 53FAULT_NOT_IMPLEMENTED_FOR_THIS_PROTOCOL 56FAULT_PROTOCOL_INVALID_ADDRESS 56FAULT_PROTOCOL_INVALID_KILL_PASSWORD 57FAULT_PROTOCOL_INVALID_WRITE_DATA 56FAULT_PROTOCOL_NO_DATA_READ55FAULT_PROTOCOL_WRITE_FAILED55FAULT_SYSTEM_UNKNOWN_ERROR62FAULT_TAG_ID_BUFFER_FULL 60FAULT_TAG_ID_BUFFER_NOT_ENOUGH_TAGS_AVAILABLE 60FAULT_TAG_ID_BUFFER_NUM_TAG
IndexIndex-2 Index _TOO_LARGE 61FAULT_TAG_ID_BUFFER_REPEATED_TAG_ID 61FAULT_UNIMPLEMENTED_OPCODE46FAULT_WRITE_PASSED_LOCK_FAILED 55Ffault messages 45FAULT_AFE_NOT_ON 405h 55FAULT_AHAL_INVALID_FREQ 500h 59FAULT_BL_INVALID_APP_END_ADDR 201h 49FAULT_BL_INVALID_IMAGE_CRC 200h 49FAULT_DATA_TOO_LARGE 40Bh 57FAULT_FLASH_BAD_ERASE_PASSWORD 300h 50FAULT_FLASH_BAD_WRITE_PASSWORD 301h 50FAULT_FLASH_ILLEGAL_SECTOR 303h 51FAULT_FLASH_UNDEFINED_ERROR 302h 51FAULT_FLASH_WRITE_TO_NON_ERASED_AREA 304h 51FAULT_GENERAL_TAG_ERROR 40Ah 57FAULT_INVALID_OPCODE 101h 46FAULT_INVALID_PROTOCOL_SPECIFIED 402h 54FAULT_MSG_INVALID_FREQ_RECEIVED 104h 47FAULT_MSG_INVALID_PARAMETER_VALUE 105 47FAULT_MSG_POWER_TOO_HIGH 103h 46FAULT_MSG_POWER_TOO_LOW 106h 47FAULT_MSG_WRONG_NUMBER_OF_DATA (100h) 45FAULT_NO_PROTOCOL_DEFINED – (401h) 53FAULT_NO_PROTOCOL_DEFINED – 401h 53FAULT_NO_PROTOCOL_DEFINED 401h 54FAULT_NO_TAGS_FOUND 400h 53FAULT_NOT_IMPLEMENTED_FOR_THIS_PROTOCOL 407h 56FAULT_PROTOCOL_INVALID_ADDRESS 409h 56FAULT_PROTOCOL_INVALID_KILL_PASSWORD 40C 57FAULT_PROTOCOL_INVALID_WRITE_DATA 408h 56FAULT_PROTOCOL_NO_DATA_READ 404h 55FAULT_PROTOCOL_WRITE_FAILED 406h 55FAULT_SYSTEM_UNKNOWN_ERROR 7F00h 62FAULT_TAG_ID_BUFFER_FULL 601h 60FAULT_TAG_ID_BUFFER_NOT_ENOUGH_TAGS_AVAILABLE 600h 60FAULT_TAG_ID_BUFFER_NUM_TAG_TOO_LARGE 603h 61FAULT_TAG_ID_BUFFER_REPEATED_TAG_ID 602h 61FAULT_UNIMPLEMENTED_OPCODE 102h 46FAULT_WRITE_PASSED_LOCK_FAILED55Flash faults 50Ggraphical user interface 3GUI 3, 8Demo tab 16install 9Reader Config tab 13Tagops tab 24Hhttp//support.thingmagic.com 57, 61, 62Iinstall GUI 9Kkill tags 30
Index Index-3IndexLLock tag area 31MM4edescription 2M5edescription 2GUI 3M5e Mechanicals 40M5e-CGUI 3M5e-C description 2PProtocol faults 53Rread tag data 29read the tag identifications 32Reader Config tab 13settings 13reader settingsconfigure 13Regulatory Compliance iRFID engines 1Ssoftwareapplication firmware 2bootloader 2System errors 62TTag ID buffer faults 60Tagops tab 24kill tags 30lock tag 31read tags 32settings 26write tag ids 28ThingMagic® Mercury® Embedded Modules 1Wwrite identification to a tag 28write tag data 30

Navigation menu