TSI模块提供高灵敏度的触摸检测。 特点:
1. 支持多达16个触摸输入引脚
2. 以设定的上下阀值自动检测电容变化
3. 具有在运行模式和低功耗模式下以不同占空比信号来周期性自动扫描的单元
4. 支持TSS
5. 操作模式包括所有低功耗模式
6. 可从低功耗模式唤醒MCU
7. 可配置中断
8. 对温度变化和供给电压变化进行补偿
9. 低功耗模式下独立操作时不需要外部晶振
10.对每次电容测量进行整合
11.高灵敏度,短检测时间和低功耗下对晶振可进行编程设置
12.对触摸执行部分只需一个引脚
电极扫描单元【page1767和page1787的Electrode scan unit的叙述相同】
TSI需要周期性地扫描以在触摸发生时检测到容值变化,扫描单元有2个独立的扫描周期,一个提供给 TSI主动模式,另一个提供给TSI低功耗模式,这种独立的控制允许在低功耗模式下,配置更长的扫描 时间以获得更低的功耗。TSI在低功耗模式下,当检测到容值变化时可以唤醒CPU,之后,进入主动模式, 然后配置成更短的扫描周期以获得更快响应。
主动模式
每个极性引脚可通过对PEN[PEN]置位来使能,一旦触发一个极性扫描,扫描单元便开始从TSI_IN[0]顺序 扫描,直到TSI_IN[15],若[0:15]中的某个引脚的PEN[PEN]没有置位,则忽略对应的TSI_IN。 通过PEN[LPSP]的配置,只能使一个引脚工作在低功耗模式下,当工作在此模式下时,PEN[PEN]则被忽略。
触发扫描
可设置成周期性扫描或软件触发,由GENCS[STM]控制。
主动模式下的周期扫描 Figure55-71描述了扫描序列的情况,当所有引脚都被扫描后,产生end-of-scan中断,当一个极性引脚 正在扫描中,此时又有触发扫描,会产生over-run中断。
触摸检测单元
负责检测容值变化,还负责检测由引脚短路到Vdd或Vss或容值超出TSI模块配置的范围时引起的错误。
容值变化阀值 每个TSI引脚都有一个结果寄存器TSICHnCNT,上下阀值由TSICHnHTH和TSICHnLTH设定,当TSICHnCNT 在阀值范围外时,GENCS[OUTRGF]和STATUS[ORNGFx]置位。
【总结: TSICHnCNT = (Iref * PS * NSCN)/Cref * Iref * Celec Iref -- 内部电流源 Cref -- 内部参考电容值 PS -- 分频比 NSCN -- 扫描数量 Celec -- 引脚的电容值 【实际应用时参考手册上的数据可以直接拿来用吧?】 在end-of-scan后,只要结果寄存器TSICHnCNT高过上阀值寄存器TSICHnHTH,就可认为是容值变化了, 产生TSI中断。上阀值越低,灵敏度越高。此模块实际DIY时会很好玩!!】 |