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.

TMS320F28035: Restart issue with PMBus

Part Number: TMS320F28035
Other Parts Discussed in Thread: CONTROLSUITE, C2000WARE

Dear Champs,

I am asking this for our customer.

The user uses the PMBus master from

C:\TI\controlSUITE\libs\app_libs\comms\PMBus\v100

Does it support repeat start?

It seems there is something wrong with restart.

From the below figure, there should be restart without STOP, but it seems wrong.

In below figure, it is supposed to be so.

Would you please help us clarify if there is something wrong with restart?

Or if there is anything wrong with our understanding?

Wayne Huang

  • Hi Wayne,

    Are you asking if the PMBUS driver supports repeated start by default, i.e. without needing to edit the SW? I'll need to dig into this I2C to PMBUS driver and get back to you, as I'm not all that familiar with it.

    Is the communications working OK the way it is and your just wondering how to do repeated START conditions? Or is it not working at all in its current state?

    Can you share what functions from the driver the customer is currently using or curious about? Maybe the below:

    void I2CMaster_Transmit(Uint16 I2CMaster_ByteCountTx, unsigned char *I2CMaster_TxArray, Uint16 I2CMaster_ByteCountRx, unsigned char *I2CMaster_RxArray)

    Best,

    Kevin

  • Kevin,

    Yes.

    The user has modified the code and fixed the issue.

    However, it would be better if our code could support it by default.

    If you have time to update it, please fix and update it.

    Also, do you know if F28004x will have the same issue?

    (The user has not yet evaluated it.)

    Wayne

  • Hi Wayne,

    ControlSuite is no longer being updated and has been replaced by C2000ware. The user will have to make this software change on their own if they want to use repeated start conditions.

    Wayne Huang said:
    Also, do you know if F28004x will have the same issue?

    F28004x has an actual PMBus module rather than using I2C to emulate it, so the software implementation will be pretty different. There aren't examples for the F28004x PMBus available at this time on C2000ware.

    Repeated start conditions can definitely be implemented using the bit-fields (header files). Looking at the DriverLib files it looks like Repeated start conditions can be implemented as well. Below from pmbus.h driverLib file:

    //! -# In cases where the master must transmit for example, process call,
    //! the user must call PMBus_putMasterData(), then configure the master to
    //! transmit the command and two bytes, then call PMBus_getData() to
    //! read two bytes from the slave. The master module need not be reconfigured
    //! between write and read whenever a repeated start is involved in the
    //! transaction

    best,

    Kevin

  • Kevin,

    Thank you for your information.

    Wayne