微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 电源设计 > Cortex-M4核Kinetis平台的电容式触摸键盘设计

Cortex-M4核Kinetis平台的电容式触摸键盘设计

时间:08-21 来源:互联网 点击:

得到9种按键响应。另外需要注意的是,在实际PCB设计时,4块电檄板到TSI模块相应引脚的走线要尽量短,以减少不必要的电容效应,同时也降低环境噪声的影响。

3 系统软件设计
K60MCU的TSI模块不仅简化了电容式触摸键盘硬件上的设计,而且在软件设计方面,通过简单的配置相关寄存器、编写相应的校准程序和中断服务程序即可驱动电容触摸功能,极大地简化了软件设计流程。本系统软件设计采用中断方式,TSI模块自动进行周期性扫描,只有触摸事件发生时才触发中断进行响应,减少CPU负担。具体的TSI模块内部编程框图如图5所示。其中,每个功能模块都是由相关寄存器中相应的控制位控制的。

3.1 TSI模块初始化
对TSI模块的初始化主要是根据实际硬件设计对其相关寄存器进行操作,在初始化阶段涉及到的相关寄存器包括通用控制与状态寄存器(TSI0_GENCS)、扫描控制寄存器(TSI0_SCANS)、通道使能寄存器(TSI0_PEN),另外还涉及到K60MCU内部时钟和引脚配置寄存器等,具体初始化流程如图6所示。


3.2 TSI模块自校准
TSI模块初始化之后,要实现电容式感应触摸的检测,还需要对TSI模块进行电容值的校准,采样正常无手指触摸情况下的电容量即内部计数器的计数值,将其与自定义的死区值进行相加和相减之后分别存入阈值寄存器的高部分和低部分,以此作为标准检测电极电容变化区间,当电容量的变化处于死区区间内时,不会触发越界中断,当电容量超出阈值寄存器的范围时(包括低于阈值寄存器的低部分或者高于阈值寄存器的高部分)自动触发越界中断,具体校准流程如图7所示。

3.3 TSI模块中断服务处理
由图5所示TSI模块的编程框图可知,TSI模块有多种中断方式,包括错误中断、超时中断、扫描结束中断和越界中断,在K60 MCU内部中断机制里,它们共享99号中断向量。本系统设计采用越界中断,即正常情况下不占用CPU资源,只有当手指触摸造成电容量超出死区区间时才触发越界中断,进入相应的中断服务函数进行电容式触摸按键响应处理。根据表1所示通道组合识别出具体触摸按键号,实现触摸键盘的输入,具体中断服务流程如图8所示。
另外,针对一些更加复杂的电容式触摸动作,如旋转、滑动等应用,飞思卡尔公司免费提供了强大的触摸感应软件库(即TSS库)和开发生态系统的支持,可以直接应用在飞思卡尔Kinetis平台上,不仅缩短了工程开发周期而且也增加了系统的稳定性。

  1. 结语
  2. 本系统采用带有电容式触摸接口TSI模块的Cortex-M4核的Kinetis平台MCU,利用电容式触摸感应原理设计了3×3电容触摸键盘。相比于传统的机械式按键,电容式触摸按键具有寿命长、占用空间小、高灵敏度和灵活性好等优点,应用前景十分广阔,尤其是在飞速发展的消费电子领域,大有取代机械式按键的势头。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top