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.

TMS320F28335: Direct inter DSP data read/write between multiple TMS320F335 DSP's. How to do it? Best way to do it? Any examples?

Part Number: TMS320F28335
Other Parts Discussed in Thread: TMDSDOCK28335

I am a user of the TI eval board for the  TMS320F28335, also known as TMDSDOCK28335

This uses a 100 pin DIMM.

I want to gang several of these DSP boards together where one DSP copies a set of floating point numbers into memory of a second identical eval board,,,,,and so on.

I believe SPI can be used to do this with interrupts.

Has anyone ever done this? Are there tutorials or app notes on how to do this?

I also think DMA or external zone based memory accesses can  also be used but I do not know enough about it, I am also not sure if the 100 pin DIMM eval board has the pins necessary to do it,

Does anybody know if this has been done and if so are there any reference designs or tutorials?

Basically all I want to do is distribute processing to a number of parallel DSPs to improve execution time, and do some inventive programming and architecting.

What I am looking for is suggestions and hints and ideally a detailed example. But if there are none I would also be very happy just knowing it is possible and then I will spend time figuring out the details.

Thanks.

Michael Richards

President

Algozen Corporation

  • Michael,

    I don't think we have readymade example (or) an appnote which we can share. But, we shall look into this request and get back with you in Wednesday / Thursday next week.

    Regards,
    Manoj
  • Thank you I certainly appreciate your support.
  • Michaels,

    It is certainly possible to distribute computing across DSPs, but I am not aware of any ready packaged examples doing this across devices.

    The following points are FYI when planning a distributed compute setup (and may be they have worked these out already):-

    - Estimated data movement time for 1 32-bit (Single precision Floating point) using SPI can be anywhere between 0.3 us to 0.5 us or more. A very gross estimate with SPI running at about 10-20 Mhz and factoring other device data movement overheads.

    - The same data rates have to be factored for synchronizing the distributed computation.

    - Data movement can happen in parallel to the compute by using DMA, but the synchronization overhead will directly hit the computation efficiency.

    One difference between SPI and EMIF/XINTF is that SPI can be setup as a single master and multiple slave configuration, but that won’t be straight forward through an EMIF/XINTF.

    Regards,
    Manoj
  • Hi Michael,

    One thing to be aware of is that the SPI peripheral on this device does not have DMA access.  However, this device also has McBSP peripherals & each of these has DMA capability & a SPI operational mode.

    Because of this, I might recommend utilizing the McBSP preferentially - depending on your exact system architecture.


    (It may not be an option for you, but do note that the newer F2837x series of C2000 devices has a TMU module which can speed up the calculation of trigonometric functions & some other common math functions if this is a common need for your application; that device also runs at 200MHz)


    Thank you,
    Brett