Search code examples
tagscollisionenumerationrfid

How to encode collision avoidance for RFID stickers


I have a small store where a lot of goods are tagged with barcodes labels manually. I intend to replace this with RFID stickers. From what I read up online, I definitely need to have some sort of collision avoidance technique to ensure the reader gets the reading from a physically dense collection of goods. I've never worked with programming at the hardware level.

Is it possible to program a collision avoidance module (like respond after a random amount of time after being energized) in an RFID sticker? If not, what is the smallest RFID sticker that can accommodate a collision avoidance scheme alongside the data?


Solution

  • You don't typically implement that part of the RFID system on your own (unless you build your own reader and tag hardware). Instead, you get this functionality as integral part of the RFID system that you buy.

    Many RFID standards provide protocols for anti-collision and enumeration of multiple tags in the read-range of a single reader. With many RFID systems, it is typically not the tags that perform collsion-avoidance (mainly due to their limited capabilities). Instead it's usually the RFID reader that detects collisions and performs an anti-collision sequence that will continue to enumerate tags until all tags have been identified collision free. Different approaches exist for these anti-collision mechanisms, so the actual mechanism depends on your RFID system.

    For instance they could use probabilistic approaches based on timeslots (e.g. slotted ALOHA). In the UHF spectrum, this is for instance used in EPC UHF Gen2. In the HF spectrum, an example would be the ISO/IEC 15693 standard. They could also be systematic approaches such as a binary tree search. In the HF spectrum, such an approach is, for instance, used in the ISO/IEC 14443 Type A standard.

    In any case, when you buy a ready-made tag that is claimed to support a certain standard, this tag already implements all the protocol layers necessary for enumerating tags (typically up to exchanging commands for reading tag memory, etc.) So as a user (integrator) of an RFID system you don't have to care about those lower protocol layers that handle anti-collision and enumeration.