SONIXSN8P27XX系列MCU开发触摸式按键的原理与实现

上传人:ni****g 文档编号:503553426 上传时间:2024-02-17 格式:DOC 页数:9 大小:302KB
返回 下载 相关 举报
SONIXSN8P27XX系列MCU开发触摸式按键的原理与实现_第1页
第1页 / 共9页
SONIXSN8P27XX系列MCU开发触摸式按键的原理与实现_第2页
第2页 / 共9页
SONIXSN8P27XX系列MCU开发触摸式按键的原理与实现_第3页
第3页 / 共9页
SONIXSN8P27XX系列MCU开发触摸式按键的原理与实现_第4页
第4页 / 共9页
SONIXSN8P27XX系列MCU开发触摸式按键的原理与实现_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《SONIXSN8P27XX系列MCU开发触摸式按键的原理与实现》由会员分享,可在线阅读,更多相关《SONIXSN8P27XX系列MCU开发触摸式按键的原理与实现(9页珍藏版)》请在金锄头文库上搜索。

1、SONIX SN8P27XX系列MCU开发触摸式按键的原理与实现SONIX SN8P27XX系列MCU开发触摸式按键的原理与实现、问题的提出在目前MCU应用领域里,很多场合都离不开开关信号,这些开关信号的实现都是通过按键操作实现。而传统的按键应用最广 最普遍的就是机械式按键 (或称为B键),这一类按键的共同点就 是透过金属触点来得到开关信号,也正是这些共同点决定了机械 式按键的应用场合和使用寿命。如在一些带有油烟或腐蚀性气体 的应用场合;另外,在很多小家电应用领域,也都是在模具表面 开孔,使用PVC胶来做按键触摸点,这些 PVC胶随着使用时间 的增加也很容易损坏。因此,目前市场上出现了一种新型

2、的按键 输入方式 触摸式按键(或称感应型按键)。顾名思义,这种按键输入方式与传统机械式按键不同,它不需要金属触点,取而代之的是感应人体的触摸动作。目前市场上常 见的触摸按键方案中,多为采用MCU+专用IC以及只用MCU实 现两种,在 MCU+专用IC方案中,具有代表性的触摸信号专用IC是英国昆腾(QUANTUM )公司的QT系列IC,女口 QT1080就是带有8路独立触摸按键输入的处理芯片。但是使用MCU+专用IC方案面临的一大挑战就是其抗干扰能力不强以及其成本较高的 问题,也正是这一缺陷决定了在很多MCU应用场合这种方案显得有些无能为力了。下面就从应用的角度对采用独立MCU方案开发感应型按键

3、的原理进行讨论。:、 感应型按键的电气原理这种感应型按键的实现原理是基于电容对高频脉冲信号的耦 合特性,通常称该电容为耦合电容。当该耦合电容的容值发生改 变时,经过该电容耦合得到的高频脉冲的高电平幅值将发生改变。 如图一所示:K1R2C2R3200KOSCR 120pC1按键电极1042.2MAGNDVCCIN4148R4KEY1M CU10KAD 口C3104aGnd图1感应按键的电路形式如图1所示,高频信号 OSC经过电容C1耦合,再经过电容 C2滤波,这样在K1点可以得到一直流信号;A点为按键电极连接点,电极的表面可以是一些如玻璃或塑料的绝缘物质。当人体 透过电极表面的介质触摸按键时,此

4、时人体、电极和这些介质就 等效成一个电容,该等效电容与耦合电容C1并联,最终就相当与改变了耦合电容的容值,从而经由C1耦合得到的高频脉冲的高电平幅值就将发生变化,在K1点得到的直流信号也将随之发生改变。当人体接触按键时,K1点的电压将降低。由MCU的AD 口读取K1点的电压变化,便可知道按键与否。K1点的电压变化范围一般在几十至一百毫伏范围变化,这与电极表面的介质 和高频信号的频率有关。在有些应用中,由于 K1点的电压变化太小,通常还会在 K1点接一级放大器,这样 MCU AD 口端的电 平变化范围将相应变大。 由于SONiX 8bit MCU,至少提供12bit的 AD,所以在采用SONiX

5、 8bit MCU 开发时并不需要增加一级放大电路。针对图1所示的参数,下面将给出A点在人体触摸前后的波形变化(电极表面的介质为压克力板)人体触摸前A点的波形人体触摸时A点的波形对于高频脉冲的产生,通常都在几百KHz,根据具体的应用可以VCC有不同的选择。常见的电路形式有采用NE555和CD4069 :R431V-A 一0805- 6.8K*R4320805- 5.1K*C4210805- 101OSCU2GNDVccTRIGDISCOUTTHRrsTcLKNE5558765AGND123 4_C-VCCAGND0805- 104AGND由555产生高频脉冲做为输入信号图2采用NE555产生高

6、频脉冲信号通常SONiX的MCU都有提供至少一路 PWM功能,根据应用 的需求,也可以采用该 PWM功能作为高频脉冲发生器。对于应用中 可能会出现按键数量超出MCU提供的AD通道数的情形,此时可以增加一模拟开关,如CD4051 o 三、感应型按键的软件实现从上述电气原理的讨论中,可以看出,到达MCU AD 口的直流信号并不是十分理想的直流信号,由于是经由104电容滤波直接得到,其纹波系数很大,因此,在软件的实现中,应充分考虑AD 口信号的正常波动。其次,程序判断按键与否的根据是AD 口信号变化的大小,当AD值负变化达到给定量时,认为有键按下;反之, AD值 正变化达到给定量时,则认为是按键弹起

7、。由于程序判定按键的根据是 AD值的变化量,所以在程序中,还 应确定一个基准值,所有的变化量都应相对这个基准值,一般情况下,在上电时应将这个基准值确定,或通过实验计算出一个基准值保存在程序中,但后者随着使用时间的增加,可能会出现基准值变化而导致按键失灵,最好的做法是将两者都考虑进去。在程序中应充分考虑对 AD值做数字滤波处理,常见的数字滤波 如滑动平均值滤波和中位值滤波,在此不讨论具体的滤波算法,可以参考相关的书籍。此外,程序中还应做好按键去抖动的动作,这是任 何形式的按键处理程序都应考虑的。四、附录通过以上对感应型按键的原理的讨论,重点在于如何使得整个系统稳定可靠,即抗干扰能力要强,这主要与

8、程序编制有关。所以,关 键的还是强调程序处理。本人按照上面讨论的原理,有做一跑马灯 DEMO,可以轻松通过 EFT日规2000V测试。下面给出DEMO中按键部分、上电抓基准值部分程序的流程图和code,以期达到抛砖引玉。附:上电抓 AD基准值程序框图附读键程序流程图开始调用AD数据采集程序调用中位值滤波程序滤波值-ad_normlh ad_norml1,将结果保存在 ad_pro_bufh ad_pro_bufl返回lNad_pro_bufh ad_pro_bufl 是-否为负值? 一对ad_pro_bufh ad_pro_bufl 取绝对值:置当前Ad直较平常值小的标志f ad now lowad_pro_bufh ad_pro_bufl 是否大于确认按键时给定的值?置没有键标志f_nokey 清f ad now low返回1YF置键按下标志f_keydown清 f_ad._no w_lowad now low为1?返回返回相应的code请查看DEMO中程序部分对应实现code。DEMO 中的程序实现与上述流程图会有些许差异,但基本的原理是一致的。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号