All blog posts

EPC Gen2 UHF RFID Standard v3 – What’s Changed and Tips for Hands-on Testing

Mar 04, 2024

EPC Gen2 UHF RFID standard v3 update was recently published by GS1. The new version came with optimizations in the air interface and new commands aiming at saving time, improving accuracy, and making the inventory process more robust. In this blog, we’ll walk through some of the most significant changes in terms of inventory performance, and provide pointers on how to get started with testing and learning yourself.

More time (and power) for the chip initialization

The minimum carrier time before the first command has been increased from 1500us to 2500us. The change comes with a small compromise on total initialization time but also works for the benefit of chips which require more time to initialize. The delay is likely small enough to go unnoticed in most applications and the extra time should secure the proper initialization of all chips. Moreover, interrogator power-up is required to be faster (500us → 250us) with more allowance for undershoot and overshoot (+/-5% → -10/+20%) during the 1ms waveform settling period. The shorter rise time is unlikely to influence chip performance significantly and the greater allowance for overshoot opens up an interesting possibility to provide a short carrier level boost (1.58dB/1ms) as part of the field initialization. This kind of boost won’t change the active state operating voltage of the chip but might help them to further optimize their performance during initialization process, and ensure optimal performance of tags.

Fig. Interrogator power-up is required to be faster, but field strength is allowed to undershoot/overshoot by -10%/+20% during the 1ms waveform settling period. The total time before command was increased to 2,5ms. Source: https://ref.gs1.org/standards/gen2/3.0.0/

Field-strength adjustment filters out fringe tags

The third update on the air interface is to allow interrogators to perform field strength adjustment during Select, Challenge, Query, or QueryX commands in an attempt to prevent ghosting tags from slowing down the inventory process. Ghosting tags, also referred to as fringe tags, are tags that have such a low operating voltage, that they might get activated and respond to Query, but do not have enough energy to follow through the response to Acknowledge command. Such tags cannot be inventoried, but since they will reply to Queries, more iterations are required in the inventory process, and the time to complete the inventory cycle gets increased.

The interrogator performs the field adjustment by dropping the carrier level by 0-20% (0-1,93dB) for the duration of the command modulation. The level is adjusted down at least 500us (RF Adjust lead time) before the start of command and brought back up monotonically at the end of the command. Tags are required to tolerate such a waveform pattern and guarantee that the minimum power needed to complete the response to Acknowledge is not more than 1,93dB higher than the power needed to start replying to QueryX. In effect, with the field adjustment in use, the tags shouldn’t have enough power to respond to the adjusted Query/QueryX command unless they’re capable of replying to Acknowledge as well, which reduces the unnecessary overhead from the inventory process.

Fig. Field-adjust before Query/QueryX (upper) and after Query/QueryX/QyeryY (lower). Field-strength adjustment can be used to bring Query sensitivity closer to Ack sensitivity which may help reduce ghosting tags and improve inventory efficiency through the reduction of unnecessary iterations. Source: https://ref.gs1.org/standards/gen2/3.0.0/

New commands further improve filtering and allow simpler memory access

QueryX and QueryY, combine classic Select + Query commands in a single timed package. Unlike Select(s)+Query, they’re effectively packaging the whole series of Selects and the following Query into a single command frame. This blocks external readers from interfering with the filtering process and makes the inventory process more robust. It also prevents tags from participating if they only heard part of the QueryX/QueryY command frame. This could be the case if they’ve been moving in/out of the reader’s field of view during the inventory cycle. Lastly, the new commands come with optional configurations such as an option to choose whether the tag shall include EPC or TID into the ACK response (AckData), whether RN16 is protected with a checksum (ReplyCRC), and flexible filtering conditions: ≥, ≤, ≠, = (Comp). These parameters add flexibility to the inventory process and can be used to make the process more efficient.

Fig. QueryX/QueryY commands effectively package Select(s) + Query into a single command and provide new parameters for more efficient and robust inventory process. (click to enlarge image). Source: https://ref.gs1.org/standards/gen2/3.0.0/

ReadVar, is an alternative to Read (which also remains mandatory in the standard). The two are very close to each other, but the tag reply to ReadVar contains additional informative data. NumWords indicates number of words returned as part of the reply, MoreWords indicates the amount of data yet available in the memory to read beyond the read space, and there’s a parity bit computed over data transmitted (Parity). Overall, ReadVar command is more flexible in comparison to Read and makes tag memory access easier as the user doesn’t need to know the available memory size of the bank targeted.

Fig. ReadVar is a more flexible version of the classic Read command.
Source: https://ref.gs1.org/standards/gen2/3.0.0/

Use custom commands to test new protocol features

Tagformance Pro comes with an option to utilize user-defined custom commands in tag performance tests providing a practical means for testing some of the new Gen2 v3 features. Custom commands can be created using a standard text editor, imported to the software, and used in the performance test programs. For example, it’s possible to generate a custom Query command waveform with field adjustment and testing the effect on tag performance using Threshold sweep (see figures below). Furthermore, a custom command can also be combined with ISO 18000-63 inventory into a custom command sequence, which allows preparing e.g., ReadVar test command.

Fig. Custom command feature allows generating used-defined command waveforms which can be utilized in standard test programs, such as Threshold sweep. (Left) Normal Query waveform Query, (right) Query with field-strength adjustment and 500us RF adjust lead time.
Fig. Measurement example – Query threshold with and without field adjustment. Read sensitivity threshold provided as a reference to give an idea of difference of Query vs. Query+Ack sensitivities of the tag tested.

For more information on the updates discussed in this article and other important changes in the protocol, go to the new version of the protocol on GS1 official website. Of particular interest might also be Snapshot sensor reading procedures which were mainly mirrored from ISO-18000-63. Also, remember to check what’s new in the Tag data standard to stay current with the latest changes in the tag encoding.

Download – Example Custom Command Package ›

Presentation – Extend Tagformance Testing Capability with Custom Commands

Download a quick overview on Tagformance Pro Custom Commands feature including application examples.

All blog posts