SPRUHM8K December 2013 – May 2024 TMS320F28374D , TMS320F28375D , TMS320F28376D , TMS320F28377D , TMS320F28377D-EP , TMS320F28377D-Q1 , TMS320F28378D , TMS320F28379D , TMS320F28379D-Q1
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 or HALT 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 its own independent clock gating that is controlled by the CPU's PCLKCRx registers. By default, the ePWM, EMIF1, and EMIF2 clocks each have an additional /2 divider, which is required to support CPU frequencies over 100 MHz. At slower CPU frequencies, these dividers can be disabled using 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 assign a peripheral to either CPU1 or CPU2. This register must be configured prior to 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.