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.

Upgrading DSC TMS320F28335 to a more powerful but compatible DSC ?

Other Parts Discussed in Thread: TMS320F28335

Dear all,

I am currently using in my project the TMS320F28335, however, it is currently running out of RAM memory (68K) to store the program. I was considering the option of upgrading to a more powerful DSC with more RAM memory (and possibly other advantages), however, since the project is quite in an advanced situation, I would like this other DSC to be as much compatible as possible (in the ideal case, just replacing the chip).

Thus, do you know if there is a 100% compatible DSC with the F28335 ?? In case there isn't, which one would be the 'most compatible'  one and what are the most important changes I would have to do?

To give more information, i'm using the 176 pin version of the F28335, and I saw that the F2837X family has also that possibility, however, the more similar the pin distribution is, the better it would be (ideally the same, of course).

Best regards,

Jorge.

  • Hi Jorge,

    Some thoughts:

    1) You are right to be looking at the F2837x family.  It has a number of enhancements and is the chip I would recommend when someone is looking to upgrade their F28335. 

    • It is an upgrade.  Aside from frequency and memory, the new F2837x family also features up to four dedicated ADC peripherals, upgraded PWM capabilities, some new peripherals (like the sigma-delta filter demodulator + on-chip comparators), and the introduction of some useful accelerators (like the TMU + CLA).  All are beneficial to many applications and can simplify many systems. 
    • We try and architect our devices to be similar, but there will be some differences between chip families (because we often improve the devices).  The ADC will be one of the bigger changes between the two device families.  Please note that non-peripheral code should work directly. 
      • The pinout will be different
      • The C2000 peripheral reference guide should help you do a comparison of peripherals: http://www.ti.com/lit/spru566

    2) Because you mention that your project is in an advanced state, I will also list some options which may make your F28335 work, if feasible.  And then, for a future project, you could investigate the newer F2837x devices.

    • You mention that you're running much of the program out of RAM.  Is it possible for some of the code that you're running from RAM to be located in FLASH instead?  You may then be able to optimize the memory usage via your project's linker command file (and the .map file which gets generated after linking)
    • If you're not using optimization, you could experiment with using it.
    • The F2833x does have an external memory interface (XINTF).  You could use it to 'extend' the RAM - it will not be zero-wait state like the internal RAM, but it may meet your needs.  Ideally, this external memory would only contain data objects & the program will run from internal RAM/FLASH.


    Thank you,
    Brett

  • Hello Brett,

    Thank you for your tips. I think that I will be trying to use the external memory interface and also play with the optimization tool, since the change to that DSC family would be a lot more complicated than I thought.

    However I have one more question: how much time is TI planning to give support to the F2833X family? What is its life time?

    Thank you and best regards,

    Jorge.

  • Hi Jorge,

    Hopefully I didn't scare you too much.  Porting/Moving to a F28377x is certainly feasible, but there is some work involved.  I have done this type of work several times.   If you were < 0.5 through your project, moving chips may be worthwhile - especially if it looks like your project will need a lot more RAM. 

    The C2000 series is heavily used in industrial systems where products are commonly made for many years without a major redesign.   I would not have any concerns today using a F28335 device in a project.


    Thank you,
    Brett

  • Dear Brett,

    I was a bit surprised by the following line:

    Speed: RAM is faster than Flash. Flash is faster than XINTF.
    In: http://processors.wiki.ti.com/index.php/C28x_Compiler_-_Understanding_Linking

    We were planning on using external RAM through the XINF interface in order to run non time critical code, because I thought Flash was much slower than any RAM.

    So the question is simply, Flash will run data code faster than external RAM?

    How much worse code execution performance gets when running code in Flash instead of in Internal RAM? (assuming that the corresponding data sections are in the same
    internal RAM).

    Thank you in advance!

    Ricardo

  • Hi Ricardo,

    It is important to consider whether the memory in question is program or data memory.

    The following post should clarify things some (for the F28335):
    https://e2e.ti.com/support/microcontrollers/c2000/f/171/p/264130/923549#923549

    Notice that the internal FLASH has a prefetch mechanism which helps program execution performance significantly (assuming it is enabled).  The prefetch's ability to speed up execution is dependent on how branch-y the program code is.


    Thank you,
    Brett