Skip to main content
Visitor II
March 14, 2023
Question

M24256E Cannot read lock status of ID page - I2C

  • March 14, 2023
  • 2 replies
  • 1233 views

I cannot get the proper 'unlocked' response when reading the 'lock' status of the ID page via I2C. According to the datasheet, to read the "lock" status of the ID page:

Following a start condition the bus master sends a device select code with the R/W bit (RW) set to 0. The device acknowledges this and waits for the address bytes where the identification page is located. The device responds to each address byte with an acknowledge bit, and then waits for the data byte. The device returns an acknowledge bit after the data byte if the identification page is unlocked, otherwise a NoAck bit if the identification page is locked.

When I perform this, I always get a NAK at the end of the data byte. Even though I can still write to the ID page, so this tells me it is not returning the proper response. If a single byte write attempt was made with nWC still high, this is exactly what I would expect, which makes me question if this is the correct command structure.

My first question is what should be in the data byte? It doesn't explain this at all, not even saying it should just be all 'don't cares'. Does it matter?

My second question, does the nWC need to be pulled low? I wouldn't think so, because we're not actually writing.

Am I missing something here?

 0693W00000aIrUiQAK.png

    This topic has been closed for replies.

    2 replies

    ST Employee
    March 14, 2023

    Hello,

    Bit A10 of the identification page address should be "0" and not "1".

    Please try with address 0x0000 and not 0x0400

    Best Regards

    Pierre

    BEdwa.2Author
    Visitor II
    March 14, 2023

    Hi,

    Thanks so much for the reply, but that does not work either.

    My understanding is accessing data on the identification page requires A10 be "0", but the identification page lock requires A10 be "1".

    0693W00000aIwzqQAC.png

    BEdwa.2Author
    Visitor II
    March 14, 2023

    Is the idea to just "write a byte to the ID page"? And if it ACKs or NACKs will depend on whether or not it is locked? If so, this would also require the nWC to be low. The data sheet is not clear on this at all.