SPRUII0F May 2019 – June 2024 TMS320F28384D , TMS320F28384D-Q1 , TMS320F28384S , TMS320F28384S-Q1 , TMS320F28386D , TMS320F28386D-Q1 , TMS320F28386S , TMS320F28386S-Q1 , TMS320F28388D , TMS320F28388S
Each CPU provides a clock (CPU1.SYSCLK and CPU2.SYSCLK) to its CLA, DMA, and most owned peripherals. This clock is identical to PLLSYSCLK, but is gated when the CPU enters STANDBY mode.
Each peripheral clock can be connected to either CPU1.SYSCLK or CPU2.SYSCLK. This selection is made by CPU1 using the CPUSELx registers. Each peripheral clock also has an independent clock gating that is controlled by the CPU PCLKCRx registers. By default, the ePWM, EMIF1, and EMIF2 clocks each have an additional /2 divider, which is required to support CPU frequencies over 100MHz. At slower CPU frequencies, these dividers can be disabled via the PERCLKDIVSEL register.
A peripheral may be assigned to either CPU. That is, code for a peripheral can be executed from either CPU1 or CPU2. CPUSELx register is used to assign a peripheral to either CPU1 or CPU2. This register must be configured before enabling the clock for the chosen peripheral since the clock for each peripheral is derived from the selected CPU subsystem. The clock multiplexer controlled by the CPUSELx register is not glitch-free. Therefore the CPUSELx register must be configured before the PCLKCRx register. Note that the reset for each peripheral is also driven from the selected CPU.