cancel
Showing results for 
Search instead for 
Did you mean: 

Improve reading performance with ST25R95

CCarr.14
Associate III

I am using an NFC reader, ST25R95, and it seems to be slow in reading, also it only reads at a very close range

I wonder, if it is possible to change some parameter, something like sensitivity or something like that, to improve the distances and reading speed

Thank you in advance for your help

1 ACCEPTED SOLUTION

Accepted Solutions
CCarr.14
Associate III

Hi Brian,

We have more or less fixed our problem. We have changed several parameters:

  • WU period parameter, now is 0, so ~16ms timeout.
  •  discParam.totalDuration, now is 0
  • And we have changed the way our firmware reacts to NFC reader wakeup.

With these changes we get 3cm read distance, 130ms read time, and a total time from wakeup to full read of 650ms.

We hope that these figures meet the requirements of our customers.

We would like to thank you for your important and decisive help. You have been very nice and attentive and have helped us a lot with your quick and correct answers and ideas.

Best regards and thanks again

View solution in original post

9 REPLIES 9
Brian TIDAL
ST Employee

HI Carmen,

can you describe your setup:

  • do you use an X-NUCLEO-NFC03A1 board or your own custom board?
  • do you use your own driver for the ST25R95 or the driver and the communication stack from X-CUBE-NFC3 or from the ST25 Embedded NFC library?
  • tag used: ISO14443-A or -B or ISO15693? Tag antenna: ID1 (credit card size) or smaller?

See also:

https://community.st.com/s/question/0D53W00000THvKbSAL/how-to-increase-the-range-of-cr95hf-receiver-on-a-custom-pcb

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 Brian,
First of all, thank you for your fast response.
We are using our own custom board with another microcontroller
We use the driver from ST25 embedded NFC library, versión 1.3
We use tag ISO15693 and ISO14443-A and tag antena smaller than a credit card
Carmen
Brian TIDAL
ST Employee

Hi Carmen,

as explained in other posts on the community, many parameters impact the read range:

  • tag antenna
  • reader antenna and matching circuit
  • etc.

On my X-NUCLEO-NFC03A1 with the X-CUBE-NFC3 firmware, depending on the tag, I can achieve the following read range: 3.2 cm for ISO14443 tags and up to 5.2 cm (for some tags with very good antennas). Most of the tags being used for those read range tests are ID-1 size tag (aka credit card size).

As a first step, I would suggest to measure the read range with your tags on a X-NUCLEO-NFC03A1 as a reference. What is the read range on your custom board with ISO14443A tags an with ISO15693 tags?

Also, can you describe your reader antenna? On X-NUCLEO-NFC03A1, the antenna has the following characteristics: 34x47mm/4 turns/0.8ohm~1120nH antenna.

"I am using an NFC reader, ST25R95, and it seems to be slow in reading": by default the demos in the ST25 Embedded lib use discParam.totalDuration = 1000U. This means there is a polling loop every 1000 ms. You may want to reduce this value to increase the reactivity during the polling. When you write "it seems to be slow in reading", do you mean "it seems to be slow to detect the UID" or do you read some private data on tag?

Feel free to send me (in private) a logic analyzer trace (SPI CLK, SPI MISO, SPI MOSI, SPI CS, IRQ_IN, IRQ_OUT) so that I can have a look on this issue.

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 Brian,
First of all, I have to warn you that yesterday I gave you some bad information, the tag antennas we usually use are ID1 format.
As you say, the reading range depends on the quality of the tag antenna. I have achieved a read range of 3 cm with our board which has a 34x47mm antenna.
We read from the tag, the UID and also some more private data. So I will try to reduce discParam.totalDuration in order to achieve a faster response.
Thank you
Carmen
Brian TIDAL
ST Employee

Hi Carmen,

3 cm read range with your custom board is very similar to the read range on the X-NUCLEO-NFC03A1.

Regarding the reading speed, the demo has a 500ms delay before restarting the polling loop (to not to flood the UART log). I would suggest to get rid of this delay in a real application (see DEMO_NO_DELAY_IN_DEMOCYCLE in demo_polling.c).

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 Brian,
I had already eliminated this delay, but the total time between detection and reading is too long for our application.
Best regards
Carmen
I think the most time is spent before the tag detection, that's why I asked about some parameters about the reader sensitivity.
Brian TIDAL
ST Employee

Hi Carmen,

can you send me a logic analyzer trace (SPI CLK, SPI MISO, SPI MOSI, SPI CS, IRQ_IN, IRQ_OUT) or can you enable the ST25R95_DEBUG flag and send me the UART log (in private message)?

Thanks

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.
OK,
How can send you a private message?
CCarr.14
Associate III

Hi Brian,

We have more or less fixed our problem. We have changed several parameters:

  • WU period parameter, now is 0, so ~16ms timeout.
  •  discParam.totalDuration, now is 0
  • And we have changed the way our firmware reacts to NFC reader wakeup.

With these changes we get 3cm read distance, 130ms read time, and a total time from wakeup to full read of 650ms.

We hope that these figures meet the requirements of our customers.

We would like to thank you for your important and decisive help. You have been very nice and attentive and have helped us a lot with your quick and correct answers and ideas.

Best regards and thanks again