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...
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:...
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)”...
ê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)"...
- 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.
Hardware Overview The following section provides detailed specifications of the M6e hardware including: Hardware Interfaces Power Requirements Environmental Specifications Assembly Information Hardware Overview...
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).
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.
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.
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.
(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...
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.
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...
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]...
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.
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...
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.
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.
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.
Communication Protocol The following section provides an overview of the low level serial communications protocol used by the M6e. 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;...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
Need help?
Do you have a question about the Mercury6e and is the answer not in the manual?
Questions and answers