ThingMagic Mercury6e M6e-30dBm Hardware Manual

Hide thumbs Also See for Mercury6e M6e-30dBm:
Table of Contents

Advertisement

Quick Links

M6e-30dBm 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 M6e-30dBm and is the answer not in the manual?

Questions and answers

Summary of Contents for ThingMagic Mercury6e M6e-30dBm

  • Page 1 M6e-30dBm 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, A Division of Trimble. 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 ThingMagic, A Division of Trimble or other companies.
  • Page 3 Revision Table Date Version Description 4/2010 01 RevA First Draft for Beta release 8/2010 01 Rev1 • Updated GPIO content • Added FCC regulation info section 10/2010 02 Rev 2 • updated FCC info...
  • Page 5: Table Of Contents

    Contents Communication Regulation Information ............9 Federal Communication Commission Interference Statement .
  • Page 6 Application Firmware ............... 29 Programming the M6e .
  • Page 7 Save and Restore Configuration ............. 48 Appendix A: Error Messages .
  • Page 8 FAULT_PROTOCOL_INVALID_EPC – 410h 62 FAULT_PROTOCOL_INVALID_NUM_DATA – 411h 62 FAULT_GEN2 PROTOCOL_OTHER_ERROR - 420h 62 FAULT_GEN2_PROTOCOL_MEMORY_OVERRUN_BAD_PC - 423h 63 FAULT_GEN2 PROTOCOL_MEMORY_LOCKED - 424h 63 FAULT_GEN2 PROTOCOL_INSUFFICIENT_POWER - 42Bh 63 FAULT_GEN2 PROTOCOL_NON_SPECIFIC_ERROR - 42Fh 64 FAULT_GEN2 PROTOCOL_UNKNOWN_ERROR - 430h 64 Analog Hardware Abstraction Layer Faults........... . 65 FAULT_AHAL_INVALID_FREQ –...
  • Page 9: Communication Regulation Information

    Communication Regulation Information Communication Regulation Information 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 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.
  • 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: “Contains Transmitter Module FCC ID: QV5MERCURY6E”...
  • Page 11: Industry Canada

    End Product Labeling The final end product must be labeled in a visible area with the following: “Contains ThingMagic Mercury6e transmitting module FCC ID: QV5MERCURY6E (IC: 5407A-MERCURY6E)” Authorized Antennas This 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.
  • Page 12 Communication Regulation Information...
  • 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 Watt, or +30 dBm.
  • 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

    Power Requirements Power Requirements RF Power Output The M6e supports separate read and write power level which are command adjustable via the MercuryAPI. Power levels must be between: – Minimum RF Power = +5 dBm – Maximum RF Power = +30 dBm (+0.0/- 0.5 dB accuracy above +15 dBm) Note Maximum power may have to be reduced to meet regulatory limits, which specify the combined effect of the module, antenna, cable and enclosure...
  • Page 22: Power Consumption

    Power Requirements Power Consumption The following table defines the power/transmit mode settings and power consumption specifications for the M6e. Additional details about Power/Transmit Modes can be found in the section. Power Management M6e Power Consumption RF Transmit Voltage Current Power Operation Max Power Power/Transmit Mode...
  • Page 23: 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 24: 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 25: M6E Mechanical Drawing

    Assembly Information M6e Mechanical Drawing Hardware Overview...
  • Page 26: 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 27: 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 28: 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 29: 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 30: 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 31: Communication Protocol

    Communication Protocol The following section provides an overview of the low level serial communications protocol used by the M6e. Communication Protocol...
  • Page 32: 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 33: 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 34: 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 35: 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 36: Regulatory Support

    Regulatory Support Regulatory Support Supported Regions The M6e has differing levels of support for operation and use under the laws and guidelines of several regions. The regional support is shown in the following table. Supported Regions Region Regulatory Support North America (NA) FCC 47 CFG Ch.
  • Page 37: Protocol Support

    Protocol Support Protocol Support The M6e has the ability to support many different tag protocols. Using the MercuryAPI ReadPlan classes the M6e can be configured to single or multi-protocol Read operations. The current protocols supported are (some may require a license to enable): ISO 18000-6C (Gen2) I-PX ISO 18000-6B...
  • Page 38: Protocol Specific Functionality

    Protocol Support Protocol Specific Functionality See the MercuryAPI Programmers Guide and language specific reference guides for details on supported Gen2 command functionality. I-PX Protocol Configuration Options The M6e supports multiple I-PX profiles including the ability to specify the Return Link Frequency, encoding and modulation scheme.
  • Page 39: 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 40 Antenna Ports GPIO 1 & 2 Used for Antenna Switching GPIO GPIO Logical Antenna Active M6e Output 1 Output 2 Setting Physical Port State State High High High High High High High High High High High High High High High High If only one GPIO Output line is used for antenna control, the combinations of the available output control line states (the GPIO line in use and the module port) result in a subset of...
  • Page 41: Port Power And Settling Time

    Antenna Ports GPIO Logical Antenna Active M6e Output 1 Setting Physical Port State High High High High Note The “missing” logical antenna settings are still usable when only one GPIO line is used for antenna control and simply results in redundant logical antenna settings.
  • Page 42 Antenna Ports reader/antenna/settlingTimeList, respectively. The order the antennas settings are defined does not affect search order. Note 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.
  • Page 43: Tag Handling

    Tag Handling Tag Handling When the M6e performs inventory operations (MercuryAPI Read commands) data is stored in a until retrieved by the client application, or streamed directly to the Tag Buffer client if operating in Streaming mode [Not Yet Implemented]. Tag Buffer The M6e uses a dynamic buffer that depends on EPC length and quantity of data read.
  • Page 44: Tag Read Meta Data

    Tag Read Meta Data Tag Read Meta Data In addition to the tag EPC ID resulting from M6e inventory operation each TagReadData (see MercuryAPI for code details) contains meta data about how, where and when the tag was read. The specific meta data available for each tag read is as follows: Tag Read Meta Data Meta Data Field Description...
  • Page 45: Power Management

    Power Management Power Management The M6e is designed for power efficiency and offers several different power management modes. The following power management modes affect the power consumption during different periods of M6e usage and impact performance in different ways. The available power management modes are: - set in /reader/powerMode - Controls the power savings when the M6e Power Modes...
  • Page 46: Drm Compliant Mode

    Power Management DRM Compliant Mode This mode maximizes performance in dense reader environments, minimizing interference when used with other M6e or similar DRM-compliant readers, and is fully compliant with the Gen2 DRM spectral mask. 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.
  • Page 47: Performance Characteristics

    Performance Characteristics Performance Characteristics Event Response Times The following table provides some metrics on how long common M6e operations take. An event response time is defined as the maximum time from the end of a command (end of the last bit in the serial stream) or event (e.g. power up) to the response event the command or event causes.
  • Page 48: Save And Restore Configuration

    Save and Restore Configuration 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.
  • Page 49: Fault Message

    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 50: Fault_Invalid_Opcode – (101H)

    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 51: Fault_Msg_Invalid_Freq_Received (104H)

    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 52: Fault_Unimplemented_Feature - (109H)

    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 30 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 53: Bootloader Faults

    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 54: 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_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 55: Fault_Flash_Undefined_Error – 302H

    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 56: Fault_Flash_Verify_Failed – 306H

    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 57: Protocol Faults

    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 58: Fault_No_Tags_Found - (400H)

    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 59: Fault_Write_Passed_Lock_Failed - 403H

    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 60: Fault_Protocol_Write_Failed - 406H

    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 61: Fault_General_Tag_Error - 40Ah

    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 62: Fault_Protocol_Bit_Decoding_Failed - 40Fh

    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 63: Fault_Gen2_Protocol_Memory_Overrun_Bad_Pc

    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 64: Fault_Gen2 Protocol_Non_Specific_Error - 42Fh

    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 65: Analog Hardware Abstraction Layer Faults

    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 66: Fault_Temperature_Exceed_Limits – 504H

    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 67 Analog Hardware Abstraction Layer Faults Solution Use the correct antenna setting or change the reader configuration. Appendix A: Error Messages...
  • Page 68: Tag Id Buffer Faults

    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 69: Fault_Tag_Id_Buffer_Num_Tag_Too_Large – 603H

    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 70: System Errors

    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 71: Appendix B: Getting Started - Devkit

    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 72 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 73: Demo Application

    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 74 Demo Application Appendix B: Getting Started - Devkit...

Table of Contents