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.

images from the TMS320C6678 into the DM3730

Other Parts Discussed in Thread: DM3730, TMS320DM8148, MIDAS, OMAP3530, S2MEDDUS



We have an ultrasound application where we are using the 6678 as our DSP engine. We want to pass the images to the DM3730 so they can be displayed. We are looking at using the hyperlink interface to an FPGA to get the raw data from the AFE but we were wondering what would be the easiest (glueless) interface to take the data from the DSP to the DM3730.

We are thinking of doing some front end demod in the FPGA and using PCIe between the FPGA and the DSP so PCIe is not an option.

There is Giga bit Ethernet on the DSP but not on  the DM3730 and there is a ULPI interface on the DM3730 but no USB on the DSP. Am I stuck trying to use the McBSP's in TDM mode on the DM3730 and using the TSIP on the DSP.

We are unsure of the data rate at the moment - the interface may end up defining the bandwidth.



  • You would really need to have some idea of the data throughput requirements before doing this.  As you've seen there's going to be limited number of IPs that will connect gluelessly between the C6678 and the DM3730.

    Given that you would have already purchased an FPGA w/ high performance IO's for use w/ HyperLink, it may be best to simply use HyperLink for this transport and then USB on the other side for communication to the DM3730.

    Best Regards,


  • Calum,

    As Chad mentioned, you could use HyperLink to interface the FPGA to 6678 (See
    With DM3730, you could interface to 6678 with an ethernet-to-USB dongle, but could only go up to the 480Mbps (theoretical).
    That said, have you considered the DM8148 instead of DM3730? See
    DM8148 has a PCIe port, single lane 5.0 Gbps. That way you can interface 6678 with the DM8148 via PCIe to meet higher data throughput requirements.

    Here is some additional collateral that you might be interested in:

    1. MIDAS Ultrasound Demo v4.0:
    This is a system-level implementation example that leverages 6678+OMAP3530. 6678 handles the midend processing, interfaced via ethernet with an SoC (OMAP3530), that handles the final scan conversion, control and display. In this use-case we were sending pre-scan-converted data (B-mode 512 samples x 256 scanlines x 1 byte/sample and Doppler 64 scanlines x 256 samples/scanline x 2bytes/sample), so the regular 10/100 was enough to meet real-time at 30fps.

    2. Software Toolkit for Medical Imaging on C66x:

    3. Beamforming on 6678: and

  • Hello Uday

    This link is not working properly

  • Looks like the link to that paper has been updated since this e2e post from last year. The new link is

  • was the code associated with the paper written for beamformer published ?

    any beamformer code for TI on a DSP and can be used by midas ?


  • No ultrasound beamforming code has been published for midas or this paper implementation

  • The algorithm module you are referring to was part of an earlier version of STK-MED and is no longer available and no longer supported. 

    That said, the document you are referring to, provides a link to a zip package, that contains a file rxBF.chm which describes this old rxBF implementation on C64x+. You can look into that and see if you can recreate a C66x-based version for your implementation. Remember, that once you do this, you would just have the algorithm kernel. To integrate it with MIDAS, you will first have to package the algorithm within the Codec Engine framework used in MIDAS. You can look at the algorithm modules integrated in MIDAS (BPU, DPU, SCU) to see how this integration was done. You can start here to understand how Codec Engine works.