Thinkify TF4 User Manual

Thinkify, LLC
The TR-200 Desktop RFID Reader
Setup Guide and Protocol Reference
DRAFT Version 0.8 DRAFT
October 2010
The TR200 Desktop RFID Reader DCN-TF-01009 -007
1
Legal Notices
Copyright ©2010 Thinkify, LLC. All rights reserved.
Thinkify LLC has intellectual property rights relating to technology embodied in the products described in this document, including without limitation certain patents or patent pending applications in the U.S. or other countries.
This document and the products to which it pertains are distributed under licenses restricting their use, copying, distribution and decompilation. No part of this product documentation may be reproduced in any form or by any means without the prior written consent of Thinkify, LLC and its Licensors, if any. Third party software is copyrighted and licensed from Licensors. Thinkify, the Thinkify logo, Insight and other graphics, logos, and service names used in this document are trademarks of Thinkify, LLC in the U.S. and other countries. All other trademarks are the property of their respective owners. U.S. Government approval required when exporting the product described in this documentation.
Federal Acquisitions: Commercial Software -- Government Users Subject to Standard License Terms and Conditions. U.S. Government: If this Software is being acquired by or on behalf of the U.S. Government or by a U.S. Government prime contractor or subcontractor (at any tier), then the Government's rights in the Software and accompanying documentation shall be only as set forth in this license; this is in accordance with 48 C.F.R. 227.7201 through 227.7202-4 (for Department of Defense (DoD) acquisitions) and with 48 C.F.R. 2.101 and 12.212 (for non-DoD acquisitions).
DOCUMENTATION IS PROVIDED “AS IS” AND ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARANTEES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR APARTICULAR PURPOSE OR NON-INFRINGMENT ARE HEREBY DISCLAIMED, EXCEPT TO THE EXTENT THATSUCH DISCLAIMERS ARE HELD TO BE LEGALLY INVALID.

Note Regarding RF Exposure

This equipment complies with FCC radiation exposure limits set forth for an uncontrolled environment. This equipment should be installed and operated with minimum distance of 20cm between the radiator (antenna) and your body. This transmitter must not be co­located or operating in conjunction with any other antenna or transmitter.

FCC Notice and Cautions

Any changes or modifications to this device not expressly approved by Thinkify, LLC could void the user's authority to operate the equipment.
This device complies with Part 15 of the FCC Rules. Operation is subject to the following two conditions: (1) this device may not cause harmful interference, and (2) this
The TR200 Desktop RFID Reader DCN-TF-01009 -007
2
FCC Notice and Cautions
device must accept any interference received, including interference that may cause undesired operation.
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. This equipment generates, uses and can radiate radio frequency energy and, if not installed and used in accordance with the instructions, may cause harmful interference to radio communications. However, there is no guarantee that interference will not occur in a particular installation. If this equipment does cause harmful interference to radio or television reception, which can be determined by turning the equipment off and on, the user is encouraged to try to correct the interference by one or more of the following measures:
Reorient or relocate the receiving antenna.
Increase the separation between the equipment and receiver.
Connect the equipment into an outlet on a circuit different from that to which the
receiver is connected.
Consult the dealer or an experienced radio/TV technician for help.
The TR200 Desktop RFID Reader DCN-TF-01009 -007
3

About Thinkify, LLC

