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.
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! :)