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.

F28M35H52C1 control processor appears to run at half speed

I have been working on a project using a Concerto Control Card with the F28M35H52C1 on board and have noticed that the ePWM modules run at half the expected frequency.  Furthermore, I noticed that the interrupts were running at half frequency.  I loaded cpu_timers_c28 from the examples and ran it and see that the LED flashes at .5Hz instead of 1Hz as the software says it should.  I verified that the M3 setup code appears to set up the chip to run the C28 processor at 150MHz with this line:

// Sets up PLL, M3 running at 75MHz and C28 running at 150MHz
SysCtlClockConfigSet(SYSCTL_USE_PLL | (SYSCTL_SPLLIMULT_M & 0xF) |
SYSCTL_SYSDIV_1 | SYSCTL_M3SSDIV_2 |
SYSCTL_XCLKDIV_4);

The system clock seems to be 75MHz or thereabouts instead of 150MHz.  Any idea what is going on?

Mitch H.

  • This problem seems to be related to another problem I have been trying to debug and which is discussed here:

    http://e2e.ti.com/support/microcontrollers/c2000/f/171/p/286817/1053524.aspx#1053524

    Without changing anything in the M3 code, I can run my code and see, based on a bit that I'm toggling and watching on a scope, that the chip is running at 150MHz.  When running at this speed, it regularly jumps to boot code and gets lost (see the above thread).  When I load something like cpu_timers_28 into flash memory, it will go back to the slower 75MHz speed and not jump to boot ROM.  I am not sure what puts it in the mode of running at 150MHz and jumping after a few seconds into boot ROM.  Last time I clicked the stop button, unplugged the two USB's and left the power on the motherboard for awhile before returning, reconnecting USB's, connecting to both processers, loading the same M3 code and my c28 code, and running, and at that point saw that the c28 speed was 150MHz and the code was failing with a jump to boot ROM.  Is there a way to change the clock speed in c28 code?  Again, I am not changing anything in my M3 or C28 code but sometimes the c28 will run at full speed (and when so running it doesn't execute long before it does a jump and gets lost in boot code), and if I simply load flash memory with code (cpu_timers_c28), the speed goes to half (75MHz).  By the way, when it is running at full speed, I can load adc_soc_c28 and it will also run for a few seconds and then jump to boot code.

    This could still be something with my code, but I'm thinking the clock shouldn't be switching like this.