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.

Connecting three tms320c6671s to one MCU

Other Parts Discussed in Thread: TMS320C6671


I am in trouble with connecting DSPs to MCU,

Actually I planed to connect three DSPs to MCU over SPI first, but found that DSPs support only master mode and don't support multiple master mode.

The MCU supports also I2C, but maximum bit rate does not meet system requirement.

 1> Can tms320c6671 be operated as a peripheral?

I didn't find any CS pin in 6671, so I don't think I can use MCU's external bus i/f.

Am I right? Or, if I am wrong, please let me any clue.

2> 6674 instead of three 6671s

The system should process three high speed signals at once.

If I use 6674 instead of three 6671s, is it possible that three cores can  access different area of internal shared memory or external DDR3 memory at the same time?

  • Hi Yoonusun,

    Ans1. C6671 DSP does not support SPI slave mode.

    Ans2. If you use C6674 instead of three 6671s, It is possible.


  • Hello,  Ganapathi

    Sorry for unclear question.

    Q1. My question was not about SPI.

    I need to transfer some Mbps data between MCU and DSPs.

    I think that the only way to transfer data is using external bus interface of MCU,

    Actually I don't want to change MCU, because my company have verified circuit and code for it.

    There are 16 GPIO ports in c6671.

    I need to know if  I can connect this GPIO pins to external bus interface lines(data, addr, cs, etc..) of MCU.

    Is there any related example code or document?

    Q2. My application has three channels and data speed of each channel is very high.

    FPGA can transfer three channel data to memory of c6674 at once.

    However after storing to memory, each core should process each data at a the same time by reading data from memory.

    There is a interface for memory, so I wonder that how does each core access memory at the same time.

  • Hi Yoosun,

    Let me provide an answer to question 1. You appear to be looking for a method of accessing the C667x device as a peripheral device. As you noted, neither the SPI or the EMIF16 can operate as a peripheral. Using the GPIOs as an interface is possible but it is unlikely that you would be able to transfer the data a faster rates. I'm not aware of anyone using the GPIOs to provide a peripheral interface to this device. When this part was designed, it was expected that one of the serdes interfaces would be used to transfer data at faster rates. Normally we see customers using the PCIE or SRIO interface to move data. 

    I need more information associated with question 2. You mentioned that your FPGA would transfer data to the memory of the c6674. Which memory are you referring to and how do you plan on accomplishing the transfer?

    Regards, Bill

  • Hello Bill,

    I understand now that GPIOs are not appropriate for fast data transfer. I am trying to find another way.

    Concerning this, I heard that multiple DSPs can share there internal or external memory(such as DDR3) over PCIe.

    Is it true? If it is true, can I see the related information?

  • Hi Yoonsun,

    Each DSP will need it's own DDR3 but you can use PCIE to transfer data from one DSP to another. I would suggest that you post that as a new question. The team supporting the MCSDK can provide a better answer than I can.

    Regards, Bill