User's Guide
Table Of Contents
- THINGMAGIC M6e User Guide
- Introduction
- Hardware Overview
- Hardware Interfaces
- Digital/Power Connector
- USB Interface
- General Purpose Input/Output (GPIO)
- Power Requirements
- Special RF Power Output Requirements for the M6e-A
- Environmental Specifications
- Electro-Static Discharge (ESD) Specification
- Mounting Screw Clearance
- Assembly Information
- Antennas
- M6e Mechanical Drawing
- Authorized Antennas
- M6e-A Authorized Cables
- Firmware Overview
- New Features - Version 1.21.2
- Margin Read Support for Monza6 Tags
- NXP UCODE7 Configuration Support
- Gen2 Parameters in Metadata
- Support for Acura Gen2V2 Tags
- Support for GEN2V2 Embedded Tag Ops
- Gen2V2 Support
- Denatran Tag Support
- Configurable T4 for Gen2 Protocol
- Ability to “Read Data” Immediately After Sending a “Write EPC” or “Write Data” Command
- Decoupling Antenna Selection from AsyncOnTime
- Support for Additional Regions
- Support for Set/get Quantization Value and Minimum Frequency in Open Region
- Operational Notes
- Boot Loader
- Application Firmware
- Custom On-Reader Applications
- New Features - Version 1.21.2
- Communication Protocol
- Functionality
- Specifications
- Compliance and IP Notices
- Error Messages
- Getting Started – Development Kit and Carrier Board
- Environmental Considerations
ThingMagic M6e User Guide 20
www.JADAKtech.com
Boot Loader
The boot loader provides low-level functionality and hardware support for configuring communication
settings, loading Application Firmware, and storing and retrieving data to/from flash.
When a module is powered up or reset, the boot loader code is automatically loaded and executed. 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.
Application Firmware
The application firmware contains the tag protocol code along with all the command interfaces to set and
get system parameters and perform tag operations. The application firmware is, by default, started
automatically upon power up.
Programming the M6e
Applications to control the M6e module and derivative products are written using the high level MercuryAPI.
The MercuryAPI supports Java, .NET and C programming environments. The 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 www.jadaktech.com.
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.
Firmware upgrades can be applied using the MercuryAPI to build the functionality into custom applications
or using the MercuryAPI SDK demo utilities.
Verifying Application Firmware Image
The application firmware has an image level Cyclic Redundancy Check (CRC) embedded in it to protect
against corrupted firmware during an upgrade process. (If the upgrade is unsuccessful, the CRC will not
match the contents in flash.) When the boot loader starts the application firmware, it first verifies that the
image CRC is correct. If this check fails, then the boot loader does not start the application firmware and an
error is returned.
Custom On-Reader Applications
The M6e does not support installing customer applications on the module. All reader configuration and
control is performed using the documented MercuryAPI methods in applications running on a host
processor.
The M6e supports Autonomous Operation, where configuration settings and a basic read plan can be
stored in the module and executed whenever the module is power up, or whenever it is both powered up
and a selected GPI line is asserted.
Autonomous Operation Support
A read plan can be saved which allows the module to automatically begin continuously reading, and
optionally return data memory values, whenever the module is powered or whenever one of its GPI lines is
asserted. An Autonomous Configuration Tool is available to configure the settings and read plan necessary
to implement this feature.