This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMP1826: Small problem when reading the user EEPROM

Part Number: TMP1826

Tool/software:

I found a little problem when reading the user EEPROM.
Unfortunately, I don't have an explanation for it.

In principle, the transmission of data and temperature works without any problems. So we can discard hardware problems.


Now to the problem:

There is exactly one TMP1826 on the bus. (No other devices) The bus voltage is 3.3V; pull-up resistor is 1K; high pulse 7.5us; low pulse 60us.

1. I send a reset (500us) and receive a response.
2. I send the match ROM 0x55, family code, ROM code and CRC.
3. I send 0xF0 (READ EEPROM)
4. I send two address bytes 0x00 0x00
5. Waiting time 1.7ms; the bus is inactive (3.3V)
6. I read exactly 8 bytes from the EEPROM and get plausible data.  

-- AND NOW --

7. I send a reset of 500us and get NO response.

This condition remains after further resets.

The error can be avoided if I read another byte as a dummy after the 8 bytes.


Further remarks:
If I have several devices on the bus, there is a response to the reset. But the next match ROM 0x55 is disturbed because the ‘error’ device is still sending data.

What information in the data sheet did I miss?

  • I have investigated the problem again in detail.

    It seems that the device transfers new data (8 bytes) from the user EEPROM to a buffer memory each time the block limit is exceeded (i.e. every 8 bytes).
    This process obviously takes the specified time of at least 560us.

    During this time, the device does not appear to respond. Not even to a reset.

    It therefore seems important to observe this waiting time not only after the EEPROM address has been transferred, as well as at the end of the block boundary.

    I think the data sheet could be a little more detailed.