Cortex-M4核Kinetis平台的电容式触摸键盘设计
3.2 TSI模块自校准
TSI模块初始化之后,要实现电容式感应触摸的检测,还需要对TSI模块进行电容值的校准,采样正常无手指触摸情况下的电容量即内部计数器的计数值,将其与自定义的死区值进行相加和相减之后分别存入阈值寄存器的高部分和低部分,以此作为标准检测电极电容变化区间,当电容量的变化处于死区区间内时,不会触发越界中断,当电容量超出阈值寄存器的范围时(包括低于阈值寄存器的低部分或者高于阈值寄存器的高部分)自动触发越界中断,具体校准流程如图7所示。本文引用地址:https://www.eepw.com.cn/article/176416.htm
3.3 TSI模块中断服务处理
由图5所示TSI模块的编程框图可知,TSI模块有多种中断方式,包括错误中断、超时中断、扫描结束中断和越界中断,在K60 MCU内部中断机制里,它们共享99号中断向量。本系统设计采用越界中断,即正常情况下不占用CPU资源,只有当手指触摸造成电容量超出死区区间时才触发越界中断,进入相应的中断服务函数进行电容式触摸按键响应处理。根据表1所示通道组合识别出具体触摸按键号,实现触摸键盘的输入,具体中断服务流程如图8所示。
另外,针对一些更加复杂的电容式触摸动作,如旋转、滑动等应用,飞思卡尔公司免费提供了强大的触摸感应软件库(即TSS库)和开发生态系统的支持,可以直接应用在飞思卡尔Kinetis平台上,不仅缩短了工程开发周期而且也增加了系统的稳定性。
DIY机械键盘相关社区:机械键盘DIY
电容的相关文章:电容屏和电阻屏的区别
评论