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.

[AM3359] ADC issues: sys/bios config or faulty hardware?



Hi all.

I'm trying to config ADC with all A_IN[0:7] channels enabled, single ended, with VREFP and VREFN reference voltage.

Everything seems fine ( hardware interrupt occurs, SWI is triggered and data if fetched from FIFO0 ), but I get 0x0FFF readout.

I then looked at one analog input voltage (C1 yellow in image below) , and found that ADC PIN is actually driving the net...

At the same time, VREFP (C2 magenta in image below) drops at every ADC step, then returns to its starting value:

It seems to me that cpu adc pins are not INPUT, but for some reason are acting as output.

In following file a register dump starting from address 0x44E0D000 (0x100 words long):

1588.TSADC_REGISTERS_DUMP.dat

In following image you can see the (partial) schematic:

Is something related to wrong ADC configuration, or my CPU has some hardware trouble?

  • The ADC is part of the Touchscreen Controller which has the ability to connect the AIN terminals to VSS or VDDA_ADC via open-drain or open-source outputs.

    Please refer to the AM335x Technical Reference Manual for more details related to the Touchscreen Controller.

    Regards,
    Paul

  • Paul, thank you for your answer.

    I'm familiar with TRM section about TSC/ADC. 

    It seems to me that CPU is faulty, because:

    - the same software runnin on ICE demo board works fine;

    - in our board VDDA_ADC is 2.7V, way over 1.8V (and well above absolute maximum ratings). Disconnecting VDDA_ADC from its power source, with nothing else connected on VDDA_ADC net, I still measure 2.7V! Maybe some bulk diode in cpu die is shorted... Still I can't guess why this happened.

  • Cpu was ok.

    The problem is that at least one analog input voltage exceeds VDDA_ADC (because of clamping diode to +3.3V):

    http://processors.wiki.ti.com/index.php/AM335x_Schematic_Checklist

    Touchscreen

    • recommend adding 0ohm resistor to VDDA_ADC in case you need to add a filter for noise on the ADC.
    • Check out the sampling voltage must not exceed the voltage of reference. Otherwise, it will affect the whole TSC_ADC system. (Ex: if you add pull up to 3.0V at the last four channel, this will lead to the abnormal work of the whole system, including the first four).