About Thinkify, LLC
Thinkify, LLC is a wireless technology company specializing in RFID hardware and software products. With 30 years of combined experience in RFID and over 35 patents in the field, our founding team is one of the technically strongest in the industry.
Our focus is embedded RFID. -- Applications where we use RFID to enable common objects, devices and whole environments to become aware of the world around them. This capability can transform the way people and objects interact, blurring the line between the physical world and the virtual.
Thinkify is a privately held company, located in Morgan Hill, California.
We feel that partnerships should be healthy and that Engineering should be beautiful.
Thinkify, LLC
18450 Technology Drive, Suite E Morgan Hill, CA 95037
Phone: 408.782.7111 FAX: 408.782.2111 Web: www.thinkifyit.com
Thinkify – Making things think.
(tm)
The TR200 Desktop RFID Reader DCN-TF-01009 -007
4
About Thinkify, LLC
Table of Contents
Legal Notices...............................................................................................................................2
Note Regarding RF Exposure.................................................................................................2
FCC Notice and Cautions.......................................................................................................2
About Thinkify, LLC.....................................................................................................................4
Introduction..................................................................................................................................7
Getting Started............................................................................................................................8
What's in the box?..................................................................................................................8
Hooking up the hardware........................................................................................................8
Setting up the Driver (Microsoft Windows).............................................................................9
Communicating with the Reader...........................................................................................12
A Quick RFID Introduction.........................................................................................................19
Class 1 Generation 2 (Gen2)................................................................................................19
Concepts (Performing an Inventory).....................................................................................20
Concepts (Reading / Writing other data)..............................................................................22
Thinkify Reader Protocol Overview...........................................................................................23
Command Structure..............................................................................................................23
Command Groups.................................................................................................................27
Command Reference................................................................................................................28
Summary...............................................................................................................................28
"A" RX Amplifier Control........................................................................................................29
"BOOTLOADER" – Enter Bootloader...................................................................................31
"C" Low-Level Chip Control Registers..................................................................................32
“D”- Diagnostic Functions ....................................................................................................36
"F" RX Filter Control..............................................................................................................37
"G" GPIO Settings.................................................................................................................39
“I”- Inventory Control.............................................................................................................41
"K" Kill – Lock – Access Descriptors.....................................................................................44
The TR200 Desktop RFID Reader DCN-TF-01009 -007
5
About Thinkify, LLC
"L" Low-Level Tests...............................................................................................................47
“M" MASK / SELECT control................................................................................................49
"P" PROTOCOL control (Gen2 Air protocol).........................................................................54
"R" RF Control......................................................................................................................57
"S" Status Functions.............................................................................................................61
"T" INVENTORY initiate........................................................................................................64
"X" eXtra Data Read and Write Descriptor Control..............................................................67
Appendix A. Using the Thinkify Firmware Update Utility..........................................................73
Appendix B. GPIO Port.............................................................................................................77
The TR200 Desktop RFID Reader DCN-TF-01009 -007
6

Introduction

Introduction
This document explains how to set up and communicate with a Thinkify, TR200 desktop RFID reader. We call this device, the Insight
(tm)
.
Most UHF RFID readers today are industrial devices focused on automating data capture without human intervention. These readers are big, expensive and run at RF power levels that require a minimum standoff from people for safe operation. While fine for industrial applications like reading pallets at dock doors, these readers are a poor fit for use cases like tag commissioning or document tracking at your desk.
The Thinkify Insight
(tm)
is the first in a new class of RFID reader – a Personal Reader designed to work around people handling tagged items in an store or office environment. Like the Personal Computer changed computing, we think the Personal Reader will change the nature of RFID.
The Insight
(tm)
is a highly capable and easy-to-use Gen2 reader designed for tag commissioning, document tracking, point of sale and other use cases where people and tags come together.
We think it's pretty. We hope you do, too.
Let's get started.
The TR200 Desktop RFID Reader DCN-TF-01009 -007
7

Getting Started

What's in the box?

A TR200 Desktop Reader
An antenna
A USB cable'
A CD with this manual, software driver and demonstration program
Some sample RFID Tags
Getting Started
(Stone not included.)

Hooking up the hardware

Attach the antenna to your reader. – It screws on.
Plug the USB cable into the reader and then into your laptop or PC.
You should see the blue LEDs on the front of the reader cycle through a start up pattern and then the one should slowly blink to indicate that the unit has power and is waiting for commands.
So much for hooking up the hardware... You're done.
The TR200 Desktop RFID Reader DCN-TF-01009 -007
8

Setting up the Driver (Microsoft Windows)

Setting up the Driver (Microsoft Windows)
After you hook up the hardware, if you've never installed the driver software for the reader on your computer you will see a message indicating that Windows doesn't know about this device.
Under windows XP, the message looks like this:
We're going to handle this ourselves so select the “No, not this time” option and click “Next”.
In the following dialog select “Install the software automatically”. Insert the CD and click “Next”.
(If you chose to have the software install automatically skip ahead. Otherwise, a dialog will appear where you can select the “Include this location in the search” option and “Browse” to the \inf directory on your CD.)
The TR200 Desktop RFID Reader DCN-TF-01009 -007
9
After clicking “Next” you'll get a warning that the Thinkify driver has not passed the Microsoft Windows Logo testing program.
We haven't.
In fact, we never even tried.
If you still trust us, click “Continue Anyway”...
Setting up the Driver (Microsoft Windows)
The driver will now install.
Here we map the USB you've plugged into to a “virtual” serial port.
The TR200 Desktop RFID Reader DCN-TF-01009 -007
10
Setting up the Driver (Microsoft Windows)
If all goes well, you should see this screen. Click “Finish”
The driver is installed and your reader should be ready to use.
The TR200 Desktop RFID Reader DCN-TF-01009 -007
11

