cancel
Showing results for 
Search instead for 
Did you mean: 

I am trying to write memory on the ntga213 tag using CR95HF reader

DJeon.4
Associate II

You're doing a great job.

During the CR95HF reader test,

The NTGA215 Tag is implemented as memory read/write. We proceeded by referring to the data sheet (61 page - ISO14443-A).

Memory Read works normally, but the Memory Write function is not working properly.

I'd appreciate it if you could tell me where it went wrong

0693W00000QMEXCQA5.png0693W00000QMEXWQA5.png[Ardiuno Test Log]

0693W00000QMEbnQAH.png 

1 ACCEPTED SOLUTION

Accepted Solutions
Brian TIDAL
ST Employee

Hi,

02 04 02 00 02 80 means PP=02 and MM=80 and therefore the FDT=155ms which should be enough for the Write command.

If you want to use the 10 ms FDT, the command should be  02 05 02 00 00 21 00 but anyway you should not see frame waiting timeout during write command with your  02 04 02 00 02 80 configuration.

Can you provide a logic analyzer trace (SPI CLK/MOSI/MISO/SS + IRQ_OUT) from initialization up to the write command so that I can have a look?

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

3 REPLIES 3
Brian TIDAL
ST Employee

Hi,

see https://community.st.com/s/question/0D50X0000AFqKjkSQF/why-does-my-cr95hf-respond-with-0x87-timeout-or-no-tag-after-successfully-writing-to-a-ntag216-nfc-forum-type-2-compliant-tag for identical issue:

Basically, a Frame Delay Time (FDT) greater or equal to 10 ms is needed for Type 2 write commands (a certain time is needed by the tag to write its EEPROM memory and to send back its ACKnowledge).

The FDT can be modified through the PP:MM:DD parameters of the ProtocolSelect command.

As an example, with PP=0x00, MM=0x21, DD=0x00, FDT = 10ms.

Let me know if using those values fixes your timeout issue. In that case, would you please select this answer as Best answer to close this topic?

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.

Thank you for your answer

Currently, ISO Select Protocol Cmd is used as follows:

protocol select write cmd : 0x 020402000280

I'm not sure what to fix. Help me

<packet>

[0] = 0x02 (protocol select cmd)

[1] = data_Length

[2](data) = 0x02

[3](data) = 0x00

[4](data) = 0x02

[5](data) = 0x80

0693W00000QMFu7QAH.png

Brian TIDAL
ST Employee

Hi,

02 04 02 00 02 80 means PP=02 and MM=80 and therefore the FDT=155ms which should be enough for the Write command.

If you want to use the 10 ms FDT, the command should be  02 05 02 00 00 21 00 but anyway you should not see frame waiting timeout during write command with your  02 04 02 00 02 80 configuration.

Can you provide a logic analyzer trace (SPI CLK/MOSI/MISO/SS + IRQ_OUT) from initialization up to the write command so that I can have a look?

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.