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.

ADS7846E Touch Screen Measured Values During Non-Touch State?

Other Parts Discussed in Thread: ADS7846, ADS7843

Hi, I am currently evaluating a device using an ADS7846E touch controller: +3.3V Vcc, /PENIRQ in use w/ 100K pull-up, Vref = +3.3V....

My question is concerning measured values in the non-touched state.

Running a test on the ADC's response, I noticed the following:

Measure X position, differential, 12-bit (cmd: 0xD1): 0V, 0x000 returned

Measure Y position, differential, 12-bit (cmd: 0x91): 3.3V, 0xFFF returned  <- why?

If /PENIRQ is disconnected internally when X or Y position is measured, where is the voltage seen during Y position conversion when no touch occurs coming from?  My understanding is that during a conversion the /PENIRQ circuitry is disconnected from the +X line.

I have verified that when manually powering the touchscreen and measuring from the +X, +Y leads I have 0V when not touched (no contact/short on the touchscreen).

To the best of my knowledge the connection points are correct.


Thanks!

  • What is the PD0 set at? Is there any caps on the analog input lines? Is there any delay from the comanding to reading back?

    Regards,
    Wendy F.

  • Hello, as seen from the commands I sent (0xD1, 0x91) P0 is = 1.

    No capacitors on the sensing lines.

    I do not have a delay between sending the command and reading the ADC data but my SPI clock is never above 250Kbps.

    The ADS7846 appears to function correctly (X, Y values appear to be valid during a touch) but I don't understand where the
    ADC value is coming from during a non-touch state when I poll the ADC.

    If I hold the +X input to ground during a read (non-touch) the value is 0V as expected.

    This implies there is an internal connection in the +X lead that I don't see explained in the data sheet(?).


    Thanks,
    Marty

  • Hi Marty,

    Even though you do not add extra cap on the analog interface lines, there is always a certain small parasitic capacitance on the input lines.

    When there is no touch on the panel, the ADS7846 /PENIRQ pin is pulled high to Vcc  and the X+ pin is also pulled high through the transmission gate (refer to Figure 15 of the d/s).

    At this time, you force to read Y, that is: a voltage is applied between Y+ and Y-, and X+ is connected to the ADS7846 internal ADC. As mentioned on the page 17 of the d/s, the transmission gate is turned off to disconnect X+ and /PENIRQ. Due tothere is some parasitic capacitance on the X+ and due to there is no path or very high resistance path for the capacitance to discharge because of no touch so that the Rz (the resistance between the X and Y layers of the panel) is infinite or very high M-ohms, the X+ could stay on high.

    Hope I made the answer clear and please feel free to ask if not!

    Regards,

    Wendy F.

  • Wendy, yes that answer is very helpful.  I suspected something like that.

    It was unfortunate that although a Google search results in many mentions of the ADS7846 or ADS7843, very little in terms of actual examples, and no mention of typical values.

    I wanted to ensure I was on the right track.

    I now have it reading & can scale the readings for X,Y position based on screen resolution.

    Thanks! :)