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.

TMS320F28377D: Using an external high resolution ADC with the F2837xD MCU and SPI interface

Part Number: TMS320F28377D


Hello,

As to some of my previous topics, I have been having some trouble with the resolution of the ADC on the DSP above, which for single ended signals is a maximum of 12-bits and 16-bits for differential mode. To measure millivolt level ripple on high voltage outputs, a minimum of 16-bits for a single ended solution and ideally more than this would be required.

I have found some TI 20-bit ADC's that are available and would be very useful for this measurement, but I need to understand how can these be incorporated into the design? With the SPI interface? If so, how, and are there any examples in the C2000 software documentation to show how an external ADC with more resolution and/or accuracy can be programmed to communicate with the DSP? Anything in the technical manual?

What are the limiting factors? The ADC clock is very fast, 50MHZ if I remember, so they should be fine handling 20-bit information in a fast and acurrate way? 

EDIT: I have seen in the data sheet that the maximum word length to be input to the SPI interface is 16 bits. This does not help my situation since 16-bits probably is still not enough resolution for my application.
Is there a way around this? Can two of the SPI inputs be used to measure portions of say a 32-bit word? Is there some more circuitry I can place in between a 20/32-bit ADC that can split the 20/32-bit word in to two smaller 10/16-bit words that can then be input to the SPI?

Is there any way in software to separate a 32-bit incoming word on the SPI input into two 16-bit words and then perform a multiplication of the result? Would the accuracy of the 32-bit result be retained if so? Is there possibly some external circuitry I could utilize to separate the result into two 16-bit values to be processed by the SPI?


Regards,
Joel

  • Hi Joel,

    I have found some TI 20-bit ADC's that are available and would be very useful for this measurement, but I need to understand how can these be incorporated into the design? With the SPI interface?

    This largely depends on the ADC you select. A lot of these ADC do have a SPI, so that is an option.

    If so, how, and are there any examples in the C2000 software documentation to show how an external ADC with more resolution and/or accuracy can be programmed to communicate with the DSP? Anything in the technical manual?

    Unfortunately there isn't an external ADC example with SPI available. However, there are other E2E posts regarding this topic which can help you and of course, you can always post new questions.

    Is there a way around this? Can two of the SPI inputs be used to measure portions of say a 32-bit word? Is there some more circuitry I can place in between a 20/32-bit ADC that can split the 20/32-bit word in to two smaller 10/16-bit words that can then be input to the SPI?

    This is not a problem. You basically use two 16-bit SPI transfers to build your 32-bit data.