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.

TMS320C28346: Maximum external RAM size.

Part Number: TMS320C28346
Other Parts Discussed in Thread: TMS320F28379D

Hi Guys, I've just discovered the 300Mhz TMS320C28346.

Can you please answer these very important questions. We may change our product design if we can get around the following questions.

1. The C28346 has no flash memory to run its code so I'm assuming the code would probably run from internal ram or from a SPI Flash IC.

2. The C28346 only has 258K of internal ram. Does that mean the largest code it can run is only 258K? Thats not enough to store our firmware for our commercial product. 

3.  The XINTF (external ram controller) has an address space of only 20bits, Thats only 1MB (Megabyte). Still not enough ram to store our firmware in external memory. 

4. Can the C28346 run code from external memory? I checked the manual and I can't seem to find it. It does say from internal memory tho but thats only 258K.

5. Can the C28346 run code from an external SPI Flash IC which would be good BUT the manual says the highest data transfer speed for the SPI is 25Mhz. Too slow for our product.

I'm looking at the C28346 because the CPU is a C28x and it runs at 300Mhz speed. This is perfect for our product but it looks like we can't store our firmware anywhere to actually use it.

Our firmware at the moment is 2.5MB (Megabytes) and slowly increasing as I'm writing it. 

Please let me know if we can get around the limitations of the above mentioned question.

Thanks guys and the BEST advice is right here. :)

Peter

 

  • Peter Adamcik said:
    1. The C28346 has no flash memory to run its code so I'm assuming the code would probably run from internal ram or from a SPI Flash IC.

    The C28 can only execute instructions from internal RAM or XINTF memory. Any code stored in SPI flash would need to be relocated to internal RAM or XINTF before it can be executed.

    Peter Adamcik said:
    2. The C28346 only has 258K of internal ram. Does that mean the largest code it can run is only 258K? Thats not enough to store our firmware for our commercial product.

    The C28 can execute instructions out of XINTF memory.

    Peter Adamcik said:
    3.  The XINTF (external ram controller) has an address space of only 20bits, Thats only 1MB (Megabyte). Still not enough ram to store our firmware in external memory.

    The short answer is that you will be able to access 4MB of XINTF memory.  Because:

    A) XINTF supports multiple CS signals signals, and
    B) C28 is not byte-addressible. Every C28 address represents a 16b word

    So the datasheet Features shows > 2M x 16b XINTF reach:

    Peter Adamcik said:
    4. Can the C28346 run code from external memory? I checked the manual and I can't seem to find it. It does say from internal memory tho but thats only 258K.

    Yes, this is indicated by the availability of the XINTF addresses in Program Space:

    Peter Adamcik said:
    5. Can the C28346 run code from an external SPI Flash IC which would be good BUT the manual says the highest data transfer speed for the SPI is 25Mhz. Too slow for our product.

    No, instructions cannot be executed out of the SPI module.

    Peter Adamcik said:
    I'm looking at the C28346 because the CPU is a C28x and it runs at 300Mhz speed. This is perfect for our product but it looks like we can't store our firmware anywhere to actually use it.

    Our firmware at the moment is 2.5MB (Megabytes) and slowly increasing as I'm writing it. 

    Please let me know if we can get around the limitations of the above mentioned question.

    Keep in mind that word fetches through the XINTF interface are slower than internal RAM fetches so the C28x will not achieve full 300MHz processing capabilities when executing out of XINTF.

    If you are able to leverage parallelism in your processing, you can also consider a newer device like TMS320F28379D. It has two 200MHz C28x+CLA systems, embedded flash, additional accelerators, updated peripherals, and (when I last checked) a lower 1ku price tag.