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.

TMS320F280039C: Time taken to execute same set of instructions is relatively high

Part Number: TMS320F280039C
Other Parts Discussed in Thread: C2000WARE

I have a query regarding the F28003x processor. I have its Launchpad version.
I am using the onboard crystal oscillator of 20Mhz to create SYSCLK of 120MHz.
Compared to F2837xD Launchpad which has a SYSCLK of 200Mhz, I see it takes longer duration to execute the same set of instructions, twice or thrice even, on F28003x compared to F2837xD.
I need to understand whether I am missing something with the processor, whether some setting is causing significant time to execute instructions. I tried finding similar cases but couldn't on this platform so I need to check if someone here has seen such issues in the past in this processor, or some other processor in general has used long time to execute instructions and by changing some setting it started working fine.
If there are certain instructions/functions that can be used to check the time it takes to execute them and see if something is wrong by comparing with already benchmarked results of F28003x, with the execution, that would be helpful as well.

  • Hello,

    Could you share which code example are you running and how did you determine that your code is running slower? Are you running code from RAM or FLASH? 

    F2837xD has clock period of 5ns, whereas F28003x has clock period of 8.33ns. If you kept instruction to execute within same amount of clock cycles, F2837xD will execute task faster. 

  • Hi Stevan.
    I have a custom code with me for motor control, and it is complicated to explain, to say the least.
    I am running from Flash.
    I am using a logic analyzer to check, and for a particular algorithm, if F2837xD takes 7us, F28003x takes more than 14us to complete. 

    I agree that given the lower clock frequency, F28003x will be slower for the same set of instructions. 
    I am just trying to ascertain if something causes F28003x to become slower than the expected relative rate (5ns/8.33ns times slower to be exact).
    The algorithm has many code instructions to execute, including floating point (real32_T).

    Let me see if I can run a simpler example on both F28003x and F2837xD, and if it is slower than expected, I will get back to you, either here or as another question entirely, given that the context I have provided here is less.

    If there are any other things I can try out to check this, like certain instructions that can be used to quickly check whether the execution is as expected, or C2000Ware examples that can be quickly used to check and compare timings, please let me know. 

    Thanks.

  • Sumukh,

    There can be different reasons why your code runs faster for F2837xD. You could check if it runs with the same speed in RAM. 

    I agree that, for the start, it would be the best to take a simple example from C2000Ware, persay, ePWM or ADC example and compare if you see the expected performance.