How to Check the User Memory of Gen2 Tags with Voyantic Tagformance

Application Note

Published 2010
Download this Application Note in a Printable PDF Format

1 Introduction

Tags may or may not implement a user memory that allows user-specific data storage. The Tagformance measurement system with the Protocol Testing Suite can be easily used to test whether a tag IC implements a user memory and to read its contents.

2 Procedure

1. Start the Tagformance measurement software and select Protocol Testing from the Measurement drop-down menu.

2. Create a new command for reading the user memory contents. The command can be easily modified from the Read command already in the command list. To read the User memory instead of the EPC memory, replace the first Parameter bit ‘0’ with ‘1’. Be careful to keep other bits unchanged. Now you have a command that asks the tag to return all the contents of the User memory. If you want to save this command for later use, you can change its name from Read to for example Read User Memory, and click ADD below the command list. The command parameters are also shown in Figure 1.

Figure 1. Command parameters for reading the user memory

A description for the Read command is shown in Figure 2. More information can be found from the EPC Class 1 Gen 2 protocol description.

Figure 2. The Read command from the EPC Class 1 Gen 2 protocol specification

3. Place the tag to the testing area in front of the measurement antenna.

4. Set the frequency and power settings to a level that is enough to activate the tag.

5. Press the START CARRIER button to activate the tag.

6. Press the INVENTORY button to inventory the tag and to move it to Open state. The handle acquired from the tag is stored and used automatically in later commands.

7. Press the SEND COMMAND button to send our command to the tag. The tag should respond to this command by either backscattering the contents of its user memory according to Figure 3 or by backscattering an error code.

Figure 3. Tag reply to a successful Read command

8. Select the cursor tool below the bottom right corner of the LATEST RESPONSE window, move the cursors in the graph around the tag response, and click INTERPRET. The Interpreted data line should now show the bits backscattered by the tag. The first bit of the response tells whether the Read was successful. If it is ‘0’ the following bits include the memory contents, the handle, and a CRC-16 according to Figure 3.

The result of a successful read is shown in Figure 4 and the result of an unsuccessful one is shown in Figure 5.

Note that the user memory might be so large that the default sampling time of 10 ms might not be enough. So you might need to increase it and resend the command.

Figure 4. Reading the user memory of a tag. The tag IC implements the user memory and the tag responds to the Read command with the contents of the user memory. The interpreted tag response starts with a ‘0’ bit meaning a successful read.
Figure 5. Attempting to read the user memory of a tag that does not implement the user memory. The tag responds to the Read command with a ’1’ bit meaning an error followed by an error code saying that the memory location does not exist.