SAM7 Hardware Considerations
Download
Report
Transcript SAM7 Hardware Considerations
SAM9RL Touch Screen ADC Controller
Introduction to Resistive Touch panel
Resistive touch panel technology is the most common, due to its
simplicity and low cost characteristics.
It can be found in PDAs, Mini Notebook, Phone, Medical Equipment,
Office Automation, Consumer Products, POS, information servers, …
Analogue resistive technology can be separated into 4-wire, 5-wire, 6wire, 7-wire, and 8-wire according to screen size.
The most popular are 4-wire and 5-wire systems
The SAM9RL64 TSADC is dedicated to 4-wire resistive touch
panel ( >15’’ diagonal can be found)
ARM-Based Products Group
2
Touch Screen ADC Controller: Block Diagram
6
Based on a 10-Bit SAR ADC
ADVREF range from 2.6V to VDDANA.
Up to 6 analog lines with 4 touch screen channels (can be used as normal ADC)
4 power switches measuring both axis (X,Y) on resistive touch screen panel
Pen Detect and Pen Loss interrupt
Trigger Mode: External Trigger, Continuous, Periodic, Pen detect
ARM-Based Products Group
3
Resistive Touch screen Principle
Conductive ITO
Polyester Film
(Transparent Metal Coating)
Upper Resistive Circuit Layer
Lower Resistive
Circuit Layer
Insulating Dots
Glass - Substrate
A press causes the Upper Resistive Circuit Layer to contact the Lower
Resistive Circuit Layer, producing a circuit switch from the activated area.
ARM-Based Products Group
4
The 4-Wire Resistive TS Structure
PEN contact
Voltage
X Position
Measurement
VDD
X+
VDD = 3V
X-
GND
VY+ = 1.5V
Y-
Y+
Glass
GND = 0V
The ratio of this measured voltage to the drive voltage applied is
equal to the ratio of the x coordinate to the width of the touch screen.
=> x = ½ width of touch screen
ARM-Based Products Group
5
TSADCC: Position Measurement
To detect the position of a contact:
1.
Supply voltage is applied between Xp and Xm
2.
Voltage measured on Yp
3.
Supply voltage is applied between Yp and Ym
4.
Voltage measured on Xp
The position is defined by [ (VYp / VDD) , (VXp / VDD) ]
ARM-Based Products Group
6
TSADCC: Position Measurement
The switches added to control the power supply are resistive:
High voltage reference is not VDDANA
Low Voltage reference is not GND
Compensation of switches loss is necessary :
[
X
,
Y
]
[ (VYp – VXm) / (VXp – VXm) , (VXp – VYm) / (VYp – VYm) ]
ARM-Based Products Group
7
TSADCC: Position Measurement
At each trigger, the touch screen inputs are converted with the
switches accordingly set and the results are processed and
stored in the corresponding data registers (6 ADC conversions):
(VXp – VXm)
TSADCC_CDR0 register
(VYp – VXm)
TSADCC_CDR1 register
(VYp – VYm)
TSADCC_CDR2 register
(VXp – VYm)
TSADCC_CDR3 register
The vertical position X
X = (VYp – VXm) / (VXp – VXm) = CDR1 / CDR0
The horizontal position Y
Y = (VXp – VYm) / (VYp – VYm) = CDR3 / CDR2
ARM-Based Products Group
8
TSADCC: Pen Detection
No conversion necessary to detect a pen contact
No contact No current flow
When contact occurs, a current is flowing in the touch screen and
a schmitt trigger detects the voltage in the resistor.
ARM-Based Products Group
9
TSADCC: Conversion Events in Pen Detect Mode
PENCNT
EOC
NOCNT
NOCNT
time
x6
Press
Wrong value
Release
Startup Time
Debounce Time
SHTIMTS
Conversion time
Release
EOC end of conversion
Priority to Conversion vs NOCNT
=> Last conversion may be corrupted
ARM-Based Products Group
10
TSADCC: Conversion Events in Periodic Trigger Mode
Trigger period
PENCNT
Trigger period
EOC
EOC
NOCNT
time
x6
x6
Release
Press
Startup Time
Debounce Time
SHTIMTS
Conversion time
EOC end of conversion
ARM-Based Products Group
11
TSADCC: Conversion Events in Periodic Trigger Mode
Trigger period
Trigger period
Trigger period
EOC
EOC
PENCNT EOC
NOCNT can not
be detected
time
x6
x6
x6
Release
Press
Startup Time
Debounce Time
SHTIMTS
Conversion time
EOC end of conversion
To get the NOCNT status:
Ttrigger > 6 x (SHTIMTS + Tconv) + Tdebounce
ARM-Based Products Group
12
TSADCC: Touch Screen Connection
SAM9RL
X+
AD0 (Right)
X-
AD1 (Left)
AD2 (Top)
AD3 (Bottom)
Y-
Y+
Glass
ARM-Based Products Group
13
SAM9RL Touch Screen ADC Controller
6 ADC Conversions requirement
1. If SLEEP is set, wake up the ADC cell and wait for the Startup Time.
2. Close the switches on the inputs XP and XM during the Sample and Hold Time.
3. Convert Channel XM and store the result in TSADCC_CDR1.
4. Close the switches on the inputs XP and XM during the Sample and Hold Time.
5. Convert Channel XP, subtract TSADCC_CDR1 from the result and store the
subtraction result in both TSADCC_CDR0 and TSADCC_LCDR.
6. Close the switches on the inputs XP and XM during the Sample and Hold Time.
7. Convert Channel YP, subtract TSADCC_CDR1 from the result and store the
subtraction result in both TSADCC_CDR1 and TSADCC_LCDR.
8. Close the switches on the inputs YP and YM during the Sample and Hold Time.
9. Convert Channel YM and store the result in TSADCC_CDR3.
10. Close the switches on the inputs YP and YM during the Sample and Hold Time.
11. Convert Channel YP, subtract TSADCC_CDR3 from the result and store the
subtraction result in both TSADCC_CDR2 and TSADCC_LCDR.
12. Close the switches on the inputs YP and YM during the Sample and Hold Time.
13. Convert Channel XP, subtract TSADCC_CDR3 from the result and store the
subtraction result in both TSADCC_CDR3 and TSADCC_LCDR.
14. If Channel 4 to Channel 5 are enabled, convert the Channels and store result in the
corresponding TSADCC_CDRx and TSADCC_LCDR.
15. If SLEEP is set, sleep down the ADC cell.
ARM-Based Products Group
15