ThingMagic Mercury6e Hardware Manual
Hide thumbs Also See for Mercury6e:

Advertisement

Quick Links

M6e-31.5dBm Hardware Guide
For: M6e (Firmware Ver. 1.7 and later)

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the Mercury6e and is the answer not in the manual?

Questions and answers

Subscribe to Our Youtube Channel

Summary of Contents for ThingMagic Mercury6e

  • Page 1 M6e-31.5dBm Hardware Guide For: M6e (Firmware Ver. 1.7 and later)
  • Page 2 Government, who has been provided access to such data must promptly notify ThingMagic, Inc. ThingMagic, Mercury, Reads Any Tag, and the ThingMagic logo are trademarks or registered trademarks of ThingMagic, A Division of Trimble. Other product names mentioned herein may be trademarks or registered trademarks of Trimble or other companies.
  • Page 3 Revision Table Date Version Description 4/2010 01 RevA First Draft for Beta release 8/2010 01 RevB • Updated GPIO content • Added FCC regulation info section 2/2011 02 Rev2 • updated content to meet regulatory requirements...
  • Page 5: Table Of Contents

    Mercury6e Introduction ........
  • Page 6 Functionality of the Mercury6e ........
  • Page 7 Transmit Modes............... 48 DRM Compliant Mode 49 Power Save Mode (non-DRM Compliant) 49 Performance Characteristics.
  • Page 8 FAULT_PROTOCOL_INVALID_ADDRESS – 409h 64 FAULT_GENERAL_TAG_ERROR – 40Ah 65 FAULT_DATA_TOO_LARGE – 40Bh 65 FAULT_PROTOCOL_INVALID_KILL_PASSWORD – 40Ch 65 FAULT_PROTOCOL_KILL_FAILED - 40Eh 65 FAULT_PROTOCOL_BIT_DECODING_FAILED - 40Fh 66 FAULT_PROTOCOL_INVALID_EPC – 410h 66 FAULT_PROTOCOL_INVALID_NUM_DATA – 411h 66 FAULT_GEN2 PROTOCOL_OTHER_ERROR - 420h 66 FAULT_GEN2_PROTOCOL_MEMORY_OVERRUN_BAD_PC - 423h 67 FAULT_GEN2 PROTOCOL_MEMORY_LOCKED - 424h 67 FAULT_GEN2 PROTOCOL_INSUFFICIENT_POWER - 42Bh 67 FAULT_GEN2 PROTOCOL_NON_SPECIFIC_ERROR - 42Fh 68...
  • Page 9: Communication Regulation Information

    Communication Regulation Information Communication Regulation Information W A R N I N G ! Operation of the M6e module requires professional installation to correctly set the TX power for the RF cable and antenna selected. FCC 47 CFR, Part 15 Industrie Canada RSS-210 Federal Communication Commission Interference Statement This equipment has been tested and found to comply with the limits for a Class B...
  • Page 10 “This device complies with Part 15..” “Any changes or modifications to the transmitting module not expressly approved by ThingMagic Inc. could void the user’s authority to operate this equipment” “ End Product Labeling The final end product must be labeled in a visible area with the following:...
  • Page 11: Industry Canada

    End Product Labeling The final end product must be labeled in a visible area with the following: “Contains ThingMagic Inc. Mercury6e (or appropriate model number you’re filing with IC) transmitting module FCC ID: QV5MERCURY6E-A (IC: 5407A-MERCURY6EA)”...
  • Page 12: Industrie Canada

    être installé en proximité ou utilisé en conjonction avec un autre antenne ou transmetteur. Marquage sur l’ étiquette du produit complet dans un endroit visible: "Contient ThingMagic transmetteur, FCC ID: QV5MERCURY6E-A (IC:5407A-MERCURY6EA)"...
  • Page 13: Mercury6E Introduction

    - This section provides detailed specifications of the M6e Hardware Overview hardware. This section should be read in its entirety before designing hardware or attempting to operate the M6e module in hardware other than the ThingMagic DevKit. - This section describes provides a detailed description of the M6e Firmware Overview firmware components including the bootloader and application firmware.
  • Page 14 Mercury6e Introduction...
  • Page 15: Hardware Overview

    Hardware Overview The following section provides detailed specifications of the M6e hardware including: Hardware Interfaces Power Requirements Environmental Specifications Assembly Information Hardware Overview...
  • Page 16: Hardware Interfaces

    Hardware Interfaces Hardware Interfaces Antenna Connections The M6e supports four monostatic bidirectional RF antennas through four MMCX connectors: labeled J1 through J4 on the module. See for more Cables and Connectors information on antenna connector parts. The maximum RF power that can be delivered to a 50 ohm load from each port is 1.4 Watts, or +31.5 dBm (operation above 30dBm requires a professional installer).
  • Page 17: Control Signal Specification

    Hardware Interfaces amp per pin rating. which mates with Molex housing p/n 51021-1500 with crimps p/n 63811-0300. See for more information on typical cable parts. Cables and Connectors M6e Digital Connector Signal Definition Molex Signal 53261-1571 Signal Direction Notes Pin Number (In/Out of M6e) P/S Return Must connect both GND pins to ground...
  • Page 18 Hardware Interfaces TTL Level TX V-Low: Max 0.4 VDC V-High: 2.1 to 3.3 VDC 8 mA max TTL Level RX V-Low: -0.3 to 0.6 VDC V-High: 2.2 to 5 VDC (Tied to ground through a 10kOhm pull-up resistor. It is not harmful, but not recommended to drive the input above 3.3 V.) A level converter could be necessary to interface to other devices that use standard 12V RS232.
  • Page 19: General Purpose Input/Output (Gpio)

    Hardware Interfaces General Purpose Input/Output (GPIO) The four GPIO connections, provided through the M6e Digital Connector Signal Definition, may be configured as inputs or outputs using the MercuryAPI. The GPIO pins connect through 100 ohm resistors to the high current PA0 to PA3 pins of the AT91SAM7X processor.
  • Page 20: Reset Line

    Hardware Interfaces defeated if the module is held in the boot loader by being held low. Lines Reset Line configured as outputs consume no excess power if the output is left open. Specified module power consumption is achieved for one or more GPIO lines set as output and left open.
  • Page 21: Power Requirements

    (Insertion Loss value from cable list) using the formula: Pmax = 36 dBm - Antenna Gain + Cable Loss For example, for the Laird S8658WPL and the ThingMagic 6ft cable the following CBL-P6...
  • Page 22: Power Supply Ripple

    Power Requirements Power Supply Ripple The following are the minimum requirements to avoid module damage and to insure performance and regulatory specifications are met. Certain local regulatory specifications may require tighter specifications. 5 Volt +/- 5%, Less than 25 mV pk-pk ripple all frequencies, Less than 11 mV pk-pk ripple for frequencies less than 100 kHz, No spectral spike greater than 5 mV pk-pk in any 1 kHz band.
  • Page 23 Power Requirements M6e Power Consumption RF Transmit Voltage Current Power Operation Max Power Power/Transmit Mode (Volts) (mA) Setting (Watts) (dBm) < 0.001 5.0 +/- 5% < 200uA Shut Down 5.0 +/- 5% 1500 Max In Rush Current and Power, M6e Power up and/or any state change Note: 1 - Power consumption is defined for TTL RS232 operation.
  • Page 24: Environmental Specifications

    Environmental Specifications Environmental Specifications Operating Temperature Clamshell temperature must not exceed 70 degrees C. Heat sinking will be required for high duty cycle applications. Electro-Static Discharge (ESD) Specification Specifications to be determined. Hardware Overview...
  • Page 25: Assembly Information

    Assembly Information Assembly Information Cables and Connectors The following are the cables and connectors used in the M6e Developer’s Kit interface board: Digital Interface The cable assembly used consists of the following parts: 2 Connector Shells [Molex 51021-1500] with 15 Crimp Contacts each [Molex 50079- 8100] 1 Wire (#28 AWG 7x36 - Black, Teflon) for Pin 1 connection [Alpha 284/7-2] 14 Wires (#28 AWG 7x36 - White, Teflon) for other connections [Alpha 284/7-1]...
  • Page 26: M6E Mechanical Drawing

    Assembly Information M6e Mechanical Drawing Hardware Overview...
  • Page 27: Authorized Antennas

    Authorized Antennas Authorized Antennas This device has been designed to operate with the antennas listed below, and having a maxi- mum gain of 6 dBiL. Antennas not included in this list or having a gain greater than 6 dBiL are strictly prohibited for use with this device.
  • Page 28: Authorized Cables

    Authorized Cables Authorized Cables The following table contains the cable loss values for authorized shielded coaxial cables provided by ThingMagic ThingMagic Part Cable Description Insertion Loss Number 6' RTNC to RTNC Cable CBL-P6 0.8 dB 12' RTNC to RTNC Cable CBL-P12 1.5 dB...
  • Page 29: Firmware Overview

    Firmware Overview The following section provides detailed description of the M6e firmware components: Boot Loader Application Firmware Custom On-Reader Applications Firmware Overview...
  • Page 30: Boot Loader

    When a module is powered up or reset, the boot loader code is automatically loaded and executed. Note Unlike previous ThingMagic modules (M4e and M5e) the M6e bootloader should effectively be invisible to the user. The M6e is by default configured to auto-boot into application firmware and for any operations that require the module be in bootloader mode the MercuryAPI will handle the switching automatically.
  • Page 31: Application Firmware

    For more information on the MercuryAPI see the MercuryAPI Programmers Guide and the MercuryAPI SDK, available on the ThingMagic website. Upgrading the M6e New features developed for the M6e are made available to existing modules through an Application Firmware upgrade, along with corresponding updates to the MercuryAPI to make use of the new features.
  • Page 32: Custom On-Reader Applications

    Custom On-Reader Applications Custom On-Reader Applications The M6e does not support installing customer applications on the reader. Continuous reader, tag streaming, scripting and other methods of configuring the module to operate in an autonomous or semi-autonomous reading modes maybe supported through the MercuryAPI but custom application cannot be installed on the module.
  • Page 33: Communication Protocol

    Communication Protocol The following section provides an overview of the low level serial communications protocol used by the M6e. Communication Protocol...
  • Page 34: Serial Communication Protocol

    Serial Communication Protocol Serial Communication Protocol The serial communication between a computer (host) and the M6e is based on a synchronized command-response/master-slave mechanism. Whenever the host sends a message to the reader, it cannot send another message until after it receives a response. The reader never initiates a communication session;...
  • Page 35: Reader-To-Host Communication

    Serial Communication Protocol Reader-to-Host Communication The following diagram defines the format of the generic Response Packet sent from the reader to the host. The Response Packet is different in format from the Request Packet. Header Data Length Command Status Word Data CRC-16 Checksum CRC HI...
  • Page 36: User Programming Interface

    MercuryAPI Software Development Kit (SDK) contains sample applications and source code to help developers get started demoing and developing functionality. For more information on the MercuryAPI see the MercuryAPI Programmers Guide and the MercuryAPI SDK, available on the ThingMagic website. Communication Protocol...
  • Page 37: Functionality Of The Mercury6E

    Functionality of the Mercury6e The following section provides detailed descriptions of the M6e features and functionality that are supported through the use of the MercuryAPI. Functionality of the Mercury6e...
  • Page 38: Regulatory Support

    In addition to setting the default regional settings, the M6e has commands that allow the transmit frequency to be set manually. C A U T I O N ! Use these commands with extreme caution. It is possible to change the module’s com- pliance with the regional regulations. Functionality of the Mercury6e...
  • Page 39: Frequency Units

    Frequencies used in the order of entries in the table. If necessary for a region, the hop table can be randomized to create a pseudo-random sequence of frequencies to use. This is done automatically using the default hop tables provided for each region. Functionality of the Mercury6e...
  • Page 40: Protocol Support

    Scheme (kHz) Miller (M=8) 12.5 PR-ASK Miller (M=4) 12.5 PR-ASK Miller (M=2) 12.5 PR-ASK 12.5 PR-ASK Miller (M=8) PR-ASK Miller (M=4) PR-ASK Miller (M=2) PR-ASK PR-ASK Miller (M=8) PR-ASK 6.25 PR-ASK Not supported in PRC Region Functionality of the Mercury6e...
  • Page 41: Protocol Specific Functionality

    MercuryAPI Reader Configuration Parameters (/reader/ iso18000-6b/*). The following table shows the supported combinations: ISO-18000-6B Protocol Options Return Link Return Forward Link Forward Notes Freq (kHz) Encoding Freq (kHz) Encoding Manchester Manchester Functionality of the Mercury6e...
  • Page 42: Antenna Ports

    Logical Antenna settings are used. The tables below show the mapping that results using GPIO 1 and 2 for multiplexer control (as is used by the ThingMagic 1 to 4 multiplexer) allowing for 16 logical antenna ports. Note The Logical Antenna values are static labels indicating the available control line states.
  • Page 43 (the GPIO line in use and the module port) result in a subset of logical antenna settings which can be used. ONLY GPIO 1 Used for Antenna Switching GPIO Logical Antenna Active M6e Output 1 Setting Physical Port State Functionality of the Mercury6e...
  • Page 44: Port Power And Settling Time

    Setting Physical Port State High High High High Port Power and Settling Time The M6e allows the power and settling time for each logical antenna to be set using the reader configuration parameters /reader/radio/portReadPowerList and / Functionality of the Mercury6e...
  • Page 45 Settling time is the time between the control lines switching to the next antenna setting and RF turning on for operations on that port. This allows time for external multiplexer’s to fully switch to the new port before a signal is sent, if necessary. Default value is 0. Functionality of the Mercury6e...
  • Page 46: Tag Handling

    Aside from not seeing “down time” when performing a read operation this behavior is essentially invisible to the user as all tag handling is done by the MercuryAPI. Functionality of the Mercury6e...
  • Page 47: Tag Read Meta Data

    Tag Phase Average phase of tag response in degrees LQI/RSSI The receive signal strength of the tag response in dBm. GPIO Status The signal status (High or Low) of all GPIO pins when tag was read. Functionality of the Mercury6e...
  • Page 48: Power Management

    RF spectral compliance with the Gen2 DRM Mask for increased power savings while transmitting. The details of the amount of power consumed in each mode is shown in the table under Consumption. The behavior of each mode is as follows: Power Functionality of the Mercury6e...
  • Page 49 Power Save Mode (non-DRM Compliant) This mode reduces the power consumption during RF operations but is not 100% compliant with the DRM spectral mask. This can result increased interference with other readers and reduce overall systems performance. Functionality of the Mercury6e...
  • Page 50 When in Power Mode = 1 Tag Read RF On When in Power Mode = 2 Change to Mode 1 Power Mode 1 From Power Mode =0 Change to Mode 2 Power Mode 2 From Power Mode =0 Functionality of the Mercury6e...
  • Page 51 Save and Restore Configuration The M6e supports saving module and protocol configuration parameters to the module flash to provide configuration persistence across boots. See the MercuryAPI Programmers Guide and sample applications for details on saving and restoring reader configuration. Functionality of the Mercury6e...
  • Page 52 Save and Restore Configuration Functionality of the Mercury6e...
  • Page 53 Appendix A: Error Messages Common Error Messages The following table lists the common faults discussed in this section. Fault Message Code 100h FAULT_MSG_WRONG_NUMBER_OF_DATA – (100h) 101h FAULT_INVALID_OPCODE – (101h) 102h FAULT_UNIMPLEMENTED_OPCODE – 102h 103h FAULT_MSG_POWER_TOO_HIGH – 103h 104h FAULT_MSG_INVALID_FREQ_RECEIVED (104h) 105h FAULT_MSG_INVALID_PARAMETER_VALUE - (105h) 106h...
  • Page 54 FAULT_UNIMPLEMENTED_OPCODE – 102h Cause Some 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. Solution Check the documentation for the opCode the host sent to the reader and make sure it is supported.
  • Page 55 Common Error Messages Solution Check 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. FAULT_MSG_INVALID_FREQ_RECEIVED (104h) Cause A message was received by the reader to set the frequency outside the supported range...
  • Page 56 Common Error Messages Solution Check the HW specifications for the supported powers and insure that level is not exceeded. The M6e supports powers between 5 and 31.5 dBm. FAULT_UNIMPLEMENTED_FEATURE - (109h) Cause Attempting to invoke a command not supported on this firmware or hardware. Solution Check the command being invoked against the documentation.
  • Page 57 Bootloader Faults Bootloader Faults The following table lists the common faults discussed in this section. Fault Message Code FAULT_BL_INVALID_IMAGE_CRC 200h FAULT_BL_INVALID_APP_END_ADDR 201h FAULT_BL_INVALID_IMAGE_CRC – 200h Cause When the application firmware is loaded the reader checks the image stored in flash and returns this error if the calculated CRC is different than the one stored in flash.
  • Page 58 Solution When this occurs make note of the operations you were executing, save FULL error response and send a testcase reproducing the behavior to support@thingmagic.com. FAULT_FLASH_BAD_WRITE_PASSWORD – 301h Cause A command was received to write some part of the flash but the password supplied with the command was not correct.
  • Page 59 This is an internal error and it is caused by a software problem in module. Solution When this occurs make note of the operations you were executing, save FULL error response and send a testcase reproducing the behavior to support@thingmagic.com. FAULT_FLASH_ILLEGAL_SECTOR – 303h Cause An erase or write flash command was received with the sector value and password not matching.
  • Page 60 Flash Faults Solution When this occurs make note of the operations you were executing, save FULL error response and send a testcase reproducing the behavior to support@thingmagic.com. FAULT_FLASH_VERIFY_FAILED – 306h Cause The module received a write flash command that was unsuccessful because data being written to flash contained an uneven number of bytes.
  • Page 61 Protocol Faults Protocol Faults The following table lists the common faults discussed in this section. Fault Message Code FAULT_NO_TAGS_FOUND – (400h) 400h 401h FAULT_NO_PROTOCOL_DEFINED – 401h 402h FAULT_INVALID_PROTOCOL_SPECIFIED – 402h 403h FAULT_WRITE_PASSED_LOCK_FAILED – 403h 404h FAULT_PROTOCOL_NO_DATA_READ – 404h 405h FAULT_AFE_NOT_ON – 405h 406h FAULT_PROTOCOL_WRITE_FAILED –...
  • Page 62 Protocol Faults FAULT_NO_TAGS_FOUND – (400h) Cause A 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. Here 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...
  • Page 63 Protocol Faults Solution This 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 and that you are licensed for FAULT_WRITE_PASSED_LOCK_FAILED – 403h Cause During a Write Tag Data for ISO18000-6B or UCODE, if the lock fails, this error is returned.
  • Page 64 Protocol Faults FAULT_PROTOCOL_WRITE_FAILED – 406h Cause An attempt to modify the contents of a tag failed. There are many reasons for failure. Solution Check that the tag is good and try another operation on a few more tags. AULT_NOT_IMPLEMENTED_FOR_THIS_PROTOCOL – 407h Cause A command was received which is not supported by a protocol.
  • Page 65 This error is used by the GEN2 module. This fault can occur if the read, write, lock, or kill command fails. This error can be internal or functional. Solution Make a note of the operations you were performing and contact ThingMagic at http:// support.thingmagic.com FAULT_DATA_TOO_LARGE –...
  • Page 66 Protocol Faults FAULT_PROTOCOL_BIT_DECODING_FAILED - 40Fh Cause Attempt to operate on a tag with an EPC length greater than the Maximum EPC length setting. Solution Check the EPC length being written. FAULT_PROTOCOL_INVALID_EPC – 410h Cause This error is used by the GEN2 module indicating an invalid EPC value has been specified for an operation.
  • Page 67 Protocol Faults Solution Check the data that is being passed in the command resulting in this error. Try with a different tag. FAULT_GEN2_PROTOCOL_MEMORY_OVERRUN_BAD_PC - 423h Cause This is an error returned by Gen2 tags. The specified memory location does not exist or the PC value is not supported by the Tag.
  • Page 68 Protocol Faults FAULT_GEN2 PROTOCOL_NON_SPECIFIC_ERROR - 42Fh Cause This is an error returned by Gen2 tags. The tag does not support error specific codes. Solution Check the data that is being written and where its being written to in the command resulting in this error.
  • Page 69 Analog Hardware Abstraction Layer Faults Analog Hardware Abstraction Layer Faults FAULT_AHAL_INVALID_FREQ – 500h Cause A command was received to set a frequency outside the specified range. Solution Check the values you are trying to set and be sure that they fall within the range of the set region of operation.
  • Page 70 Analog Hardware Abstraction Layer Faults Solution Connect a detectable antenna (antenna must have some DC resistance). FAULT_TEMPERATURE_EXCEED_LIMITS – 504h Cause The module has exceeded the maximum or minimum operating temperature and will not allow an RF operation until it is back in range. Solution Take steps to resolve thermal issues with module: Reduce duty cycle...
  • Page 71 Analog Hardware Abstraction Layer Faults Solution Use the correct antenna setting or change the reader configuration. Appendix A: Error Messages...
  • Page 72 A 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. Solution Send a testcase reproducing the behavior to support@thingmagic.com. FAULT_TAG_ID_BUFFER_FULL – 601h Cause The tag id buffer is full.
  • Page 73 Tag ID Buffer Faults Solution Send a testcase reproducing the behavior to support@thingmagic.com. FAULT_TAG_ID_BUFFER_NUM_TAG_TOO_LARGE – 603h Cause The module received a request to retrieve more tags than is supported by the current version of the software. Solution Send a testcase reproducing the behavior to support@thingmagic.com.
  • Page 74 System Errors FAULT_SYSTEM_UNKNOWN_ERROR – 7F00h Cause The error is internal. Solution Send a testcase reproducing the behavior to support@thingmagic.com. FAULT_TM_ASSERT_FAILED – 7F01h Cause An unexpected Internal Error has occurred. Solution The 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 send a testcase reproducing the behavior to support@thingmagic.com.
  • Page 75 Appendix B: Getting Started - Devkit Devkit USB Interfaces USB/RS232 The USB interface (connector labeled USB/ RS232) closest to the power plug is to the RS232 interface of the M6e through an FTDI USB to serial converter. The drivers for it are available at http://www.ftdichip.com/Drivers/VCP.htm Please follow the instructions in the installation guide appropriate for your operating...
  • Page 76 Devkit USB Interfaces Mercury6eUltra” should now be shown under the Model list. Select it and click Next then Finished. Note The M6e driver file has not been Microsoft certified so compatibility warnings will be displayed. These can be ignored and clicked through. A COM port should now be assigned to the M6e.
  • Page 77 Demo Application Demo Application A demo application which supports multi-protocol reading and writing is provided in the MercuryAPI SDK package. The source code for this example is included in the MercuryAPI SDK package under /cs/samples/M6e-Read-Write-Demo-Tool. See the MercuryAPI Programming Guide for details on using the MercuryAPI. Demo Tool Notes The region is only changed upon initialization.
  • Page 78 Demo Application Appendix B: Getting Started - Devkit...

This manual is also suitable for:

M6e-31.5dbm

Table of Contents