Difference between revisions of "Touch sensing overview"

[quality revision] [quality revision]
m
m
 

This page contains application examples, document references, tips and tricks and so on related to STM32 touch sensing.

1 What is touch sensing?[edit]

Touch sensors are used in HMIs (human-machine interfaces)

Instead of using mechanical switches, actuation is achieved by touching the finger touch on a surface.

There are three methods:

  • Capacitance switch:
    • the electrode is placed behind a non-conductive panel
    • the change in capacitance is detected
  • Resistive touch switch:
    • two electrodes are bridged by the user's fingertip
    • the resistance of the fingertip is detected
  • Piezo touch switch:
    • a voltage is generated by pushing/bending a piezoelectric material
    • the voltage change is detected

The TSC (touch sense controller) peripheral is based on the capacitance switch method - when a human touches the surface of the sensor area, the capacitance changes.

Basic TSC working mode description

TSC state machine

2 Getting started with STM32 and touch sensing[edit]

Application note AN5105 summarizes all information regarding touch-sense controller usage.
This application note explain step-by-step how to handle touch sensors using STM32F072BDISCO[1] and STM32L0538DISCO[2] discovery boards[3].
For more information on STM32 Discovery boards --> Click here

3 STM32 compliance with touch sensing[edit]

3.1 Maximum number of sensors on STM32 Series products[edit]

STM32L0 STM32L1 STM32L4 STM32L4+ STM32L5 STM32F0 STM32F3 STM32WB
Peripheral TSC Software assist TSC TSC TSC TSC TSC TSC
Groups 8 11 8 8 8 8 8 7
Channels 32 48 32 32 30 32 32 28
Sampling capacitors 8 11 8 8 8 8 8 7
Sensors 24 37 24 24 22 24 24 21

3.2 Maximum number of sensors on LQFP64 packages[edit]

STM32L0 STM32L1 STM32L4 STM32L5 STM32F0 STM32F3
Peripheral TSC Software assist TSC TSC TSC TSC
Groups 8 10 4 8 6 6
Channels 32 33 16 30 24 24
Sampling capacitors 8 10 4 8 6 6
Sensors 24 23 12 22 18 18

4 STMicroelectronics resources[edit]

AN5105 Getting Started with Touch control
UM1913 Developing applications on STM32Cube with STMTouch touch sensing library
AN4316 Tuning a STMTouch-based application
AN4312 Guidelines for designing touch sensing applications with surface sensors
AN4299 Guidelines to improve conducted noise robustness on STM32 series touch sensing applications
AN4310 Sampling capacitor selection guide for MCU based touch sensing applications
AN3960 ESD considerations for touch sensing applications

5 References[edit]



This page contains application examples, document references, tips and tricks and so on related to STM32 touch sensing.
==What is touch sensing?==
'''Touch sensors are used in HMIs (human-machine interfaces)'''
: Instead of using mechanical switches, actuation is achieved by touching the finger touch on a surface.
'''There are three methods''':
*'''Capacitance switch''':
** the electrode is placed behind a non-conductive panel
** the change in capacitance is detected
*'''Resistive touch switch''':
** two electrodes are bridged by the user's fingertip
** the resistance of the fingertip is detected
*'''Piezo touch switch''':
** a voltage is generated by pushing/bending a piezoelectric material
** the voltage change is detected
The TSC (touch sense controller) peripheral is based on the capacitance switch method - when a human touches the surface of the sensor area, the capacitance changes.

'''Basic TSC working mode description'''
[[File:TSC scheme.png|550px|center|TSC state machine]]<br>


