2025-01-15 03:07 AM
Hello,
I am currently working as a student on designing my own hardware for reading and writing NFC tags. Although I lack experience in RF design, I have completed the electronic design and antenna matching process. My setup includes an STM32U575RGTx microcontroller connected to an ST25R3916B NFC chip via SPI. The antenna, sourced from Taoglas, is connected to the matching circuit, and I have confirmed the RF field using a spectrum analyzer.
This project does not utilize the STM HAL; instead, I am working in bare metal. I have developed a HAL for SPI communication, which is functioning without errors. Additionally, I have ported the RFAL library to my project to facilitate interaction with the NFC chip.
At present, I have two types of tags for testing: NFC-A T2T and NFC-V tags. I have enabled the necessary configuration in rfal_platform.h and implemented the example from the X-NUCLEO-NFC08A1 to attempt reading the tags.
However, I am encountering issues. When I try to read the NFC-A tag, the process does not progress past RFAL_NFC_STATE_POLL_COLAVOIDANCE in the rfalWorker() function, and gNfcDev.devCnt remains at 0. In contrast, when I attempt to read the NFC-V tag, the state does not reach RFAL_NFC_STATE_POLL_COLAVOIDANCE; instead, it stays in RFAL_NFC_STATE_POLL_TECHDETECT and fails to detect any tags.
I have a logic analyzer connected to my SPI and IRQ pins and can provide traces if needed.
Do you have any insights into where my error might be?
Thank you in advance for your assistance.
Best regards,
Marc
2025-01-15 04:15 AM - edited 2025-01-15 04:47 AM
Hi,
can you first enable ST25R_SELFTEST and ST25R_SELFTEST_TIMER compilation switch to make sure interrupt handling and timer management is correct?
Then can you connect your logic analyzer on SPI (CLK, MISO; MOSI and CS) + ST25R3916_INT and provide us the log file?
Can you also confirm you have followed the application note AN5276 in particular the design verification chapter?
Rgds
BT
2025-01-16 12:36 AM
Hi Brian,
ST25R_SELFTEST and ST25R_SELFTEST_TIMER is defined and is working without errors.
I have not followed the application note in the design verification chapter, because i dont have the ISO calibration coil.
I have now tried a measurement with a VNA of the matching circuit with antenna. My VNA is connected at RFO1 and RFO2 directly at the ST25R3916b, driver output resistance is set to high Z. I have attached a screenshot of the measurement.
I am using FXC.35.52.0075X.A.dg antenna from Taoglas, matched with the ST25 Antenna matching tool to a target Z of 20 Ohm and Q of 20.
Best regards,
Marc
2025-01-16 02:35 AM - edited 2025-01-16 02:36 AM
one question from RF expert: can you share antenna parameter and matching component values you used and how you came to those values?
Rgds
BT
2025-01-16 05:36 AM
Hi Brian,
thanks for asking your RF experts.
I had a look at my circuit and found some capacitors which did not have the same values as i originally planed. I replaced them and now i have definitely improved the RF Field. I have attached a screenshot of the new measurement with antenna tuning.
Here are the values for the generation i used:
inductance: 1070nH
DC resistance: 1650 mOhm
Parallel resistance: 3040 Ohm
Self resonance: 75.4MHz
EMC inductor: 270nH
DC resistance: 500mOhm
EMC filter: 11750 kHz
Targets: Z 20Ohm, Q 20
In the calculated result in the antenna matching tool, i used 33pF capacitors instead of 36/37 pF. I also replaced the 0.87 Ohm resistors before the antenna with 0 Ohm.
I used AAT to tune the antenna instead of manually tuning the caps mayself. I still have a imaginary value of 15.72 Ohm. Which capacitors do i have to change to reduce this ? Should i manually try to tune the capacitors instead of using AAT?
Thanks in advance.
Best regards,
Marc
2025-01-17 06:04 AM
Hi,
After importing the antenna parameters (values you provided), the impedance chart you get doesn't match the simulation output, which still needs fine-tuning.
Reason: You might have misplaced the components or used different values. Please re-check the components you have placed on the board, and you can fine-tune the impedance.
If you provide us with more details, such as:
A picture of your setup would also be helpful for debugging.
Here, I am including the simulation results with the values you provided.
Regards,
BV