Introduction

Protocol-control and extended protocol-control bitfields define some key characteristics of a tag. The information stored here includes tag EPC length and user memory characteristics.

 

Protocol-control (PC) word

PC is located in the second word of EPC memory. The difference between StoredPC and PackedPC is the implementation of L bits for EPC length. The tag can be instructed to reply with TID instead of EPC, and the tag modifies the L bits to match the length of TID.

 

StoredPC

StoredPC has the following information:

MSB

 

 

 

 

 

 

 

 

 

 

 

 

 

 

LSB

10

11

12

13

14

15

16

17

18

19

1A

1B

1C

1D

1E

1F

L4

L3

L2

L1

L0

RUM

XI

T

RFU

RFU

RFU

RFU

RFU

RFU

RFU

RFU

where

10          is the most significant bit.

1F          is the least significant bit.

L0 – L4 (EPC length field) indicates the length of EPC in 16 bit words (0 – 31 words).

RUM     (Read user memory indicator) indicates whether the tag has memory allocated to File_0 in the user memory bank. 

XI            (XPC_W1 indicator) indicates whether the tag has implemented XPC1 and that the XPC1 contains data.

T             (Numbering system identifier toggle) indicates whether the tag follows the GS1 EPCglobal Application standard (T=0) or the ISO/IEC 15961 standard (T=1). Note that this document covers only elements related to the GS1 standard.

RFU      Reserved for future use

PacketPC

PacketPC differs from StoredPC only by backscattering different EPC length (L0-L4 field) when commanded to return TID instead of EPC.
 

Extended protocol control (XPC) words

Extended protocol control words contain more information about the tag. XPC_W1 exists and contains a non-zero value if the XI bit in PC is 1. 

XPC_W2 exists and contains data if the XEB bit in XPC_W1 is 1.

 

XPC_W1

XPC word 1 contains the following data:

MSB

 

 

 

 

 

 

 

 

 

 

 

 

 

 

LSB

210

211

212

213

214

215

216

217

218

219

21A

21B

21C

21D

21E

21F

XEB

RFU

RFU

RFU

SA

SS

FS

SN

B

C

SLI

TN

U

K

NR

H

where

210       is the most significant bit.

21F       is the least significant bit.

XEB       (XPC_W2 indicator) XEB = 1 if XPC_W2 word exists and contains non-zero data.

RFU      Reserved for future use

SA          (Sensor Alarm indicator) has value 1 if the tag reports an alarm condition. If SA=0, the tag does not implement sensor alarm or the sensor alarm is not reported.

SS          (Simple Sensor indicator) is 1 if the tag has a simple sensor.

FS          (Full Function Sensor indicator) is 1 if the tag has a full function sensor.

SN         (Snapshot Sensor indicator) is 1 if the tag has a snapshot sensor.

B             (Battery-Assisted Passive indicator) is 1 if the tag is battery-assisted. B=0 if the tag doesn’t support the B flag or is passive.

C            (Computed Response indicator) is 1 if ResponseBuffer contains a response. C=0 if the tag doesn’t implement the C flag or ResponseBuffer is empty.

SLI         (SL indicator) is 1 if the tag has asserted the SL flag. SLI=0 if the tag has deasserted the SL flag or does not support SLI.

TN          (Notification indicator) is 1 if the tag asserts a notification. TN=0 if the tag does not assert a notification or does not support the TN flag.

U            (Untraceable indicator) is 1 if the tag is untraceable. U=0 if the tag is traceable or does not implement the U flag.

K             (Killable indicator) is 1 if the tag is killable. K=0 if the tag is not killable with the kill command or does not support the K flag.

NR         (Non-removable indicator) is 1 if the tag is non-removable from its host item. NR=0 if the tag is removable or does not support the NR flag.

H            (Hazmat indicator) is 1 if the tagged item is hazardous material. H=0 if the tagged item is not hazardous material or the tag does not support the H bit.

Note that the default setting for Nordic ID NurApi item 

public bool EnableXPCRemoval

is true. This means that both XPC_W1 and XPC_W2 are stripped from EPC and cannot be read. To read XPCs – if available – the value must be set to false with the command

hNur.XPCRemoval = false;


If XPC_W1 / XPC_W2 are available these will be added to the beginning of EPC. 

 

