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.

TMS320F203X Performance Questions

- When running at 60 MHz sysclock, the data sheet indicates a wait state of 2 for flash random and 2 for flash page access.  Does this imply that ALL flash access will be delayed now by 2 clocks?!  That is, every instruction  fetch  (assuming single cycle instructions) from Flash is delayed by 2 clocks.  Does this imply my effective MIPS is now only 30 MIPS for a 60MHz clock?  The demo code for FOC actually is using a wait state value of 3, is there a reason for this?  The microchip part we are using now is running at 40MHz and does not have wait states. 


-- The FOC performance data is specified as:

For the Dual Axis Kit these optimizations allow for the following on 60 MHz Piccolo F28035:
Each FOC Axis @ 10 KHz = ~12 MIPS


Is this 10KHz operation a linear interpolation, such that if I run at 20KHz for the FOC, we would use 24 MIPs?  30KHz would be 36 MIPs? 

Is this 10 KHz based on PWM Frequency? It's not clear.

  • Tom,

    I can't answer the FOC questions. However, I can answer the flash wait state questions. First of all, to clarify, a wait state is how many additional CPU cycles are inserted. So, 2 wait states actually means it takes 3 CPU cycles total every flash access. That said, the F28035 flash has a pair of flash prefetch buffers to speed up the effective MIPS. The flash word is actually 64 bits wide, whereas most 28x instructions are 16-bits wide, with some 32-bits instructions thrown in. Therefore the prefetch buffers can fetch the next logical address while the CPU is processing the previous flash word, effectively speeding up the flash accesses. Of course, your actual effective speed will depend on how many 32-bit instructions and branches are in your code (branches require a flush of the prefetch buffers). I can't remember the exact benchmarks, but at 2-wait states, I think most user code should be in the 90%+ effective MIPS range. This would put it at 54MIPS+ for 60MHz.

    I suspect the 3 wait states on the FOC demo is that it may have been created before the flash access time was finalized, so they used 3 to be safe. I don't know. Regardless though you should use the datasheet number.

    Regards,
    Dave Foley