cancel
Showing results for 
Search instead for 
Did you mean: 

Error reading tag with ST25R3911B with ST code

Yves Bmnt
Associate III
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
1 ACCEPTED SOLUTION

Accepted Solutions
Yves Bmnt
Associate III
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

View solution in original post

1 REPLY 1
Yves Bmnt
Associate III
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