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.

C2000 errata; specifically Concerto ADC 1st sample issue

Hello TI, 

Looking at the Errata, http://www.ti.com/lit/er/sprz357e/sprz357e.pdf, ADC initial conversion it seems to specify down at the bottom the issue is completly null if you :

This issue is fixed completely by writing a 1 to the ADCNONOVERLAP bit in the
ADCTRL2 register, which only allows the sampling of ADC channels when the ADC is
finished with any pending conversion.

Do I still need to throw away a sample if I follow the snippet above?

  • Hi Joshua,

    No, if you enable the nonoverlap mode, you shouldn't need to throw away the first sample.  Note that this will have an effect on the maximum achievable ADC throughput. 

  • Thanks for answering, I had just two more follow up questions. 

    What if I am just making a single read?  Is it garbage?  Do I always have to read it twice?

    If I enable the nonoverlap bit, what does it do to the conversion time for a single read?

  •  

    If you enable nonoverlap mode, you won't have to discard any samples.

    If you do not enable it, you need to discard the first conversion that occurs after the ADC has been idle. If you want to perform one read, you would setup the trigger to two SOCs from the source of choice.  When the source triggers the SOCs, both will convert.  Ignore (discard) the first conversion and use the second conversion.  You will have to do this every time the ADC is triggered (unless you can guarantee that the ADC will not finish its current conversions before the next trigger arrives, which will prevent the ADC from idling).

    The conversion time for a single read will actually not be affected.  What will be affected is if you trigger a group of conversions.  Instead of allowing the next conversion to start 7 cycles before the end of the previous conversion (allowing a degree of pipelining), the next conversion will not start until the previous one is complete.  This adds 7 cycles of effective conversion time for each sample in the group to the total group conversion time, even though each individual sample take the same amount of time between beginning of sample window to end of conversion.   

  • Devin,

     For a single convertion per trigger, with the nonoverlap bit enabled, the latency between adc trigger and adc interrupt will be lower than doing two convertion and discarting one. Is it correct?

    Do you know if Texas plans to finely fix this for future Piccolos? 

    Ari.

  • Ari,

    Yes, that is correct;  Essentially if you care about the latency of one conversion in particular, then you should go with non-overlap.  If you have a group of many conversions that all need to complete before you can run your control algo, then its probably better to discard the first sample and take advantage of the pipelining.  

    There are currently no plans to fix this on current Piccolo (and Concerto) series devices.  Stay tuned for future devices though.