Skip to main content
Visitor II
May 19, 2016
Solved

M24SR i2c communication protocol features

  • May 19, 2016
  • 1 reply
  • 790 views
Posted on May 19, 2016 at 10:47

I am currently developing NFC-powered device, based on Arduino and M24SR02 dynamic NFC tags. 

https://github.com/rena2019/ArduinoM24SR

 was chosen for establishing communication between Arduino and M24SR, and it works pretty fine with short NDEF messages. But I have noticed strange behavior, when reading  long NDEF messages. After reading ST documentation following questions appeared:

1) What is the purpose of DID field ?

2) Is it necessary to answer to S(WTX) ?

3) Who an when can send S(WTX) command?

Any help will be appreciated.
    This topic has been closed for replies.
    Best answer by JP Miller
    Posted on June 30, 2016 at 11:23

    Hello,

    1/ The DID field is a Device Identifier that a NFC Forum Device can use to simplify addressing of a target device. On the I2C host side, the DID is not used for the M24SR02 tag and therefore can be coded to 0.

    2/ S(WTX) is generated by the M24SR02 in case M24SR02 will take more time to complete a transaction requested by the I2C host. In this case the I2C host must answer with a S(WTX) response.

    Best Regards,

    Have a good day.

    NFC Product Support 3

    1 reply

    JP MillerAnswer
    ST Employee
    June 30, 2016
    Posted on June 30, 2016 at 11:23

    Hello,

    1/ The DID field is a Device Identifier that a NFC Forum Device can use to simplify addressing of a target device. On the I2C host side, the DID is not used for the M24SR02 tag and therefore can be coded to 0.

    2/ S(WTX) is generated by the M24SR02 in case M24SR02 will take more time to complete a transaction requested by the I2C host. In this case the I2C host must answer with a S(WTX) response.

    Best Regards,

    Have a good day.

    NFC Product Support 3