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.

RM57 ADC Self-Test

Hello,


I am testing the ADC Self-Test Code I have written and have a quick question about the results I am getting.

I am testing all 41 pins available to me on the RM57 and expect them to be in the "Open" Condition as derived from Table 22-4 in the RM57 Technical Reference.

From reading other posts about the ADC self test, I expect ADreflo to be 0x0 and ADrefhi to be 0xFFF, how ever I do not always receive that result.

ADrefhi is consistently reading 0xFFF but it looks like ADreflo will mostly read 0x0 as expected, but has a range from 0x4-0x0 that I have seen.

The ADreflo results fluctuate on subsequent re-runs of the test.       

Sample results:

Vn 3300

Vd 4

Vu 4095


Vn 3326

Vd 0

Vu 4095


Is this expected behaviour for Open pin condition? It does not say "Approximately" in the datasheet.

Do you recommend a <10 check for ADReflo? or something along those lines?

Thanks!

  • Two things may be causing the higher readings of ADREFLO. Perhaps the sample time is insufficient to discharge the internal capacitance and the capacitance of the open pin. Try increasing the sample time. Also, if there is noise on ADREF, then there will be some error induced.
  • Bob Crosby said:
    Two things may be causing the higher readings of ADREFLO. Perhaps the sample time is insufficient to discharge the internal capacitance and the capacitance of the open pin. Try increasing the sample time. Also, if there is noise on ADREF, then there will be some error induced.

    I still have the readings under 10 [0-10] for ADreflo.

    I have used the following settings maximizing wait time before performing the reads:

        adcREG1->CLOCKCR = 0x1F;
        adcREG2->CLOCKCR = 0x1F;

        adcREG1->EVSAMP = 0xFFF;
        adcREG2->EVSAMP = 0xFFF;

        adcREG1->G1SAMP = 0xFFF;
        adcREG2->G1SAMP = 0xFFF;

        adcREG1->G2SAMP = 0xFFF;
        adcREG2->G2SAMP = 0xFFF;

        adcREG1->EVSAMPDISEN = 0xFF;
        adcREG2->EVSAMPDISEN = 0xFF;

        adcREG1->G1SAMPDISEN = 0xFF;
        adcREG2->G1SAMPDISEN = 0xFF;

        adcREG1->G2SAMPDISEN = 0xFF;
        adcREG2->G2SAMPDISEN = 0xFF;

  • ADrefhi Is consistently staying 0xFFF, I have ran the self test code on a Custom PCB as well as the RM57 HDK with the same results.

    I am testing all 41 pins available at once using both ADC1 and ADC2 if it makes a difference. The test did not specify converting each pin vs all pins.


    I can post my code if it would help diagnose the issue.

  • One additional Question for self-test. Is there a sequencing requirement that is Missing from the Technical Reference? Can Self-Test be performed after Calibration or does it need to be performed before?

    I am performing self test after calibration of pins if it makes a difference. Does self-test effect the Calibration values at all as well? Should Calibration be re-run after self-test?

  • Order of operations is not an issue:

    Are these results still being looked into? Is it acceptable to just check Approximate ADreflo if(Vd < 10)

  • Since it is not sample time, it must be noise. Using Vd<10 is acceptable for the self test as it is looking for an open or shorted pin.