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.

TMS320C6678: Interfacing C66x DSPs to USB and other microcontrollers

Part Number: TMS320C6678
Other Parts Discussed in Thread: AM5706, AM5728, AM5726, 66AK2E05, 66AK2H12, 66AK2G12

I'm working on several products that will benefit from as much DSP resources as possible, but at least a few of these products wont require a microcontroller, due to low complexity of the application software (primarily DSP computation intensive). The TMS320C6678 and 6657 seem like attractive DSP options for this. One product will likely be a PCIe card for desktop PCs, where the integrated PCIe interface can be used. However, I would also like to make a portable USB 2.0 high speed product, possibly also with Ethernet.

It seems these DSPs have Gigabit Ethernet peripherals, but I don't see anything obvious which could interface with USB. The SPI interface appears to be master only. The only straightforward option I can see is using a USB to UART bridge, but that would severely limit the amount of data throughput.

I also looked at the AM57x Sitara processors with built in C66x DSPs. I may just end up using one of those (like the AM5706) interfaced to the C6678 or 6657 over PCIe. That doesn't seem to be as cost effective as I'd like though, but might be the route to take.

I'd appreciate any tips on system architecture and typical ways to interface C66x DSPs.

Best regards,

Element Green

  • Hi,

    Have you checked the AM5728 devices, they have 2 ARM cores & two C66x DSPs. They aslo have PCIe & USB interface. It is possible to run Linux on the arm cores & RTOS on the dsp cores.

    Best Regards,
    Yordan
  • Thank you for the reply.

    Yes, I have seen the AM5728 and AM5726. They seem like good devices, though it seems the C66x DSPs are limited to 750 MHz from my understanding. Was just trying to optimize costs and maximize DSP capability.

    Seems the best option may be to use an AM5726 and if I need more DSP power to couple it with one of the TMS320C667x or 665x devices using PCIe. Can you confirm that PCIe may be the best way to couple an AM5726 to additional 667x/665x DSPs? Or is there an interface more appropriate for this purpose?

    Best regards,

    Element Green

  • Hi,

    PCIe is a good choice for connecting AM5728 & C667x DSP.
    Another option is the 66AK2H12 or 66AK2E05 devices:
    66AK2H12 -> 4x ARM Cortex A15 + 8x C66x DSPs (1.0 GHz or 1.2 GHz C66x Fixed- and Floating-Point DSP Core)
    66AK2E05 -> 4xARM Cortex A15 + 1x C66x DSP (1.4 GHz C66x Fixed/Floating-Point DSP Core)

    www.ti.com/.../66AK2H12
    www.ti.com/.../66AK2E05

    Another option is the 66AK2G12 device: 1x ARM Cortex A15 + 1x C66x DSP (C66x Fixed- and Floating-Point VLIW DSP Subsystem at up to 1000 MHz) --> www.ti.com/.../66AK2G12

    Best Regards,
    Yordan
  • Thank you for confirming that PCIe would be a good choice between AM5728 & C667x DSPs. Those other devices sound like potentially good options too.

    This seems to have answered my questions.  Thanks again!

    Element