ABSTRACT

CONTENTS 4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

4.1.1 EPC Gen-2 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 4.1.1.1 Goals and the Need for the Gen-2 Standard . . . . . . . . . . . . . . . . . . 99 4.1.1.2 Goals and the Need for the EPC Numbering System . . . . . . . . . 100

4.1.2 Overview of Commonly Used Features of Gen-2 . . . . . . . . . . . . . . . . . . . . . . . 100 4.2 Physical Layer Communication Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

4.2.1 Data Rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 4.2.2 Modulation Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 4.2.3 Data Encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 4.2.4 Message Preambles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

4.2.4.1 Reader-to-Tag Preamble . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 4.2.4.2 Tag-to-Reader Preamble . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

4.3 Tag State Machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 4.3.1 Overview of Different Tag States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

4.3.1.1 Ready State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 4.3.1.2 Arbitrate State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 4.3.1.3 Reply State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 4.3.1.4 Acknowledged State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 4.3.1.5 Open State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

4.3.1.6 Secured State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 4.3.1.7 Killed State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

4.3.2 Overview of the Movement through the Tag State Machine during the Inventory Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

4.3.3 Overview of the Movement through the Tag State Machine during an Access Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

4.4 Tag Inventorying Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 4.4.1 Overview of the Query Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

4.4.1.1 Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 4.4.1.2 QueryRep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 4.4.1.3 QueryAdjust . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 4.4.1.4 Select . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

4.4.2 Use of Sessions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 4.4.3 Features of the Select Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 4.4.4 Features of the Query Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 4.4.5 Features of the QueryRep Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 4.4.6 Features of the QueryAdjust Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

4.5 Tag Singulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 4.5.1 EPC Gen-2 Tag Data Encoding Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 4.5.2 Selecting a Single Tag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 4.5.3 Selecting a Group of Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 4.5.4 Selecting All Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

4.6 Trade-Offs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 4.6.1 Inventorying the Tags on a Pallet Containing One

Type of Product . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 4.6.2 Accessing Tags on a Pallet Containing One Type of Product . . . . . . . . . . . 120 4.6.3 Inventorying the Tags on a Pallet Containing Multiple Types of

Products from a Single Vendor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 4.6.4 Accessing Tags on a Pallet Containing Multiple Types of

Products from a Single Vendor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 4.6.5 Inventorying the Tags on a Pallet Containing Multiple Types of

Products from Multiple Vendors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 4.6.6 Accessing Tags on a Pallet Containing Multiple Types of

Products from Multiple Vendors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 4.7 Open Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 4.8 Conclusions and Future Research Directions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

Numerous communication protocols exist for radio-frequency identification (RFID) systems. One of the most popular protocols is the EPC Gen-2 protocol. This protocol is widely used in RFID applications in the retail space. The Gen-2 protocol provides great flexibility in physical layer properties and link layer procedures to accommodate various environments. This flexibility is critical to maximizing throughput, or the number of tags read/accessed per second. This chapter presents an overview of the physical and link layers of Gen-2 and provides some insight into the different strategies to maximize throughput.