我之前曾经开发过多款带有触摸按键功能的消费类电子产品,使用的是现成的”触摸IC”。不过后来我才了解到,有些芯片实际上是使用低功耗单片机来实现的。
接下来,我们将结合STM8和STM32来简单描述相关内容。
STM8触摸原理及开发库
在这里,我将简要介绍在STM8S中应用Resistor-Capacitor电阻电容(RC)采集原理。
硬件原理,可以参考官网:
使用MCU的资源:
官网提供STM8库相关开发资料:
https://www.st.com/en/embedded-software/stm8s-touch-lib.html
STM32触摸感应控制器
相比STM8而言,STM32的触摸按键功能就更高级。
在STM32中部分MCU(F0、 F3、 L1)具有Touch sensing controller触摸感应控制器,简称TSC。
这里可以参看ST社区的一份关于文档《STM32F0—触摸按键》:
http://www.stmcu.org.cn/document/detail/index/id-213949
或者查看MCU对应的《参考手册》,可以知道触摸控制器:电荷转移的过程以及其原理。
-
利用电容储存电荷的特性 -
电极上的待测电容Cx向采样电容Cs充电 -
电荷转移过程中个模拟开关是硬件做在GPIO里的 -
重复电荷转移的过程,直到采样电容Cs上的电压达到它说连GPIO的VIH门限值 -
过程重复的次数就反映了待测电极上电容的大小 -
电极被触摸时,重复次数N减小
5更多参考资料
关于Touch触摸的标准外设库:
https://www.st.com/en/embedded-software/stm32-standard-peripheral-library-expansion.html?querycriteria=productId=LN1734
官方提供的一套关于Touch文档,值得你参看:
https://www.st.com/content/ccc/resource/technical/document/user_manual/5d/e8/16/b7/a5/f5/47/bf/DM00075710.pdf/files/DM00075710.pdf/jcr:content/translations/en.DM00075710.pdf
以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !