devices or systems are intended to be implanted in the human body or to ... 5. V1.
0, 2012-02. 1. Introduction. In today's Human-Machine Interface (HMI) .....
Application Note - AP08110 - Design Guidelines for XC82x and XC83x Board
Layout.
XC83x AP08127 inTouch Application Kit - Touch Buttons
Application Note V1.0, 2012-02
Microcontrollers
Edition 2012-02 Published by Infineon Technologies AG 81726 Munich, Germany © 2012 Infineon Technologies AG All Rights Reserved. LEGAL DISCLAIMER THE INFORMATION GIVEN IN THIS APPLICATION NOTE IS GIVEN AS A HINT FOR THE IMPLEMENTATION OF THE INFINEON TECHNOLOGIES COMPONENT ONLY AND SHALL NOT BE REGARDED AS ANY DESCRIPTION OR WARRANTY OF A CERTAIN FUNCTIONALITY, CONDITION OR QUALITY OF THE INFINEON TECHNOLOGIES COMPONENT. THE RECIPIENT OF THIS APPLICATION NOTE MUST VERIFY ANY FUNCTION DESCRIBED HEREIN IN THE REAL APPLICATION. INFINEON TECHNOLOGIES HEREBY DISCLAIMS ANY AND ALL WARRANTIES AND LIABILITIES OF ANY KIND (INCLUDING WITHOUT LIMITATION WARRANTIES OF NON-INFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS OF ANY THIRD PARTY) WITH RESPECT TO ANY AND ALL INFORMATION GIVEN IN THIS APPLICATION NOTE. Information For further information on technology, delivery terms and conditions and prices, please contact the nearest Infineon Technologies Office (www.infineon.com). Warnings Due to technical requirements, components may contain dangerous substances. For information on the types in question, please contact the nearest Infineon Technologies Office. Infineon Technologies components may be used in life-support devices or systems only with the express written approval of Infineon Technologies, if a failure of such components can reasonably be expected to cause the failure of that life-support device or system or to affect the safety or effectiveness of that device or system. Life support devices or systems are intended to be implanted in the human body or to support and/or maintain and sustain and/or protect human life. If they fail, it is reasonable to assume that the health of the user or other persons may be endangered.
AP08127 inTouch Application Kit - Touch Buttons
XC83x Revision History: V1.0 2012-02 Previous Version(s): Page
Subjects (major changes since last revision)
–
We Listen to Your Comments Is there any information in this document that you feel is wrong, unclear or missing? Your feedback will help us to continuously improve the quality of this document. Please send your proposal (including a reference to this document) to:
[email protected]
Application Note
3
V1.0, 2012-02
AP08127 inTouch Application Kit - Touch Buttons
Table of Contents 1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2 2.1 2.2
Hardware and Program Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Program Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3
Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4 4.1
U-SPY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 inTouch_Buttons.ini . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Appendix - Schematics and Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Application Note
4
V1.0, 2012-02
AP08127 inTouch Application Kit - Touch Buttons Introduction
1
Introduction
In today's Human-Machine Interface (HMI) designs, capacitive touch technology is now often more widely used than traditional mechanical buttons. Capacitive touch technology is the more popular choice because it brings flexibility, a high-level of customization, and a significant reduction in overall system cost. The inTouch Application Kit is available to help learn about working with the advanced touch solutions provided by Infineon. Step-by-step tutorials covers the basics of Infineon's touch solutions, while example application code can be used to start developing new touch-related projects. The inTouch Application Kit comprises of a mother board, supplied as a USB stick, and a number of daughter boards. Figure 1 shows the buttons daughter board. Among the many different touch input elements that can be designed with capacitive touch technology, the single pad button is probably the simplest and most popular. This application note describing the buttons daughter board, aims to highlight the ease of implementing a design with Infineon's touch solutions. Topics covered include program flow and touch behavior.
Figure 1
inTouch Application Kit (USB Stick and Buttons board)
Application Note
5
V1.0, 2012-02
AP08127 inTouch Application Kit - Touch Buttons Hardware and Program Flow
2
Hardware and Program Flow
This section describes the hardware used and the connections involved.
2.1
Hardware
Infineon’s XC836MT 2FRI (Figure 2) is used in this application. The XC836MT is embedded in the inTouch Application Kit’s USB stick. For more details regarding the USB stick, please refer to AP08126: Infineon Touch Solutions - inTouch Application Kit.
Figure 2
Infineon’s XC836MT 2FRI
The inTouch Buttons board (Figure 3) is available as a plug-in daughter board which is part of the inTouch Application Kit.
Figure 3
Buttons daughter board
Application Note
6
V1.0, 2012-02
AP08127 inTouch Application Kit - Touch Buttons Hardware and Program Flow The inTouch Buttons board is a standard PCB with a piece of 2mm-thick plexiglas glued on top of the board. The buttons on the top row are each connected to an ADC input channel of the XC836. The buttons in the bottom row are each connected to an LEDTS input pin of the XC836. 14 indicator LEDs are connected to 2 LED column pins (1 for each row) and 7 LED line pins of the XC836. The schematics are available in the Appendix - Schematics and Layout. Users can touch-and-hold (default) or tap the 14 buttons to toggle the indicator LEDs depending on the downloaded software.
2.2
Program Flow
Infineon offers 3 solutions for capacitive touch sensing. The bottom 7 buttons, which are connected to LEDTS input pins and hence controlled by the LEDTS module of the XC836, use the Relaxation Oscillator Topology for touch sensing. The top 7 buttons, which are connected to ADC input pins, can use either the Charge Redistribution (CR) or the Charge-Time Measurement (CTM) methods for touch sensing. Because two options are available, the program name in the program flow description is taken from the name of the method (CR or CTM) used for the top 7 buttons. For more information on the 3 touch solutions, refer to the application note AP08126: inTouch Application Kit USB Stick. In terms of interrupts, UART interrupt has a medium priority because of the high data rate. Touch sense related tasks are also performed with medium priority. These occur in the Time Frame interrupt after pad capacitances have been measured. LED updates have the lowest priority. These are performed in the Time Slice interrupt together with pad capacitance measurement. These apply to both CR (Figure 4) and CTM (Figure 5) methods. In the CTM method, the ADC interrupt is enabled and this has the highest priority to facilitate accurate charge time measurement.
low
Figure 4
TIME SLICE INTERRUPT every 384μs
medium
TIME FRAME INTERRUPT every 1.152ms
medium
UART INTERRUPT
LED settings, ADC pads capacitance measurement
Touch Sense signal processing
Communication with PC (send data & receive commands)
RETI
RETI
RETI
Program Overview - CR Method
Application Note
7
V1.0, 2012-02
AP08127 inTouch Application Kit - Touch Buttons Hardware and Program Flow
low
Figure 5
TIME SLICE INTERRUPT every 416μs
medium
TIME FRAME INTERRUPT every 1.248ms
medium
UART INTERRUPT
high
ADC INTERRUPT
LED settings ADC pads capacitance measurement
Touch Sense signal processing
Communication with PC (send & receive data)
Retrieve conversion time
RETI
RETI
RETI
RETI
Program Overview - CTM Method
The tasks performed in each interrupt service routines are further illustrated in the flowcharts which follow: •
•
•
•
UART Interrupt (Figure 6) – The UART module, which is part of the XC800 core, is used for full-duplex UART communication with the PC. Time Slice Interrupt (Figure 7) – The LEDTS module generates this interrupt after every LED column activation where the pattern for the next LED column is loaded into shadow registers. Time Frame Interrupt (Figure 8) – The LEDTS module generates this interrupt after every measurement where signal processing and touch detection take place. ADC Interrupt (Figure 9) – The ADC generates this interrupt after the pad has been charged to the defined level, so that the chargetime can be measured.
Application Note
8
V1.0, 2012-02
AP08127 inTouch Application Kit - Touch Buttons Hardware and Program Flow
Start
Receiver Interrupt?
New command?
Yes
Yes
Retrieve data from buffer
No
No
Check button selected
Transmitter Interrupt?
Yes
Shift data out to buffer
No RETI
Figure 6
UART Interrupt Service Routine
Start
Figure 7
Set LED LINE and COMPARE values
Measure ADC pad capacitance
RETI
Time Slice Interrupt Service Routine
Application Note
9
V1.0, 2012-02
AP08127 inTouch Application Kit - Touch Buttons Hardware and Program Flow
Start
RETI
LEDTS pads signal processing ADC pads signal processing
Toggle LED
No
Reverse bits of ADC pad flags
Blink LEDs
PADRESULT set?
No
Yes
LED blinking?
Yes
Blink LED
No
Off all LEDs
Yes
Send LED status to USpy
Yes
Off LED
No
Startup over?
No
Self-calibration
PADERROR set?
Yes
Oscilloscope mode?
Figure 8
Yes
Yes
Send pad Total_TSCTR & pad Average to USpy
No
No
Do adaptive calibration
LED Status mode?
Time Frame Interrupt Service Routine
Start
Figure 9
Offline mode?
Clear Interrupt Flag
Stop Timer 2
RETI
ADC Interrupt Service Routine (CTM Method)
Application Note
10
V1.0, 2012-02
AP08127 inTouch Application Kit - Touch Buttons Behavior
3
Behavior
The inTouch Buttons board has 4 software versions: 1. The LEDs light up when respective pads are touched, using the CR method for the ADC touch pads (this is the default software). 2. LEDs toggle when respective pads are tapped, using the CR method for the ADC touch pads. 3. The LEDs light up when respective pads are touched, using the CTM method for the ADC touch pads. 4. LEDs toggle when respective pads are tapped, using the CTM method for the ADC touch pads. Software versions 1 and 3 use the PADFLAG output of the LEDTS ROM Library and the PADTOUCHED output of the ADC Touch Library to implement the touch behavior as described above. Software versions 2 and 4 use the PADRESULT outputs of the LEDTS ROM Library and the ADC Touch Library to implement the touch behavior described above. All software versions use the PADERROR output of the LEDTS ROM Library and the ADC Touch Library to blink the LEDs when there is a long touch on the buttons.
4
U-SPY
For the inTouch Buttons board, one settings file, inTouch_Buttons.ini, has been configured.
4.1
inTouch_Buttons.ini
This settings file (Figure 10) is customized to allow the user to monitor the parameters of the LEDTS ROM Library and the ADC Touch Library.
Buttons
Status Flags
Figure 10
inTouch_Buttons.ini User Interface
Application Note
11
V1.0, 2012-02
AP08127 inTouch Application Kit - Touch Buttons U-SPY Buttons In this settings file, the buttons allow the user to choose the signal which the user would like to monitor. The description of the data format for the buttons is the same as in the previous settings file. Data is transmitted in the following format (Table 1): Table 1
Transmit Data Format for Buttons D0
D1
Value (hex)
08
XX
Description
I.D. number
Button number
The data received by the microcontroller will be used to determine the signals that will be transmitted to U-SPY for display either as Status Flags (if LED Status button is selected) or on the Oscilloscope (if TSPADx or ADCPADx is selected). If OFFLINE is selected, the microcontroller will stop sending data to U-SPY, and all touches will be indicated by the LEDs on the board. Status Flags The format of the transmitted data for the status flags is as follows (Table 2): Table 2
Transmit Data Format for Status Flags D0
D1
D2
Value (hex)
A3
30/31
XX
Description
I.D. number
TSLED - 30 ADCLED - 31
Mask
The statuses of the LEDs received by USpy are masked before they are displayed as status flags. It is important that the bits of a mask do not overlap with the bits of another mask. This is to ensure that status flags are not falsely turned on. The masks used are as follows (Table 3): Table 3
LED masks for Status Flags
LED Number
1
2
3
4
5
6
7
Mask (hex)
01
02
04
08
10
20
40
Oscilloscope The oscilloscope function allows the user to monitor up to 3 signals per oscilloscope at a time (Figure 11). A total of 3 oscilloscopes are available. However, we will display only 2 signals on 1 oscilloscope in this application. The format of the transmitted data for the oscilloscope is as follows (Table 4):
Application Note
12
V1.0, 2012-02
AP08127 inTouch Application Kit - Touch Buttons U-SPY
Figure 11
U-SPY Oscilloscope
Table 4
Transmit Data Format for Oscilloscope D0
D1
D2
D3
D4
D5
D6
D7
Value (hex)
A4
01
XX
XX
XX
XX
XX
XX
Description
I.D. number
Scope number
Signal 1 high byte
Signal 1 low byte
Signal 2 high byte
Signal 2 low byte
-
-
The signals displayed are as follows (Table 5): Table 5
Signals Displayed on Oscilloscope
Description Colour
Application Note
Signal 1
Signal 2
Pad Average
Pad Total_TSCTR * 2DIVISORN
Green
Pink
13
V1.0, 2012-02
Application Note Figure 12
14
V1.0, 2012-02
inTouch Buttons Board Schematics D
C
B
A TP1
P$1
P$1
PAD_ROUND-15.0MM TP2
1
P$1
1
P$1
PAD_ROUND-15.0MM TP3
P$1
P$1
PAD_ROUND-15.0MM
18
20
16
14
12
8
6
4
2
10
TP4
P$1
P$1
AN1
AN0
AN3
AN2
AN5
AN4
AN6
2
COL1
COL2
COL0
LINE6
LINE5
LINE4
LINE3
COL5 LINE2
2
COL4 LINE1
COL3 LINE0
PAD_ROUND-15.0MM TP5
P$1
P$1
19
17
15
13
11
9
7
5
3
1
PAD_ROUND-15.0MM TP6
GND
P$1
P$1
PAD_ROUND-15.0MM TP7
P$1
P$1
3
R7 1k5
R6 1k5
R5 1k5
R4 1k5
R3 1k5
R2 1k5
R1 1k5
3
PAD_ROUND-15.0MM
LED1 green
TP8
P$1
LED2 green
P$1
PAD_ROUND-15.0MM TP9
LED3 green
P$1
P$1
PAD_ROUND-15.0MM
4
4
LED4 green
TP10
P$1
LED5 green
P$1
PAD_ROUND-15.0MM
P$1
P$1
PAD_ROUND-15.0MM TP12
P$1
5
5
Touch Buttons
Touch Sense Application Kit
TP11
LED6 green LED7 green
P$1
LED8 green
PAD_ROUND-15.0MM TP13
LED9 green
P$1
P$1
PAD_ROUND-15.0MM
LED10 green
TP14
P$1
LED11 green
P$1
PAD_ROUND-15.0MM
6
6
LED12 green LED13 green LED14 green
D
C
B
A
Appendix - Schematics and Layout Appendix - Schematics and Layout
AP08127 inTouch Application Kit - Touch Buttons
AP08127 inTouch Application Kit - Touch Buttons Appendix - Schematics and Layout
15
7R
Application Note
8DEL
inTouch Buttons Board Top Layout
6R
5R
Figure 14
1DEL
9DEL
01DEL
21DEL
31DEL
41DEL
inTouch Buttons Board Component Bottom Layout
2DEL
3DEL
5DEL
6DEL
7DEL
Figure 13
V1.0, 2012-02
AP08127 inTouch Application Kit - Touch Buttons Appendix - Schematics and Layout
Figure 15
inTouch Buttons Board Bottom Layout
Application Note
16
V1.0, 2012-02
AP08127 inTouch Application Kit - Touch Buttons References
References The list below provides resources that may be useful to the user. 1. 2. 3. 4. 5. 6. 7. 8.
User’s Manual - XC83x; 8-Bit Single-Chip Microcontroller Application Note - AP08100 - Configuration for Capacitive Touch-Sense Application Application Note - AP08110 - Design Guidelines for XC82x and XC83x Board Layout Application Note - AP08113 - Capacitive-Touch Color Wheel Implementation Application Note - AP08115 - Design Guidelines for Capacitive Touch-Sensing Application Application Note - AP08121 - Infrared Remote Controller with Capacitive Touch Interface Application Note - AP08122 - 16-Button Capacitive Touch Interface with XC836T Application Note - AP08124 - XC82/83x Design Guidelines for Electrical Fast Transient (EFT) Protection in Touch-Sense Applications 9. Application Note - AP08126 - Infineon Touch Solutions - inTouch Application Kit 10. Application Note - AP08128 - inTouch Application Kit - Touch Wheel 11. Application Note - AP08129 - inTouch Application Kit - Touch Sliders 12. Application Note - AP08130 - inTouch Application Kit - LED Matrix 13. Link to XC83x-Series - www.infineon.com/xc83x 14. Link to Solutions for advanced touch control - www.infineon.com/intouch
Application Note
17
V1.0, 2012-02
w w w . i n f i n e o n . c o m
Published by Infineon Technologies AG