Communicating with the Reader

Communicating with the Reader
Application software that talks to the TR200 opens up a connection on the virtual serial port we enabled with our driver. We can test this interface with nearly any serial communication program.
Most Windows systems we've encountered come with a serial communication program called HyperTerminal installed under:
“Start/ All Programs /Accessories / Communications”
We will use HyperTerminal in our examples below.
A free, less buggy and far more capable serial communication program is Tera Term. In addition to serial communication, Tera Term supports several network communication standards including telnet and ssh. We recommend Tera Term for developers who want to do more than casual explorations with HyperTerminal.
Tera Term is available for download at: http://ttssh2.sourceforge.jp/
The TR200 Desktop RFID Reader DCN-TF-01009 -007
12
Communicating with the Reader

Determining your Com Port

Once the driver is installed, the next time you connect the reader to a USB port, it will be recognized and given a virtual com port number. Each USB port you connect to will be given a different number by default.
You can see the com port number you obtained by going to the Start / Control Panel / System utility and click the Device Manager button in the hardware tab. See below:
Click “Device Manager” and expand the “Ports (Com and LPT)” option. Look for the Thinkify USB-Serial Bridge entry and note the com port.
The TR200 Desktop RFID Reader DCN-TF-01009 -007
13
Communicating with the Reader
On my system it came up as COM4
*
You now know!
_______
*NOTE for advanced users using Windows XP: If you wish to change the com port number, you can by right clicking on the entry for the Thinkify USB-Serial Bridge, selecting Properties, going to the Port Settings Tab and clicking the Advanced button. The dialog window has a drop down list of available com port names you may choose from.
The TR200 Desktop RFID Reader DCN-TF-01009 -007
14
Communicating with the Reader

Using Hyperterminal

From the Start Menu, go to:
“Start /All Programs / Accessories / Communications”,
and launch HyperTerminal.
At the dialog box, create a new connection for the TR200.
Pick the Com Port your reader is connected to.
The TR200 Desktop RFID Reader DCN-TF-01009 -007
15
Set your communication parameters:
Communicating with the Reader
From the “File/Properties” Menu, select the “Settings” Tab and click Ascii Setup.
Check “Send Line ends with line feeds” and enable local echo so you can see the commands you type.
Hit OK.
Congratulations! You're setup. Let's see if we're talking...
The TR200 Desktop RFID Reader DCN-TF-01009 -007
16
Communicating with the Reader
Hit enter a few times and type “v”[enter] to get the reader's firmware version.
You should see something like:
Your reader is alive and talking!
In the following sections, we describe the protocol structure and list the commands that the reader can respond to using this interface. You can try out all the commands using HyperTerminal to get a feeling for how they work. After that, you can use our software APIs or roll your own to use the same commands from your own programs.
As an example, let's read some tags. Hold up your sample tags near the reader and type “t”[enter] You should see something like this:
The TR200 Desktop RFID Reader DCN-TF-01009 -007
17
Communicating with the Reader
Victory!
The TR200 Desktop RFID Reader DCN-TF-01009 -007
18

A Quick RFID Introduction

A Quick RFID Introduction

Class 1 Generation 2 (Gen2)

The RFID tags included in your reader kit conform to the UHF Class 1, Generation 2 standard maintained by EPC Global. (REF). EPC Global is a division of UPC – The same standards organization that controls the barcode numbering system used on retail packages. This standard (with minor changes) is also maintained by ISO under ISO­18000-6-C. (REF)
Most Gen2 tags (as they are usually called) are Passive RFID devices. That is, they do not require a battery and derive their power for operation from the RF field sent out by the reader. This allows them to be small, inexpensive and operate virtually indefinitely.
Most Gen2 tags are also programmable devices. Users can put their own information into the tags. The amount of data that can be stored depends on the type of tag but hundreds of bits are typical. Data in the tag is organized into “Banks” of memory that serve different functions under the protocol:
Bank 0: Reserved Memory Kill and Access Password space.
Bank 1: EPC Memory The unique tag identifier. Typically 128 bits. User
programmable. The Gen2 protocol is designed to extract this information quickly.
Bank 2: TID Memory A factory programmed area that includes a serial number
and fields that describe the tag's capabilities.
Bank 3: User Memory A programmable extended memory area for holding
additional information that is not the EPC. Not all tags support User Memory.
Gen2 tag memory can be “Locked” such that it cannot be changed without a passcode. These locks can be reversible or permanent.
Finally, Gen2 tags can be rendered non-functional with a “Kill” command. Tags that are killed cannot be recovered.
The TR200 Desktop RFID Reader DCN-TF-01009 -007
19

