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.

TMS320F28386D: PLL clock

Expert 2350 points
Part Number: TMS320F28386D

Does  CPU1 and CPU2 share one PLL clock?

Or Each of them has the private PLL clock?  (TMS320F28386D)

  • Due to it makes us confused that When I check the  AUXPLLSTS Register by debug. I shows different result between CPU1 and CPU2.

  • Hello,

    Clock configuration registers cannot be simultaneously accessed by both CPUs. By default, they are configured using CPU1. However, CPU2 can grab control of the registers if required using the clock configuration semaphore (CLKSEM). For more information, please see "C28x System Control and Interrupts > Clock Configuration Semaphore" in the F2838x Technical Reference Manual.

    CPU1 and CPU2 are clocked by SYSPLL. AUXPLL is used for the Connectivity Manager subsystem, and some external interface clocks like USB, EtherCAT and CAN. That said, each C28x CPU subsystem has its own clock domains (CPU1.CPUCLK/CPU1.SYSCLK and CPU2.CPUCLK/CPU2.SYSCLK), but these are derived from the same PLLSYSCLK.

    Best regards,
    Ibukun

  • Yes, I try invoke  SysCtl_setSemOwner(SYSCTL_CPUSEL_CPU2);  It works now.

    But I am confused that CPU2 only want the read access in the default semaphore  but this mechanism forbid.

     

  • CPU2 cannot read the registers while they are owned by CPU1. They will read as 0. The peripheral bus access is exclusive to the owner CPU.