Skip to main content
oKall
Associate II
February 6, 2019
Solved

M24SR64 we can only write to the NDEF file within 16 byte blocks,Why?

  • February 6, 2019
  • 5 replies
  • 2372 views

We started developing using one of the boards from the MATRIX-M24SR board, connected to our own hardware (via I2C), and got it up and running also with writing to the whole NDEF file, with no problem.

Then we developed a dedicated board including the M24SR64-Y. But for some strange reason, we can only write to the NDEF file within 16 byte blocks. E.g.

Writing from address 0 – 15 works fine.

Writing from address 4 – 14 works fine.

Writing from address 16 – 31 works fine.

Writing from address 10 – 17 don’t work.

Writing from address 0 – 31 don’t work.

I have verified that there is no password on the NDEF, but still, it’s strange that I can write to the memory in small blocks, but no in larger blocks (> 16 byte).

We have tried replacing the onboard M24SR64-Y with one of the chips from a MATRIX-M24SR board, and then we can write with no problems to the whole NDEF file, so this shows that there are no problems with our hardware.

    This topic has been closed for replies.
    Best answer by JP Miller

    ​Dear customer,

    As the behavior is different from 1 sample to another, we would need to further analyze the samples where you are seeing issues. For that, could you please contact your local support contact so that we can analyze what is going on and further assess if the issue is with the samples or not?

    Please let us know if you need assistance with that.

    Have a good day.

    Regards,

    5 replies

    JP Miller
    ST Employee
    February 8, 2019

    ​Dear customer ,

    There is no restriction when writing data across a 16 byte block boundary.

    The Update Binary command can be used on the I2C side up to the 'maximum number of bytes that can be written ' as specified in the CC file layout (ie 0x00F6)

    If I understand correctly, your NDEF write works fine with the M24SR64-Y taken  from the MATRIX-M24SR Board on the board you are developing and it worked fine.

    Have you tried to solder the M24SR64-Y IC that appears not to work on your board, on the MATRIX-M24SR and retry your test with MATRIX-M24SR . That could help us eliminate if there's an issue with the tag or something else.

    do you have this issue with 1 IC only or multiple?

    Have a good day,

    Regards

    oKall
    oKallAuthor
    Associate II
    February 8, 2019

    Dear JP Miller

    I think we have tried everything, we have bought IC’s from different places with different week codes and we have not been able to find out what the difference between the IC from the matrix board and the IC’s we have bought are.

    Here is a list of the weekcode for some of the M24SR64-Y we have used:

    K737U, K839U, K649U does not work

    K338U does work (MATRIX-M24SR board)

    I have not been able to find anything in the M24SR64-Y datasheet, that could result in this kind of behavior.

    Emne: JP Miller answered you: M24SR64 we can only write to the NDEF file within 16 byte blocks,Why?

    ​Dear customer , There is no restriction when writing data across a 16 byte block boundary. The Update Binary command can be used on the I2C side up to the 'maximum number of bytes that can be written ' as specified in the CC file layout (ie 0x00F6) If I understand correctly, your NDEF write works fine with the M24SR64-Y taken from the MATRIX-M24SR Board on the board you are developing and it worked fine. Have you tried to solder the M24SR64-Y IC that appears not to work on your board, on the MATRIX-M24SR and retry your test with MATRIX-M24SR . That could help us eliminate if there's an issue with the tag or something else. do you have this issue with 1 IC only or multiple? Have a good day, Regards

    ​Dear customer ,

    There is no restriction when writing data across a 16 byte block boundary.

    The Update Binary command can be used on the I2C side up to the 'maximum number of bytes that can be written ' as specified in the CC file layout (ie 0x00F6)

    If I understand correctly, your NDEF write works fine with the M24SR64-Y taken from the MATRIX-M24SR Board on the board you are developing and it worked fine.

    Have you tried to solder the M24SR64-Y IC that appears not to work on your board, on the MATRIX-M24SR and retry your test with MATRIX-M24SR . That could help us eliminate if there's an issue with the tag or something else.

    do you have this issue with 1 IC only or multiple?

    Have a good day,

    Regards

    M24SR64 we can only write to the NDEF file within 16 byte blocks,Why?

    We started developing using one of the boards from the MATRIX-M24SR board, connected to our own hardware (via I2C), and got it up and running also with writing to the whole NDEF file, with no problem.

    Then we developed a dedicated board including the M24SR64-Y. But for some strange reason, we can only write to the NDEF file within 16 byte blocks. E.g.

    Writing from address 0 – 15 works fine.

    Writing from address 4 – 14 works fine.

    Writing from address 16 – 31 works fine.

    Writing from address 10 – 17 don’t work.

    Writing from address 0 – 31 don’t work.

    I have verified that there is no password on the NDEF, but still, it’s strange that I can write to the memory in small blocks, but no in larger blocks (> 16 byte).

    We have tried replacing the onboard M24SR64-Y with one of the chips from a MATRIX-M24SR board, and then we can write with no problems to the whole NDEF file, so this shows that there are no problems with our hardware.

    ​Dear customer ,

    There is no restriction when writing data across a 16 byte block boundary.

    The Update Binary command can be used on the I2C side up to the 'maximum number of bytes that can be written ' as specified in the CC file layout (ie 0x00F6)

    If I understand correctly, your NDEF write works fine with the M24SR64-Y taken from the MATRIX-M24SR Board on the board you are developing and it worked fine.

    Have you tried to solder the M24SR64-Y IC that appears not to work on your board, on the MATRIX-M24SR and retry your test with MATRIX-M24SR . That could help us eliminate if there's an issue with the tag or something else.

    do you have this issue with 1 IC only or multiple?

    Have a good day,

    Regards

    JP Miller
    JP MillerBest answer
    ST Employee
    February 15, 2019

    ​Dear customer,

    As the behavior is different from 1 sample to another, we would need to further analyze the samples where you are seeing issues. For that, could you please contact your local support contact so that we can analyze what is going on and further assess if the issue is with the samples or not?

    Please let us know if you need assistance with that.

    Have a good day.

    Regards,

    oKall
    oKallAuthor
    Associate II
    February 15, 2019

    Dear Mr. Miller

    You write: “As the behavior is different from 1 sample to another, we would need to further analyze the samples where you are seeing issues�?

    I am not sure I understand what you are asking for, but your description of the problem is close to correct.

    What we see are that the IC’s taken from your Demo boards and placed on our board works fine !

    But if we buy the M24SR64-Y from three different supplier’s with three different week codes they don’t work.

    It seems to me that the problem is not an issue with the samples, but something ST does to the IC’s on the Demo boards that is not described in the documentation or something else related to the demo board IC’s that we don’t know.

    We are in contact with the local support from EBV, Bo Vinge-brandt and he try to contact some experts on ST. NFC products, but everything takes time ☺ and we are just waiting to start a production of the first 1000 boards with the M24SR64 because we have a product launch the first of march!

    So please help

    Emne: JP Miller answered you: M24SR64 we can only write to the NDEF file within 16 byte blocks,Why?

    ​Dear customer, As the behavior is different from 1 sample to another, we would need to further analyze the samples where you are seeing issues. For that, could you please contact your local support contact so that we can analyze what is going on and further assess if the issue is with the samples or not? Please let us know if you need assistance with that. Have a good day. Regards,

    M24SR64 we can only write to the NDEF file within 16 byte blocks,Why?

    We started developing using one of the boards from the MATRIX-M24SR board, connected to our own hardware (via I2C), and got it up and running also with writing to the whole NDEF file, with no problem.

    Then we developed a dedicated board including the M24SR64-Y. But for some strange reason, we can only write to the NDEF file within 16 byte blocks. E.g.

    Writing from address 0 – 15 works fine.

    Writing from address 4 – 14 works fine.

    Writing from address 16 – 31 works fine.

    Writing from address 10 – 17 don’t work.

    Writing from address 0 – 31 don’t work.

    I have verified that there is no password on the NDEF, but still, it’s strange that I can write to the memory in small blocks, but no in larger blocks (> 16 byte).

    We have tried replacing the onboard M24SR64-Y with one of the chips from a MATRIX-M24SR board, and then we can write with no problems to the whole NDEF file, so this shows that there are no problems with our hardware.

    ​Dear customer,

    As the behavior is different from 1 sample to another, we would need to further analyze the samples where you are seeing issues. For that, could you please contact your local support contact so that we can analyze what is going on and further assess if the issue is with the samples or not?

    Please let us know if you need assistance with that.

    Have a good day.

    Regards,

    JP Miller
    ST Employee
    February 25, 2019

    Dear customer,

    I understand better the issue. Thanks for having clarified it. It might be a different default configuration between the ICs present on the MATRIX-M24SR and the ones from other vendors.

    Could you please give me the reference of the MATRIX-M24SR you have been using successfully? (reference could be MB1120 for example followed by a number)?

    Could you please provide the values of 1/ each of the system file fields, 2/ the CC files and 3/ the values of Bytes 0 and 1 of the NDEF file for the samples from the MATRIX and from one of the 3 suppliers?

    Please also describe all the different I2C commands in sequence that your application is sending to M24SR. Ideally if you could capture and send the trace that would be helpful (for the IC coming from the MATRIX, and for your other supplier)

    Regards,

    oKall
    oKallAuthor
    Associate II
    February 25, 2019

    Dear Mr. Miller

    The reference on the board is just MB1120 ANT2.

    We will come back with the files you are asking for.

    Med venlig hilsen / Best regards / Mit freundlichen Grüssen/ Meilleures Salutations

    Ole Wiisbye Kallshøj

    Emne: JP Miller answered you: M24SR64 we can only write to the NDEF file within 16 byte blocks,Why?

    Dear customer, I understand better the issue. Thanks for having clarified it. It might be a different default configuration between the ICs present on the MATRIX-M24SR and the ones from other vendors. Could you please give me the reference of the MATRIX-M24SR you have been using successfully? (reference could be MB1120 for example followed by a number)? Could you please provide the values of 1/ each of the system file fields, 2/ the CC files and 3/ the values of Bytes 0 and 1 of the NDEF file for the samples from the MATRIX and from one of the 3 suppliers? Please also describe all the different I2C commands in sequence that your application is sending to M24SR. Ideally if you could capture and send the trace that would be helpful (for the IC coming from the MATRIX, and for your other supplier) Regards,

    (STMicroelectronics)

    Dear customer,

    I understand better the issue. Thanks for having clarified it. It might be a different default configuration between the ICs present on the MATRIX-M24SR and the ones from other vendors.

    Could you please give me the reference of the MATRIX-M24SR you have been using successfully? (reference could be MB1120 for example followed by a number)?

    Could you please provide the values of 1/ each of the system file fields, 2/ the CC files and 3/ the values of Bytes 0 and 1 of the NDEF file for the samples from the MATRIX and from one of the 3 suppliers?

    Please also describe all the different I2C commands in sequence that your application is sending to M24SR. Ideally if you could capture and send the trace that would be helpful (for the IC coming from the MATRIX, and for your other supplier)

    Regards,

    M24SR64 we can only write to the NDEF file within 16 byte blocks,Why?

    We started developing using one of the boards from the MATRIX-M24SR board, connected to our own hardware (via I2C), and got it up and running also with writing to the whole NDEF file, with no problem.

    Then we developed a dedicated board including the M24SR64-Y. But for some strange reason, we can only write to the NDEF file within 16 byte blocks. E.g.

    Writing from address 0 – 15 works fine.

    Writing from address 4 – 14 works fine.

    Writing from address 16 – 31 works fine.

    Writing from address 10 – 17 don’t work.

    Writing from address 0 – 31 don’t work.

    I have verified that there is no password on the NDEF, but still, it’s strange that I can write to the memory in small blocks, but no in larger blocks (> 16 byte).

    We have tried replacing the onboard M24SR64-Y with one of the chips from a MATRIX-M24SR board, and then we can write with no problems to the whole NDEF file, so this shows that there are no problems with our hardware.

    (STMicroelectronics)

    Dear customer,

    I understand better the issue. Thanks for having clarified it. It might be a different default configuration between the ICs present on the MATRIX-M24SR and the ones from other vendors.

    Could you please give me the reference of the MATRIX-M24SR you have been using successfully? (reference could be MB1120 for example followed by a number)?

    Could you please provide the values of 1/ each of the system file fields, 2/ the CC files and 3/ the values of Bytes 0 and 1 of the NDEF file for the samples from the MATRIX and from one of the 3 suppliers?

    Please also describe all the different I2C commands in sequence that your application is sending to M24SR. Ideally if you could capture and send the trace that would be helpful (for the IC coming from the MATRIX, and for your other supplier)

    Regards,

    JP Miller
    ST Employee
    February 27, 2019

    ​Hello again,

    indeed there are no differences on the CC and only the UIDs are different in the System Files. That is not the reason for a difference in behavior between the failing & passing parts.

    Next step would be to analyze the I2C commands and traces on the failing & passing parts to determine what is happening. We will contact you to determine how to best address this.

    Regards

    oKall
    oKallAuthor
    Associate II
    February 27, 2019

    Hello JP Miller

    Thank you for your response

    Do you have some kind of a clue? Has this been seen before?

    It is rather inconvenient for us, but we have made a workaround software where we only write within 16 byte blocks, it works but I hate this kind of things with no explanation……

    Emne: JP Miller answered you: M24SR64 we can only write to the NDEF file within 16 byte blocks,Why?

    ​Hello again, indeed there are no differences on the CC and only the UIDs are different in the System Files. That is not the reason for a difference in behavior between the failing & passing parts. Next step would be to analyze the I2C commands and traces on the failing & passing parts to determine what is happening. We will contact you to determine how to best address this. Regards

    ​Hello again,

    indeed there are no differences on the CC and only the UIDs are different in the System Files. That is not the reason for a difference in behavior between the failing & passing parts.

    Next step would be to analyze the I2C commands and traces on the failing & passing parts to determine what is happening. We will contact you to determine how to best address this.

    Regards

    M24SR64 we can only write to the NDEF file within 16 byte blocks,Why?

    We started developing using one of the boards from the MATRIX-M24SR board, connected to our own hardware (via I2C), and got it up and running also with writing to the whole NDEF file, with no problem.

    Then we developed a dedicated board including the M24SR64-Y. But for some strange reason, we can only write to the NDEF file within 16 byte blocks. E.g.

    Writing from address 0 – 15 works fine.

    Writing from address 4 – 14 works fine.

    Writing from address 16 – 31 works fine.

    Writing from address 10 – 17 don’t work.

    Writing from address 0 – 31 don’t work.

    I have verified that there is no password on the NDEF, but still, it’s strange that I can write to the memory in small blocks, but no in larger blocks (> 16 byte).

    We have tried replacing the onboard M24SR64-Y with one of the chips from a MATRIX-M24SR board, and then we can write with no problems to the whole NDEF file, so this shows that there are no problems with our hardware.

    ​Hello again,

    indeed there are no differences on the CC and only the UIDs are different in the System Files. That is not the reason for a difference in behavior between the failing & passing parts.

    Next step would be to analyze the I2C commands and traces on the failing & passing parts to determine what is happening. We will contact you to determine how to best address this.

    Regards