cancel
Showing results for 
Search instead for 
Did you mean: 

St25R3918: Detect card is OK, but read data fails

KKjel.1
Senior

I have a strange problem on a new PCB design we are working on.

We have developed two prototype PCB's, where the NFC works on the first one, but fails on the second:

PCB prototype revision 1:

The ST25R3918 NFC works fine. Based on Examples fr antenna design and using RFAL and ST example for the driver software.

PCB prototype revision 2:

I can read the NFC-A ID tag with no problems from 50 mm distance (NFC Detection() + NFC CollisionAvoidance() ).

See screenshot below.

But then, when I try to activate the card and read the content, it fails: Reads all 0x00.

But not always: Typically I can read the card content after a reset of the MCU. But it is a bit tricky and the distance must be be within a very specific distance. And sometimes the data are not completely read.

After this first read of the content after reset, it fails 100% of the times.

There are no error during the execution. All calls to the RFAL library returns OK.

But all data are 0x00.

  1. Place NFC tag near antenna
  2. Power up or Reset via JTAG/IDE
  3. DetectCard() -> OK
  4. CollisionAvoidance() -> OK
  5. Activate card -> OK
  6. Read card content -> OK
  7. Stop card/Init
  8. Repeat 3..6 -> Read card content FAIL

The software and RFAL drivers are exactly the same on the two boards.

I have checked the SPI CLK, and the timing is exactly the same.

The only change to the SP25 interface is that it has moved to another SPI port on the MCU.

It looks like a hardware problem, but I have no clue what, when the ST25 circuit and antenna is the same as on the r1 PCB which works fine.

The questions are:

Why can I read the NFC-A card header with no problems, but reading the content fails?

Why can I sometimes read the content the first time after power up?

I appreciate all help and comments, as this is getting quite frustrating, as I thought this task was done months ago.

Thanks

Kaare


_legacyfs_online_stmicro_images_0693W00000bklqOQAQ.png

1 ACCEPTED SOLUTION

Accepted Solutions
Ulysses HERNIOSUS
ST Employee

Hi Kaare,

I am unsure about root cause, if it is digital or analog. Reading UID up to 5cm sounds like analog is ok. but being able to read the card only in specific distances sounds again analog issues.

Please start with and logic analyzer trace of SPI + IRQ - record the complete sequence of reading possible up to reading only zeroes. You can post it here - I can inspect, it often tells a lot.

One shoot in the dark: Did you check the stack size on your MCU?

BR, Ulysses

View solution in original post

1 REPLY 1
Ulysses HERNIOSUS
ST Employee

Hi Kaare,

I am unsure about root cause, if it is digital or analog. Reading UID up to 5cm sounds like analog is ok. but being able to read the card only in specific distances sounds again analog issues.

Please start with and logic analyzer trace of SPI + IRQ - record the complete sequence of reading possible up to reading only zeroes. You can post it here - I can inspect, it often tells a lot.

One shoot in the dark: Did you check the stack size on your MCU?

BR, Ulysses