Concepts (Performing an Inventory)

Concepts (Performing an Inventory)
Being an RFID reader trying to read multiple tags using the Gen2 protocol is sort of like being a new teacher trying to take attendance in a kindergarten class... Sadly, the administration didn't give you an attendance list on the first day of class so you have to work it out for yourself.
Kindergarten Teacher RFID Reader
You have to get a list of everyone's name
You have to get a list of all of the EPC codes from the tags
Kids know their own names Tags have unique IDs in EPC memory they can
report
You can only hear one child at a time The reader can only process a signal from one
tag at a time
Kids want to all talk at once Multiple tags can respond at the same time
What both the reader and the teacher need is an anti-collision protocol – a way to keep their respective tags/kids from talking at the same time.
Most teachers adopt an adult-talks-first protocol with a persistent state flag for whether a child has been inventoried. This flag is maintained in the child. Sometimes there's a bi­directional exchange with an ACK/NAK option. Hey! that's a lot like Gen2.
“Huh?” You say.
Teacher: “Ok everyone! Quiet down. It's time to take attendance.” (Reader-talks-first)
Teacher: “Ok everyone! Hands up!” (Under Gen2 this is a Select command that establishes who's going to participate in the inventory. – In this case, everyone. By putting their hands up, the child has set a flag that indicates he/she hasn't been inventoried, yet.)
Teacher: “When I point to you, tell me your first name.” (Granted this is a little contrived, but it's a little like the Query command in Gen2 that kicks off an inventory sequence.)
The teacher randomly picks the first child, points to her and says, “You!”
Child: “Inga!” (In Gen2, a tag responds to a Query with a random number that is used in the next command by the reader)
Teacher: “Inga who?” (This is like a Gen2 ACK (acknowledgment). It tells the tag/child
The TR200 Desktop RFID Reader DCN-TF-01009 -007
20
Concepts (Performing an Inventory)
that the reader/teacher heard their response and is now asking them for their data.)
Child: “Svenson!”
Teacher:”You!” (Pointing to the next child. At this point, Inga assumes that the teacher got her name, since she's moved on to the next child. She puts her hand down and sets her state to “Inventoried”)
Child: “Mikey!”
Teacher: “Mikey who?”
Child: “Jones!”
Teacher: “Pardon me?” (If the reader doesn't understand the reply it can issue a NAK and try again.)
Teacher: “Mikey who?”
Child: “Jones!”
Teacher: “You!” (On to the next child. Mikey puts his hand down, too.)
And off they go...
When the teacher reaches the end of the round, (See's no more raised hands in this case) she's done.
This is clearly contrived and is an oversimplification of both the Teacher's real-life protocol and Gen2, but it does captures some of the important features:
1. Inventories of the field need an anti-collision protocol to prevent multiple tags from talking at the same time.
2. An inventory can begin with one or more Select commands that establish who will participate in the inventory. (Teacher: “Ok, only the boys, put your hands up!”)
3. The state of whether or not a tag has been inventoried is maintained in the tag.
4. In the process of singulating a tag, the reader gets a handle (the child's first name in the example above) that it can use for additional operations with that tag (more on this below).
The analogy breaks down when you realize that unlike the teacher, the reader cannot see the inventoried state of the tags (hands in the air). If the teacher tried to take attendance of the class from behind a curtain, it would be a lot more difficult. Rather than pointing at a child and saying, “You!” to keep them from talking at once, a different protocol would be needed.
In Gen2, this is accomplished with the Query command. When the reader issues a Query command, it includes in the message a parameter called Q that the tags use to determine if they will respond immediately, or after some number of subsequent
The TR200 Desktop RFID Reader DCN-TF-01009 -007
21
Concepts (Performing an Inventory)
QueryRep commands. The number of Query or QueryRep commands the tag will wait to hear is determined randomly and can vary from 1 to 2^Q.
By adjusting the Q parameter used in its Query commands, the reader can prevent multiple tags from responding simultaneously most of the time. If there is a collision, the reader can adjust Q or just try again and let the tags roll a different random number. From your perspective as a user of the reader, these details don't usually matter (we adjust Q for you automatically) but they can be useful to know sometimes if you are trying to optimize performance.

Concepts (Reading / Writing other data)

The Gen2 protocol is strongly oriented around the use case of rapidly reading the data in Bank 1 of Memory (the EPC). In supply chain applications there can be hundreds of tags moving past a read point and the reader needs to read them all as they go by.
Reading other data in other banks of memory or programming builds off of the protocol we use for isolating tags and it extends it to allow a “conversation” to take place with a tag we've isolated.
To read user memory for example, the reader first isolates a tag with an inventory and then uses the handle from the tag as part of a sequence of commands to get the other data. Writing is similar.
In the Thinkify reader, we allow you to specify a number of “Descriptors” that tell the reader what additional actions (if any) to take when it reads a tag. Descriptors can be used to Read additional memory areas, Write to memory, Lock and Unlock tag Memory and Kill tags.
This is a very powerful approach. By using Select commands (a.k.a. Masking) as part of the inventory we can quickly specify that we are interested in performing an operation on just one, some or all of the tags present in front of the reader.
The TR200 Desktop RFID Reader DCN-TF-01009 -007
22

Thinkify Reader Protocol Overview

Thinkify Reader Protocol Overview
Here we give an overview of the Thinkify Reader Protocol message structure and provide a high-level summary of the major command groups available to the user.
The Thinkify Reader Protocol (TRP) is a human-readable ASCII protocol that allows users and applications to set parameters for RF control, tag list acquisition, tag programming and digital I/O behavior. The TRP may also be used to acquire data from the reader and be notified of tag read events, I/O events and reader status.
The TRP is used across all Thinkify reader products and supported hardware interfaces including; RS232, USB and Ethernet.

Command Structure

The Thinkify Reader Protocol uses a Command-Response model. --Communication is initiated by the Host and the Reader responds with an acknowledgment or data.
Users may interact with the reader from a terminal program or their own software using the Thinkify APIs. All that is required is that they send strings to the device over an active connection and terminate messages correctly. Replies will be sent back, often on multiple lines, terminated by a “READY>” prompt.

Host Commands

Host commands to the Reader are ASCII strings terminated with a Carriage Return.
Valid command messages are composed of numeric characters in the range of 0-9 (0x30 to 0x39) ASCII characters in the range of a..Z (0x to 0x) and the carriage return character (0x0D).
Line feed characters are ignored by the reader and may be sent without effect. --The Reader does not echo commands back to the Host.
The general format of a Host to Reader message is:
<COMMAND>[<SUBCOMMAND>[<PARAM1>][<...>][<PARAMn>]]<CR>
(Here [] denotes an element that may be optional.)
<COMMAND> is typically a single character.
<SUBCOMMAND> is typically a single character
<PARAMs> vary in length and depend on the command being sent. (See details
below). There are no spaces between parameters if multiple parameters are sent as part of a message.
The TR200 Desktop RFID Reader DCN-TF-01009 -007
23
Command Structure
<CR> is the Carriage Return CR character (0x0D). Upon receipt of a carriage
return, the Reader will attempt to parse the command message and execute the command if properly formatted.

Reader Replies

Reader replies to Host commands are also ASCII strings. Replies may be either a single line or a multi-line reply, depending on the Command. Each line of a reply is terminated with a Carriage Return + Line Feed character pair, CRLF (0x0D,0x0A)
When the reader has finished sending all data back to the host in response to the command, it will end the sequence with a “READY>” prompt, indicating is prepared to process another message. Generally, after sending a Command, the Host should not send a new command until it sees the "READY>" message.
The general format of a Reader to Host message is:
[STARTMSG<CRLF>] <Line1><CRLF> <Line2><CRLF> … <Linen><CRLF> [STOPMSG<CRLF>] <CRLF> <READYPROMPT>
(Here [] denotes an element that may be optional.)
[STARTMSG] – Indicates the beginning of command processing. – Not sent on
every command. Sent on commands where inventories are performed.
<Lines> – Data sent back in response to the command
[STOPMSG] – Indicates command processing is finished. – Not sent on every
command. Send on commands where inventories are performed.
<READYPROMPT> – “READY>” prompt. Indicates that the reader is ready to
accept another command.
Special Case: Inventory Replies
When the Reader performs a T or Tn command that is setup for infinite repeat, it will stream line data until it sees a character from the host. It will then terminate the message with the STOPMSG and READYPROMPT. (See T commands below for examples and discussion.)
The TR200 Desktop RFID Reader DCN-TF-01009 -007
24
Loading...
+ 53 hidden pages