Skip to main content
Graduate
December 11, 2020
Solved

cannot detect any tag on ST25R3916

  • December 11, 2020
  • 3 replies
  • 2178 views

Hi,

I have made a custom design for reading/writing NTAG213 tags based on the X-NUCLEO-NFC06A1 board. I have adapted the firmware that works on this demo board (along with all the drivers related to the ST25R3916 and RFAL) into a STM32G030K8T6 microcontroller.

I have neither capacitive sensing nor AAT implemented in Hardware and I have also disabled these mechanisms in the Firmware according to this post.

The antenna design is very similar to the ST25R3916 Discovery Board (2 turns, 65mm x 85 mm). For the the antenna analysis I have measured its real parameters following the indications of the AN5276 Application Note:

This is LANT = 1.03 uH RSDC = 440m Ohms fres = 60.19 MHz Rp @ fres = 7.29 Kohms

0693W000006FVXtQAO.png 

Buy using the ST25R Antenna Matching Tool I get the following values for the custom board:

0693W000006FVQdQAO.png 

On the Firmware side the Initialization is successful (ERR_NONE)... but does not detect any tag during execution of the detection cycle routines.

I have checked the presence of any signal near the antenna by means of a small loop made with the oscilloscope probe. I see that the antenna is actually emitting at 13.56MHz every second.

0693W000006FVXFQA4.bmp 

Everything seems to be correct but why can't I detect any tag?

gaston

    This topic has been closed for replies.
    Best answer by Ulysses HERNIOSUS

    Hi Gaston,

    I think you can just implement your own function e.g. in your main.c:

    void HAL_GPIO_EXTI_RisingCallback(uint16_t /*GPIO_Pin)
    {
     st25r3916Isr();
    }

    Because of the __weak used in stm32g0xx_hal_gpio.c your version of the function will be used as opposed to the default one.

    Ulysses

    3 replies

    Technical Moderator
    December 15, 2020

    Hi Gaston,

    can you already rule out that there is an issue in your ported software? Does it for example work with a cross-connected NFC6?

    Regards, Ulysses

    GastonAuthor
    Graduate
    December 16, 2020

    Hi Ulysses,

    The porting was done from the STM32L476RG-Nucleo project. I will perform another porting starting from the STM32L053R8-Nucleo, which is a M0 + cortex like the one in my custom design.

    gaston

    Technical Moderator
    December 16, 2020

    Hi Gaston,

    My idea was mainly for not opening two construction sites at the same time: Port to new MCU and new reader HW. IMO no need to repeat porting, just do a cross-connection of your port to and NFC06 board to see your port is working properly (disconnect/disable the 3916 on your board).

    Regards, Ulysses

    ST Employee
    December 16, 2020

    Hello Gaston,

    can you measure the voltage on the RFI pins using the direct command "Measure Amplitude" ?

    Please execute the command with and without card in the field and post its result.

    BR Travis

    GastonAuthor
    Graduate
    December 16, 2020

    Hi Travis,

    I've measured the voltage after demoIni() initialization function.

    err = st25r3916ReadRegister(0xD3U, &result);

    In both cases (with and without a card) the result is zero.

    I've reproduced the same reading in the NUCLEO-NFC06A1 project with the same result.

    Am I performing the right procedure to measure the voltage on the RFI pins?

    gaston

    Technical Moderator
    December 16, 2020

    Hi Gaston,

    Please execute:

    st25r3916MeasureAmplitude() or rfalChipMeasureAmplitude(). It will execute the D3 command , wait for the interrupt and retrieve the result from AD converter register.

    Regards, Ulysses

    ST Employee
    December 16, 2020

    Hello Gaston,

    153 * 0.01306 = 1.998V

    109 * 0.01306 = 1.424V

    Both voltages should be sufficient to read tags. It might be that there is no analog problem. Could you do SPI traces and share them with us?

    BR Travis

    GastonAuthor
    Graduate
    December 17, 2020

    Hi Travis,

    Here's the SPI traces:

    During Initialization

    0693W000006G7rNQAS.png 

    Work Cycle

    0693W000006G7rmQAC.pngDecoded SPI files (during init & cycle loop) are attached in zip format.

    regards,

    gaston

    Technical Moderator
    December 17, 2020

    Hi Gaston,

    could you share the .logicdata files instead? They would be so much more readable than pure SPI dumps - containing also IRQ and SS signal.

    BR, Ulysses