EPC Radio Frequency Identify Protocols Class1 Generation-2 UHF RFID 860 MHZ – 960 MHZ EPCglobal
Introduction RFID Tag classes Class-1: Identity Tags Passive-backscatter Tags EPC / Tag Identifier(TID) / ‘kill’ function / Optional(password/user memory) Higher-class Tags Class-2: Higher-Functionality Tags Passive Tags Extended TID / Extended user memory / authenticated access control Class-3: Semi-Passive Tags An internal power source / integrated sensing circuitry Class-4: Active Tags Tag-to-Tag communications / Active communications / ad-hoc networking capabilities
Terminologies Interrogator RFID reader Cover-coding A method by which an Interrogator obscures information that it is transmitting to a Tag Cover-coded string = data (EXOR) random number of the tag Data transmits the cover-coded string Inventory round The period between successive Query commands Slotted random anticollision Random number based anti-collision algorithm Generates RN into a slot counter decrement based on Interrogator cmds Tags reply when slot reaches zero Q Interrogator uses to regulate the probability of Tag response Tags load a Q-bit random number Session Interrogator chooses on of four sessions and inventories Tags within that session Inventoried flag Indicates whether a Tag may respond to an Interrogator Tags maintain a separate inventoried flag for each of four sessions Singulation Identifying an individual Tag in a multiple-Tag environment R=>T Interrogator => Tag T=>R Tag => Interrogator Permalock or permalocked A memory location whose lock status is unchangeable i.e. memory is permanently locked
Protocol Overview ISO/IEC 18000-6 EPC Class 1 Gen 1 protocol Type A for Class 0 / Type B for Class 1 EPC Class 1 Gen 2 protocol Single standard protocol Type C (18000-6c) Physical layer DSB-ASK, SSB-ASK, PR-ASK PIE format (Pulse-interval encoding) Tag-Identification layer Select: choosing a Tag population for inventory and access Inventory: identifying Tags Access : communicating with a Tag
ISO/IEC 18000-6 ISO/IEC Type A, B, EPC Class Gen2 규격 비교(시스템) Parameters ISO/IEC EPC Type A Type B Class 1 Gen2 Collision arbitration ALOHA Binary Tree Slotted Random Anti-collision Anti-collision type Probabilistic Collision arbitration linearity Up to 250 tags Up to 2256 Up to 215 Communication hopping Half duplex FHSS Tag memory Read & write by blocks Read & Write (multiple of 16bits) Tag type Passive Class1(Passive) Class2(Passive) Class3(Semi-passive) Class4(Active)
ISO/IEC 18000-6 ISO/IEC Type A, B, EPC Class Gen2 규격 비교(Forward link) Parameters ISO/IEC EPC Type A Type B Class 1 Gen2 Operating frequency range 860 MHz ~ 960 MHz 860 MHz ~ 960 MHz as local regulation Modulation ASK DSB / SSB or PR-ASK Modulation index / depth 27% to 100% 18% or 100% Min 80%, Max 100% Data coding PIE Manchester bi-phase Data rate 33 Kbits/s (mean) 10 or 40 Kbit/s (according to local regulations) 26.7 kbps to 128 kbps Preamble No preamble 9 bits of Manchester 0 in NRZ format Required Bit period 0 = 20㎲, 1 = 40㎲, SOF=EOF=80㎲ 25㎲ 6.25㎲, 12.5㎲, 25㎲ Error detection 5 bit CRC for all commands 16 bit CRC CRC-5 & CRC-16 Command bits 6 bits 8 bits Variable length Parity bit Not supported Password for Kill command 32 bit password supported by kill command
ISO/IEC 18000-6 ISO/IEC Type A, B, EPC Class Gen2 규격 비교(Reverse link) Parameters ISO/IEC EPC Type A Type B Class 1 Gen2 Operating frequency range 860 MHz ~ 960 MHz 860 MHz ~ 960 MHz inclusive Modulation Bi-state amplitude modulated backscatter ASK and / or PSK modulation Data coding Bi-phase space (FM0) Baseband FM0 or Miller modulated subcarrier Data rate 40kbits/s 40kbits/s or 160kbits/s FM0 : 40kbits/s to 640kbits/s Subcarrier : 5kbits/s to 320kbits/s Preamble 16 bits Sequence of backscatter modulation Required Error detection 16 bit CRC CRC-16 Minimum tag receiver bandwidth BW tag dependent
Protocol Overview (cont’d) Protocol parameters Physical and MAC R=>T Operating Frequency Range: 860~960MHz Operating Channels(Spread-spectrum systems): 50 channels T=>R Logical Who talks first: Interrogator (ITF) Tag EPC: Contained in Tag memory EPC Length/Format: specified in EPCTM Tag Data Standards Read/Write size: multiples of 16 bits Error detection: CRC-16 / CRC-5 / None Collision management Type(probabilistic or Deterministic): Probabilistic
Example of Tag inventory and access Example inventory and access of a single Tag
Interrogator Operating Modes Single Interrogator Mode Multi Interrogator Mode # of Interrogators < # of channels Dense Interrogator Mode # of Interrogators > # of channels Designed to prevent readers from interfering with one another
Tag memory Separated into four distinct banks UII UII UII UII
Tag memory (cont’d) Reserved memory Kill password Interrogator shall use a kill password once to kill the tag Tag shall not execute a kill operation if its password is zero Access password Default value shall be zero Interrogator have to issue this password before transitioning to the secured state
Tag memory (cont’d) EPC memory CRC-16 Interrogator/Tag uses when protecting certain R=>T /T=>R PC (Protocol control) Bits 10h-14h: the length of (PC+EPC) that a Tag backscatters, in words 000002: one word ~ 111112: 32 words Bits 15h-16h: RFU (shall be set to 002 for Class-1 Tags) Bits 17h-1Fh: if(17h == 0) contain EPCglobalTM Header Else if(17h == 1) contain the entire AFI defined in ISO/IEC 15961 EPC
Tag memory (cont’d) TID memory 8-bit ISO/IEC 15963 allocation class identifier 111000102 for EPCglobal User memory User-specific data storage
3.if(RNS == 0) backscatter RNF Singulation Process Singulation Identifying an individual Tag in a multiple-Tag environment 1.Select (Q) Random Number RNF: 0 ~ 65,535 RNS: 0 ~ 2Q-1 3.if(RNS == 0) backscatter RNF 2.Generate RNS 4.ACK 5.Backscatter PC,EPC,CRC 7.if(RNs > 0) decrement RNs 6.QueryRep
Tag states and slot counter Ready state Arbitrate state Reply state Acknowledged state Open state Secured state Killed state Slot counter 15-bit Query or QueryAdjust command a Tag shall preload a value between 0 and 2Q-1 Q is an integer in the range (0,15)
Managing Tag populations Select The process by which an Interrogator selects a Tag population for inventory and access Inventory The process by which an Interrogator identifies Tags Access The process by which an Interrogator transacts with (read / write) individual Tags
Interrogator algorithm for choosing Q Example algorithm an Interrogator might use to choose Q Qfp is a floating-point representation of Q; an Interrogator rounds Qfp to an integer value and substitutes this integer value for Q in the Query. Typical values for C are 0.1 < C < 0.5. An Interrogator typically uses small values of C when Q is large, and larger values of C when Q is small.