The MK712 Touch Screen Controller IC provides
all the screen drive, A to D converter and control
circuits to easily interface to 4-wire analog resistive
touch screens.
The IC continually monitors the screen waiting
for a touch. In this mode, the supply current is
typically 0.5µA. When the screen is touched, the
IC performs analog to digital conversions to
determine the location of the touch, stores the X
and Y locations in the registers, and issues an
interrupt. This process is repeated up to 197 times
per second until no further screen touches are
detected, at which time the low current mode is
resumed.
Block Diagram
8
D0-D7
3
A0-A2
CS
RD
WR
CLKIN
(14.318 MHz)
INT
TOUCH
REGISTERS
STATUS LOW
STATUS HIGH
X-LOW
X-HIGH
Y-LOW
Y-HIGH
CONTROL
RATE
12 Bit A/D,
Screen Driver
and
Controller
0
1
2
3
4
5
6
7
• Fully integrated, lowest power solution
• Low standby current of 0.5µA (typical) at 5.0V
• Active current while converting less than 10 mA
• Resolves 350 dots/inch on 10.5” display
• Maximum speed of 197 points/second
• Ratiometric conversion may eliminate screen
calibration
• Automatically wakes up and goes back to standby
• 3.3V or 5V supply
• 12 bit A/D converter
• Simplifies the writing of software for touch screens
• Extended temperature range available
• Capacitors are the only external components
required
• Touch screen is directly driven - no external
transistors are required
1NC-No Connect
2INTOInterrupt. Goes high to signal an interrupt. Cleared on next read.
3TOUCHOTouch signal. Goes low when screen is touched. Goes high when not touched.
4VDDPConnect to +5V or +3.3V.*
5VDDPConnect to +5V or +3.3V.*
6XHTSConnect to X-high on touch screen. (Right side)
7XLTSConnect to X-low on touch screen. (Left side)
8YHTSConnect to Y-high on touch screen. (Top)
9YLTSConnect to Y-low on touch screen. (Bottom)
10GNDPConnect to ground.
11GNDPConnect to ground.
12WRIWrite enable. Active low.
13RDIRead enable. Active low.
14CSIChip select. Active low.
15A2IRegister address 2.
16A1IRegister address 1.
17A0IRegister address 0.
18CLKINIClock input. Typically 14.3 MHz. Best if driven by a MicroClock clock synthesizer.
19D7I/OData bit 7.
20D6I/OData bit 6.
21GNDPConnect to ground.
22VDDPConnect to +5V or +3.3V.*
23D5I/OData bit 5.
24D4I/OData bit 4.
25D3I/OData bit 3.
26D2I/OData bit 2.
27D1I/OData bit 1.
28D0I/OData bit 0.
Key: I = Input, O = Output, I/O = Input and Output, P = Power, TS = Touch Screen pin..
*Note: All VDD’s must be connected to the same voltage.
Interrupts
Interrupts are controlled by register 6 (see Register Description). The INT pin (pin 2) goes high to
signal an interrupt. Interrupts are then cleared by reading any register. However, if the MK712 is in the
process of generating an interrupt during a read cycle, then the interrupt is not cleared and INT will stay
high. This internal process may take 100ns, and so to guarantee that the interrupt is cleared, two
successive read cycles may be necessary.
The MK712 register set is designed to be compatible with the Gazelle pen digitizer registers allowing a
software driver for the Gazelle digitizer to be used with the MicroClock MK712. The eight 8-bit registers
are defined below:
STATUS LOW (0 READ)
71 03 25 46
Always zero
1 = touch
Always zero
1 = conversion complete,
cleared on Y-HIGH read
NOTE: When the screen is touched bits 4 and 5,
register 0, and bits 2 and 3 of register 1 are all set to one.
STATUS HIGH (1 READ)
71 03 25 46
Always zero
1 = touch
Always zero
X-LOW (2 READ)
71 03 25 46
Low order bits of X co-ordinate
X-HIGH (3 READ)
71 03 25 46
High order bits of X co-ordinate
Always zero
Y-LOW (4 READ)
71 03 25 46
Low order bits of Y co-ordinate
Y-HIGH (5 READ)
71 03 25 46
High order bits of Y co-ordinate
Always zero
CONTROL (6 R/W)
71 03 25 46
1 = enable interrupts
1 = interrupt on conversion
complete ( if bit 0 = 1)
1 = interrupt on change in
touch status (if bit 0 = 1)
1 = interrupt on change in
touch status (if bit 0 = 1)
1 = enable periodic conversions at
rate indicated by RATE register
1 = read one point. Cleared when
conversion complete. Only functions
when bit 4 = 0
0 = powerdown (PD). Conversions,
interrupts and TOUCH output disabled
1 = powerdown (PD). Conversions,
interrupts and TOUCH output
disabled.
NOTE: Bits 2 or 3 and bits 6 or 7 are logically OR’d. For
example writing bit 2 or bit 3 to a one will enable interrupts
on change in touch status.
RATE (7 R/W)
71 03 25 46
Count controls frequency of
conversion when periodic
conversions are enabled. See
table on page 5.
P.P.S. = Points Per Second. With a 14.318 MHz clock.
Calculating Points Per Second
The formula for determining P.P.S. is:
fin
P.P.S. =
35716 + (4096 x COUNT)
Where fin is the frequency
of the CLKIN input.
Power-On Reset
On application of power, an internal reset is generated that clears all bits in registers 0, 1, and 6. Register 7 is
set to 32 giving a rate of 86 PPS. Note that clearing register 6 puts the IC into the power down condition.
Initializing the MK712
The interrupt on the MK712 can only be cleared by reading a register or by writing register 6 to the
power down condition. After a fault condition, initialize the MK712 by writing register 6 to zero and
then writing register 6 to the desired value. This will always clear pending interrupts.
When the screen is untouched, the Y plate is driven high and the X plate is driven low. When the screen is
touched, the X plate is pulled high, which is detected by the MK712. This initiates a conversion (as long as
periodic conversions are enabled). Some de-bounce is provided by the time constant of the screen
decoupling capacitors combined with the screen resistance. However, once conversions have started, pen
bounce will not be detected until after both the X and Y points have been taken.
If the pen is lifted during a conversion, this will also not be detected until the conversion is complete. This is
typically indicated by a point with the correct Y coordinates, but minimum (for that screen) X coordinates.
Screen Decoupling
The component values suggested should give excellent results. However, for screens with a high
resistance operating at a high conversion rate, extra interrupts may be issued. This is because the time
constant of the screen decoupling capacitors and screen resistance is high, resulting in the screen
appearing to be untouched and then touched between conversions. These extra interrupts can be
eliminated by reducing the size of the screen decoupling capacitors on pins XH, XL, YH, and YL.
This will, however, slightly reduce the noise rejection, which could decrease the accuracy of the
conversion.
Optimizing Performance when Reading and Writing Registers
Reading and writing the MK712 generates digital noise that may reduce the accuracy of the A to D
converter. This noise has several causes, including board layout, data bus loading, and power supply
voltage. By appropriately timing the register operations, the effects of this noise can be minimized.
After an interrupt is issued, the MK712 allows a minimum of 1 millisecond to elapse before
initiating the conversion cycle. This allows the screen drivers to settle. For best performance,
complete all register operations within this 1ms window after an interrupt.
Power Down/Stopping the Clock
If the screen is untouched, the supply current is under 3µA. If the input clock is stopped, the supply
current is also less than 3µA. When the screen is touched with no clock, TOUCH goes low and INT
goes high, but no further operations occur until the clock starts. A to D conversions are invalid until
after the clock has stabilized at the correct frequency and one full conversion cycle has been
completed.
Input Clock
The MK712 is highly tolerant of different clock frequencies (from 12 to 20 MHz), rise times, and
duty cycles. However, any input clock undershoot or overshoot will cause the MK712 to draw extra
current. This can be eliminated by using a MicroClock clock synthesizer and properly terminating
the clock driver. MicroClock makes low power clock synthesizers with 14.3 MHz power down.
Resistive Touch Screen (4 Wire)
Resistive touch screens consist of 2 resistive plates that are separated by a small gap. Each plate has an
electrode at each end and when the screen is touched, the two plates are shorted together at that point.
YH
Y PLATE
X PLATE
Electrode
XL
YL
If a voltage is applied, for example, between XL and XH, then a voltage divider is formed on the X
PLATE. When the Y PLATE is touched to the X PLATE, a voltage will be developed on the Y PLATE
that is proportional to distance of the touch from XL and XH. By accurately measuring this voltage, the
position of the touch can be determined.
If the user is pressing lightly on the touch screen, it is likely that the screen contact will be intermittent.
The screen will bounce, causing false points. This effect can be reduced by insuring that the screen is
touched both before and after a conversion. By doing this, the first and last point in a series of points
are discarded. The following algorithm checks that a point has valid touches both before and after a
conversion, and it distinguishes between change-in-touch interrupts and conversion complete
interrupts. Register 6 bits 0, 1, and 2 must all be true (logical 1) in order to use this method.
Start
Wait for Interrupt
Interrupt
Increment
n
Read Register 0 D7D5, store as D7D5(n)
No
Is D7D5(n-1) = 11b
and D7D5(n) =11b?
Yes
Write point n-1 to display
Read X and Y, store as point n
Are this point and the previous point valid?
(11b = binary 11)
Write previous point.
Warning - When Using a Switching Regulator Power Supply
When using the MK712 in a system where the power is supplied by a switching regulator, do not
perform screen conversions when the regulator is operating in the power saving mode. Some switching
regulators feature a low power mode (for example, Linear Technology’s “Burst Mode”) where the
output is turned on and off in order to save power. The extra power supply noise generated when using
this mode causes spurious data points to be returned from the MK712, so it should be disabled when
the MK712 is doing screen conversions.
The 12-bit ADC converts X and Y co-ordinates at a rate determined by registers 6 and 7. The
converter uses a ratiometric technique to give absolute co-ordinates on the screen, largely independent
of variations in screen resistance, temperature or power supply voltage. The total voltage applied across
the screen is defined as full-scale for the converter (i.e. 4095) and any point touched on the screen is
proportional to this. For example, if the screen is touched exactly in the center, the converter will read
2047. This feature may allow for the elimination of calibration upon startup.
However, the full scale voltage is defined at the IC pins and so any parasitic interconnect resistance will
be included in full scale. In addition, the interconnect resistances on the screen also account for about
20% of the total resistance. This means that approximately the bottom 10% and top 10% of full scale
are inaccessible.
The converter is guaranteed to be monotonic, with no missing codes.
1TRASCAddress Setup to CS Low5ns
2TRAHCAddress Hold from CS High0ns
3TRCCYCS High to CS Low40ns
READ CYCLE ONLY
4TRSCRCS Low to RD Low10ns
5TRRDRD Pulse Width40ns
6TRCHR1RD High to CS High0ns
7TRCHR2RD High to CS Low 40ns
8TRDCCS Low to Data35ns
9TRDRRD Low to Data35ns
10TRDHCCS High to Data Release 220ns1
11TRDHRRD High to Data Release220ns1
WRITE CYCLE ONLY
12TRCSWCS Low to WR Low10ns
13TRWRWR Pulse Width40ns
14TRCHWWR High to CS High0ns2
15TRWHWR High to CS Low40ns
16TRWCYWR High to WR Low40ns
17TRDWData Setup to WR High15ns3
18TRDHWData Hold from WR High15ns4
19TRDWCData Setup to CS High15ns3
20TRDHWCData Hold from CS High15ns4
Notes:1. RD edges may precede or follow CS edges.
2. WR edges may precede or follow CS edges.
3. Either TRDW or TRDWC specification must be met.
4. Either TRDHW or TRDHWC specification must be met.
5. It is not permitted to have both RD and WR low at the same time.
1. The 14.318 MHz input clock on pin 18 should have a 33Ω series termination resistor at its source.
Consult MicroClock for the best way to generate this clock.
2. All digital signals should be kept well away from pins 4, 5, 6, 7, 8, 9, 10, and 11, and any traces
connected to those pins.
While the information presented herein has been checked for both accuracy and reliability, Integrated Circuit Systems, Incorporated (ICS) assumes no responsibility for either its
use or for the infringement of any patents or other rights of third parties, which would result from its use. No other circuits, patents, or licenses are implied. This product is
intended for use in normal commercial applications. Any other applications such as those requiring special processing, high reliability, or other extraordinary environmental
requirements are not recommended without additional processing by ICS. ICS reserves the right to change any circuitry or specifications without notice. ICS does not authorize or
warrant any ICS product for use in life support devices or critical medical instruments.