2022-07-26 10:27 PM
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
[Ardiuno Test Log]
Solved! Go to Solution.
2022-07-27 02:27 AM
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
2022-07-27 12:56 AM
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
2022-07-27 01:36 AM
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
2022-07-27 02:27 AM
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