Industry Highlights

RFID News

RFID White Papers
RFID Company List
RFID Manufacturers
RFID Trade Shows
The RFID Report
RFID Stocks
RFID Market Reports
RFID Buyer's Guide
RFID Books
   

RFID Solutions

RFID Equipment

RFID Tag Systems
RFID Labels
RFID Labelers
RFID Readers
Passive RFID
RFID Tracking Systems
Smart Card Systems
RFID Software
RFID Applications
RFID Tag Printers
   

Other RFID Resources

RFID Test Tools
RFID Training
RFID Development Tools
RFID Vendors
RFID Manufacturers
RFID Integrators
RFID Resellers
   

 

Overview of EPCglobal Class 1 Generation 2 and Comparison with 1st Generation EPCglobal Standards

Related Topics:
EPC Compatible Readers - RFID Solutions - Wireless RFID Readers


Author
Daniel Dobkin
Enigmatics 

Packet Structure

The Class 0 standard employs an unusual approach to a duplex link, in which the tag replies during the on state of the Forward Link symbols, rather than sending complete responses after receiving a complete request packet. To

Daniel Kurtz
WJ Communications

facilitate this scheme, the reader transmits a fairly complex sequence of training symbols, lasting about 800 μs, in which it provides key timing information to the tags. Tags that miss the turn-on sequence (e.g. tags that enter the read zone in the middle of an inventory) need to wait for the next training sequence before they can respond. There are only some minimal parity checks to protect the Forward and Reverse Links from noise.
 

 

In Class 1, reader and tag commands and data are transmitted in discrete packets. The Class 1 Forward Link provides a spinup of 20 consecutive binary ‘0’ symbols to help the tag identify the beginning of a packet, followed by a fairly complex command structure containing multiple parity check bits to provide the tag with some error detection capability. Most Reverse Link responses include an 8-bit Preamble that allows the reader to lock on to the tag signal.

 

Like Class 1, Gen 2 reader and tag commands and data are transmitted in discrete packets. Forward Link packets include preambles that contain a delimiter enabling the tag to identify the start of a packet, and a timing pulse to tell the tag how fast the reader is about to transmit. When the Reader is about to initiate an inventory round, it sends a command with a special preamble that contains a second timing pulse that sets the rate at which tags should reply. This command also specifies the data encoding (FM0 or MMS) and which of two possible preambles the tag should use: one that is short (fast) but more difficult to acquire, and a longer one that contains a pilot tone, similar to the Class 1 tag preamble. These Reverse Link preambles take slightly different forms depending on whether the tag uses FM0 or MMS encoding. Use of the pilot tone gives better noise protection at the cost of additional overhead; users may or may not have control over enabling the pilot tone.

 

Commands

A detailed discussion of the commands and states implemented by the three standards is beyond the scope of this brief article. The Gen 2 standard defines a set of mandatory commands that must be implemented by all tags and readers, and a set of optional commands that, if implemented, must be done so according to the definition in the standard. In addition, vendors can provide their own proprietary commands so long as these do not replicate a function already available within the mandatory or optional command sets. The mandatory commands provide the minimum basic functions required to make the protocol work. They can be grouped into three functional types (Table 4). The command set is optimized for speed and noise protection. The most common commands are shorter and are protected by a unique bit length. Longer commands, or those of variable length, have a cyclic redundancy check (CRC) for error correction. Thus Gen 2 communications should be both more time efficient and more robust in the presence of interference than either 1st generation standard.

 

Table 4: Gen 2 mandatory and optional commands

Type

Command

Select

Select

Inventory

Query

QueryRep

QueryAdjust

ACK (can also be used for access)

NAK

Req_RN

Access

Read

Write

Kill

Lock

Access

BlockWrite

BlockErase

 

It is unlikely that the user of a reader will ever interact with a tag at the command level. Even an applications level programmer will be provided with a higher-level interface that encapsulates these low level interactions. The internal reader software (usually known as firmware) is responsible for this. However, many of these commands involve specific terminology and parameters that may be adjustable at the user level. For example, it is generally up to a user to decide whether non-zero passwords are required for a given tag, and, if so, to choose whether and when to lock the passwords and other parts of the tag memory. We will discuss some of these commands and their parameters in more detail in subsequent articles.

 

Collision Arbitration

In certain applications, such as low-density conveyor belt monitoring, or a RFID label printer, only one tag will be readable at any given time. In many other applications, multiple tags are contemporaneously readable by a single reader. When all tags reply at once, using the same frequency channel and the same symbol set, all the tag responses interfere with each other and the reader sees either a jumbled set of collisions or just an incomprehensibly noisy channel. The various RFID protocols are designed to arbitrate these collisions, in other words, to partition the available time amongst an unknown population of tags such that they can all communicate their information to a single reader.

 

