AD AD7879-1ACBZ-RL Low voltage controller for touch screen Datasheet

Low Voltage Controller for Touch Screens
AD7879
FEATURES
Personal digital assistants
Smart hand-held devices
Touch screen monitors
Point-of-sale terminals
Medical devices
Cell phones
VCC/REF
X– Y– X+ Y+
X+
X–
REF–
REF–
REF+
TEMPERATURE
SENSOR
12-BIT
SAR ADC
AD7879/
AD7879-1
SERIAL PORT
RESULT
REGISTERS
CONTROL
REGISTERS
PENIRQ/INT/DAV
GND
FILTERING
Y–
6-TO-1 MUX
Y+
SEQUENCER
AND TIMER
TO
RESULT
REGISTERS
CS/
DIN/ DOUT/ SCL
ADD0 ADD1 SDA
07667-001
APPLICATIONS
FUNCTIONAL BLOCK DIAGRAM
AUX/VBAT/GPIO
4-wire touch screen interface
1.6 V to 3.6 V operation
Median and averaging filter to reduce noise
Automatic conversion sequencer and timer
User-programmable conversion parameters
Auxiliary analog input/battery monitor (0.5 V to 5 V)
1 optional GPIO
Interrupt outputs (INT, PENIRQ)
Touch-pressure measurement
Wake-up on touch function
Shutdown mode: 6 μA maximum
12-ball, 1.6 mm × 2 mm WLCSP
16-lead, 4 mm × 4 mm LFCSP
Figure 1.
GENERAL DESCRIPTION
The AD7879 is a 12-bit successive approximation analog-todigital converter (ADC) with a synchronous serial interface and
low on-resistance switches for driving 4-wire resistive touch
screens. The AD7879 works with a very low power supply (a
single 1.6 V to 3.6 V) and features throughput rates of 105 kSPS.
The device includes a shutdown mode that reduces its current
consumption to less than 6 μA.
To reduce the effects of noise from LCDs and other sources,
the AD7879 contains a preprocessing block. The preprocessing
function consists of a median and an averaging filter. The combination of these two techniques provides a more robust solution,
discarding the spurious noise in the signal and keeping only
the data of interest. The size of both filters is programmable.
Other user-programmable conversion controls include variable
acquisition time and first conversion delay; up to 16 averages
can be taken per conversion. The AD7879 can run in either
slave or standalone mode, using an automatic conversion
sequencer and timer.
The AD7879 has a programmable pin that can operate as an
auxiliary input to the ADC, as a battery monitor, or as a GPIO.
There is also a programmable interrupt output that can operate
in three modes: as a general-purpose interrupt to signal when
new data is available INT, as an interrupt to indicate when limits
are exceeded, or as a pen-down interrupt when the screen is
touched (PENIRQ). The AD7879 offers temperature measurement and touch-pressure measurement.
The AD7879 is available in a 12-ball, 1.6 mm × 2 mm WLCSP
and in a 16-lead, 4 mm × 4 mm LFCSP. The part also has either
an SPI (AD7879) or I2C (AD7879-1) interface.
Rev. 0
Information furnished by Analog Devices is believed to be accurate and reliable. However, no
responsibility is assumed by Analog Devices for its use, nor for any infringements of patents or other
rights of third parties that may result from its use. Specifications subject to change without notice. No
license is granted by implication or otherwise under any patent or patent rights of Analog Devices.
Trademarks and registered trademarks are the property of their respective owners.
One Technology Way, P.O. Box 9106, Norwood, MA 02062-9106, U.S.A.
Tel: 781.329.4700
www.analog.com
Fax: 781.461.3113
©2008 Analog Devices, Inc. All rights reserved.
AD7879
TABLE OF CONTENTS
Features .............................................................................................. 1
Auxiliary Input ........................................................................... 17
Applications ....................................................................................... 1
Battery Input ............................................................................... 17
Functional Block Diagram .............................................................. 1
Limit Comparison ...................................................................... 17
General Description ......................................................................... 1
GPIO ............................................................................................ 17
Revision History ............................................................................... 2
Register Map ................................................................................... 19
Specifications..................................................................................... 3
Detailed Register Descriptions ..................................................... 20
SPI Timing Specifications (AD7879) ......................................... 4
Control Registers ............................................................................ 24
2
I C Timing Specifications (AD7879-1) ..................................... 5
Control Register 1 ...................................................................... 24
Absolute Maximum Ratings............................................................ 6
Control Register 2 ...................................................................... 26
ESD Caution .................................................................................. 6
Control Register 3 ...................................................................... 27
Pin Configuration and Function Descriptions ............................. 7
Interrupts ..................................................................................... 28
Typical Performance Characteristics ............................................. 8
Synchronizing the AD7879 to the Host CPU......................... 29
Terminology .................................................................................... 11
Serial Interface ................................................................................ 30
Theory of Operation ...................................................................... 12
SPI Interface ................................................................................ 30
Touch Screen Principles ............................................................ 12
I2C-Compatible Interface .......................................................... 32
Measuring Touch Screen Inputs ............................................... 13
Grounding and Layout .................................................................. 35
Touch-Pressure Measurement .................................................. 14
Chip Scale Packages ................................................................... 35
Temperature Measurement ....................................................... 14
WLCSP Assembly Considerations ........................................... 35
Median and Averaging Filters ....................................................... 16
Outline Dimensions ....................................................................... 36
AUX/VBAT/GPIO Pin ................................................................... 17
Ordering Guide .......................................................................... 36
REVISION HISTORY
10/08—Revision 0: Initial Version
Rev. 0 | Page 2 of 36
AD7879
SPECIFICATIONS
VCC = 1.6 V to 3.6 V, TA = −40°C to +85°C, unless otherwise noted.
Table 1.
Parameter
DC ACCURACY
Resolution
No Missing Codes
Integral Nonlinearity (INL)1
Differential Nonlinearity (DNL)1
Negative DNL
Positive DNL
Offset Error2
Gain Error2
Noise3
Power Supply Rejection3
Internal Clock Frequency
SWITCH DRIVERS
On Resistance1
Y+, X+
Y−, X−
ANALOG INPUTS
Input Voltage Ranges
DC Leakage Current
Input Capacitance
Accuracy
TEMPERATURE MEASUREMENT
Temperature Range
Resolution
Accuracy2
BATTERY MONITOR
Input Voltage Range
Input Impedance3
Accuracy
LOGIC INPUTS (DIN, SCL, CS, SDA, GPIO)
Input High Voltage, VINH
Input Low Voltage, VINL
Input Current, IIN
Input Capacitance, CIN3
LOGIC OUTPUTS (DOUT, GPIO, SCL, SDA, INT)
Output High Voltage, VOH
Output Low Voltage, VOL
Floating-State Leakage Current
Floating-State Output Capacitance2
CONVERSION RATE3
Conversion Time
Throughput Rate
POWER REQUIREMENTS
VCC (Specified Performance)
ICC
Converting Mode
Static
Shutdown Mode
1
2
3
Min
Typ
12
11
12
Max
Unit
±3
Bits
Bits
LSB
70
60
2
LSB
LSB
LSB
LSB
μV rms
dB
MHz
6
5
Ω
Ω
±2
0
−0.99
+2
±6
±4
V
μA
pF
%
+85
°C
°C
°C
Calibrated at 25°C
V
kΩ
%
Uncalibrated accuracy
0.3
±2
0
5
16
2
5
0.7 VCC
0.3 VCC
0.01
10
VCC − 0.2
V
V
μA
pF
±0.1
5
V
V
μA
pF
9.5
105
μs
kSPS
0.4
1.6
LSB size = 390 μV
LSB size = 390 μV
VCC
±0.1
30
0.3
−40
Test Conditions/Comments
2.6
3.6
V
480
406
650
μA
μA
0.5
6
μA
See the Terminology section.
Guaranteed by characterization, not production tested.
Sample tested at 25°C to ensure compliance.
Rev. 0 | Page 3 of 36
VIN = 0 V or VCC
Including 2 μs of acquisition time
Digital inputs = 0 V or VCC
ADC on, PM = 10
ADC and temperature sensor are off; the reference and
oscillator are on; PM = 01, 11
PM = 00
AD7879
SPI TIMING SPECIFICATIONS (AD7879)
TA = −40°C to +85°C; VCC = 1.6 V to 3.6 V, unless otherwise noted. Sample tested at 25°C to ensure compliance. All input signals are
specified with tR = tF = 5 ns (10% to 90% of VCC) and timed from a voltage level of 1.4 V.
Table 2.
Parameter 1
fSCLK
t1
t2
t3
t4
t5
t6
t7
t8
Unit
MHz max
ns min
ns min
ns min
ns min
ns min
ns max
ns max
ns min
Description
CS falling edge to first SCL falling edge
SCL high pulse width
SCL low pulse width
DIN setup time
DIN hold time
DOUT access time after SCL falling edge
CS rising edge to DOUT high impedance
SCL rising edge to CS high
Guaranteed by design, not production tested.
CS
t1
t2
1
SCL
t8
t3
2
3
15
16
1
2
15
16
t4
t5
DIN
LSB
MSB
t6
DOUT
MSB
Figure 2. Detailed SPI Timing Diagram
Rev. 0 | Page 4 of 36
t7
LSB
07667-002
1
Limit at TMIN, TMAX
5
5
20
20
15
15
20
16
15
AD7879
I2C TIMING SPECIFICATIONS (AD7879-1)
TA = −40°C to +85°C; VCC = 1.6 V to 3.6 V, unless otherwise noted. Sample tested at 25°C to ensure compliance. All input signals are
timed from a voltage level of 1.4 V.
Table 3.
Parameter 1
fSCLK
t1
t2
t3
t4
t5
t6
t7
t8
tR
tF
Unit
kHz max
μs min
μs min
μs min
ns min
ns min
μs min
μs min
μs min
ns max
ns max
Description
Start condition hold time, tHD; STA
Clock low period, tLOW
Clock high period, tHIGH
Data setup time, tSU; DAT
Data hold time, tHD; DAT
Stop condition setup time, tSU; STO
Start condition setup time, tSU; STA
Bus free time between stop and start conditions, tBUF
Clock/data rise time
Clock/data fall time
Guaranteed by design, not production tested.
tR
t2
tF
t1
SCL
t3
t1
t5
t7
t6
t4
SDA
t8
STOP START
START
Figure 3. Detailed I2C Timing Diagram
Rev. 0 | Page 5 of 36
STOP
07667-003
1
Limit
400
0.6
1.3
0.6
100
300
0.6
0.6
1.3
300
300
AD7879
ABSOLUTE MAXIMUM RATINGS
Table 4.
Parameter
VCC to GND
Analog Input Voltage to GND
AUX/VBAT to GND
Digital Input Voltage to GND
Digital Output Voltage to GND
Input Current to Any Pin Except Supplies1
ESD Rating (X+, Y+, X−, Y−)
Air Discharge Human Body Model
Contact Human Body Model
ESD Rating (All Other Pins)
Human Body Discharge
Field Induced Charge Device Model
Machine Model
Operating Temperature Range
Storage Temperature Range
Junction Temperature
WLCSP (4-Layer Board)
Power Dissipation
θJA Thermal Impedance
LFCSP (4-Layer Board)
Power Dissipation
θJA Thermal Impedance
IR Reflow Peak Temperature
Lead Temperature (Soldering 10 sec)
1
Rating
−0.3 V to +3.6 V
−0.3 V to VCC + 0.3 V
−0.3 V to VCC + 5 V
−0.3 V to VCC + 0.3 V
−0.3 V to VCC + 0.3 V
10 mA
Stresses above those listed under Absolute Maximum Ratings
may cause permanent damage to the device. This is a stress
rating only; functional operation of the device at these or any
other conditions above those indicated in the operational
section of this specification is not implied. Exposure to absolute
maximum rating conditions for extended periods may affect
device reliability.
200µA
15 kV
10 kV
4 kV
1 kV
0.2 kV
−40°C to +85°C
−65°C to +150°C
150°C
TO OUTPUT
PIN
IOL
1.4V
CL
50pF
200µA
IOH
Figure 4. Circuit Used for Digital Timing
ESD CAUTION
866 mW
75°C/W
2.138 W
30.4°C/W
260°C (±0.5°C)
300°C
Transient currents of up to 100 mA do not cause SCR latch-up.
Rev. 0 | Page 6 of 36
07667-004
TA = 25°C, unless otherwise specified.
AD7879
PIN CONFIGURATION AND FUNCTION DESCRIPTIONS
BALL A1
INDICATOR
1
2
BALL A1
INDICATOR
1
2
3
AUX/
VBAT/
GPIO VCC/REF
AUX/
VBAT/
GPIO VCC/REF
X+
A
X+
A
PENIRQ/
INT/DAV
PENIRQ/
INT/DAV ADD0
Y+
CS
B
Y+
B
DOUT
DIN
X–
C
SDA
ADD1
X–
SCL
GND
Y–
C
SCL
Y–
GND
TOP VIEW
(BALL SIDE DOWN)
Not to Scale
14 ADD0
12 PENIRQ/INT/DAV
Y+ 1
PIN 1
INDICATOR
12 PENIRQ/INT/DAV
AD7879-1
11 NC
NC 3
TOP VIEW
(Not to Scale)
10 NC
NC 3
10 NC
9
X– 4
TOP VIEW
(Not to Scale)
Y– 5
SDA
NOTES
1. NC = NO CONNECT
2. THE EXPOSED PAD IS NOT CONNECTED INTERNALLY.
FOR INCREASED RELIABILITY OF THE SOLDER JOINTS
AND MAXIMUM THERMAL CAPABILITY IT IS RECOMMENDED
THAT THE PAD BE SOLDERED TO THE GROUND PLANE.
07667-007
NOTES
1. NC = NO CONNECT
2. THE EXPOSED PAD IS NOT CONNECTED INTERNALLY.
FOR INCREASED RELIABILITY OF THE SOLDER JOINTS
AND MAXIMUM THERMAL CAPABILITY IT IS RECOMMENDED
THAT THE PAD BE SOLDERED TO THE GROUND PLANE.
9
SCL 8
DOUT
SCL 8
Y– 5
X– 4
GND 7
NC 2
ADD1 6
11 NC
GND 7
AD7879
DIN 6
NC 2
Figure 6. AD7879 LFCSP Pin Configuration
07667-008
PIN 1
INDICATOR
16 X+
15 VCC/REF
14 CS
Figure 7. AD7879-1 WLCSP Pin Configuration
13 AUX/VBAT/GPIO
16 X+
15 VCC/REF
Figure 5. AD7879 WLCSP Pin Configuration
13 AUX/VBAT/GPIO
TOP VIEW
(BALL SIDE DOWN)
Not to Scale
07667-006
D
07667-005
D
Y+ 1
3
Figure 8. AD7879-1 LFCSP Pin Configuration
Table 5. Pin Function Descriptions
Pin No.
LFCSP
13
Mnemonic
AUX/VBAT/GPIO
1B
12
PENIRQ/INT/DAV
1C
9
1D
2A
2B
8
15
14
2C
6
2D
7
DOUT
SDA
SCL
VCC/REF
CS
ADD0
DIN
ADD1
GND
3A
3B
3C
3D
N/A
N/A
16
1
4
5
2, 3, 10, 11
17
X+
Y+
X−
Y−
NC
EP
WLCSP
1A
Description
Pin functionality is programmable to be either an auxiliary input to the ADC, as a battery measurement
input to the ADC, or as a general-purpose digital input/output.
Interrupt Output. This pin asserts either when the screen is touched, when new data is available in the registers, or
when a measurement exceeds the preprogrammed limits. Active low, internal pull-up resistor of 50 kΩ.
SPI Serial Data Output on the AD7879.
Serial Data Input and Output on the AD7879-1.
Serial Interface Clock Input.
Power Supply Input. It is also the ADC reference.
Chip Select for the Serial Interface on the AD7879. Active low.
Address Bit 0 for the AD7879-1. This pin can be tied high or low to determine an address for the AD7879-1.
SPI Serial Data Input to the AD7879.
Address Bit 1 for the AD7879-1. This pin can be tied high or low to determine an address for the AD7879-1.
Ground. Ground reference point for all circuitry on the AD7879. All analog input signals and any external
reference signal should be referred to this voltage.
Touch Screen Input Channel.
Touch Screen Input Channel.
Touch Screen Input Channel.
Touch Screen Input Channel.
No Connect.
Exposed Pad.
Rev. 0 | Page 7 of 36
AD7879
TYPICAL PERFORMANCE CHARACTERISTICS
TA = 25°C, VCC = 2.6 V, fSAMPLE = 125 kHz, fDCLK = 16 × fSAMPLE = 2 MHz, unless otherwise noted.
1.0
470
0.8
465
0.6
GAIN ERROR VARIATION (LSB)
475
455
450
445
440
435
430
0.4
0.2
2.6V
0
3.6V
–0.2
–0.4
1.6V
–0.6
–0.8
–40
–25
–10
10
25
40
TEMPERATURE (°C)
55
70
85
–1.0
07667-009
425
–40
Figure 9. Supply Current vs. Temperature
–25
–10
10
25
40
TEMPERATURE (°C)
55
70
85
07667-011
CURRENT (µA)
460
Figure 12. Change in ADC Gain vs. Temperature
700
1.0
0.8
600
OFFSET VARIATION (LSB)
0.6
CURRENT (µA)
500
400
300
200
0.4
1.6V
0.2
2.6V
0
–0.2
3.6V
–0.4
–0.6
100
1.8
2.0
2.2
2.4
2.6 2.8
VCC (V)
3.0
3.2
3.4
3.6
–1.0
–40
2.0
3.5
1.5
3.0
1.0
2.5
0.5
INL (LSB)
4.0
2.0
–0.5
1.0
–1.0
0.5
–1.5
0
–25
–10
10
25
50
TEMPERATURE (°C)
10
25
40
TEMPERATURE (°C)
55
70
85
0
1.5
–40
–10
Figure 13. Change in ADC Offset vs. Temperature
75
100
–2.0
07667-012
CURRENT (µA)
Figure 10. Supply Current vs. VCC
–25
0
Figure 11. Full Power-Down IDD vs. Temperature
512
1024
1536
2048
CODE
2560
Figure 14. ADC INL Plot
Rev. 0 | Page 8 of 36
3072
3584
4096
07667-014
1.6
07667-013
0
07667-010
–0.8
AD7879
1.0
6.0
0.8
5.5
0.6
5.0
0.2
RON (Ω)
0
4.5
–0.2
4.0
–0.4
–0.6
X+ TO VCC
X– TO GND
Y+ TO VCC
Y– TO GND
3.5
–0.8
1
501
1001
1501
2001 2501
CODE
3001
3501
4001
3.0
07667-015
–1.0
–40
Figure 15. ADC DNL Plot
–25
–10
10
25
40
TEMPERATURE (°C)
55
70
85
07667-017
DNL (LSB)
0.4
Figure 17 Switch On Resistance vs. Temperature
(X+, Y+: VCC to Pin; X−, Y−: Pin to GND)
7
2370
2369
6
2368
ADC CODE (Decimal)
4
3
X+ TO VCC
Y+ TO VCC
X– TO GND
Y– TO GND
2
2367
2366
2365
2364
2363
2362
1
0
1.6
1.8
2.0
2.2
2.4
2.6 2.8
VCC (V)
3.0
3.2
3.4
3.6
2360
–40 –25 –15 –5
5 15 25 35 45
TEMPERATURE (°C)
55
65
75
85
Figure 18. ADC Code vs. Temperature (Fixed Analog Input)
Figure 16. Switch On Resistance vs. VCC
(X+, Y+: VCC to Pin; X−, Y−: Pin to GND)
Rev. 0 | Page 9 of 36
07667-018
2361
07667-016
RON (Ω)
5
AD7879
1400
MEAN: –1.98893
SD: 0.475534
250
1000
NUMBER OF UNITS
800
600
400
2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3.0 3.1 3.2 3.3 3.4 3.5 3.6
VCC (V)
07667-019
0
100
0
SNR = 61.58dB
THD = 72.34dB
–40
–60
–80
–100
–120
07667-020
0
1603
3206
4809
6412
8015
9618
11221
12824
14427
16030
17633
19236
20839
22442
24045
25648
27251
28854
30457
32060
33663
35266
36869
–140
FREQUENCY (Hz)
–3
–2
–1
0
Figure 21. Typical Uncalibrated Accuracy for Battery Channel (25°C)
0
–20
–4
ERROR (%)
Figure 19. Temperature Code vs. VCC for 25°C
INPUT TONE AMPLITUDE (dB)
150
50
200
–160
200
07667-021
TEMPERATURE (Code)
1200
Figure 20. Typical FFT Plot for the Auxiliary Channels at 25 kHz Sampling
Rate and 1 kHz Input Frequency
Rev. 0 | Page 10 of 36
AD7879
TERMINOLOGY
Integral Nonlinearity (INL)
INL is the maximum deviation from a straight line passing
through the endpoints of the ADC transfer function. The endpoints of the transfer function are zero scale at 1 LSB below the
first code transition and full scale at 1 LSB above the last code
transition.
Differential Nonlinearity (DNL)
DNL is the difference between the measured and the ideal
1 LSB change between any two adjacent codes in the ADC.
Offset Error
Offset error is the deviation of the first code transition
(00 … 000) to (00 … 001) from the ideal (AGND + 1 LSB).
Gain Error
Gain error is the deviation of the last code transition
(111 … 110) to (111 … 111) from the ideal (VREF − 1 LSB)
after the offset error has been adjusted out.
On Resistance
On resistance is a measure of the ohmic resistance between the
drain and the source of the switch drivers.
Rev. 0 | Page 11 of 36
AD7879
THEORY OF OPERATION
CONDUCTIVE ELECTRODE
ON BOTTOM SIDE
Y+
The core of the AD7879 is a high speed, low power, 12-bit
analog-to-digital converter (ADC) with input multiplexer,
on-chip track-and-hold, and on-chip clock. Conversion
results are stored in on-chip results registers. The results from
the auxiliary input or the battery input can be compared with
high and low limits stored in limit registers to generate an outof-limit INT.
The AD7879 also contains low resistance analog switches to
switch the X and Y excitation voltages to the touch screen and
the on-chip temperature sensor. The high speed SPI serial bus
provides control of the devices, as well as communication with
the device. The AD7879-1 is available with an I2C interface.
Operating from a single supply from 1.6 V to 3.6 V, the AD7879
offers a throughput rate of 105 kHz. The device is available in a
1.6 mm × 2 mm 12-ball wafer level chip scale package (WLCSP)
and in a 4 mm × 4 mm 16-lead lead frame chip scale package.
The AD7879 has an on-chip sequencer that schedules a sequence
of preprogrammed conversions. The conversion sequence starts
automatically when the screen is touched, or at preset intervals,
using the on-board timer.
To ensure that the AD7879 works well with different touch
screens, the user can select the acquisition time. There is also a
programmable delay to ensure that the voltage on the touch
screen settles before a measurement is taken.
To help reduce noise in the system, the ADC takes up to 16
conversion results from each channel, and writes the average
of the results to the register. To further improve the performance of the AD7879, the median filter can also be used if
there is noise present in the system.
TOUCH SCREEN PRINCIPLES
PLASTIC FILM WITH
TRANSPARENT, RESISTIVE
COATING ON BOTTOM SIDE
X–
Y–
X+
CONDUCTIVE ELECTRODE
ON TOP SIDE
PLASTIC FILM WITH
TRANSPARENT, RESISTIVE
COATING ON TOP SIDE
LCD SCREEN
07667-022
The AD7879 is a complete, 12-bit data acquisition system for
digitizing positional inputs from a 4-wire resistive touch screen.
To support this function, data acquisition on the AD7879 is
highly programmable so as to ensure accurate and noise free
results from the touch screen.
Figure 22. Basic Construction of a Touch Screen
The Y layer has conductive electrodes running along the top
and bottom edges, allowing the application of an excitation
voltage down the Y layer from top to bottom.
Provided that the layers are of uniform resistivity, the voltage
at any point between the two electrodes is proportional to the
horizontal position for the X layer and the vertical position for
the Y layer.
When the screen is touched, the two layers make contact. If
only the X layer is excited, the voltage at the point of contact,
and therefore the horizontal position, can be sensed at one of
the Y layer electrodes. Similarly, if only the Y layer is excited,
the voltage, and therefore the vertical position, can be sensed
at one of the X layer electrodes. By switching alternately
between X and Y excitation and measuring the voltages, the
X and Y coordinates of the contact point can be found.
In addition to measuring the X and Y coordinates, it is also
possible to estimate the touch pressure by measuring the
contact resistance between the X and Y layers. The AD7879
is designed to facilitate this measurement.
A 4-wire touch screen consists of two flexible, transparent,
resistive-coated layers that are normally separated by a small
air gap. The X layer has conductive electrodes running down
the left and right edges, allowing the application of an excitation
voltage across the X layer from left to right.
Rev. 0 | Page 12 of 36
AD7879
The voltage seen at the input to the ADC in Figure 24 is
Figure 23 shows an equivalent circuit of the analog input
structure of the AD7879, showing the touch screen switches,
the main analog multiplexer, the ADC, and the dual 3-to-1
multiplexer that selects the reference source for the ADC.
VIN = VCC ×
RY −
The advantage of the single-ended method is that the touch
screen excitation voltage is switched off once the signal is
acquired. Because a screen can draw over 1 mA, this is a
significant consideration for a battery-powered system.
VCC
X+
X–
Y+
Y–
X– Y– GND X+ Y+ VCC
DUAL 3-TO-1 MUX
AUX/VBAT/GPIO
REF–
TEMPERATURE
SENSOR
REF+
12-BIT SUCCESSIVE
APPROXIMATION ADC
WITH TRACK-AND-HOLD
07667-023
IN+
Figure 23. Analog Input Structure
The AD7879 can be set up to automatically convert either
specific input channels or a sequence of channels. The results
of the ADC conversions are stored in the results registers.
When measuring the ancillary analog inputs (AUX, TEMP, or
VBAT), the ADC uses a VCC reference and the measurement is
referred to GND.
The disadvantage of the single-ended method is that voltage
drops across the switches can introduce errors. Touch screens
can have a total end-to-end resistance ranging from 200 Ω to
900 Ω. By taking the lowest screen resistance of 200 Ω and a
typical switch resistance of 14 Ω, the user can reduce the apparent
excitation voltage to 200/228 × 100 = 87% of its actual value.
In addition, the voltage drop across the low-side switch adds to
the ADC input voltage. This introduces an offset into the input
voltage; thus, it can never reach zero.
Ratiometric Method
The ratiometric method illustrated in Figure 25 shows the negative
input of the ADC reference tied to Y− and the positive input
connected to Y+. Thus, the screen excitation voltage provides
the reference for the ADC. The input of the ADC is connected
to X+ to determine the Y position.
VCC
Y+
MEASURING TOUCH SCREEN INPUTS
When measuring the touch screen inputs, it is possible to
measure using VCC as a reference, or to use the touch screen
excitation voltage as the reference and to perform a ratiometric,
differential measurement. The differential method is the default
method and is selected by clearing the SER/DFR bit (Bit 9 in
Control Register 2) to 0. The single-ended method is selected
by setting this bit to 1.
Single-Ended Method
Figure 24 illustrates the single-ended method for the Y position.
For the X position, the excitation voltage is applied to X+ and
X− and the voltage is measured at Y+.
VCC
Y+
X+
VREF
INPUT
(VIA MUX)
X+
REF+
ADC
TOUCH
SCREEN
REF–
Y–
GND
Figure 25. Ratiometric Conversion of Touch Screen Inputs
For greater accuracy, the ratiometric method has two significant
advantages. One is that the reference to the ADC is provided
from the actual voltage across the screen; therefore, any voltage
dropped across the switches has no effect. The other advantage
is that because the measurement is ratiometric, it does not
matter if the voltage across the screen varies in the long term.
However, it must not change after the signal has been acquired.
The disadvantage of the ratiometric method is that the screen
must be powered up at all times because it provides the reference
voltage for the ADC.
REF+
ADC
REF–
07667-024
Y–
GND
INPUT
(VIA MUX)
07667-025
INPUT
MUX
TOUCH
SCREEN
(1)
RYTOTAL
Figure 24. Single-Ended Conversion of Touch Screen Inputs
Rev. 0 | Page 13 of 36
AD7879
TOUCH-PRESSURE MEASUREMENT
Second Method
The pressure applied to the touch screen by a pen or finger can
also be measured with the AD7879, using some simple
calculations. The contact resistance between the X and Y plates
is measured providing a good indication of the size of the
depressed area and, therefore, the applied pressure. The area of
the spot that is touched is proportional to the size of the object
touching it. The size of this resistance (RTOUCH) can be calculated
using two different methods.
The second method requires the user to know the resistance of
the X-plate and Y-plate tablets. Three touch screen conversions
are required: a measurement of the X position (XPOSITION), the
Y position (YPOSITION), and the Z1 position.
First Method
TEMPERATURE MEASUREMENT
The first method requires the user to know the total resistance
of the X-plate tablet (RX). Three touch screen conversions are
required: measurement of the X position, XPOSITION (Y+ input);
measurement of the Y− input with the excitation voltage applied
to Y+ and X− (Z1 measurement); and measurement of the X+
input with the excitation voltage applied to Y+ and X− (Z2
measurement).
A temperature measurement option called the single conversion
method is available on the AD7879. The conversion method
requires only a single measurement on ADC Channel 001b.
The results are stored in the results registers with Address 0x0D
(TEMP). The AD7879 does not provide an explicit output of
the temperature reading; the system must perform some
external calculations. This method is based on an on-chip
diode measurement.
These three measurements are illustrated in Figure 26.
The AD7879 has two special ADC channel settings that
configure the X and Y switches for Z1 and Z2 measurement
and store the results in the Z1 and Z2 results registers. The Z1
measurement is ADC Channel 101b, and the result is stored in
register with Read Address 0x0A. The Z2 measurement is ADC
Channel 100b, and the result is stored in register with Read
Address 0x0B.
The touch resistance can then be calculated using the following
equation:
RTOUCH = (RXPLATE) × (XPOSITION /4096) × [(Z2/Z1) − 1]
MEASURE
X POSITION
X+
TOUCH
RESISTANCE
Y–
Y+
X+
RTOUCH = RXPLATE × (XPOSITION/4096) × [(4096/Z1) − 1] −
RYPLATE × [1 − (YPOSITION/4096)]
The acquisition time is fixed at 16 ms for temperature
measurement.
Conversion Method
The conversion method makes use of the fact that the temperature coefficient of a silicon diode is approximately
−2.1 mV/°C. However, this small change is superimposed
on the diode forward voltage, which can have a wide tolerance.
Therefore, it is necessary to calibrate by measuring the diode
voltage at a known temperature to provide a baseline from
which the change in forward voltage with temperature can be
measured. This method provides a resolution of approximately
0.3°C and a predicted accuracy of ±2°C.
MEASURE
Z1 POSITION
TOUCH
RESISTANCE
Y–
X–
Y+
X+
TOUCH
RESISTANCE
X–
MEASURE
Z2 POSITION
07667-026
Y–
(3)
The temperature limit comparison is performed on the result
in the TEMP results register, which is the measurement of the
diode forward voltage. The values programmed into the high
and low limits should be referenced to the calibrated diode
forward voltage to make accurate limit comparisons.
Y+
X–
(2)
The following equation also calculates the RTOUCH:
Figure 26. Three Measurements Required for Touch Pressure
Rev. 0 | Page 14 of 36
AD7879
Temperature Calculations
Example
If an explicit temperature reading in degrees Celsius is required,
calculate for the single measurement method by
Using VCC = 2.5 V as reference,
1.
Calculate the scale factor of the ADC in degrees per LSB
Degrees per LSB = ADC LSB size/−2.1 mV =
(VCC/4096)/−2.1 mV
2.
3.
4.
Degrees per LSB = (2.5/4096)/−2.1 × 10−3 = −0.291
The ADC output is 983 decimal at 25°C, equivalent to a diode
forward voltage of 0.6 V.
The ADC output at TAMB is 880.
Save the ADC output (DCAL) at the calibration
temperature, TCAL.
Take the ADC reading, DAMB, at the temperature to be
measured, TAMB.
Calculate the difference in degrees between TCAL and TAMB by
ΔT = (DAMB − DCAL) × degrees per LSB
5.
Add ΔT to TCAL.
Rev. 0 | Page 15 of 36
ΔT = (880 − 983) × −0.291 = 30°C
TAMB = 25 + 30 = 55°C
AD7879
MEDIAN AND AVERAGING FILTERS
The AD7879 contains a filtering block to process the data and
discard the spurious noise before sending the information to
the host. The goal of this block is not just the suppression of
noise; the on-chip filtering also remarkably reduces the host
processing loading.
The processing function consists of two filters that are applied
to the converted results: the median filter and the averaging filter.
The median filter suppresses the isolated out-of-range noise and
sets the number of measurements to be taken. These measurements are arranged in a temporary array, where the first value
is the smallest measurement and the last value is the largest
measurement. Bit 6 and Bit 5 in Control Register 2 (M1, M0)
set the window of the median filter, and therefore, the number
of measurements taken.
Table 6. Median Filter Size
M1
0
0
1
1
M0
0
1
0
1
Function
Median filter does not operate
4 measurements
8 measurements
16 measurements
When both filter values are 00, only one measurement is
transferred to the register map.
The number chosen with the M1 and M0 settings must be
equal to or larger than the number chosen with the A1 and
A0 settings. If both settings select the same number, the median
filter is switched off.
Table 8. Median Averaging Filters (MAVF) Settings
M<A
M>A
Example
M1, M0 = 11, A1, A0 = 10; in this example the median filter
has a window size of 16. This means that 16 measurements are
taken and arranged in descending order in a temporary array.
The averaging window size in this case is 8. The output is an
average of the middle 8 values of the 16 measurements taken
with the median filter.
The averaging filter size determines the number of values to
average. Bit 8 and Bit 7 in Control Register 2 (A1, A0) allow the
average of 2, 4, 8, or 16 samples. Only the final averaged result is
written into the results register.
Table 7. Averaging filter Size
A1
0
0
1
1
A0
0
1
0
1
Function
Median filter does not operate; output is the
average of A converted results
Not possible because the median filter size is
always bigger than the averaging window size
Output is the average of the middle A values
from the array of M measurements
M=A
Function
Average of 2 middle samples
Average of 4 middle samples
Average of 8 middle samples
Average of 16 samples
12-BIT SAR
ADC
MEDIAN
FILTER
AVERAGING
FILTER
CONVERTED
RESULTS
16 MEASUREMENTS
ARRANGED
AVERAGE OF
MIDDLE 8 VALUES
6
2
13
4
16
5
15
10
9
3
11
8
1
12
14
7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
M = 16
Figure 27. Median and Averaging Filter Example
Rev. 0 | Page 16 of 36
A=8
07667-027
As explained in the Touch Screen Principles section, touch
screens are composed of two resistive layers, normally placed
over an LCD screen. Because these layers are in close proximity
to the LCD screen, noise can be coupled from the screen onto
these resistive layers, causing errors in the touch screen positional measurements.
AD7879
AUX/VBAT/GPIO PIN
Pin 1A (AUX/VBAT/GPIO) on the AD7879 can be programmed
as either an auxiliary input to the ADC, as a battery monitoring
input, or as a general-purpose digital input/output. To select the
auxiliary measurement, set the ADC channel address to 011.
To select a battery measurement, set the ADC channel address
to 010. To select the GPIO, set Bit 13 in Control Register 2
(Address 0x02) to 1.
AUXILIARY INPUT
LIMIT COMPARISON
The AUX measurement and the battery measurement can
be compared with high and low limits stored on-chip. An
out-of-limit result generates an alarm output at the INT pin
(PENIRQ/INT/DAV) provided the INT function is enabled.
The high limit for both channels is stored in Register 0x04,
while the low limit is stored in Register 0x05.
The AD7879 has an auxiliary analog input, AUX. When selected,
the signal on the AUX pin (AUX/VBAT/GPIO) is connected
directly to the ADC input. This channel has a full-scale input
range from 0 V to VCC. The ADC channel addresses for AUX is
011, and the result is stored in Register 0x0C.
After a measurement from either AUX or VBAT is taken, it
is compared with the high and low limits. The out-of-limit
comparison sets a status bit in Control Register 3. There are
separate status bits for both the high and low limits to indicate
which limit was exceeded. The interrupt sources can be masked
by clearing the corresponding enable bit in this register.
BATTERY INPUT
GPIO
The AD7879 can monitor battery voltages from 0.5 V to 5 V
when the BAT measurement is selected. Figure 28 shows a block
diagram of a battery voltage monitored through the VBAT pin.
The voltage to the VCC pin (VCC/REF) of the AD7879 is
maintained at the desired supply voltage via the dc-to-dc
regulator while the input to the regulator is monitored. This
voltage on VBAT is divided down by 4 internally, so that a 5 V
battery voltage is presented to the ADC as 1.25 V. To conserve
power, the divider circuit is on only during the sampling of a
voltage on VBAT. Note that the possible maximum input is 5 V.
The AD7879 has one general-purpose logic input/output pin,
GPIO (AUX/VBAT/GPIO). To enable the GPIO, set Bit 13 in
Control Register 2 to 1. If this bit it 0, then the AUX/VBAT
function is active on the pin. The other GPIO configuration bits
have no effect, if the GPIO is not enabled.
The VBAT input is ADC Channel 010, and the result is stored
in Register 0x0C.
VCC
VBAT
12kΩ
Bit 11 sets the direction of the GPIO pin (AUX/VBAT/GPIO).
When GPIO DIR = 0, the pin is an output. Setting or clearing
bits in the GPIO data bit (Register 0x02[12]) outputs a value on
the GPIO pin.
Polarity (Bit 10, Control Register 2, Address 0x02)
SW
0.125V TO 1.25V
Direction (Bit 11, Control Register2, Address 0x02)
When GPIO DIR = 1, the pin is an input. An input value on the
GPIO pin sets or clears the GPIO data bit (Register 0x02[12]).
GPIO data register bits are read-only when GPIO DIR = 1.
DC-TO-DC
CONVERTER
BATTERY
0.5V TO 5V
The GPIO data bit is located in Bit 12 of the Control Register 2.
When GPIO POL = 0, the GPIO pin is active low. When GPIO
POL = 1, the GPIO pin is active high. How this bit affects the
GPIO operation also depends on the GPIO DIR bit.
ADC
4kΩ
07667-028
If GPIO POL = 1 and GPIO DIR = 1, a 1 at the input pin sets
the corresponding GPIO data register bit to 1. A 0 at the input
pin clears the corresponding GPIO data bit to 0.
Figure 28. Block Diagram of Battery Measurement Circuit
The maximum battery voltage that the AD7879 can measure
changes when a different reference voltage is used. The maximum voltage that is measurable is VCC × 4 because this voltage
gives a full-scale output from the ADC. The battery voltage can
be calculated using the following formula:
VBAT (V) = [(Register Value) × VCC × 4]/4095
If GPIO POL = 1 and GPIO DIR = 0, a 1 in the GPIO data
register bit puts a 1 on the corresponding GPIO output pin. A 0
in the GPIO data register bit puts a 0 on the GPIO output pin.
If GPIO POL = 0 and GPIO DIR = 1, a 1 at the input pin sets
the corresponding GPIO data bit to 0. A 0 at the input pin clears
the corresponding GPIO data bit to 1.
If GPIO POL = 0 and GPIO DIR = 0, a 1 in the GPIO data
register bit puts a 0 on the corresponding GPIO output pin. A 0
in the GPIO data register bit puts a 1 on the GPIO output pin.
Rev. 0 | Page 17 of 36
AD7879
GPIO Interrupt Enable (Bit 12, Control Register 3,
Address 0x03)
The GPIO pin can operate as an interrupt source to trigger the
INT output. This is controlled by Bit 12 in Control Register 3.
INT is asserted if the GPIO data register bit is set when the
GPIO is configured as an input, provided that INT is enabled.
INT is triggered only when the GPIO is configured as an input,
that is, when GPIO DIR = 1.
If the GPIO ALERT interrupt enable = 1, the GPIO can trigger
INT. If this bit = 0, the GPIO cannot trigger INT.
INT is clear only when the GPIO signal or the GPIO enable
changes.
Rev. 0 | Page 18 of 36
AD7879
REGISTER MAP
Table 9. Register Table
Address 1
0x00
0x01
Name
Unused
Control Register 1
0x02
Control Register 2
0x03
Control Register 3
0x04
0x05
0x06
0x07
0x08
0x09
0x0A
0x0B
0x0C
0x0D
0x0E
AUX/VBAT high limit
AUX/VBAT low limit
TEMP high limit
TEMP low limit
X+
Y+
X+ (Z1)
Y− (Z2)
AUX/VBAT
TEMP
Revision and device ID
1
Description
Unused
PENIRQ enable, channel selection for manual selection, ADC mode,
acquisition time, and conversion timer
ADC power management, GPIO control, pen interrupt, averaging,
median filter, software reset, and FCD
Status of high/low limit comparisons for TEMP, AUX/VBAT and enable bits to
allow them to become interrupts; channel selection for slave/master mode
AUX/VBAT high limit for comparison
AUX/VBAT low limit for comparison
TEMP high limit for comparison
TEMP low limit for comparison
X+ measurement for Y position
Y+ measurement for X position
X+ measurement for touch pressure calculation (Z1)
Y− measurement for touch pressure calculation (Z2)
AUX/VBAT measurement
Temperature conversion Measurement
Revision and device ID
Do not write to addresses outside the register map.
Rev. 0 | Page 19 of 36
Default
Value
0x0000
0x0000
Type
R/W
R/W
0x4040
R/W
0x0000
R/W
0x0000
0x0000
0x0000
0x0000
0x0000
0x0000
0x0000
0x0000
0x0000
0x0000
0x0379 (AD7879-1)
0x037A (AD7879)
R/W
R/W
R/W
R/W
R
R
R
R
R
R
R
AD7879
DETAILED REGISTER DESCRIPTIONS
All addresses and default values are expressed in hexadecimal.
Table 10. Control Register 1
Address
0x01
Name
Disable PENIRQ
Data
Bit
15
Description
Pen interrupt enable.
0 = PENIRQ pin is enabled.
Default
Value
0x0000
1 = PENIRQ is disabled and INT enabled.
1
2
CHNL ADD[2:0]
14:12
ADC MODE[1:0]
11:10
ACQ[1:0]
9:8
TMR[7:0]
7:0
ADC Channel address for manual conversion (mode 01).
111 = X+ input (Y position).
110 = Y+ input (X position).
101 = X+ (Z1) input for touch-pressure calculation.
100 = Y− (Z2) input (used for touch-pressure measurement).
011 = AUX input 1 .
010 = VBAT input1.
001 = temperature measurement.
000 = not applicable.
ADC mode.
00 = no conversion.
01 = single conversion 2 .
10 = conversion sequence (slave mode)2.
11 = conversion sequence (master mode).
ADC acquisition time.
00 = 4 clock periods (2 μs).
01 = 8 clock periods (4 μs).
10 = 16 clock periods (8 μs).
11 = 32 clock periods (16 μs).
Note that the acquisition time does not apply to the temperature sensor channels; the
temperature channel has a constant settling time of 16 μs.
Conversion interval timer.
Starts at 550 μs and continues to 9.440 ms in steps of 35 μs.
Note that in slave mode, the conversion interval timer starts to count as soon as the
conversion sequence is finished; in master mode, it starts to count again only if the screen
remains touched. If the screen is released, the timer stops counting and, on the next screen
touch, a conversion starts immediately.
If GPIO is enabled, AUX and VBAT are both ignored. If AUX and VBAT are both selected, and GPIO is disabled, AUX is ignored, and VBAT is measured.
Note that these settings clear to 00 at the end of the conversion sequence if the conversion interval timer bits in Control Register 1 (0x01) Bits 7:0 = 0x00h at the end of
the conversion sequence.
Rev. 0 | Page 20 of 36
AD7879
Table 11. Control Register 2
Address
0x02
1
Name
PM[1:0]
Data
Bit
15:14
GPIO EN
13
GPIO DAT
GPIO DIR
12
11
GPIO POL
10
SER/DFR
9
A[1:0]
8:7
M[1:0]
6:5
SW/RST
FCD[3:0]
4
3:0
Description
ADC power management.
00 = full shutdown, the ADC, oscillator, BIAS, and temperature sensor are all powered down.
01 = analog blocks to be powered down depend on the ADC mode.
If ADC mode is master mode; the ADC, oscillator, BIAS, and temperature sensor are powered
down and must wake up when the user touches the screen.
If ADC mode is slave mode, the ADC and temperature sensor are powered down while not
being used. They wake up automatically when required. The oscillator and BIAS are powered
up because they are needed to measure time. This also applies to the single conversion mode.
10 = ADC, BIAS, the oscillator is powered up continuously, irrespective of ADC mode.
11 = as 01.
GPIO enable.
0 = AUX/VBAT channel active.
1 = GPIO enabled on AUX/VBAT/GPIO.
GPIO data bit.
GPIO direction.
0 = output.
1 = input.
GPIO polarity.
0 = the GPIO pin is active low.
1 = the GPIO pin is active high.
SER/DFR.
Selects normal (single-ended) or conversion.
0 = ratiometric (differential).
1 = normal (single-ended).
ADC averaging.
00 = 2 middle values averaged (1 measurement when median filter does not operate).
01 = 4 middle values averaged.
10 = 8 middle values averaged.
11 = 16 values averaged.
Median filter size.
00 = median filter does not operate.
01 = 4 measurements.
10 = 8 measurements.
11 = 16 measurements.
Software reset; digital part is reset when this bit is set.
ADC first conversion delay 1 .
Starts at 128 μs and goes all the way to 4.096 ms in steps of 128 μs.
Default
Value
0x4040
This delay occurs before conversion of the X and Y coordinate channels (including Z1 and Z2) to allow for screen settling and before the first conversion to allow the
ADC to power up.
Rev. 0 | Page 21 of 36
AD7879
Table 12. Control Register 3
Address
0x03
Name
TEMP MASK
Data
Bit
15
AUX/VBAT
MASK
14
INT MODE
13
Default
Value
0x0000
Description
TEMP mask bit
0 = temperature measurement is allowed to cause interrupt
1 = temperature measurement is not allowed to cause interrupt
AUX/VBAT mask bit
0 = AUX/VBAT measurement is allowed to cause interrupt
1 = AUX/VBAT measurement is not allowed to cause interrupt
DAV/INT mode select
0 = enable DAV mode
1 = enable INT mode
GPIO ALERT
12
Note that this bit overrides any mask bits associated with individual channels
GPIO interrupt enable
0 = GPIO can cause an alert on the INT output
AUX/VBAT LOW
AUX/VBAT HIGH
TEMP LOW
TEMP HIGH
X+
Y+
Z1
Z2
AUX
VBAT
TEMP
Not used
11
10
9
8
7
6
5
4
3
2
1
0
1 = AUX/VBAT below low limit
1 = AUX/VBAT above high limit
1 = TEMP below low limit
1 = TEMP above high limit
1 = include measurement of Y position (X+ input)
1 = include measurement of X position (Y+ input)
1 = include Z1 touch pressure measurement (X+ input)
1 = include measurement of Z2 touch pressure measurement (Y− input)
1 = include measurement of AUX channel 1
1 = include measurement of battery monitor (VBAT)1
1 = include temperature measurement
Unused
1 = mask GPIO from causing an alert on the INT output
1
If GPIO is enabled, AUX and VBAT are both ignored. If AUX and VBAT are both selected, and GPIO is disabled, AUX is ignored, and VBAT is measured.
Table 13. Limit Registers
Address
0x04
0x05
0x06
0x07
Data Bit
15:0
15:0
15:0
15:0
Description
User-programmable AUX/VBAT high limit register
User-programmable AUX/VBAT low limit register
User-programmable TEMP high limit register
User-programmable TEMP low limit register
Rev. 0 | Page 22 of 36
Default Value
0x0000
0x0000
0x0000
0x0000
AD7879
Table 14. Measurement Result Registers
Address
0x08
0x09
0x0A
0x0B
0x0C
0x0D
Data Bit
15:0
15:0
15:0
15:0
15:0
15:0
Description
Measured X+ input with Y excitation (Y position)
Measured Y+ input with X excitation (X position)
Measured X+ input with X− and Y+ excitation (touch-pressure calculation Z1)
Measured Y− input with X− and Y+ excitation (touch-pressure calculation Z2)
AUX/VBAT voltage measurement
Temperature conversion measurement
Table 15. Revision/Device ID Register
Address
0x0E
Data Bit
15:12
11:8
7:0
Description
Unused
Revision and device ID bits
Device ID
Rev. 0 | Page 23 of 36
Default Value
0x0379 (AD7879-1)
0x037A (AD7879)
Default Value
0x0000
0x0000
0x0000
0x0000
0x0000
0x0000
AD7879
CONTROL REGISTERS
0
DIS
CHNL CHNL CHNL ADC
ADC
ACQ1 ACQ0 TMR7 TMR6 TMR5 TMR4 TMR3 TMR2 TMR1 TMR0
PENIRQ ADD2 ADD1 ADD0 MODE1 MODE0
07667-029
15
Figure 29. Control Register 1
CONTROL REGISTER 1
ADC Mode (Control Register 1, Bits[11:10])
Control Register 1 (Address 0x01) contains the ADC channel
address and the ADC mode bits. It sets the acquisition time and
the timer. It also contains a bit to disable the pen interrupt.
Control Register 1 should always be the last register programmed
prior to starting conversions. Its power-on default value is
0x0000. To change any parameter after conversion has begun,
the part should first be put into Mode 00. Make the changes;
then reprogram Control Register 1, ensuring that it is always the
last register programmed before conversions begin.
The mode bits select the operating mode of the ADC. The
AD7879 has three operating modes. These are selected by
writing to the mode bits in Control Register 1. If the mode
bits are 00, no conversion is performed.
Timer (Control Register 1, Bits[7:0])
The TMR bits in Control Register 1 enable the ADC to repeatedly perform a conversion or to perform a conversion sequence
only once or at intervals of 35 μs from 550 μs up to 9.440 ms. In
slave mode, the timer starts as soon as the conversion sequence
is finished. In master mode, the timer starts at the end of a
conversion sequence only if the screen remains touched. If the
touch is released at any stage, then the timer stops. The next
time the screen is touched, a conversion sequence immediately
begins.
Table 16. Control Register 1 Timer Selection
TMR
00000000
00000001
00000010
00000011
…
11111101
11111110
11111111
Function
Convert one time only (default)
Every 550 μs
Every 585 μs
Every 620 μs
…
Every 9.370 ms
Every 9.405 ms
Every 9.440 ms
The ACQ bits in Control Register 1 allow the selection of
acquisition times for the ADC of 2 μs (default), 4 μs, 8 μs,
or 16 μs. The user can program the ADC with an acquisition
time suitable for the type of signal being sampled. For example,
signals with large RC time constants can require longer acquisition times.
ACQ1
0
0
1
1
ACQ0
0
1
0
1
Function
4 clock periods (2 μs)
8 clock periods (4 μs)
16 clock periods (8 μs)
32 clock periods (16 μs)
ADC
MODE1
0
0
ADC
MODE0
0
1
1
1
0
1
Function
Do not convert (default)
Single-channel conversion; the AD7879 is
in slave mode
Sequence 0; the AD7879 is in slave mode
Sequence 1; the AD7879 is in master mode
If the mode bits are 01, a single conversion is performed on
the channel selected by writing to the channel bits of Control
Register 1 (Bit 12 to Bit 14). At the end of the conversion, if the
TMR bits in Control Register 1 are set to 00000000, the mode
bits revert to 00 and the ADC returns to no convert mode until
a new conversion is initiated by the host. Setting the TMR bits
to a value other than 00000000 causes the conversion to be
repeated.
The AD7879 can also be programmed to automatically convert
a sequence of selected channels. The two modes for this type of
conversion are slave mode and master mode.
Acquisition Time (Control Register 1, Bits[9:8])
Table 17. Acquisition Time Selection
Table 18. Control Register 1 Mode Selection
For slave mode operation, the channels to be digitized are selected
by setting the corresponding bits in Control Register 3. Conversion is initiated by writing 10b to the mode bits of Control
Register 1. The ADC then digitizes the selected channels and
stores the results in the corresponding results registers. At the
end of the conversion, if the TMR bits in Control Register 1 are
set to 00000000, the mode bits revert to 00 and the ADC returns
to no convert mode until a new conversion is initiated by the
host. Setting the TMR bits to a code other than 00000000 causes
the conversion sequence to be repeated.
For master mode operation, the channels to be digitized are
written to the Control Register 3. Master mode is then selected
by writing 11 to the mode bits in Control Register 1. In this
mode, the wake-up on touch feature is active; therefore, conversion does not immediately begin. The AD7879 waits until the
screen is touched before beginning the sequence of conversions.
The ADC then digitizes the selected channels; and the results
are written to the result registers. The AD7879 waits for the
screen to be touched again, or for a timer event if the screen
remains touched, before beginning another sequence of
conversions.
Rev. 0 | Page 24 of 36
AD7879
ADC Channel (Control Register 1 Bits[14:12])
The ADC channel is selected by Bits[14:12] of Control Register 1
(CHNL ADD2 to CHNL ADD0). A complete list of channel
addresses is given in Table 19.
For Mode 0 (single-channel) conversion, the channel is selected
by writing the appropriate CHNL ADD2 to CHNL ADD0 code
to Control Register 1.
For sequential channel conversion, channels to be converted are
selected by setting bits corresponding to the channel number in
the Control Register 3 for slave and master mode sequencing.
For both single-channel and sequential conversion, a normal
conversion (single-ended) is selected by clearing the SER/DFR
bit in Control Register 2 (Bit 9). Ratiometric (differential)
conversion is selected by setting the SER/DFR bit.
PENIRQ Enable (Control Register 1, Bit 15)
The AD7879 has a dual function output that performs as
PENIRQ or INT depending on the pen interrupt enable bit
(Bit 15 of Control Register 1). When this bit is set to 0, the
pin is working as a pen interrupt and it goes low whenever the
screen is touched. When the pen interrupt enable bit is set to 1,
the pin interrupt request is disabled and the pin functions as INT.
Table 19. Codes for Selecting Input Channel and Normal or Ratiometric Conversion
Channel
0
1
2
3
4
5
6
7
8
9
12
13
14
15
SER/DFR
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
CHNL ADD[2:0]
111
110
101
100
011
010
001
000
111
110
101
100
011
010
001
000
Analog Input
X+ (Y position)
Y+ (X position)
X+ (Z1 touch pressure)
Y− (Z2 touch pressure)
AUX
VBAT
TEMP
X+ (Y position)
Y+ (X position)
X+ (Z1 touch pressure)
Y− (Z2 touch pressure)
AUX
VBAT
TEMP
X Switches
Y Switches
Off
On
On
Off
X+ off, X− on
Y+ on, Y− off
X+ off, X− on
Y+ on, Y− off
Off
Off
Off
Off
Off
Off
Invalid address
Off
On
On
Off
Off
Off
Off
Off
Off
Off
Off
Off
Off
Off
Invalid address
Rev. 0 | Page 25 of 36
+REF
Y+
X+
Y+
Y+
VCC
VCC
VCC
−REF
Y−
X−
X−
X−
GND
GND
GND
VCC
VCC
VCC
VCC
VCC
VCC
VCC
GND
GND
GND
GND
GND
GND
GND
AD7879
PM1
0
PM0
GPIO
EN
GPIO
DAT
GPIO GPIO
DIR
POL
SER/
DFR
AVG1 AVG0 MED1 MED0
SW/
RST
FCD3 FCD2 FCD1 FCD0
07667-030
15
Figure 30. Control Register 2
CONTROL REGISTER 2
Power Management (Control Register 2, Bits[15:14])
Control Register 2 (Address 0x02) contains the power
management bits, the GPIO settings, the SER/DFR bit
(to choose single or differential methods of touch screen
measurement), the averaging and median filter settings, a bit
that allows resetting the part, and the first conversion delay
bits. Its power-on default value is 0x4040. See the Detailed
Register Descriptions section for more information on the
control registers.
The power management (PM) bits in Control Register 2 allow
the power management features of the ADC to be programmed.
If the PM bits are 00, the ADC is permanently powered down.
This overrides any setting of the mode bits in Control Register 1.
If the PM bits are 01, both the ADC and the reference power
down when the ADC is not converting. If the PM bits are 10 or
11, the analog blocks to be powered down depend on the ADC
mode settings. Power management overrides the ADC modes.
First Conversion Delay (Control Register 2, Bits[3:0])
Table 21. Power Management Selection
The first conversion delay (FCD) bits in Control Register 2
program a delay from 128 μs (default) up to 4.096 ms before
the first conversion to allow the ADC time to power up. This
delay also occurs before conversion of the X and Y coordinate
channels to allow extra time for screen settling, and after the
last conversion in a sequence to precharge PENIRQ.
PM1
0
PM0
0
0
1
1
0
1
1
Table 20. First Conversion Delay Selection
FCD
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
Function
128 μs
256 μs
384 μs
512 μs
640 μs
768 μs
896 μs
1.024 ms
1.152 ms
1.280 ms
1.536 ms
1.792 ms
2.048 ms
2.560 ms
3.584 ms
4.096 ms
Rev. 0 | Page 26 of 36
Function
Full shutdown; ADC, oscillator, BIAS, and
temperature sensor are all turned off. The only
way of coming out of this mode is to write to the
part over the serial interface and change the PM
bits. This setting overrides any other setting on
the part, including the ADC mode bits.
The analog blocks to be powered down depend
on the ADC mode settings. If the ADC mode is set
to master mode, the ADC, BIAS, temperature
sensor, and oscillator are powered down and
must wake up when the user touches the screen.
If the ADC mode is set to slave mode, the ADC
and the TEMP sensor are powered down while
not being used. They wake up automatically
when required. The oscillator and BIAS are
powered up because they are needed to measure
time. This also applies to the single-conversion
mode.
ADC, BIAS, and the oscillator are powered up
continuously irrespective of ADC mode.
As 01.
AD7879
0
AUX/ AUX/
AUX/
INT GPIO
TEMP TEMP
TEMP
VBAT VBAT
VBAT
MODE ALERT
LOW HIGH
MASK
LOW HIGH
MASK
X+
Y+
Z1
Z2
AUX
NOT
VBAT TEMP
USED
07667-031
15
Figure 31. Control Register 3
CONTROL REGISTER 3
00
IDLE
ADC MODE?
Control Register 3 (Address 0x03) includes the interrupt
register (Bits[15:8]) and Control Register 3 (Bits[7:0]).
01
Sequencer
The sequencer bits control which channels are converted during
a conversion sequence in both slave and master mode.
SINGLE
CONVERSION
To include a measurement in a sequence, the relevant bit must
be set in the sequence. Setting Bit 7 includes a measurement on
the X+ channel (Y position). Setting Bit 6 includes a measurement on the Y+ channel (X position), and so on.
Figure 32 illustrates the correspondence between the bits in
Control Register 3 and the various measurements. Bit 0
is not used.
11
10
SLAVE MODE
CONVERSION
SEQUENCE
YES
MASTER MODE
WAIT FOR
FIRST TOUCH
CONVERSION
SEQUENCE
TIMER = 00?
NO
SCREEN
TOUCHED?
START TIMER
NO
YES
WAIT FOR TIMER
TIMER = 00?
YES
NO
START TIMER
WAIT FOR TIMER
YES
Figure 32. Conversion Modes
Rev. 0 | Page 27 of 36
NO
07667-032
SCREEN
TOUCHED?
AD7879
START OF
CONVERSION
SEQUENCE
resets INT to a high condition. INT is also reset if a new conversion is started by the AD7879 because the timer expired. The
host should read the results registers only when INT is low. To
ensure correct operation of the DAV mode when using the SPI
interface it is necessary to write 0x0000 to Register 0x81 after a
set of register reads. This clears the internal data read signal.
SET CHANNEL
YES
FCD
REQ’D?
START FCD
TIMER
NO
WAIT FOR
FCD
tCONV
AD7879
STATUS IDLE
START ACQUIST TIMER
AND WAIT FOR
ACQUISITION
SHIFT
READINGS
MEDIAN
WINDOW
FINISHED?
INT—Out of Limits
MAV FILTER
ENABLED
The INT pin operates as an alarm or interrupt output when
Bit 13 in Register 0x03 is set to 1. The output goes low if any
one of the interrupt sources is asserted. The results of high and
low limit comparisons on the AUX, VBAT, and TEMP channels
are interrupt sources. An out-of-limit comparison sets a status
bit in the interrupt register. There are separate status bits for
both the high and low limits on each channel to indicate which
limit was exceeded. The interrupt sources can be masked by
clearing the corresponding enable bit in this register. There is
one enable bit per channel.
NO
RUN
AVERAGER
NO FCD
REQ’D
YES
RUN FILTER
AVERAGER
AVG
FINISHED?
NO
YES
TXFER DATA
TO REG. MAP
LIMIT
COMPARISON
YES
PENIRQ— Pen Interrupt
SET ALERT AND
INTERRUPT
NO
NO
EOCS
?
NOTE THAT CONVERSION
SEQUENCE MAY BE 1
CHANNEL ONLY (MODE 01).
YES
END OF
CONVERSION
SEQUENCE
07667-033
OUT-OFLIMIT?
IDLE
Figure 33. Conversion Sequence
INTERRUPTS
The AD7879 has a dual function interrupt output, INT, as well
as a pen down interrupt, PENIRQ. The INT output can be configured as a data available interrupt, as an out of limit interrupt, or
as a GPIO interrupt.
The pen interrupt request output (PENIRQ) goes low whenever the screen is touched and the PENIRQ enable bit is set to
0 (Control Register 1, Bit 15). When PENIRQ enable is set to 1,
the pen interrupt request output is disabled.
The pen interrupt equivalent output circuitry is outlined in
Figure 35. This is a digital logic output with an internal 50 kΩ
pull-up resistor, which means it does not need an external pullup. The PENIRQ output idles high, and the PENIRQ circuitry
is always enabled in master mode (ADC mode = 11), except
during conversions.
Y+
VCC
INT—Data Available
VCC
50kΩ
The behavior of the interrupt output is controlled by Bit 13 in
Control Register 3. In default mode, INT operates as a data
available interrupt (Bit 13 = 0). When the AD7879 has finished
a conversion or a conversion sequence, the interrupt asserts to
let the host know that new ADC data is available in the result
registers.
PENIRQ
X+
X–
While the ADC is idle or is converting, INT is high. When the
ADC has finished converting and new data has been written to
the results registers, INT goes low. Reading the result registers
Rev. 0 | Page 28 of 36
TOUCH
SCREEN
PENIRQ
ENABLE
Y–
Figure 35. PENIRQ Output Equivalent Circuit
07667-035
NO
NEW DATA HOST READS
AVAILABLE
RESULTS
When the on-board timer is programmed to perform automatic
conversions, limited time is available to the host to read the
results registers before another sequence of conversions begins.
The INT signal is reset high when the timer expires, and the
host should not access the results registers while INT is high.
CONVERT: WAIT FOR
DATA_READY
YES
ADC
CONVERTING
Figure 34. Operation of INT Output
CONV_START = 0
COMPARE NEW
READING
SETUP
BY HOST
07667-034
INT
CONV_START = 1
AD7879
When the screen is touched, PENIRQ goes low. This generates
an interrupt request to the host. When the screen touch ends,
and if the ADC is idle, PENIRQ immediately goes high. If the
ADC is converting, PENIRQ goes high when the ADC becomes
idle. The PENIRQ operation for these two conditions is shown
in Figure 36.
ADC
STATUS
PENIRQ
DETECTS
RELEASE
In master mode, INT or DAV can also be used as an interrupt
to the host. The host should first define a conversion sequence
in Control Register 3, initialize the AD7879 in Mode 11b and
enable INT or DAV using Bit 15 in Control Register 1 and Bit 13
in Control Register 3. The host can then enter sleep mode to
conserve power. The wake-up on-touch feature of the AD7879
is active in this mode; therefore, when the screen is touched,
the programmed sequence of conversions automatically begins.
When the INT or DAVsignal asserts, the host reads the new
data available in the AD7879 results registers and returns to
sleep mode. This method can significantly reduce the load on the
host.
ADC IDLE
TOUCHED
RELEASE NOT
DETECTED
PENIRQ
DETECTS
TOUCH
PENIRQ
ADC IDLE
NOT
TOUCHED
PENIRQ
DETECTS
RELEASE
ADC
CONVERTING
07667-036
NOT
SCREEN TOUCHED
ADC
STATUS
In master mode (ADC mode bits = 11b), PENIRQ mode can
be used as an interrupt to the host. When PENIRQ goes low to
indicate that the screen has been touched, the host is awakened.
The host can then program the AD7879 to convert in any mode
and read the results after the conversions are completed.
NOT
TOUCHED
TOUCHED
PENIRQ
DETECTS
TOUCH
PENIRQ
The two recommended methods for synchronizing the AD7879
to its host CPU are slave mode (in which the mode bits can be
either 01b or 10b) and master mode (in which the mode bits
are 11b).
ADC IDLE
Figure 36. PENIRQ Operation for ADC Idle and ADC Converting
Figure 37 shows how the PENIRQ circuit is enabled. The wakeup on-touch circuit and the PENIRQ circuit are enabled only in
master mode (ADC mode = 11). In slave mode, the PENIRQ/
DAV/INT pin can output only DAV or INT signals.
YES
ENABLE
PENIRQ
DETECTION
CIRCUIT
ADC MODE = 11?
MASTER MODE
YES
TOUCH SCREEN TOUCHED
DAV
(END OF CONVERSION SEQUENCE)
INT
(GPIO ALERT/OUT OF LIMITS)
ENABLE
WAKE UP
ON TOUCH
TOUCH SCREEN TOUCHED
0
TO THE DIGITAL CORE
0
PENIRQ/INT/DAV PIN
INT/DAV/GPIO ALERT
1
1
CONTROL REGISTER 1
BIT 15
CONTROL REGISTER 3
BIT 13
Figure 37. Master Mode Operation
Rev. 0 | Page 29 of 36
07667-037
NOT
SCREEN TOUCHED
SYNCHRONIZING THE AD7879 TO THE HOST CPU
AD7879
SERIAL INTERFACE
Bits[15:11] of the command word must be set to 11100 to
successfully begin a bus transaction.
The AD7879 is available with an serial peripheral interface
(SPI). The AD7879-1 is available with an I2C®-compatible
interface. Both parts are the same, with the exception of the
serial interface. It is recommended not to write to addresses
outside the register map.
Bit 10 is the read/write bit; 1 indicates a read, and 0 indicates
a write.
Bits[9:0] contain the target register address. When reading or
writing to more than one register, this address indicates the
address of the first register to be written to or read from.
SPI INTERFACE
The AD7879 has a 4-wire SPI. The SPI has a data input pin
(DIN) for inputting data to the device, a data output pin
(DOUT) for reading data back from the device, and a data
clock pin (SCL) for clocking data into and out of the device.
A chip select pin (CS) enables or disables the serial interface.
CS is required for correct operation of the SPI interface. Data
is clocked out of the AD7879 on the negative edge of SCL and
data is clocked into the device on the positive edge of SCL.
Writing Data
Data is written to the AD7879 in 16-bit words. The first word
written to the device is the command word, with the read/write
bit set to 0. The master then supplies the 16-bit input data-word
on the DIN line. The AD7879 clocks the data into the register
addressed in the command word. If there is more than one word
of data to be clocked in, the AD7879 automatically increments
the address pointer and clocks the next data-word into the
following register.
SPI Command Word
All data transactions on the SPI bus begin with the master
taking CS from high to low and sending out the command
word. This indicates to the AD7879 whether the transaction
is a read or a write, and gives the address of the register from
which to begin the data transfer. The bit map in Table 22 shows
the SPI command word.
The AD7879 continues to clock in data on the SDA line until
either the master finishes the write transition by pulling CS
high, or until the address pointer reaches its maximum value.
The AD7879 address pointer does not wrap around. When it
reaches its maximum value, any data provided by the master
on the DIN line is ignored by the AD7879.
Table 22.
MSB
15
14
1
1
LSB
13
1
12
0
11
0
10
R/W
9:0
Register address
16-BIT COMMAND WORD
ENABLE WORD
DIN
CW
15
CW
14
CW
13
R/W
CW
12
CW
11
t2
SCL
CW
10
CW
8
t4
1
t1
2
3
4
5
16-BIT DATA
REGISTER ADDRESS
CW
9
CW
7
CW
6
CW
5
CW
4
CW
3
CW
2
CW
1
CW
0
D15
D14
D13
D2
D1
D0
t5
6
7
8
9
10
11
12
13
14
15
16
17
t3
18
19
30
31
32
t8
NOTES
1. DATA BITS ARE LATCHED ON SCL RISING EDGES. SCL CAN IDLE HIGH OR LOW BETWEEN WRITE OPERATIONS.
2. ALL 32 BITS MUST BE WRITTEN: 16 BITS FOR CONTROL WORD AND 16 BITS FOR DATA.
3. 16-BIT COMMAND WORD SETTINGS FOR SERIAL WRITE OPERATION:
CW[15:11] = 11100 (ENABLE WORD)
CW[10] = 0 (R/W)
CW[9:0] = [AD9, AD8, AD7, AD6, AD5, AD4, AD3, AD2, AD1, AD0] (10-BIT MSB JUSTIFIED REGISTER ADDRESS)
Figure 38. Single Register Write, SPI Timing
Rev. 0 | Page 30 of 36
07667-038
CS
AD7879
16-BIT COMMAND WORD
ENABLE WORD
DIN
SCL
CW
15
1
CW
14
CW
13
2
R/W
CW
12
CW
11
4
5
3
CW
10
DATA FOR STARTING
REGISTER ADDRESS
STARTING REGISTER ADDRESS
CW
9
6
CW
8
7
8
CW
7
CW
6
9
CW
5
CW
4
11
10
CW
3
12
CW
2
13
CW
1
14
CW
0
15
D15
16
D14
17
DATA FOR NEXT
REGISTER ADDRESS
D1
18
D0
31
32
D15
33
D1
D14
34
D0
47
D15
48
49
CS
07667-039
NOTES
1. MULTIPLE SEQUENTIAL REGISTERS CAN BE LOADED CONTINUOUSLY.
2. THE FIRST (LOWEST ADDRESS) REGISTER ADDRESS IS WRITTEN, FOLLOWED BY MULTIPLE 16-BIT DATA-WORDS.
3. THE ADDRESS AUTOMATICALLY INCREMENTS WITH EACH 16-BIT DATA-WORD (ALL 16 BITS MUST BE WRITTEN).
4. CS IS HELD LOW UNTIL THE LAST DESIRED REGISTER HAS BEEN LOADED.
5. 16-BIT COMMAND WORD SETTINGS FOR SEQUENTIAL WRITE OPERATION:
CW[15:11] = 11100 (ENABLE WORD)
CW[10] = 0 (R/W)
CW[9:0] = [AD9, AD8, AD7, AD6, AD5, AD4, AD3, AD2, AD1, AD0] (STARTING MSB JUSTIFIED REGISTER ADDRESS)
Figure 39. Sequential Register Write SPI Timing
`
16-BIT COMMAND WORD
ENABLE WORD
DIN
CW
15
CW
14
CW
13
R/W
CW
12
CW
11
t2
SCL
CW
10
REGISTER ADDRESS
CW
9
CW
8
t4
1
2
t1
3
4
5
CW
7
CW
6
CW
5
CW
4
CW
3
CW
2
CW
1
CW
0
X
X
X
X
X
X
t5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
30
t3
31
32
t8
CS
t6
DOUT
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
D15
D14
t7
D13
D2
D1
D0
XXX
NOTES
1. DATA BITS ARE LATCHED ON SCL RISING EDGES. SCL CAN IDLE HIGH OR LOW BETWEEN WRITE OPERATIONS.
2. THE 16-BIT CONTROL WORD MUST BE WRITTEN ON SDI: 5 BITS FOR ENABLE WORD, 1 BIT FOR R/W, AND 10 BITS FOR REGISTER ADDRESS.
3. THE REGISTER DATA IS READ BACK ON THE DOUT PIN.
4. X DENOTES DON’T CARE.
5. XXX DENOTES HIGH IMPEDANCE THREE-STATE OUTPUT.
6. CS IS HELD LOW UNTIL ALL REGISTER BITS HAVE BEEN READ BACK.
7. 16-BIT COMMAND WORD SETTINGS FOR SINGLE READBACK OPERATION:
CW[15:11] = 11100 (ENABLE WORD)
CW[10] = 1 (R/W)
CW[9:0] = [AD9, AD8, AD7, AD6, AD5, AD4, AD3, AD2, AD1, AD0] (10-BIT MSB JUSTIFIED REGISTER ADDRESS)
Figure 40. Single Register Read Back SPI Timing
Reading Data
A read transaction begins when the master writes the command
word to the AD7879 with the read/write bit set to 1. The master
then supplies 16 clock pulses per data-word to be read, and the
AD7879 clocks out data from the addressed register on the SDA
line. The first data-word is clocked out on the first falling edge
of SCL following the command word, as shown in Figure 40.
The AD7879 continues to clock out data on the DOUT line
provided the master continues to supply the clock signal on
SCL. The read transaction finishes when the master takes
CS high. If the AD7879 address pointer reaches its maximum
value, the AD7879 repeatedly clocks out data from the
addressed register. The address pointer does not wrap around.
Rev. 0 | Page 31 of 36
07667-040
16-BIT READBACK DATA
AD7879
16-BIT COMMAND WORD
ENABLE WORD
R/W
REGISTER ADDRESS
DIN
CW
15
CW
14
CW
13
CW
12
CW
11
CW
10
CW
9
CW
8
CW
7
SCL
1
2
3
4
5
6
7
8
9
CW
6
10
CW
5
11
CW
4
CW
3
12
13
CW
2
CW
1
CW
0
X
16
17
18
XXX XXX XXX
D15
D14
14
15
X
X
31
X
32
X
X
33
34
X
X
47
48
X
49
CS
XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX
XXX XXX XXX
D1
D0
READBACK DATA FOR
STARTING REGISTER ADDRESS
D15
D14
D1
D0
D15
READBACK DATA FOR
NEXT REGISTER ADDRESS
NOTES
1. MULTIPLE REGISTERS CAN BE READ BACK CONTINUOUSLY.
2. THE 16-BIT CONTROL WORD MUST BE WRITTEN ON SDA: 5 BITS FOR ENABLE WORD, 1 BIT FOR R/W, AND 10 BITS FOR REGISTER ADDRESS.
3. THE ADDRESS AUTOMATICALLY INCREMENTS WITH EACH 16-BIT DATA-WORD BEING READ BACK ON THE SDA PIN.
4. CS IS HELD LOW UNTIL ALL REGISTER BITS HAVE BEEN READ BACK.
5. X DENOTES DON’T CARE.
6. XXX DENOTES HIGH IMPEDANCE THREE-STATE OUTPUT.
7. 16-BIT COMMAND WORD SETTINGS FOR SEQUENTIAL READBACK OPERATION:
CW[15:11] = 11100 (ENABLE WORD)
CW[10] = 1 (R/W)
CW[9:0] = [AD9, AD8, AD7, AD6, AD5, AD4, AD3, AD2, AD1, AD0] (STARTING MSB JUSTIFIED REGISTER ADDRESS)
07667-041
DOUT
Figure 41. Sequential Register Read Back SPI Timing
I2C-COMPATIBLE INTERFACE
The AD7879-1 supports the industry standard 2-wire I2C serial
interface protocol. The two wires associated with the I2C timing are
the SCL and SDA inputs. The SDA is an I/O pin that allows both
register write and register read back operations. The AD7879-1 is
always a slave device on the I2C serial interface bus.
It has a 7-bit device address, Address 0101 1XX. The lower two
bits are set by tying the ADD0 and ADD1 pins high or low. The
AD7879-1 responds when the master device sends its device
address over the bus. The AD7879-1 cannot initiate data transfers
on the bus.
Table 23. AD7879-1 I2C Device Address
ADD1
0
0
1
1
ADD0
0
1
0
1
I2C Address
0101 100
0101 101
0101 110
0101 111
Data Transfer
Data is transferred over the I2C serial interface in 8-bit bytes. The
master initiates a data transfer by establishing a start condition,
defined as a high-to-low transition on the serial data line, SDA,
while the serial clock line, SCL, remains high. This indicates
that an address/data stream follows.
All slave peripherals connected to the serial bus respond to the
start condition and shift in the next eight bits, consisting of a
7-bit address (MSB first) plus an R/W bit that determines the
direction of the data transfer. The peripheral whose address
corresponds to the transmitted address responds by pulling the
data line low during the ninth clock pulse. This is known as the
acknowledge bit. All other devices on the bus then remain idle
while the selected device waits for data to be read from, or
written to it. If the R/W bit is a 0, the master writes to the slave
device. If the R/W bit is a 1, the master reads from the slave
device.
Data is sent over the serial bus in a sequence of nine clock
pulses (eight bits of data followed by an acknowledge bit from
the slave device). Transitions on the data line must occur during
the low period of the clock signal and remain stable during the
high period, because a low-to-high transition when the clock
is high can be interpreted as a stop signal. The number of data
bytes transmitted over the serial bus in a single read or write
operation is limited only by what the master and slave devices
can handle.
When all data bytes are read or written, a stop condition is
established. A stop condition is defined by a low-to-high
transition on SDA while SCL remains high. If the AD7879
encounters a stop condition, it returns to its idle condition.
Rev. 0 | Page 32 of 36
AD7879
START
AD7879 DEVICE ADDRESS
REGISTER ADDRESS[A7:A0]
SDA
DEV
A6
DEV
A5
DEV
A4
DEV DEV DEV
A2
A1
A3
t1
DEV
A0
R/W
ACK
7
8
9
A7
A6
A1
A0
t3
SCL
1
2
3
4
5
6
10
11
16
17
t2
ACK
D15
D14
D9
REGISTER DATA[D7:D0]
D8
ACK
D7
t4
18
19
20
25
26
D1
D6
D0
28
DEV
A6
t6
29
34
AD7879 DEVICE ADDRESS
ACK
t5
27
START
t8
35
36
DEV
A5
DEV
A4
t7
37
1
2
3
NOTES
1. A START CONDITION AT THE BEGINNING IS DEFINED AS A HIGH-TO-LOW TRANSITION ON SDA WHILE SCL REMAINS HIGH.
2. A STOP CONDITION AT THE END IS DEFINED AS A LOW-TO-HIGH TRANSITION ON SDA WHILE SCL REMAINS HIGH.
3. 7-BIT DEVICE ADDRESS [DEV A6:DEV A0] = [0 1 0 1 1 X X], WHERE THE Xs ARE DON'T CARE BITS.
4. REGISTER DATA [D15:D8] AND REGISTER DATA [D7:D0] ARE ALWAYS SEPARATED BY A LOW ACK BIT.
07667-042
STOP
REGISTER DATA[D15:D8]
Figure 42. Example of I2C Timing for Single Register Write Operation
Writing Data over the I2C Bus
2
The process of writing to the AD7879-1 over the I C bus is
shown in Figure 42 and Figure 44. The device address is sent
over the bus followed by the R/W bit set to 0. This is followed
by two bytes of data that contain the 10-bit address of the internal data register to be written. The address is contained in the
8 LSBs of the register address byte. The bit map in Table 24
shows the register address byte.
Table 24.
MSB
7
LSB
6
Bit 7
Bit 6
5
4
3
2
Register Address
Bit 5
Bit 4
Bit 3
Bit 2
1
0
Bit 1
Bit 0
The third data byte contains the 8 MSBs of the data to be
written to the internal register. The fourth data byte contains
the 8 LSBs of data to be written to the internal register.
The AD7879-1 address pointer register automatically increments
after each write. This allows the master to sequentially write to all
registers on the AD7879-1 in the same write transaction. However,
the address pointer register does not wrap around after the last
address.
Any data written to the AD7879-1 after the address pointer has
reached its maximum value is discarded.
All registers on the AD7879-1 have 16 bits. Two consecutive
8-bit data bytes are combined and written to the 16-bit registers.
To avoid errors, all writes to the device must contain an even
number of data bytes.
To finish the transaction, the master generates a stop condition
on SDA, or generates a repeat start condition if the master is to
maintain control of the bus.
Reading Data Over the I2C Bus
To read from the AD7879-1, the address pointer register must
first be set to the address of the required internal register. The
master performs a write transaction and writes to the AD7879-1
to set the address pointer. The master then outputs a repeat start
condition to keep control of the bus, or if this is not possible, the
master ends the write transaction with a stop condition. A read
transaction is initiated, with the R/W bit set to 1.
The AD7879-1 supplies the upper eight bits of data from the
addressed register in the first read back byte, followed by the
lower eight bits in the next byte. This is shown in Figure 43
and Figure 44.
Because the address pointer automatically increases after each
read, the AD7879-1 continues to output readback data until
the master puts a no acknowledge and a stop condition on the
bus. If the address pointer reaches its maximum value, and the
master continues to read from the part, the AD7879-1 repeatedly sends data from the last register addressed.
Rev. 0 | Page 33 of 36
AD7879
START
AD7879-1 DEVICE ADDRESS
REGISTER ADDRESS[A7:A0]
SDA
DEV
A6
DEV
A5
DEV
A4
DEV DEV DEV
A2
A1
A3
t1
DEV
A0
R/W ACK
A7
A1
A6
A0
ACK
t3
SCL
1
2
3
4
5
6
7
8
9
10
11
17
16
18
t2
P
AD7879-1 DEVICE ADDRESS
SR
DEV
A6
USING
REPEATED
START
DEV
A5
DEV
A1
REGISTER DATA[D7:D0]
DEV
A0
ACK
R/W
D7
t4
19
P
25
21
20
DEV
A6
26
DEV
A5
27
28
29
DEV
A1
20
ACK
35
30
25
21
36
R/W
ACK
D7
DEV
A5
DEV
A4
1
2
3
37
D1
D6
DEV
A6
t7
REGISTER DATA[D7:D0]
DEV
A0
AD7879 DEVICE ADDRESS
t6
t4
19
D0
t5
AD7879-1 DEVICE ADDRESS
S
SEPARATE
READ AND
WRITE
TRANSACTIONS
D1
D6
t8
P
D0
ACK
t5
26
27
28
29
35
30
36
37
07667-043
NOTES
1. A START CONDITION AT THE BEGINNING IS DEFINED AS A HIGH-TO-LOW TRANSITION ON SDA WHILE SCL REMAINS HIGH.
2. A STOP CONDITION AT THE END IS DEFINED AS A LOW-TO-HIGH TRANSITION ON SDA WHILE SCL REMAINS HIGH.
3. THE MASTER GENERATES THE ACK AT THE END OF THE READBACK TO SIGNAL THAT IT DOES NOT WANT ADDITIONAL DATA.
4. 7-BIT DEVICE ADDRESS [DEV A6:DEV A0] = [0 1 0 1 1 X X], WHERE THE TWO LSB Xs ARE DON'T CARE BITS.
5. REGISTER DATA [D15:D8] AND REGISTER DATA [D7:D0] ARE ALWAYS SEPARATED BY A LOW ACK BIT.
6. THE R/W BIT IS SET TO A1 TO INDICATE A READBACK OPERATION.
Figure 43. Example of I2C Timing for Single Register Read Back Operation
WRITE DATA
LOW BYTE [7:0]
...
WRITE DATA
HIGH BYTE [15:8]
WRITE DATA
LOW BYTE [7:0]
ACK
WRITE DATA
HIGH BYTE [15:8]
ACK
REGISTER ADDR
[7:0]
ACK
6-BIT DEVICE
ADDRESS W
ACK
S
ACK
WRITE
P
READ DATA
HIGH BYTE [15:8]
...
READ DATA
HIGH BYTE [15:8]
READ DATA
LOW BYTE [7:0]
ACK
READ DATA
ADDRESS
ACK
6-BIT DEVICE
R
LOW BYTE
ACK
REGISTER ADDR
[7:0]
ACK
6-BIT DEVICE
ADDRESS W
ACK
SR
S
ACK
READ (USING REPEATED START)
P
OUTPUT FROM AD7879
S = START BIT
P = STOP BIT
SR = REPEATED START BIT
R = READ BIT
READ DATA
HIGH BYTE [15:8]
READ DATA
LOW BYTE [7:0]
...
W = WRITE BIT
ACK = ACKNOWLEDGE BIT
ACK = NO ACKNOWLEDGE BIT
Figure 44. Example of Sequential I2C Write and Read Back Operation
Rev. 0 | Page 34 of 36
READ DATA
HIGH BYTE [15:8]
READ DATA
LOW BYTE [7:0]
ACK
6-BIT DEVICE
R
ADDRESS
ACK
S
P
07667-044
OUTPUT FROM MASTER
P
ACK
REGISTER ADDR
[7:0]
ACK
6-BIT DEVICE
W
ADDRESS
ACK
S
ACK
READ (WRITE TRANSACTION SETS UP REGISTER ADDRESS)
AD7879
GROUNDING AND LAYOUT
ance of at least 0.25 mm between the thermal pad and the inner
edges of the land pattern on the PCB. Thermal vias can be
used on the printed circuit board thermal pad to improve thermal
performance of the package. If vias are used, they should be
incorporated in the thermal pad at a 1.2 mm pitch grid. The via
diameter should be between 0.3 mm and 0.33 mm, and the via
barrel should be plated with 1 oz. of copper to plug the via.
For detailed information on grounding and layout considerations for the AD7879, refer to the AN-577 Application Note,
Layout and Grounding Recommendations for Touch Screen
Digitizers.
CHIP SCALE PACKAGES
The lands on the chip scale package (CP-16-10) are rectangular.
The printed circuit board (PCB) pad for these should be 0.1 mm
longer than the package land length, and 0.05 mm wider than
the package land width. Center the land on the pad to maximize
the solder joint size.
Connect the PCB thermal pad to GND.
WLCSP ASSEMBLY CONSIDERATIONS
For detailed information on the WLCSP PCB assembly and
reliability, see the AN-617 Application Note, MicroCSP™ Wafer
Level Chip Scale Package.
The bottom of the chip scale package has a central thermal pad.
The thermal pad on the printed circuit board should be at least
as large as this exposed pad. To avoid shorting, provide a clear-
VOLTAGE
REGULATOR
0.1µF
HOST
CS
PENIRQ/INT/DAV
NC
NC
AD7879
X–
DOUT
NC = NO CONNECT
5
6
7
11
SCLK
10
MISO
9
MOSI
8
Figure 45. Typical Application Circuit
Rev. 0 | Page 35 of 36
07667-045
Y–
TOUCH
SCREEN
INT
SCL
NC
GND
4
NC
DIN
3
12
SPI
INTERFACE
2
Y+
CS
VCC/REF
X+
1
13
14
15
AUX/
VBAT/
GPIO
16
MAIN
BATTERY
0.1µF TO 10µF
(OPTIONAL)
AD7879
OUTLINE DIMENSIONS
0.65
0.59
0.53
SEATING
PLANE
1.67
1.61
1.55
3
2
A
0.36
0.32
0.28
BALL 1
IDENTIFIER
2.07
2.01
1.95
TOP VIEW
(BALL SIDE DOWN)
1
B
0.50 BSC
BALL PITCH
C
D
0.17
0.15
0.13
BOTTOM
VIEW
081607-A
0.28
0.24
0.20
(BALL SIDE UP)
Figure 46. 12-Ball Wafer Level Chip Scale Package [WLCSP]
(CB-12-1)
Dimensions shown in millimeters
4.00
BSC SQ
0.60 MAX
0.60 MAX
13
12° MAX
1.00
0.85
0.80
0.65 BSC
TOP
VIEW
12
0.50
0.40
0.30
0.80 MAX
0.65 TYP
0.35
0.30
0.25
2.50
2.35 SQ
2.20
EXPOSED
PAD
3.75
BSC SQ
(BOTTOM VIEW)
9
8
5
4
0.25 MIN
1.95 BSC
0.05 MAX
0.02 NOM
SEATING
PLANE
PIN 1
INDICATOR
1
0.20 REF
COPLANARITY
0.08
FOR PROPER CONNECTION OF
THE EXPOSED PAD, REFER TO
THE PIN CONFIGURATION AND
FUNCTION DESCRIPTIONS
SECTION OF THIS DATA SHEET.
082008-A
PIN 1
INDICATOR
16
COMPLIANT TO JEDEC STANDARDS MO-220-VGGC
Figure 47. 16-Lead Lead Frame Chip Scale Package [LFCSP_VQ]
4 mm x 4mm Very Thin Quad
(CP-16-10)
Dimensions shown in millimeters
ORDERING GUIDE
Model
AD7879ACBZ-RL 1
AD7879ACBZ-500R71
AD7879ACPZ-RL1
AD7879ACPZ-500R71
AD7879-1ACBZ-RL1
AD7879-1ACBZ-500R71
AD7879-1ACPZ-RL1
AD7879-1ACPZ-500R71
EVAL-AD7879EBZ1
EVAL-AD7879-1EBZ1
1
Temperature Range
−40°C to +85°C
−40°C to +85°C
−40°C to +85°C
−40°C to +85°C
−40°C to +85°C
−40°C to +85°C
−40°C to +85°C
−40°C to +85°C
Serial Interface Description
SPI Interface
SPI Interface
SPI Interface
SPI Interface
I2C Interface
I2C Interface
I2C Interface
I2C Interface
SPI Interface
I2C Interface
Z = RoHS Compliant Part.
©2008 Analog Devices, Inc. All rights reserved. Trademarks and
registered trademarks are the property of their respective owners.
D07667-0-10/08(0)
Rev. 0 | Page 36 of 36
Package Description
12-Ball WLCSP
12-Ball WLCSP
16-Lead LFCSP_VQ
16-Lead LFCSP_VQ
12-Ball WLCSP
12-Ball WLCSP
16-Lead LFCSP_VQ
16-Lead LFCSP_VQ
Evaluation Board
Evaluation Board
Package Option
CB-12-1
CB-12-1
CP-16-10
CP-16-10
CB-12-1
CB-12-1
CP-16-10
CP-16-10
Branding
T2Y
T2Y
T0Q
T0Q
Similar pages