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.

TMS320F28335: ADC offset between channels

Other Parts Discussed in Thread: TMS320F28335

Hi,

I am working with the ADC of the TMS320F28335. It is set to work in simultaneous mode, with a 25MHz ADC clock, CPS = 0 and ACK_PS=4 (to be more than 160ns, as the errata says).

It is programmed to use the external reference (AD 3020) and this is also the input for an ADC channel of the DSP in order to calibrate online (as recommended in spraad8a.pdf)

Just to test the channels, I have set all the channels to measure this external reference value. I can see differences up to 65 ADC units between them. I have taken maximum, minimun and mean value of each channel and there is an offset of this 65 ADC value. Also, the values in one channel can vary up to 16 ADC units.

Does anybody else meet this issue? What could be the cause of such wrong behaviour? Any recommendation?

Regards,

  • Can you please let me know what the values of HISPCP and ADCLKPS are as well?

  • ADCCLKPS is set to 3 and the HISPCP is set to 0.

  • That kind of spread per channel is unexpected and the channel to channel discrepancy you are seeing is also much wider than typically seen.  It might be related to a noise issue in the system.  I presume you followed the guidelines suggested in section 3.4.2 of the Hardware Design Guidelines for TMS320F28xx and
    TMS320F28xxx DSCs ( http://www.ti.com/lit/an/spraas1b/spraas1b.pdf ), particularly a clean ADCLO connection to AGROUND.  Also it sounds like for debug you have connected all ADC channels to the REF3020, could these channels be loaded by other circuitry in your system based on whatever their original purpose was?  I don't think this should have a significant affect, but is XCLKOUT enabled?

  • Yes, we did follow the guidelines in this pdf.

    For debug, I programmed the ADC peripheral to convert the same input channel in all ADC internal channels (from 0 to 7) . So the input from REF3020 is really connected only to one DSP analog channel. Doing this, I found this discrepancies.

    XCLKOUT was enabled in the first test. Removing it has no impact on the test result.

  • Nik- sorry if you are still having trouble.  We had a couple other thoughts:

    I presume you are using a custom board since you are using external reference, can you please confirm?

    Have you tried your code on a TI kit, do you have the same code spread?

    Have you tried switching to internal reference mode?  Does it still show the same spread?

    What value caps do you have on analog supplies?