Both Class 0 and Class 1 employ a binary-tree approach, in which some unique identifier is assigned to each tag, and the reader “walks down the tree” of possible numbers, until it is confident that it is talking to just a single tag. At that point the tag is read, and put to sleep. The reader then retreats up the tree and tries to “singulate” another tag. This process repeats until there are no more tags left responding. For Class 1 the unique identifier is always the tag ID (usually an EPC). For Class 0 it is the tag’s ID, a short static random number, or a dynamically generated random number. Binary-tree protocols are, in principle, exhaustive – they should find all tags present in the field – but they may be suboptimal in many situations. For example, the tag must be able to reliable decode the entire exchange with the reader. Tags whose received signal momentarily fades could lose track of where they reader was in its search and either miss their singulation slot, or even worse, talk at the wrong time (sometimes called babbling). 

 

 

Figure 4: Comparison of collision arbitration approaches.

 

 

The Gen 2 standard takes a different approach to generating an inventory, known as a slotted Aloha protocol. The Aloha protocol was one of the first attempts to allocate a wireless medium in a non-deterministic fashion. A sender transmits whenever it has a message to send, and if no acknowledgement is received, it retries after a waiting random length of time. A slotted Aloha protocol divides the transmission time into specific time slots. Each sender then randomly chooses a time slot in which to transmit. If no acknowledgement is received, the sender chooses another random slot and sends again. The specific approach used by the Gen 2 standard, sometimes known as the Q-protocol after its key parameter, has inventory rounds of 2Q slots. At the beginning of each round every tag sets their slot counter to a random number, from 0 to 2Q-1. The reader then sends a command that starts a slot. Any tag whose slot counter is 0 sends a reply; all other tags decrease their slot counter by 1. This process is repeated for all 2Q slots. By changing Q the reader can optimally adjust the number of slots per round to adapt to the number of tags present in the read zone. Each round of the Q-protocol is not guaranteed to see every tag in the field, but by adjusting Q and using several rounds, the probability of detecting all tags increases rapidly. The algorithm can be readily optimized for situations with a few, tens, or even hundreds of simultaneously readable tags (though in the last case, tag antenna interactions may make it difficult to read the tags, quite independently of the protocol used). A user trying to inventory tags may find it beneficial to adjust the starting value of Q, and examine how many slots the reader is providing to access the tag population.

 

The Gen 2 standard allows the user to include in an inventory round only tags that meet certain selection criteria. This is intended to simplify the job of filtering a tag population to find just tags of interest. For example, in a crowded inventory environment, one might wish to count only tags marking a particular type of product – a unique SKU or model number – and exclude other product types. Appropriate combinations of Select commands can implement complex Boolean criteria within a tag population.

 

Finally, the Gen 2 standard also provides four inventory sessions, which in principal allow for several readers to simultaneously count the same population of tags. In order to minimize the added cost and complexity of tags, the whole apparatus for parsing and tracking inventories from different readers is not replicated four times. Instead, each session is allocated a unique inventoried flag, which can take a value of A or B, but all other tag resources are shared between the four possible inventory sessions. The behavior of this flag differs slightly for each of the sessions. For example, for some sessions the flag is persistent (maintains its value when tag power is lost), in others it is not. Users need to be aware of the existence of the sessions and their specific characteristics in order to choose the appropriate selection criteria, sessions, and target flag values.

 

Conclusion

From this discussion, it should be clear that there are several aspects of Gen 2 operation that are distinct from older protocols. These and other aspects of the Gen 2 standard are likely to directly impact users and programmers:

• Control of tag populations to be inventoried, and the inventory process itself

• Tag memory mapping and passwords for tag write and access control operations

• Data security and user privacy

• Single-, multiple-, and dense-interrogator operation

In the remainder of this series, we’ll discuss each of these issues in more detail, showing how users may configure readers and tags to accomplish typical tasks.

References
1] “EPC Radio-Frequency Identity Protocols: Class-1 Generation-2 UHF RFID Protocol for Communications at 860 MHz – 960 MHz; Version 1.1.0”;
www.epcglobalinc.com

2] “Draft protocol specification for a 900 MHz Class 0 Radio Frequency Identification Tag”; www.epcglobalinc.com 

 

3] “860 MHz – 930 MHz Class 1 Radio Frequency Identification Tag Radio Frequency & Logical Communication Interface Specification Candidate
 

Recommendation, Version 1.0.1”; www.epcglobalinc.com

Previous
 

More Topics

EPC Compliant Readers EPC Compliant Tags EPC Tagging Systems EPC Tags
Passive RFID Tags RFID Labels RFID Stickers Active RFID Systems
 

Home

RFID Equipment

RFID Software RFID Readers RFID Tag Systems RFID News RFID White Papers

copyright 2007, RFID Industry, all rights reserved worldwide

 

Advertising

Contact Us