2023-10-23 02:52 AM
Hello,
I am using the X-Nucleo-NFC03A1 shield with the Arduino Uno. I use the library for the BM019 as an inspiration for reading my tag. Setting the protocol, the echo command and the IDN command all work fine, but when I try to read the UID of the tag I always get the error 88 in my response code meaning invald start of frame. I am using the ISO 15693. Could you help me find the cause of that error and tell me what it means.
For getting the UID I use the commands 0x00 0x04 0x03 0x26 0x01 0x00 as reccomended in the datasheet.
Thanks.
Solved! Go to Solution.
2023-10-24 02:44 AM
Hi,
the antenna of the smartphone is likely smaller than the X-NUCLEO-NFC03A1 one and the output power is probably higher.
You can try to adjust the receiver gain. After the protocolSelect command, send a WrReg command to change the receiver gain: {0x09, 0x04, 0x68, 0x01, 0x01, 0x53} where 3 correspond to 27dB (see table 32 in the ST25R95 datasheet). Try with the various values (0, 1, 3 ,7, F) and see whether this improves the reception of the tag response. For your information, error 0x88 means invalid Start of Frame. This means that the start of the tag response is corrupted due to RF conditions. Changing the receiver gain may improve this situation.
Rgds
BT
2023-10-23 04:50 AM
Hi,
can you provide more information about the tag being used (chip manufacturer and model)? You can use an NFC enabled smartphone with an NFC app (such as ST25NFCTap or TagInfo) to retrieve information about the chip manufacturer and model.
Can you provide a trace of the various commands sent before the Inventory SendRecv command (in particular the protocolSelect command and any Register Read/Write)?
For your information, an Arduino library for CR95HF RFID/NFC is available on https://github.com/facchinm/CR95HF. Note that BM019 HW and BM019 lib are not provided by ST.
Rgds
BT
2023-10-23 05:13 AM
Hi,
I use a glass tag from EM Microelectronic-Marin SA with a memory size of 208 bytes. At first I sent the IDN command to get the device ID, then I set the protocol to the ISO15693 by sending 0x00 0x02 0x02 0x01 0x0D. I don´t read or write on the tag yet, because I first wanted to test the function of getting the ID. Thank you for the library you showed me, I am going to look into that.
Thank you
2023-10-23 05:15 AM
It is a type 5 tag.
2023-10-23 05:19 AM
Hi,
is it this kind of product?
Rgds
BT
2023-10-23 05:21 AM
Hi,
yes it is.
2023-10-23 02:49 PM
Hi,
I do not have the exact physical dimensions of the antenna of this glass tag but it is likely very small. Thus the coupling with X-NUCLEO-NFC03A1 is probably quite low. A smaller antenna on the reader side would probably be needed to insure a good coupling to deliver enough energy to the tag and have reliable communication.
Rgds
BT
2023-10-24 12:22 AM
Hi,
thank you for your answer. But my smartphone was able to detect the tag and read and write information with the app you recommended and the antenna should be nearly the same size as the one I use, maybe a bit smaller. So why does it work with my smartphone but not with the X-NUCLEO-NFC03A1.
Regards
2023-10-24 02:44 AM
Hi,
the antenna of the smartphone is likely smaller than the X-NUCLEO-NFC03A1 one and the output power is probably higher.
You can try to adjust the receiver gain. After the protocolSelect command, send a WrReg command to change the receiver gain: {0x09, 0x04, 0x68, 0x01, 0x01, 0x53} where 3 correspond to 27dB (see table 32 in the ST25R95 datasheet). Try with the various values (0, 1, 3 ,7, F) and see whether this improves the reception of the tag response. For your information, error 0x88 means invalid Start of Frame. This means that the start of the tag response is corrupted due to RF conditions. Changing the receiver gain may improve this situation.
Rgds
BT
2023-10-24 04:15 AM
P.-S. Please let me know which value has improved the reception of the tag response. Thanks