Skip to main content
Visitor II
April 19, 2022
Solved

Improve reading performance with ST25R95

  • April 19, 2022
  • 5 replies
  • 2205 views

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

    This topic has been closed for replies.
    Best answer by CCarr.14

    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

    5 replies

    Technical Moderator
    April 19, 2022

    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

    CCarr.14Author
    Visitor II
    April 19, 2022
    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
    Technical Moderator
    April 19, 2022

    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

    CCarr.14Author
    Visitor II
    April 20, 2022
    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
    Technical Moderator
    April 20, 2022

    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

    CCarr.14Author
    Visitor II
    April 20, 2022
    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.
    Technical Moderator
    April 20, 2022

    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

    CCarr.14Author
    Visitor II
    April 20, 2022
    OK,
    How can send you a private message?
    CCarr.14AuthorAnswer
    Visitor II
    April 28, 2022

    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