cancel
Showing results for 
Search instead for 
Did you mean: 

ReadBinary returning 0x6A 0x86 status problem

adam239955_st
Associate II
Posted on May 18, 2017 at 17:51

Hi all,

In my application I am using M24SR02 where the same part of the chip is being read through NFC and I2C interface at the same time. NFC reader is working in infinite loop and does two things:

1) Reads 0x10 bytes from 0x0097 offset

2) Issues SendInterrupt command to toggle GPO pin on M24SR02

MCU that is driving I2C interface does the following in infinite loop:

1) waits for GPO toggle

2) issues KillRFsession command over I2C

3) issues

NDEF Tag Application Select, 

 

NDEF Select commands

4) Issues 

ReadBinary command to read 0x02 bytes from 0x0000 offset to get NDEF message length. The returned length is 0xE5

5) Finally issues ReadBinary command to read 0x10 bytes from 0x0097 offset.

Most of the time 

ReadBinary works fine returning correct data. Sometimes it returns 

0x6A 0x86 status meaning 'Incorrect P1 or P2 values' even if ReadBinary command is always the same (checked with oscilloscope). The same thing happens when I use ExtendedReadBinary command (this one should ignore NDEF message length).

I've also noticed that problem disappears when I don't use NFC interface and make MCU continuously repeat the loop without waiting for GPO to toggle.

Two questions:

- Under what circumstances M24SR02 can return 

0x6A 0x86 status for ReadBinary or ExtendedReadBinary commands ?

-  Can M24SR02 internal firmware start to misbehave if KillRFsession command is issued while NFC transaction (i.e. Read Binary) is in progress? M24SR02 datasheet rev10 states 'Caution: A successful completion of the RF command is not certain.', but last post in 

https://community.st.com/0D50X00009XkZfGSAV

  contradicts it.

Kind regards,

Adam

null
1 ACCEPTED SOLUTION

Accepted Solutions
adam239955_st
Associate II
Posted on May 22, 2017 at 14:32

It looks like M24SR02 firmware gets confused when KillRFsession command is issued over I2C while NFC interface is in the middle of performing transaction. The workaround this I2C host has to issue Deselect command to close I2C session and then try KillRFsession again.

Hope that helps,

Adam

View solution in original post

1 REPLY 1
adam239955_st
Associate II
Posted on May 22, 2017 at 14:32

It looks like M24SR02 firmware gets confused when KillRFsession command is issued over I2C while NFC interface is in the middle of performing transaction. The workaround this I2C host has to issue Deselect command to close I2C session and then try KillRFsession again.

Hope that helps,

Adam