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.

TMS320F28375D: CPU Clocking

Part Number: TMS320F28375D

Hi.

I am working with tms28375d microcontroller. I am trying to use 200MHz system clocking, however i am running into problem when i am trying to run the code on CPU. I am getting the following error if i try to set exactly 200MHz frequency. 


I am using the libraby provided function InitSysPLL with the following settings. My External clock frequency is 20Mhz.


After reading the datasheet I've noticed that in some examples the frequency wasn't eactly set to 100MHz, but a slightly smaller value? Why? Should i also use a slighly smaller value for 200Mhz clock? Is it possible to set exactly 200Mhz clock?




Thank you for your responce.

Best regards.

  • Hi,

    The subject matter expert is out of office due to holiday break. He will get back to you during first week of January. Sincere apology for inconvenience.

    Regards, Santosh

  • Aleksandr,

    The example code you have shown is accounting for potential error in the source clock, to prevent the device from being clocked >200MHz.  If you are using the internal 0 pin oscillator this is a bigger concern, since over temperature it has an error term that would easily violate 200MHz, if we assumed 10MHz always and multiplied by 20.

    For your case, with an external clock, this is less of an issue, although it is probably worth understanding the tolerance of your clock to understand any limitation here.  You would need to account for this error and configure the PLL according to not exceed 200MHz.

    With that said, I'm doubtful that is causing the emulator disconnect, I'm assuming the CCS error message you have tracked down to happening after you attempt to set the PLL in your code.

    Can you try the following to see if there is any difference:

    InitSysPll(XTAL_OSC, IMULT_20, FMULT_0, PLLCLK_BY_2);

    While I don't see any issue with our InitSysPLL() function in terms of passed variables, the above is what we use in our examples and I'd like to see if there is any difference.  This will set the PLLRAW output to 400MHz, but still give 200MHz to the CPU.

    Best,

    Matthew