2024-11-10 11:33 PM
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.
Solved! Go to Solution.
2024-11-13 01:33 AM
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
2024-11-11 02:12 AM
I also do the calibration with tag nearby, the result is almost same as open-air calibration:0x78
2024-11-11 12:25 PM
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
2024-11-11 06:12 PM
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.
2024-11-13 01:33 AM
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
2024-11-13 05:38 PM - edited 2024-11-13 10:39 PM
Hello,
this is the hardware environment
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。
2024-11-14 02:36 AM
Hi,
the problem had solved just now,the reason why I can't wake up st25r95 is that I used a wrong DAC_ref
2024-11-14 07:51 AM
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
2024-11-14 09:34 PM
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?
2024-11-15 01:32 AM
Hi,
this is a normal behavior.
Rgds
BT