Skip to main content
Graduate
June 7, 2018
Solved

Error reading tag with ST25R3911B with ST code

  • June 7, 2018
  • 1 reply
  • 859 views
Posted on June 07, 2018 at 12:16

Hello,

I am using the code supplied by ST for the X-NUCLEO-NFC05A1, with a different processor (STM32L031) than on the demo NUCLEO board, to control the ST25R3911 with ISO15693.

This code comes from the example STM32CubeExpansion_NFC5_v1.0.0.

Seems I have something wrong because I always get the error ERR_IO when trying to detect a tag.

Comments in code say: 

/*******************************************************************************/

/* REMARK: Silicon workaround ST25R3911 Errata &sharpTBD */

/* ST25R3911 may indicate RXE without RXS previously, this happens upon some */

/* noise or incomplete byte frames with less than 4 bits */

/*******************************************************************************/

I haven't been able to figure out why I get this error so far, although if I plug directly the demo board processor to my RFID reader board with SPI bus + IRQ signal, everything works fine.

With my board, RFAL initialisation works fine, it seems my controller communicates well with the RFID reader, but then I get this error. The antenna seems to emit the right signal too.

Any help would be welcome

Regards,

Yves

#iso15693 #st25r3911b #st25r3911b-disco
    This topic has been closed for replies.
    Best answer by Yves Bmnt
    Posted on June 07, 2018 at 16:46

    Seems the clock range is very different in the microcontroller used for the demo with ST25R3911B.

    The default clock configuration I had with my STM32L031 was maybe a bit too slow, in systemclockconfig I set this value and now it works: RCC_OscInitStruct.MSIClockRange = RCC_MSIRANGE_6;

    Regards

    1 reply

    Yves BmntAuthorAnswer
    Graduate
    June 7, 2018
    Posted on June 07, 2018 at 16:46

    Seems the clock range is very different in the microcontroller used for the demo with ST25R3911B.

    The default clock configuration I had with my STM32L031 was maybe a bit too slow, in systemclockconfig I set this value and now it works: RCC_OscInitStruct.MSIClockRange = RCC_MSIRANGE_6;

    Regards