Example 1 (EnableXPCRemoval = false, XPC_W1 and XPC_W2 present):

Nordic ID RFID module responds with EPC = 81040C00E280B1202000000110024E7A

  • XPC1_W1 = 0x8104
  • XPC2_W1 = 0x0C00
  • EPC = E280B1202000000110024E7A

 

Example 2 (EnableXPCRemoval = false, XPC_W1 present, XPC_W2 absent):

Nordic ID RFID module responds with EPC = 0104E280B1202000000110024E79             

  • XPC_W1 = 0x0104
  • EPC = E280B1202000000110024E79

 

Example 3 (EnableXPCRemoval = true, XPCs stripped away even if present):

Nordic ID RFID module responds with EPC = E280B1202000000110024E7A

  • E280B1202000000110024E7A

 

IMPORTANT: If the XPC is present and it is not removed, any tag operations (read, write, lock, kill, etc.) that require the EPC will fail. 


XPC_W2

XPC_W2 can be used to get snapshot sensor values. There are three ways to initiate snapshot sensor measurements. A tag can support one or more methods.

  1. Tag-initiated measurement triggered by tag power-up. The snapshot sensor information is available starting from the first inventory round that includes the Tag.
  2. Reader-initiated measurement using the Select command to XPC2_W2. The snapshot sensor information is available starting from the next inventory round that includes the Tag if it remains energized. See |1| for details.
  3. Reader-initiated measurement using the Write or BlockWrite command to XPC2_W2. The snapshot sensor information is available for a subsequent Read of XPC_W2 and/or starting from the next inventory round that includes the Tag. The reader can initiate a measurement regardless of the lock or permalock status of EPC memory. See |1| for details.

XPC_W2 bit assignments for methods 2 and 3:

MSB

 

 

 

 

 

 

 

 

 

 

 

 

 

 

LSB

220

221

222

223

224

225

226

227

228

229

22A

22B

22C

22D

22E

22F

Sensor Command

Sensor type = 1110

Sensor type = 1101

Sensor type = 1100

Sensor type = 1011

Sensor type = 1010

Sensor type = 1001

Sensor type = 1000

Sensor type = 0111

Sensor type = 0110

Sensor type = 0101

Sensor type = 0100

Sensor type = 0011

Sensor type = 0010

Sensor type = 0001

Sensor type = 0000

 

The meaning of the values:

Sensor Command

When used by the Select command: 

0: The Tag must not initiate measurements for any Selected Sensors. 

1: The Tag must initiate a measurement for all Selected Sensors that are implemented by the Tag, if this method is supported by the selected Snapshot Sensor. 

 

When used by the Write or BlockWrite command: 

0: Vendor defined command. 

1: The Tag must initiate a measurement for all Selected Sensors that are implemented by the Tag, if this method is supported by the selected Snapshot Sensor.

Sensor Type

When used by the Select command: 

The Tag is considered matching when any of the Selected Sensor types are implemented on the Tag. The Tag is considered non-matching if either there are no selected Sensor Types or none of the Selected Sensor types are implemented on the Tag. 

 

When used by the Write or BlockWrite command: 

If Sensor Command = 0 then it is a vendor defined command and the meaning of these bits are vendor defined. 

If Sensor Command = 1 then the Tag must initiate a measurement for all Selected Sensors that are implemented by the Tag, if this method is supported by the selected Snapshot Sensor.

 

Sensor types and measurement units are defined here:

Sensor type

Sensor 

Units

0000

Tag Vendor Defined

VenDef

0001

Temperature

°C

0010

Relative Humidity

%

0011

Barometric Pressure

hPa (mbar)

0100

Light

lux

0101

Voltage

V

0110

Magnetic Field

mT (10G)

0111

Angular Position

°

1000

Rotational Speed

rpm

1001

Weight

kg

1010

Liquid Flow

ml/min

1011

Gas Flow

l/min

1100

Accelerometer

G (9.81 m/s²)

1101

Gyroscope

°/s

1110

Magnetometer

µT

1111

Tag Vendor Supplemental Data

N/A

 

For detailed information about sensor data see table 8.1. and about data values table 8.2. in |1|.

 

References

|1| EPC® Radio-Frequency Identity Generation-2 UHF RFID Standard

https://ref.gs1.org/standards/gen2/

NurApi