User's Guide

ThingMagic Micro Family User Guide
Review Copy 11-6-10
20
4 Communication Protocol
www.JADAKtech.com
The following is an overview of the low level serial communications protocol used by the Micro.
Serial Communication Protocol
The serial communication between a computer (host) and the Micro 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;
only the host initiates a communication session.
This protocol allows for each command to have its own timeout because some commands require more
time to execute than others. The host must manage retries, if necessary. The host must keep track of the
state of the intended reader if it reissues a command.
Host-to-Reader Communication
Host-to-reader communication is packetized according to the following diagram. The reader can only
accept one command at a time, and commands are executed serially, so the host waits for a reader-to-host
response before issuing another host-to-reader command packet.
Host-To-Reader Communication
Header
Data
Length
Command
Data
CRC-16 Checksum
Hdr
Len
Cmd
- - - - -
CRC Hi I CRC LO
1 byte
1 byte
1 byte
0 to 250 bytes
2 bytes
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.
Reader-To-Host Communication
Header
Data
Length
Command
Status
Word
Data
CRC-16 Checksum
Hdr
Len
Cmd
- - - - -
CRC Hi I CRC LO
1 byte
1 byte
1 byte
2 bytes
0 to 248
bytes
2 bytes
CCITT CRC-16 Calculation
The same CRC calculation is performed on all serial communications between the host and the reader. The
CRC is calculated on the Data Length, Command, Status Word, and Data bytes. The header is not
included in the CRC.
User Programming Interface
The Micro does not support programming to the serial protocol directly. All user interaction with the Micro
must be performed using the MercuryAPI.