TMP9R01-SEP: Buffering High Speed Mode I2C

Part Number: TMP9R01-SEP

Is there a buffer that should be used to take I2C to TMP9R01-SEP? My cable length will be ~2m. All of the I2C buffers available on TI top off at 1MHz (fast-speed mode plus). My frequency requirement is 2MHz (not something I can change). My source will be NI's USB-8452 device.

  • Hi Brandon,

    HS mode is not very popular; I'm sorry you're not able to find a buffer that supports it. If you would like to talk to the interface team about buffer solutions, you should make a post with one of their products tagged. That will prompt them to respond. I would expect that the bidirectional nature of I2C will make it difficult to find a solution, though.

    Why do you have a 2MHz requirement? If there is another device on the I2C bus that has a high bandwidth need, you may be better off selecting an SPI or even I3C variant of that device. Buffering the unidirectional SPI would certainly be very easy, if it were even necessary. Further, depending on your layout needs, HS and non-HS devices can co-exist on the I2C bus. You could use HS with another device that needs it while communicating with the temperature sensor at non-HS speeds.

    As it stands, the temperature sensors do not produce enough data to warrant 2MHz communication. On the TMP9R01, it takes ~15ms per channel to measure temperature. This is ~30ms total for both channels, which equates to an update rate of about 32Hz. Consequently, the TMP9R01 Conversion Rate register can be configured for 32Hz. Fetching the data for each measurement would be at most (2+3)*4=20 bytes transferred, including bus overhead. You would only need a fSCL of about 6kHz to capture all the data the TMP9R01 is capable of producing (20*8*32).

    thanks,

    ren

  • Thank you, Ren! This was very helpful. At most, I will be interfacing with (2) of the TMP9R01 devices on the bus at a time. It sounds like 2MHZ is overkill.