cancel
Showing results for 
Search instead for 
Did you mean: 

Problem with NFC-ST25R95 tag detection

Eyzeryong
Associate II

Hello,

I'm using it with a custom board. I'm facing problem with switches the ST25R95 into low power consumption mode

When I send Calibrate command, it can work and return 0x78.

But if I send another command like wake up in IRQ_IN(07 0E 08 01 00 38 00 18 00 00 60 00 00 00 00 00) or tag detection(>0x07 0E 0A 21 00 79 01 18 00 20 60 60 70 80 3F 08),ST25R95 return me just 0xFD,

When I set it to wake up when timeout(0x07 0E 01 21 00 38 00 18 00 60 60 00 00 00 00 08) ,it return me {0x00,0x01,0x01},it is correct.

And I observed that after I sent (0x07 0E 0A  A1 00 F8 01 18 00 00 60 60 00 00 3F 01 ) to calibrated the DacDataRef,ST25R95 entered idle mode because there was not any reaction when I placed the tag on top of the antenna.

I also wanna know that what will I get from  IRQ_OUT when  I send command like wake up from tag detection,dose any reaction with IRQ_OUT as soon as I place the tag on top of the antenna?

Kindly help me out.

 

 

1 ACCEPTED SOLUTION

Accepted Solutions

Hi,

Can you describe more precisely the hardware environment used? In particular the custom board: is it using a X-NUCLEO-NFC03A1, or another ST board or is it a full custom design? (feel free to provide a picture of it). If a full custom design is being used, make sure that  Application Note AN5248 has been properly followed to have a proper matching circuit

"When I send Calibrate command, it can work and return 0x78." The ST25R95 commands set does not include a Calibrate command. Can you provide more information about this "Calibrate" command? Regarding the return if this "Calibrate" command, do you mean that the result of the calibration process is 0x78?

"But if I send another command like wake up in IRQ_IN(07 0E 08 01 00 38 00 18 00 00 60 00 00 00 00 00) or tag detection(>0x07 0E 0A 21 00 79 01 18 00 20 60 60 70 80 3F 08),ST25R95 return me just 0xFD" 0xFD is not a return code. Can you connect a logic analyzer on SPI (CLK, MISO, MOSI, CS) + IRQ_IN + IRQ_OUT and send us the trace?

"I also wanna know that what will I get from  IRQ_OUT when  I send command like wake up from tag detection,dose any reaction with IRQ_OUT as soon as I place the tag on top of the antenna?" This depends on the parameter of the IDLE command in particular the <WUPeriod>. Once a tag has been detected, the IRQ_OUT signals that the response from the IDLE command can be read.

Rgds

BT

 

 

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

View solution in original post

9 REPLIES 9
Eyzeryong
Associate II

I also do the calibration with tag nearby, the result is almost same as open-air calibration:0x78

HI,

can you confirm that your application relies on IRQ_OUT before reading the answer to the Idle command (see ST25R95 datasheet §5.9 "In low power consumption mode the device does not support SPI poll mechanism. Application has to rely on IRQ_OUT before reading the answer to the Idle command.")?

Also, I would recommend to base you application on top of the RF Abstraction Layer library provided in the ST25 embedded NFC library. It provides demos application and supports the tag detection.

Rgds

BT

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

Hi,

I can confirm my application relies on IRQ_OUT before reading the answer to the Idle command

But I didn't use ST25 embedded NFC library.I try to understand the code in the library ,It needs me to spend some time, so can you help me explain my question above first?

thanks.

Hi,

Can you describe more precisely the hardware environment used? In particular the custom board: is it using a X-NUCLEO-NFC03A1, or another ST board or is it a full custom design? (feel free to provide a picture of it). If a full custom design is being used, make sure that  Application Note AN5248 has been properly followed to have a proper matching circuit

"When I send Calibrate command, it can work and return 0x78." The ST25R95 commands set does not include a Calibrate command. Can you provide more information about this "Calibrate" command? Regarding the return if this "Calibrate" command, do you mean that the result of the calibration process is 0x78?

"But if I send another command like wake up in IRQ_IN(07 0E 08 01 00 38 00 18 00 00 60 00 00 00 00 00) or tag detection(>0x07 0E 0A 21 00 79 01 18 00 20 60 60 70 80 3F 08),ST25R95 return me just 0xFD" 0xFD is not a return code. Can you connect a logic analyzer on SPI (CLK, MISO, MOSI, CS) + IRQ_IN + IRQ_OUT and send us the trace?

"I also wanna know that what will I get from  IRQ_OUT when  I send command like wake up from tag detection,dose any reaction with IRQ_OUT as soon as I place the tag on top of the antenna?" This depends on the parameter of the IDLE command in particular the <WUPeriod>. Once a tag has been detected, the IRQ_OUT signals that the response from the IDLE command can be read.

Rgds

BT

 

 

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

Hello,

this is  the hardware environment

Eyzeryong_0-1731544487903.png

The parameters and layout, are similar to those of the X-Nucleo-NFC03A1.

I calculated that the value of my DAC-REF is 0x40 using function st25r95CalibrateTagDetector in the library

But after running this function, my antenna can no longer detect tags, which confuses me a lot。

and when I sent directly the command (>0x07 0E 0A 21 00 38 01 18 00 20 60 0x40-8 0x40+8 80 3F 08),The chip cannot be awakened by the tag either。

Hi,

the problem had solved just now,the reason why I can't wake up st25r95 is that I used a wrong DAC_ref

Hi,

well done. I would anyway recommend to use the full RFAL library, in particular the rfalNfcXxxx() API (see the demo_polling.c file). The tag detection feature is part of this demo.

Rgds

BT

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

Hi 

pardon again~

I observed that put my hand  upon the antenna ,The calculated value wasn't 0x40(which was calculated in free air) but 0x2c or even 0x1c

and also I put another things upon antenna like a piece of Hole slabs, The calculated value was 0x44

I wanna know is it normal?

Brian TIDAL
ST Employee

Hi,

this is a normal behavior.

Rgds

BT

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.