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.

[FAQ] TMP139 - Can I use TMP139 with a MIPI I3C Controller?

Other Parts Discussed in Thread: TMP139

Does TMP139 Support MIPI I3C?

Does TMP139 support broadcast update on the bus?

Does TMP139 support dynamic addressing?

Then why is dynamic addressing required?

Does TMP139 Support IBI the same as MIPI I3C? Will the SDA Pin work the same way?

Why does TMP139 have a 1.0V IO Supply?

Can TMP139 be used with an I2C Controller?

What other features does TMP139 have that can be useful in my system?

  • Brandon Fisher94 said:
    Does TMP139 Support MIPI I3C?

    Yes. MIPI I3C defines a Common Command Code (CCC) structure. While not supporting 100% of commands, there is sufficient coverage of required commands for interoperation of TMP139 with a MIPI I3C controller.

    MIPI Required Functions

    TMP139 Support

    Comments

    In Band Interrupt (IBI)

    Yes

     

    Broadcast ENEC (Enable Event Control)

    Yes

     

    Broadcast DISEC (Disable Event Control)

    Yes

     

    Broadcast RSTDAA (Reset Dynamic Addr Assignment)

    Yes

     

    Broadcast ENTDAA (Enter Dynamic Addr Assignment)

    Not Required

    MIPI States that if ENDTAA is not supported then SETAASA must be supported

    Broadcast SETMWL (Set Max Write Length)

    Not Required

    Only for variable payload lengths

    Broadcast SETMRL (Set Max Read Length)

    Not Required

    Only for variable payload lengths

    Broadcast RSTACT (Reset Action)

    No

    Slave reset is not mandated

    Direct ENEC

    Yes

     

    Direct DISEC

    Yes

     

    Direct SETMWL/SETMRL

    Not Required

    Only for variable payload lengths

    Direct GETMWL/GETMRL

    Not Required

    Only for variable payload lengths

    Direct GETSTATUS

    Yes

     

    Direct RSTACT

    No

    Slave reset is not mandated

    Brandon Fisher94 said:
    Does TMP139 support broadcast update on the bus?

    Yes. Multiple TMP139’s can be configured using the broadcast DEVCTRL CCC, which allows the application to quickly configure the same parameters on all the TMP139’s on the bus. This mechanism can also be used to synchronize the temperature conversion.

    Brandon Fisher94 said:
    Does TMP139 support dynamic addressing?

    No. Dynamic addressing is useful when different types of devices have address contention.  If multiple temp sensors are used, even with dynamic addressing, a unique identifier is needed to identify which device is being dynamically mapped. This is usually done thru pin-straps, fuses, or NV memory.  TMP139’s SA pin can be tied to VDD/GND to provide 2 addresses.   

    Brandon Fisher94 said:
    Then why is dynamic addressing required?

    The dynamic address is important when changing the priority of a target device so that IBI from the device can be increased or decreased. Most customer systems do not need to change the priority if they know which sensor is placed at what location. Thanks to pin-strap on the TMP139, the need for dynamic addressing is very much mitigated.

    Brandon Fisher94 said:
    Does TMP139 Support IBI the same as MIPI I3C? Will the SDA Pin work the same way?

    Yes. The In Band Interrupt (IBI) support in TMP139 is the same as required at the protocol layer. TMP139 will drive the SDA pin to inform the controller of a critical condition. MIPI again gives flexibility in the Mandatory Data Byte (MDB) encoding allowing the TMP139 to be used seamlessly.

    Brandon Fisher94 said:
    Why does TMP139 have a 1.0V IO Supply?

    TMP139 is a JEDEC Sideband Bus compliant device which requires the IO supply to be 1.0V. However, the IO supply can be extended to 1.98V if you have controllers or FPGA working with 1.2V or 1.8V IO levels. Additionally, when using the TMP139 with 1.2V, the 0.95V minimum supply gives your application enough headroom, that you can exceed the supply tolerance from 10% up to 20%. This allows TMP139 to be well suited for application which may have large supply variations due to system noise.

    Brandon Fisher94 said:
    Can TMP139 be used with an I2C Controller?

    Yes. The I3C capabilities do not interfere with the TMP139's ability to operate in I2C mode. This enables both forward and backwards compatibility with MCU generations with the same software. This also enables a firmware engineer to prototype on an older generation processor while waiting for a next gen processor with I3C capabilities.   

    Brandon Fisher94 said:
    What other features does TMP139 have that can be useful in my system?

    TMP139 has a default temperature read mode, which allows the host to start a read without having to send the address pointer. This improves the bus efficiency by 40%, as the host does not need to set the read pointer and then read the temperature value. Additionally TMP139 supports packet error check (PEC) that can be added for additional error detection if there is concern of data corruption to a switching noise close to the I3C bus.