==Getting started with STM32 and touch sensing==
Application note [https://www.st.com/content/st_com/en/search.html#q=AN5105-t=resources-page=1 AN5105] summarizes all information regarding touch-sense controller usage.<br>

This application note explain step-by-step how to handle touch sensors using STM32F072BDISCO and STM32L0538DISCO discovery boards.<br>

For more information on '''STM32 Discovery boards''' --> Click <ref>[https://www.st.com/en/evaluation-tools/32f072bdiscovery.html STM32F072BDISCO]</ref> and STM32L0538DISCO<ref>[https://www.st.com/en/evaluation-tools/32l0538discovery.html STM32L0538DISCO]</ref> discovery boards<ref> [https://www.st.com/en/evaluation-tools/stm32-discovery-kits.html?sc=stm32discovery here]<br>
<br clear=all>

STM32 Discovery Kits]</ref>.<br>
<br clear=all>
==STM32 compliance with touch sensing==
===Maximum number of sensors on STM32 Series products===
{|
 |-
 |
 ! scope="col";  style=" text-align:center" | STM32L0
 ! scope="col"  style=" text-align:center"  | STM32L1
 ! scope="col"  style=" text-align:center"  | STM32L4
 ! scope="col"  style=" text-align:center"  | STM32L4+
 ! scope="col"  style=" text-align:center"  | STM32L5
 ! scope="col"  style=" text-align:center"  | STM32F0
 ! scope="col"  style=" text-align:center"  | STM32F3
 ! scope="col"  style=" text-align:center"  | STM32WB
 |-
 ! scope="row" | Peripheral
| style=" text-align:center"  | TSC
| style=" text-align:center"  | Software assist
| style=" text-align:center"  | TSC
| style=" text-align:center"  | TSC
| style=" text-align:center"  | TSC
| style=" text-align:center"  | TSC
| style=" text-align:center"  | TSC
| style=" text-align:center"  | TSC
 |-
 ! scope="row" | Groups
| style=" text-align:center"  | 8
| style=" text-align:center"  | 11
| style=" text-align:center"  | 8
| style=" text-align:center"  | 8
| style=" text-align:center"  | 8
| style=" text-align:center"  | 8
| style=" text-align:center"  | 8
| style=" text-align:center"  | 7
 |-
 ! scope="row" | Channels
| style=" text-align:center"  | 32
| style=" text-align:center"  | 48
| style=" text-align:center"  | 32
| style=" text-align:center"  | 32
| style=" text-align:center"  | 30
| style=" text-align:center"  | 32
| style=" text-align:center"  | 32
| style=" text-align:center"  | 28
 |-
 ! scope="row" | Sampling capacitors
| style=" text-align:center"  | 8
| style=" text-align:center"  | 11
| style=" text-align:center"  | 8
| style=" text-align:center"  | 8
| style=" text-align:center"  | 8
| style=" text-align:center"  | 8
| style=" text-align:center"  | 8
| style=" text-align:center"  | 7
 |-
 ! scope="row" | Sensors
| style=" text-align:center"  | 24
| style=" text-align:center"  | 37
| style=" text-align:center"  | 24
| style=" text-align:center"  | 24
| style=" text-align:center"  | 22
| style=" text-align:center"  | 24
| style=" text-align:center"  | 24
| style=" text-align:center"  | 21
 |}

===Maximum number of sensors on LQFP64 packages===
{|
 |-
 |
 ! scope="col";style=" text-align:center" | STM32L0
 ! scope="col"; style=" text-align:center" | STM32L1
 ! scope="col"; style=" text-align:center" | STM32L4
 ! scope="col"; style=" text-align:center" | STM32L5
 ! scope="col"; style=" text-align:center" | STM32F0
 ! scope="col"; style=" text-align:center" | STM32F3
 |-
 ! scope="row" | Peripheral
| style=" text-align:center"  | TSC
| style=" text-align:center"  | Software assist
| style=" text-align:center"  | TSC
| style=" text-align:center"  | TSC
| style=" text-align:center"  | TSC
| style=" text-align:center"  | TSC
 |-
 ! scope="row" | Groups
| style=" text-align:center"  | 8
| style=" text-align:center"  | 10
| style=" text-align:center"  | 4
| style=" text-align:center"  | 8
| style=" text-align:center"  | 6
| style=" text-align:center"  | 6
 |-
 ! scope="row" | Channels
| style=" text-align:center"  | 32
| style=" text-align:center"  | 33
| style=" text-align:center"  | 16
| style=" text-align:center"  | 30
| style=" text-align:center"  | 24
| style=" text-align:center"  | 24
 |-
 ! scope="row" | Sampling capacitors
| style=" text-align:center"  | 8
| style=" text-align:center"  | 10
| style=" text-align:center"  | 4
| style=" text-align:center"  | 8
| style=" text-align:center"  | 6
| style=" text-align:center"  | 6
 |-
 ! scope="row" | Sensors
| style=" text-align:center"  | 24
| style=" text-align:center"  | 23
| style=" text-align:center"  | 12
| style=" text-align:center"  | 22
| style=" text-align:center"  | 18
| style=" text-align:center"  | 18
 |}

==STMicroelectronics resources==
[https://www.st.com/content/ccc/resource/technical/document/application_note/group0/ed/0d/4d/87/04/1d/45/e5/DM00445657/files/DM00445657.pdf/jcr:content/translations/en.DM00445657.pdf AN5105] Getting Started with Touch control<br>

[https://www.st.com/content/ccc/resource/technical/document/user_manual/group0/d6/4c/20/0d/a1/c1/4c/99/DM00210526/files/DM00210526.pdf/jcr:content/translations/en.DM00210526.pdf UM1913] Developing applications on STM32Cube with STMTouch touch sensing library<br>

[https://www.st.com/content/ccc/resource/technical/document/application_note/9d/be/03/8c/5d/8c/49/50/DM00088471.pdf/files/DM00088471.pdf/jcr:content/translations/en.DM00088471.pdf AN4316] Tuning a STMTouch-based application<br>

[https://www.st.com/content/ccc/resource/technical/document/application_note/46/39/d6/92/4a/4d/40/9f/DM00087990.pdf/files/DM00087990.pdf/jcr:content/translations/en.DM00087990.pdf AN4312] Guidelines for designing touch sensing applications with surface sensors<br>

[https://www.st.com/content/ccc/resource/technical/document/application_note/60/aa/a6/0a/1a/53/46/7c/DM00085385.pdf/files/DM00085385.pdf/jcr:content/translations/en.DM00085385.pdf AN4299] Guidelines to improve conducted noise robustness on STM32 series touch sensing applications<br>

[https://www.st.com/content/ccc/resource/technical/document/application_note/28/4b/40/7c/e6/68/44/9c/DM00087593.pdf/files/DM00087593.pdf/jcr:content/translations/en.DM00087593.pdf AN4310] Sampling capacitor selection guide for MCU based touch sensing applications<br>

[https://www.st.com/content/ccc/resource/technical/document/application_note/f4/7c/88/47/75/08/42/a8/DM00035396.pdf/files/DM00035396.pdf/jcr:content/translations/en.DM00035396.pdf AN3960] ESD considerations for touch sensing applications<br>


==References==<references />

{{PublicationRequestId | 14671| 2020-01-21 | AnneJ ?}}<noinclude>

{{ArticleBasedOnModel | Example tech domain article}}
[[Category:Touch sensing]]</noinclude>
Line 20: Line 20:
 
==Getting started with STM32 and touch sensing==
 
==Getting started with STM32 and touch sensing==
 
Application note [https://www.st.com/content/st_com/en/search.html#q=AN5105-t=resources-page=1 AN5105] summarizes all information regarding touch-sense controller usage.<br>
 
Application note [https://www.st.com/content/st_com/en/search.html#q=AN5105-t=resources-page=1 AN5105] summarizes all information regarding touch-sense controller usage.<br>
This application note explain step-by-step how to handle touch sensors using STM32F072BDISCO and STM32L0538DISCO discovery boards.<br>
+
This application note explain step-by-step how to handle touch sensors using STM32F072BDISCO<ref>[https://www.st.com/en/evaluation-tools/32f072bdiscovery.html STM32F072BDISCO]</ref> and STM32L0538DISCO<ref>[https://www.st.com/en/evaluation-tools/32l0538discovery.html STM32L0538DISCO]</ref> discovery boards<ref> [https://www.st.com/en/evaluation-tools/stm32-discovery-kits.html?sc=stm32discovery STM32 Discovery Kits]</ref>.<br>
For more information on '''STM32 Discovery boards''' --> Click [https://www.st.com/en/evaluation-tools/stm32-discovery-kits.html?sc=stm32discovery here]<br>
 
 
<br clear=all>
 
<br clear=all>
 
 
==STM32 compliance with touch sensing==
 
==STM32 compliance with touch sensing==
 
===Maximum number of sensors on STM32 Series products===
 
===Maximum number of sensors on STM32 Series products===
Line 150: Line 148:
 
[https://www.st.com/content/ccc/resource/technical/document/application_note/f4/7c/88/47/75/08/42/a8/DM00035396.pdf/files/DM00035396.pdf/jcr:content/translations/en.DM00035396.pdf AN3960] ESD considerations for touch sensing applications<br>
 
[https://www.st.com/content/ccc/resource/technical/document/application_note/f4/7c/88/47/75/08/42/a8/DM00035396.pdf/files/DM00035396.pdf/jcr:content/translations/en.DM00035396.pdf AN3960] ESD considerations for touch sensing applications<br>
   
  +
==References==
  +
<references />
   
 
{{PublicationRequestId | 14671| 2020-01-21 | AnneJ ?}}
 
{{PublicationRequestId | 14671| 2020-01-21 | AnneJ ?}}