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: UCD3138 No pmbus devices responded to a DEVICE_ID request

Part Number: UCD3138

Tool/software: Code Composer Studio

Hello!
Have a problem with PMBus connection. When I download the firmware the programm on the board works correct without any errors but I haven't PMBus communication. The functional code I wrote myself. This is not the first code for the UCD3138 for our topology but I never have this problem before. I nothing changed in system files. Tell me please where could be wrong. All another our projects as well as codes from TI work correct on the same develop board.

  • Hello Andrey,

    As the first step, please disable your interrupts and see if PMBus communication works.

    As if the interrupts getting invoked too often, or you do not clear the interrupt flag at the end of the ISR, PMBus(Or any thing else called from main) will not work.

    Also check that you do not configure any of the PMBus pins as GPIO, via GLBIO, or reroute the PMBus signals through IOMUX.

    Hope this helps.

    Regards,

  • Dear Yitzhak,

    without interrupt the PMBus comunication is ok. I will check the code in  the interrupt routines. Thank you

  • Hi Andrey,

    If the above fixes the issue, please set the status of this post to resolved.

    Regards,

  • Dear Yitzhak,

    I thought that problem was in this function. Is it could be? I checked the interrupts and didn't found some problems there.

    if (erase_segment_counter > 0)
    {
    erase_task(); //Handle the DFlash segment erases
    }

    I tried to use this function as it used in LLC code from TI. I adapted (flash.c and another)  and it identical now but can't decide the simple problem with compiler. Errors 20 and 71. Can't find where is changed it. How can I resolve it?

  • Dear Yitzhak,

    Problem was very simple as you said. One of the Interrupt routines. Thank you very much!

    I recreate my project and now it works correct. 

    But for me interesting how to resolve the problem with #20 and #71 errors in my previous workspace (I posted above). I recreate the project because when I found the main error I couldn't delete these new erorros. 

  • Hi Andrey,

    Do you have the following inside the file cyclone_device.h?

    #ifndef CYCLONE_DATA_TYPES

    #define CYCLONE_DATA_TYPES

    typedef signed char int8;

    typedef char Uint8;

    typedef short int16;

    typedef unsigned short Uint16;

    typedef int int32;

    typedef unsigned int Uint32;

    typedef long long int64;

    typedef unsigned long long Uint64;

    typedef Uint16 PM11; // PMBus literal format. Top 5 bits are exponent,

    // bottom 11 bits are signed integer

    #endif

    Do you have the cyclone_device.h included in your project and in the file that causes the errors?

    If the problem is not resolved, please open up a new post with this problem.

    As this is a different issue from the originally reported issue .

    Regards,