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.

DSP with high-speed DAC and ADC on board

Other Parts Discussed in Thread: TMS320F28335

Hi,

 

Does anybody know whether there is any DSP with high-speed ADC and DAC on board. I am looking for 625 MSPS and higher. If there are no such devices, then please can anybody tell what is the limit today?

I need only 1 channel, 8 bits for DAC and 10 bits for ADC.

 

Thanks.

  • 625 MSPS?  Is that supposed to be 625 KSPS?

  • Brad,

     

    Yes, a misprint.

    By the way what is the maximum Sample/ Update rates for DACs and ADCs that can be found on board DSPs that exist today and which family of DSP incorporates them?

     

    Thank you.

  • The TMS320F28xx family of devices has A/D converters 10- and 12- bit up to 12.5 MHz.  We classify that with our microcontrollers since it has integrated flash.  However, the processor core is a true DSP core from the perspective that it can sustain single-cycle dual multiply-accumulates.  This family has high resolution PWMs that could be used as a DAC with proper output circuit or depending on your app could connect to a class D amp.

    If you don't need a true DSP core you might also look at our MSP430 and Stellaris Cortex M3 devices.  We don't have any c6000 devices with integrated A/D converters.  If you have follow-up questions on F28x you should post to the F28x forum.

    Best regards,
    Brad

  • Brad,

     

    Thank you very much!

     

    Alex

  • Hello Brad.
    Can you please say if TMS320F28335 offers single-cycle dual multiply-accumulate?
    Thank you,
    Michael Serry
  • Yes. It is part of the 28xx family.

  • Thank you, Brad.

    Does this single-cycle dual MAC capability mean I can use two MACs concurrently to speed up a FIR implementation by a factor of roughly 2 in comparison with using only one MAC?

    If this is true, then does this have to be done using Assembly intrinsics in C? Or is there another way?

    Many thanks in advance,

    Michael Serry.

  • Fardad Michael Serry said:
    Does this single-cycle dual MAC capability mean I can use two MACs concurrently to speed up a FIR implementation by a factor of roughly 2 in comparison with using only one MAC?

    Yes.

    Fardad Michael Serry said:
    If this is true, then does this have to be done using Assembly intrinsics in C? Or is there another way?

    No.  Please see Section 3.13 "Compiler Support for Generating DMAC Instructions" in the Compiler User's Guide:

    http://www.ti.com/lit/spru514

  • Hello Brad. Thank you for that very helpful guidance to spru514. I have spent the day trying to get the first two of three methods described in Section 3.13 to work with no obvious indication that I succeeded: I do not see the DMAC instruction anywhere in the Assembly code. Does that mean, as I suppose, that DMAC is not being implemented? If so, ... 1) using the Pragma DATA_ALIGN does not give any errors; code compiles and runs on target (but no sign of DMAC in Assembly); 2) using the _nassert method, I get errors; the code does not compile:

    "../Example_2823xAdcSeq_ovdTest.c", line 133: error: expected a type specifier
    _nassert((long) SampleTable % 2 == 0); // (FMSERRY added line of code)
    ^

    "../Example_2823xAdcSeq_ovdTest.c", line 133: warning: this declaration has no
    storage class or type specifier
    _nassert((long) SampleTable % 2 == 0); // (FMSERRY added line of code)
    ^

    "../Example_2823xAdcSeq_ovdTest.c", line 133: error: declaration is
    incompatible with builtin "void _nassert(int)"
    _nassert((long) SampleTable % 2 == 0); // (FMSERRY added line of code)

    ^

    "../Example_2823xAdcSeq_ovdTest.c", line 134: error: expected a type specifier
    _nassert((long) FilterTable % 2 == 0); // (FMSERRY added line of code)
    ^

    >> Compilation failure
    "../Example_2823xAdcSeq_ovdTest.c", line 134: warning: this declaration has no
    storage class or type specifier
    _nassert((long) FilterTable % 2 == 0); // (FMSERRY added line of code)
    ^


    Please advise; I am grateful for your help.
    Kind regards,
    Fardad Michael Serry