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.

TMS320F280049: Can data setup/hold time SMBus 2.0?

Part Number: TMS320F280049
Other Parts Discussed in Thread: UCD3138

Dear Champs,

I am asking this for our customer following the timing concern of F28004x I2C/PMBus module to meet SMBus 2.0.

Referring to:

https://e2e.ti.com/support/microcontrollers/c2000/f/171/p/874162/3235147#3235147

The user can implement some software codes.

However, they are still concerned about the native hardware module timing.

See Sec 3.1.1 (Page 11) of

In Figure 3-1: SMBus timing measurements,

It says,

Thd:dat (Data hold time) as 300 ns (min) and Tsu:dat (Data setup time) as 250 ns (min).

In F280049 datasheet (http://www.ti.com/lit/ds/symlink/tms320f280049.pdf)

// I2C

Page 151 

Sec 5.12.2.1 I2C Electrical Data and Timing/Table 5-67. I2C Timing Requirements

It says,

th(SCL-DAT) Hold time, data after SCL fall as 0 ns (min)

tsu(DAT-SCL) Setup time, data before SCL rise as 100 ns (min).

// PMBus

Page 153

5.12.3.1 PMBus Electrical Data and Timing/Table 5-71. PMBus Standard Mode Switching Characteristics

tHD;DAT Data hold time after SCL fall as 300 ns (min)

tSU;DAT Data setup time before SCL rise as 250 ns (min)

Questions:

We are concerned that the F28004x I2C data hold/setup min time are different from those of SMBus 2.0 spec.

Would you please help clarify and confirm?

Is only F28004x PMBus can meet the data hold/setup min time of SMBus 2.0 or both F28004x I2C and PMBus can meet it?

Note that in Page 58 "Timing specification differences between SMBus and I2C"  of http://smbus.org/specs/smbus20.pdf

"SMBus defines a data hold time, the time during which SMBDAT must remain valid from the falling edge
of SMBCLK, of 300 nS. I2C defines this hold time as zero."

This is critical for the user to meet the spec of their end customers.

Wayne Huang

  • Wayne,

    I do believe that both I2C and PMBus module available in F280049 is compatible with SMBus2.0. I have raised this question again with design team and awaiting an answer from them. Please expect a reply before end of this week.

    Here my observations on difference between data hold time in I2C specs and SMBus specs:

    Table 2: SMBus AC specifications (Pg 17)

    http://smbus.org/specs/SMBus_3_1_20180319.pdf

    In this version of specs, it mentions data hold time as 0ns and not 300ns.

     

    Appendix D.3.3 Data Hold Time (Pg 83): In the same document, it explains difference in approach of I2C specs and SMBus 2.0 specs with respect to data hold time.

    From I2C specification in NXP

    Below snippet is from I2C specification which shows the data hold time of 0ns. But, please check the note specified below which talks about 300ns.

    https://www.nxp.com/docs/en/user-guide/UM10204.pdf

     

    PMBus is complaint with SMBus. Below snippet from PMBus specs says that PMBus device must use SMBus_2.0 for transport layer.

     Page 11:    Section 5         Transport

    http://pmbus.org/Assets/PDFS/Public/PMBus_Specification_Part_I_Rev_1-2_20100906.pdf

     

    Regards,

    Manoj

  • Wayne,

    Sorry, I meant to attach this snippet from PMBus specs which specifies the PMBus devices must support operation at 100 KHz as described in SMBus specs. When are working with 100 KHz, standard mode timing apply.

    Pg 15 of PMBus specs below:

    Regards,

    Manoj

  • Wayne,

    I got confirmation from design team that PMBus is indeed complaint with SMBus2.0. I'm still awaiting for confirmation regarding I2C.

    Regards,

    Manoj

  • Wayne,

    I still haven't received confirmation regarding I2C compliance. I will keep you posted on the developments after my discussions with design team. As of now, I don't have any timeline yet.

    But, would the customer be happy with only PMBus complaint with SMBus2.0 (or) they want SMBus2.0 compliance on both I2C and PMBus?

    Regards,

    Manoj

  • Dear Manoj,

    It's OK to confirm SMBus 2.0 compatibility carefully because it's critical to them in many projects.

    In this case, the user will need SMBus 2.0 (many projects) and/or PMBus 1.2 (some projects), and they will also add some more own codes on top of them to make the communication more robust for their end customers based on the spec.

    As we know, our PMBus module can meet SMBus 2.0 because they use the same spec of physical layer.

    The next questions are

    1) For those projects with only SMBus 2.0, can they use only F28004x PMBus module and add their own codes on top of it? They only need SMBus 2.0 (physical layer) without the extra PMBus 1.1 protocols/commands. Can they disable or bypass PMBus 1.1? That is, the host MCU supports only SMBus 2.0 master, and F28004x PMBus module supports only SMBus 2.0 slave. When they communicate with each other, our PMBus module does not send any unnecessary commands/data to confuse the host. Is it feasible?

    2) For those projects with PMBus 1.2, can they add more codes on top of our PMBus 1.1 module to support that?

    Wayne Huang

  • Wayne,

    1) Yes, you should be able to use PMBus as SMBus2.0. But, you need to develop software stack for SMBus2.0. It is my understanding that PMBus wouldn't send any unnecessary commands commands to confuse. But, I shall check this and get back with you.

    2) As of now, we support only 1.1. We need to understand the difference between 1.1 and .1.2 to comment on this item.

    I shall get back with you on both these items.

    Regards,

    Manoj

  • Wayne,

    Is C28x.I2C complaint from hardware timing perspective to SMBus2.0 / PMBus1.1?

    Got a confirmation from design that, I2C is indeed complaint from timing perspective. even though data hold time is mentioned as 0ns in I2C specs, it mentions and note saying device internally hold line high for 300 ns. Design confirmed that we do comply this requirement. So, I don't see any concerns of meeting timing requirement specs.

    PMBus available F280049 is originally from UCD3138. UCD3138 engineer confirmed to be that they have been successful in supporting PMBus 1.2 on UCD3138. So, I expect the same from F280049 PMBus as it is the same design.

    Regards,

    Manoj

  • Dear Monoj,

    Let me check again.

    That is, both F28004x I2C and PMBus modules are compliant to the spec of SMBus 2.0 like below.

    tHD;DAT Data hold time after SCL fall as 300 ns (min)

    tSU;DAT Data setup time before SCL rise as 250 ns (min)

    Is my understanding correct?

    Wayne Huang

  • Wayne,

    Yes, you're understanding is correct!

    I2C Timing requirements shown in F280049 DS is applies for Fast mode and not for standard mode. I will be fixing these tables before next DS release.

    Regards,

    Manoj

  • Dear Manoj,

    Thank you for your confirmation.

    Wayne Huang