我以前开发过多款带有触摸按键功能的消费类电子产品,用的是现成的“触摸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减小。
更多参考资料:
关于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
审核编辑:汤梓红
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)