cancel
Showing results for 
Search instead for 
Did you mean: 

NFC03A1 with Raspberry Pi 4, tag not detecting

venukrish
Associate III

HW : Raspberry PI 4 with NFC03A1 board connected to SPI

SW : Linux_RFAL_st25r95_v2.0.4.tar.gz

we built and we are able to run on the Rpi board, poller example

issue :

ISO1444A tag not detected

SPI seems to be working, we observed IDN command responds with the details as per the datasheet

IRQ_OUT also seems to be correct  refer to log1.txt

rfalInitialize seems to be success. No errros

while ISO14443A tag detection we are observing err timeouts.. refer to log2.txt

pls advise

This discussion has been locked for participation. If you have a question, please start a new topic in order to ask your question
1 ACCEPTED SOLUTION

Accepted Solutions

Hi,

what I see in the trace is:

  • line 161: A protocolSelect command is sent to activate the RF field for ISO14443A operations. This command will cause a power consumption increase
  • line 181: response 00 00 to the protocolSelect command. The command has been taken into account
  • line 191 A Write Analog Config Register is sent. The beginning of the Rx buffer is OK (bytes 0x06) but then the Rx buffer has random values which show something abnormal (lines 200/202/204/206). Thus, it is likely that the extra power consumption due to the RF field activation cannot be satisfied.

I suggest to try to supply both CN6.2 and CN6.4 with 2 different wires from 2 different RPi4 pins. Same for CN6.6 and CN6.7 (GND) to be connected on 2 different GND pins.

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.

View solution in original post

13 REPLIES 13
Brian TIDAL
ST Employee

Hi,

the log2.txt shows that something is corrupted: from line 212, Tx is stuck on 0x00 and Rx is stuck on 0xFF.

I would recommend to connect a logic analyzer on SPI(CLK/MISO/MOSI/SS) + IRQ_IN + IRQ_OUT and to share the trace.

Do you use wire jumper or an interposer board between the RPi4 and the X-NUCLEO-NFC03A1?

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.

Thanks for the response Brian.

we donot know why log2.txt is corrupted ? we would like to know from you?.. 

we donot have logic analyser setup...

Yes we are using jumper wires between RPI4 and NFC03A1

1. can you provide a complete log of data sequence of 14443A commands and responses

2. what should be calibration data for 14443A/B and 15693, we planned to use these 2 tags

 

Hi,

I can hardly comment on the corrupted log as the native Linux_RFAL_st25r95_v2.0.4.tar.gz package does not provide this logging. I guess the data are corrupted by a wrong connection.

Make sure

  • to have the ground being properly connected,
  • to have the various wires ***not*** in the operating volume of the antenna (this would cause disturbance on the signals)
  • to have the 3V3 being properly connected

I would recommend to use an interposer such as the ARPI 600 to avoid the wire jumpers.

Regarding your question on calibration data, the FW includes the various setting for the 14443A/B and 15693 protocols.

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.

thanks for your inputs Brian. i double checked the connections again...it looks fine.

initial commands and responses from the board are correct. pls advise ...

i observed (log2,txt), when "Adjust ARC_B or ACC_A register" are being written to the device in st25r95ProtocolSelect()

we observe 0xff in spi receive...Also the IRQ_OUT doesnt fire ?, any clues on this ?

is the device going to WFE ?

is this write ARC_B data right ? (WrRegAnalogRegConfigISO14443A[] = {0x09, 0x04, 0x68, 0x01, 0x01, 0xD3} )

Tx Dump: 0x0
Rx Dump: 0x6
Tx Dump: 0x9
Rx Dump: 0x6
Tx Dump: 0x4
Rx Dump: 0x6
Tx Dump: 0x68
Rx Dump: 0x6
Tx Dump: 0x1
Rx Dump: 0x6
Tx Dump: 0x1
Rx Dump: 0x6
Tx Dump: 0xd3
Rx Dump: 0x6
gpio_set - /sys/class/gpio/gpio22
st25r95SPIPollRead: enter
st25r95SPIPollRead: running platformGpioIsHigh
st25r95SPIPollRead: ret=4 ERR_TIMEOUT=4
gpio_clear - /sys/class/gpio/gpio22
Tx Dump: 0x0
Rx Dump: 0xff
Tx Dump: 0x0
Rx Dump: 0xff
Tx Dump: 0x0
Rx Dump: 0xff

can you pls help review whether this calibration data is right ?

i checked the st25r95CalibrateTagDetector(), it seems to be running without any errors.

enclosed logs, pls check whether the wakeup ctrl and leave values are correct.. these are default

pls advise

can you pls share spi Tx/Rx trace data for ISO 14443A/B and ISO15693 tags detection sequence.. it will help to understand configuration values ====> for NFC03A1 boards

Hi,

you should not try to dump your TxBuf and RxBuf when st25r95SPIPollRead: ret=4 because this is a timeout on the st25r95SPIPollRead and likely nothing has been received from the st25r95 (line 210 in log2.txt). This is probably the reason for having 0xff in the Rx dump. The timeout is due to IRQ_OUT not being fired. Can you enable the ST25R95_DEBUG compilation switch and provide the trace? My guess is that there is a power drop when the RF field is set on after a protocol select command preventing the device from replying. I suggest to check the power supply of the X-NUCLEO-NFC03A1 and to try to power it from a 3V3 lab supply.

The device does not go to WFE unless it receives an Idle command which is not the case here. 

All the commands such as WrRegAnalogRegConfigISO14443A are correct. As explained, the issue is probably on the power supply not inside the FW.

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,

As explained before, your issue is not due to a FW issue. The calibration data computed during the calibration process is used only in wakeup mode. Your issue occurs in reader mode. 

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.

as per RPI4, it can 3v3 supply upto 500ma, the ST25R95 indicates max of 200ma right ?

we are using USB3 power supply adaptor with 3.6A, 5v (standard raspberry accessory).

will also check with another external powersupply 3v3.