Understand how reader commands are converted into SPI signaling for communication with sensors in RFID tags to write RFID software code.

Working with UHF RFID sensor tags requires some understanding of the EPC C1G2 standard and how it applies to battery-free sensors.

The EPC C1G2 standard was not thought for battery-free monitoring devices but for identification purposes. Along with it, its developers created an option for extended memory where users could store extra data for later download.

Compatibility with the standard

RFID sensor tags are a different breed. There is no data you have to write on the tag but sensor measurements to transmit to the reader. However, you have to be able to do it using EPC C1G2 commands if you want to be compatible with market available UHF RFID readers.

The way our ANDY100 chip does it is by using the user memory addresses as a bridge to the SPI signaling. SPI (Serial Peripheral Interface) is a communication protocol for sensors, actuators, microcontrollers or other external devices our ANDY100 chip uses.

RFID software sending a write command from the reader to the sensor tag triggers a specific SPI command that will reach the sensor or external device that is in the tag.

RFID software triggers a SPI signal for the sensor

RFID software triggers a SPI signal for the sensor

Understand what SPI signals are really required

As a systems integrator or just RFID software developer, if you are working with battery-free sensor tags you need to understand how this signaling works.

For example, all Farsens’s products clearly state in their datasheets which reader commands are required for a good performance of the specific product.

However, it is important to grasp the ideas of how this works:

  • Some devices require specific SPI signals to be triggered. This is especially true for digital sensors, where a unique SPI signal generates a unique action by the sensor. No other signal will trigger the same action.
  • Other devices can be adjusted so that a different SPI signal can trigger the required action. This generally applies to tags in which you are using a microcontroller between the ANDY100 and the sensor. Firmware in the microcontroller can be changed so that it responds to the signaling created by your desired user memory bank target.

As an example, our KINEO tag (3-axis accelerometer tag) requests a acceleration measurement by reading 6 words starting at the 0x28 word of the user memory. That cannot be changed as the LIS3DH accelerometer that is used requires that specific signaling.

However, our RMeter tag (resistance meter) requests a resistance measurement by reading 6 words starting at the 0x06 word of the user memory. That is true only because the firmware implemented in the microcontroller requests so but this can easily be changed to trigger a measurement by reading 6 words starting at the 0x28 word of the user memory if needed!

This may turn out extremely important when configuring complex systems where RFID software can find it very handy to be using similar word pointers in the user memory.

Remember some communications have to be fast due to the tags being located in moving items. You want to simplify the RFID software so searching for different tags, identifying types and delivering the proper commands is as fast as possible.

Let us know if you are experiencing this type of issues and want to try and improve your RFID software. We’ll be glad to help 😉