cancel
Showing results for 
Search instead for 
Did you mean: 

X-NUCLEO-NFCC06A1: long time to read RFID Card Tag

FNana.1
Associate II

I using the Demo code for ST25R3916 It takes long time to read RFID Card Tag , what might be causing that ?

I am using X-NUCLEO-NFCC06A1 eval board with ST25R3916 CHIP

1 ACCEPTED SOLUTION

Accepted Solutions

Hi,

ERR_IO is not normal and indicates an issue on SPI/IRQ. The other two cases you hinted are likely just different manifestations of the same problem.

As hinted before Logic Analyzer traces are key in such a case.

Regards, Ulysses

View solution in original post

37 REPLIES 37
Ulysses HERNIOSUS
ST Employee

Hi FNana.1,

please share some more details what you are observing:

  • What type of RFID card?
  • Please define long time!
  • Are you using X-CUBE-NFC6? On which Nucleo?

The demo uses a 500ms delay after finding a card before starting next discovery. Maybe that is the reason for your observation. But will need more details.

Best Regards, Ulysses

Hi,

In addition to Ulysses answer: X-CUBE-NFC6 contains 2 demos (polling demo and ndef reading demo). Which one do you use?

Also, the totalDuration parameter of the rfalNfcDiscoverParam has impacts on the tag detection. What is the value of the totalDuration in your application?

The polling loop also tries to detect different technologies and then enter card emulation mode; if your application does not use all the various technologies, the detection of unused technologies can be removed (see techs2Find parameter).

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 Ulysses HERNIOSUS

Thanks for your help ,

What type of RFID cards :

  • Low Frequency RFID cards
  • Hi Frequency RFID cards

Please define long time

  • 10s to 50s

Are you using X-CUBE-NFC6 ? On which Nucleo

  • X-NUCLEO-NFC06A1
  • Based on ST25R3916 for STM32 and STM8 Nucleos

Many thanks for your helps

Hi Brian TIDAL

Thanks for your reply ,

In addition to Ulysses answer: X-CUBE-NFC6 contains 2 demos (polling demo and ndef reading demo). Which one do you use?

I am using the : STSW-ST25R013 Linux demo of ST25R3916 for Raspberry Pi using X-NUCLEO-NFC06A1 , Polling demo

What is the value of the totalDuration in your application?

discParam.totalDuration    = 1000U;

My application going use most of technologies , already disabled some.

Many thanks fro your help

Hi FNana.1,

it sounds then like a porting issue / interop issue. Are you using actually Raspberry Pi or did you port to your own board?

In any case I recommend:

  • Enable selftest feature (ST25R_SELFTEST and ST25R_SELFTEST_TIMER) and see if it succeeds. Please beware that for getting it operational you need to adapt it to be fully operational:
#define ST25R3916_TEST_TMR_TOUT_8FC               (ST25R3916_TEST_TMR_TOUT * 16950U)
==>
#define ST25R3916_TEST_TMR_TOUT_8FC               (ST25R3916_TEST_TMR_TOUT * 1695U)
  • Use a logic analyzer to verify the ISR is handled correctly and in-time. INT pin should only be high for times below ~100us. Then the interrupt thread should have kicked in and read the interrupt status register. If unsure you could also share a trace here on community.

Best Regards, Ulysses

FNana.1
Associate II

Hi Ulysses ,

Yes i have ported to iMX6 freescale board , which is the board ST25R3916 CHIP will be used .

Anything i need to apart the ones you've mentioned above ?

Many thanks

Hi Ulysses ,

Yes i have ported to iMX6 freescale board , which is the board ST25R3916 CHIP will be used on.

Anything i need to do , apart the ones you've mentioned above ?

Many thanks

Hi Ulysses ,

Thanks for your helps .

As you have suggested by turning the ST25R_SELFTEST and ST25R_SELFTEST_TIMER , i have done that and i have captured the INT signal via scope it is high for about ~197us . It is still take time ( 10 to 50s ) to read tags .

Please What could be wrong about porting ?

Many thanks

Hi, FNana.1,

no direct ideas what could be the reason. Is the polling running at right timing - every sec (look using LED tag or scope)?

Most helpful would be to look into a logic analyzer trace (SPI+IRQ) to see all the timings and sequences.

Best Regards, Ulysses