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.

CCS/UCD3138: UCD3138HSFBEVM-029 : Set the PMBUS Address

Part Number: UCD3138

Tool/software: Code Composer Studio

Hello, I was recently learning the UCD3138HSFBEVM_029 demo board , and want to connect two demo doards in parallel. However, I am confused about the PMBUS address.

In the "Using the UCD3138HSFBEVM-029 User's Guide", R67 is used to change the PMBUS address, so I repalced the original resistance with a new resistance(R67=36k). When I download the code through GUI, it can't connect the device and reported the SETUP_ID、MFR_REVISION、MFR_IC_DEVICE and other information are in "NACK" state. I wonder if the value of resistance is not appropriate, and  if I need to modify the code?  I expect to know how can I set the address correctly, thank you very much!

 

Looking forward to your reply!

  • On the current version of HSFB firmware the address is not set through resistors.

    It is set to 0x58 by calling  the function init_pmbus(0x58);

    void init_pmbus(int32 pmbus_address)

    {

    PMBusRegs.PMBINTM.all = 0x1FF; //disable all PMBus interrupts

    PMBusRegs.PMBCTRL2.all = PMBCTRL2_HALF0_PEC_ENA

    + pmbus_address

    + PMBCTRL2_HALF0_SLAVE_ADDRESS_MASK_DISABLE

    + PMBCTRL2_ALL_RX_BYTE_ACK_CNT;

    pmbus_state = PMBUS_STATE_IDLE; //initialize state to no message in progress

    #if (UCD3138A64|UCD3138128|UCD3138A64A|UCD3138128A)

    PMBusRegs.PMBACK.all = 1; //ack previous message already - ROM doesn't.

    #endif

    }

    If you want to set two boards with different PMBus address please change in address inside the input parameter paranteses of the function and download to a second board.

    Regards,

  • Thank you very much! I got it.