This work introduces the most extended RFID technologies and explores the integration of an LF wake-up ASIC and Bluetooth Low Energy (BLE) protocols to enhance an existing application in cattle traceability. While HF and UHF RFID technologies are generally preferred in the industry for their wider reading range, it is explained why LF has remained the standard for animal traceability. An ASIC was designed along with a complementary BLE transmission strategy to enhance the reading distance of a semi-active LF tag up to 14 times. The ASIC includes an ISO 11784/5-compatible pulse detector and antenna driver, as well as a trigger pin to wake-up an auxiliary CPU. It was fabricated in a CMOS-HV technology and used along with an nRF52 BLE module as a proof of concept of a viable product. The system is capable of detecting the presence of a portable reader up to a 5 m distance and allows a battery lifetime of up to 5 years.
This repository contains key aspects of the reasearch:
- The simulation of the magentic field generated by the antenna's coil.
- The obtainment of the maximum guaranteed region where any tag can detect the presence of the reader.
- The software for the BLE module.
The simulation consist of a single .FEM
file to be opened with the femm42 free software.
To visualize the results:
- Run analysis.
- View the results.
- Enter in contour mode.
- Disable snap-grid.
- Click on the point in the center of the coil, and then any of the surrounding points.
- Plot X-Y and export the values to a file.
The region computation is done through two python
scripts.
To run both, install the requirements in the requirements.txt
file in the base directory.
/region$ pip install -r requirements.txt
This script compares the measured magentic field with the simulated one. Take into consideration this is merely a comparative analysis. To obtain the plot and results printed in the console run
/region/measurement_vs_simulation$ python main.py
This script computes from simulated values the regions where any tag, with any orientation, can perceive a threshold voltage necessary to wke-up. To obtain the plot and results printed in the console run
/region/max_guaranteed_region$ python main.py
The module is is the nRF52840. The code is prepared to work with the dongle development board, but can be easily adapted to work on other boards.
The whole program consist of one single file: main.c
.
It was developed using Segger Embedded Studio and is loaded into the module via the nRF Connect Programmer app.
The sole pupose of the application is to send an advertisment and go to sleep.