Download XC83x AP08127 Microcontrollers Application Note
Transcript
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