Other Parts Discussed in Thread: C2000WARE
I made a control board with TMS320F28075. And with PLL, the CPU brings up in 80MH, 100MHz, 120MHz. But, strangely, it does not boot up in 60MHz settings.
Here is my code.
//***************************************************************************** // // Defines related to clock configuration // //***************************************************************************** // // 20MHz XTAL on controlCARD. For use with SysCtl_getClock(). // #define DEVICE_OSCSRC_FREQ 20000000U // // Define to pass to SysCtl_setClock(). Will configure the clock as follows: // PLLSYSCLK = 20MHz (XTAL_OSC) * 10 (IMULT) * 1 (FMULT) / 2 (PLLCLK_BY_2) // #if defined(SYSTEM_CLK_120MHz) #define DEVICE_SETCLOCK_CFG (SYSCTL_OSCSRC_XTAL | SYSCTL_IMULT(12) | \ SYSCTL_FMULT_NONE | SYSCTL_SYSDIV(2) | \ SYSCTL_PLL_ENABLE) #elif defined(SYSTEM_CLK_100MHz) #define DEVICE_SETCLOCK_CFG (SYSCTL_OSCSRC_XTAL | SYSCTL_IMULT(10) | \ SYSCTL_FMULT_NONE | SYSCTL_SYSDIV(2) | \ SYSCTL_PLL_ENABLE) #elif defined(SYSTEM_CLK_80MHz) #define DEVICE_SETCLOCK_CFG (SYSCTL_OSCSRC_XTAL | SYSCTL_IMULT(8) | \ SYSCTL_FMULT_NONE | SYSCTL_SYSDIV(2) | \ SYSCTL_PLL_ENABLE) #elif defined(SYSTEM_CLK_60MHz) #define DEVICE_SETCLOCK_CFG (SYSCTL_OSCSRC_XTAL | SYSCTL_IMULT(6) | \ SYSCTL_FMULT_NONE | SYSCTL_SYSDIV(2) | \ SYSCTL_PLL_ENABLE) #endif // // 100MHz SYSCLK frequency based on the above DEVICE_SETCLOCK_CFG. Update the // code below if a different clock configuration is used! // #if defined(SYSTEM_CLK_120MHz) #define DEVICE_SYSCLK_FREQ ((DEVICE_OSCSRC_FREQ * 12 * 1) / 2) #elif defined(SYSTEM_CLK_100MHz) #define DEVICE_SYSCLK_FREQ ((DEVICE_OSCSRC_FREQ * 10 * 1) / 2) #elif defined(SYSTEM_CLK_80MHz) #define DEVICE_SYSCLK_FREQ ((DEVICE_OSCSRC_FREQ * 8 * 1) / 2) #elif defined(SYSTEM_CLK_60MHz) #define DEVICE_SYSCLK_FREQ ((DEVICE_OSCSRC_FREQ * 6 * 1) / 2) #endif // // 25MHz LSPCLK frequency based on the above DEVICE_SYSCLK_FREQ and a default // low speed peripheral clock divider of 4. Update the code below if a // different LSPCLK divider is used! // #define DEVICE_LSPCLK_FREQ (DEVICE_SYSCLK_FREQ / 4) //***************************************************************************** // // Macro to call SysCtl_delay() to achieve a delay in microseconds. The macro // will convert the desired delay in microseconds to the count value expected // by the function. \b x is the number of microseconds to delay. // //***************************************************************************** #define DEVICE_DELAY_US(x) SysCtl_delay(((((long double)(x)) / (1000000.0L / \ (long double)DEVICE_SYSCLK_FREQ)) - 9.0L) / 5.0L) //***************************************************************************** // // Defines, Globals, and Header Includes related to Flash Support // //***************************************************************************** #ifdef _FLASH #include <stddef.h> extern uint16_t RamfuncsLoadStart; extern uint16_t RamfuncsLoadEnd; extern uint16_t RamfuncsLoadSize; extern uint16_t RamfuncsRunStart; extern uint16_t RamfuncsRunEnd; extern uint16_t RamfuncsRunSize; #if defined(SYSTEM_CLK_120MHz) #define DEVICE_FLASH_WAITSTATES 2 #elif defined(SYSTEM_CLK_100MHz) #define DEVICE_FLASH_WAITSTATES 2 #elif defined(SYSTEM_CLK_80MHz) #define DEVICE_FLASH_WAITSTATES 3 #elif defined(SYSTEM_CLK_60MHz) #define DEVICE_FLASH_WAITSTATES 5 #endif
Is there anybody succeeding in making it work?
Thank you.
