0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

CW32 电容式触摸按键设计指南

jf_pJlTbmA9 来源:武汉芯源半导体 作者:武汉芯源半导体 2023-10-25 16:36 次阅读

前言

CW32 电容触摸按键设计指南向客户提供一种利用 CW32 内部资源结合软件编程实现电容式触摸按键有效 触摸检测的方法。本指南的内容重点在于工作原理、软件检测过程以及调试指引。

利用芯源半导体的 CW32 系列小规模 MCU 的 IO、比较器定时器、高速高精度内置 RC 时钟源以及高算力 等功能,通过检测电路端子电容的微小变化和波动,实现电容式触摸按键功能。其外围电路简单,占用资源 比例不高,非常有利于用户在节约 BOM 成本的前提下拓展功能。结合适当的工业化设计,触摸按键比接触 式按键更美观、耐磨的同时,还具有防水、抗干扰、寿命长等多种优势。

通过本文,您会了解到如何利用内置电压比较器和内置定时器及软件配合,实现灵活方便的按键检测。本文 在介绍标准演示板(如下图)和演示软件的性能参数的同时,还会给出详细的调试建议以及设计参数选择倾 向分析,用以帮助客户快速而自信地完成设计并实施调试。

wKgaomSjlTyAX2_2AAqURQwUDqg466.png

1、 电容触摸检测基本原理

独立于电路的金属部件都能够作为电容触摸传感器使用,其原理在于金属部件附近存在手指时,相当于增加 了金属部件对地的旁路电容。因此,利用 CW32 系列 MCU 的 IO 口对金属部件充电,并检测电容放电时间的 变化,理论上能够辨别金属部件附近是否存在手指按压动作。当无手指存在时,金属部件的电容为 Cp,其放 电时间为 t1;当存在手指时,增加的旁路电容为 Cx,此时的放电时间为 t2,如下图所示,可以看出两者之间 的放电时间是不一样的:

wKgZomSjlUaAdHQRAAAZ4DXnvlQ022.png

2、 基于 CW32F003 的触摸按键方案简介

由于 CW32F003 集成了电压比较器 VC 和定时器,因此触摸按键方案可以通过软件来实现,其实现的原来框 图如下所示:

wKgaomSjlU6APMbnAABcTBlkKAI934.png

其过程如下:

1.GTIM 配置为门控计数方式,计数源为芯片内部的 PCLK 时钟。

2. VC 比较器的同相端配置为按键的接口,反相段配置为参考,参考的来源为芯片的 VCC 通过内部电阻网 络分压得到,VC 比较器输出极性不反转。

3. GPIO 口配置为数字输出,输出高电平对电容充电。由于电容容值比较小,充电电流较大(图中红色箭 头所示),电容上的电压很快达到 VCC。

4. GTIM的计数器 CNT清 0,GPIO口配置为输入高阻态,电容上的电荷基本通过 R泄放(图中蓝色箭头所示), 需要一定的时间,此时电容上的电压要比 VC 比较器的反相端的电压高,VC 输出高电平,是 GTIM 的门 控信号有效,GTIM 进行计数。

5. 当电容上的电压降低到比 VC 比较器的反相端的参考电压低时,VC 输出低电平,GTIM 停止计数,同时 VC 比较将产生一个中断信号,此时读取 GTIM 的 CNT 的计数值,和判决门限比较可以判断是否发生触 摸按键的事件。如下图所示:

wKgZomSjlVaAduU9AAA_Ky0Fhlg703.png

3、 电容触摸检测电路软件过程

在范例程序中,软件定时(用定时器中断实现)对每个被测 IO 充电并检测放电时间 N 次,N 次循环检测后, 将统计结果提交滤波器状态机,得到按键当前状态。每次检测的具体过程如下:

1. 将 IO 口置高 2 个机器周期,此时金属部件及电容 C 对 GND 的电压被充高到 VCC。

2. 将 IO 口配置为电压比较器输入模式,此时 IO 口状态切换为高阻输入状态,金属部件及电容 C 通过对 GND 的旁路电阻 R 放电,端子电压变化曲线为标准的 RC 放电曲线。

3. 软件记录循环定时器(GTIM 最高主频运行)的当前值,并等待电压比较器的输出翻转(电压比较器被 配置为与某电压门限比较)。

4. 电压比较器输出翻转后立即记录循环定时器当前值,并结合前次记录的时间记录输出结果。触摸检测过程的相关代码如下:

uint32_tTouchKey_GetValue(uint8_tkey,uint8_tref)
{
uint32_tCurTime;
//VC1切换通道
CW_VC1->CR0_f.INP=key;   //设置按键通道
CW_VC1->DIV_f.DIV=ref;    //设置按键比较的参考比例
//获取放电时间
CW_GPIOB->DIR =~((1UL<<8)>>key);  //按键端口输出,对电容充电
__NOP();
__NOP();
CW_GTIM->CNT=0x0000;        //计数器清零
CW_GPIOB->DIR|=((1UL<<8)>>key);   //按键端口输入高阻
while((CW_VC1->SR_f.FLTV)==1);     //等到放电到比较点
CurTime=CW_GTIM->CNT;        //获取放电时间
returnCurTime;
}

4、 触摸参数及选型倾向

为了保证检测流程顺利执行,需要选择每一个触摸按键的基础电容 C 和放电电阻 R 以及比较器参考门限 V。DEMO 中,这三个参数一般为 C=4.7pF,R=51KΩ,V=9/64 VDD。

C 和 R 的值,以及比较器参考门限 V 均可根据实际电路测试结果进行调整,调整考量如下:

1. C 的容量增加会令放电时间更长,在检测程序中将会需要更多的机器周期等待比较器翻转。

2. C 的容量增加会显著增强电路稳定性但对检测灵敏度没有大的影响。

3. R 的阻值增加会令放电时间更长,在检测程序中将会需要更多的机器周期等待比较器翻转。

4. R 的阻值增加会降低电路稳定性(高阻易受环境干扰)但对检测灵敏度有明显帮助。

5. 比较器参考门限 V 过高会降低检测灵敏度,但能节约检测时间。门限 V 过低会削弱抗干扰能力并浪费检 测时间。

5、 调试指引及性能参考

5.1 示例软件框架介绍

示例软件占用 1 个基本定时器,利用定时中断并在中断服务程序中执行按键检测过程、定时周期 10 毫秒。每次进入中断服务程序后,顺序扫描 M 个触摸按键的 RC 响应。

顺序扫描 N 次后,将 RC 响应结果数据提交滤波器状态机。

滤波器状态机输出按键状态结果。

5.2 调试工具 TD_GetBaseResponseRCT 的使用

示例软件提供一组标定工具来测量当前环境的 RC 响应,执行过程如下:

1.在没有手指按下的情况下,执行 TD_GetBaseResponseRCT,函数的参数用于选择对应 IO,返回值作 为该按键的基础时长 TB。

2. 在有手指按下的情况下,执行 TD_GetBaseResponseRCT,函数的参数用于选择对应 IO,返回值作为 该按键的信号时长 TS。

注 1:每一个按键(IO)的 TB和 TS都应被单独收集并作为滤波器状态机的参数使用。

注 2:各种温湿度条件下的 TB和 TS都应该在实验室中被采集并用于影响滤波器状态机的参数。

注 3:比较器门限 V 也是可以针对每一个触摸按键单独选择的,如果某个按键的 TB和 TS无法实现明显的差异, 调节 C、R 和 V 将是唯一有效的途径。 

另:由于本例利用了高阻态 及小信号检测技术,触摸按键的布线要求尽量保持独立性,其金属部件、与 IO 的连线以及 RC 电路周围要尽量避免与其它电路并列共存,否则将大幅提高参数选择及调试难度直至无法完成。

5.3 性能参考

wKgZomSjlWyACnUNAACrdm3ba5I767.png

来源:武汉芯源半导体

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 电路
    +关注

    关注

    172

    文章

    5831

    浏览量

    171842
  • 滤波器
    +关注

    关注

    160

    文章

    7718

    浏览量

    177574
  • 电容式
    +关注

    关注

    0

    文章

    346

    浏览量

    52714
  • 触摸按键
    +关注

    关注

    7

    文章

    117

    浏览量

    67395
收藏 人收藏

    评论

    相关推荐

    电容式触摸感应和SYS/BIOS

    电子发烧友网站提供《电容式触摸感应和SYS/BIOS.pdf》资料免费下载
    发表于 10-18 13:52 0次下载
    <b class='flag-5'>电容式</b><b class='flag-5'>触摸</b>感应和SYS/BIOS

    电容式触摸按键按键扩展方法

    电子发烧友网站提供《电容式触摸按键按键扩展方法.pdf》资料免费下载
    发表于 09-27 11:43 0次下载
    <b class='flag-5'>电容式</b><b class='flag-5'>触摸</b><b class='flag-5'>按键</b>的<b class='flag-5'>按键</b>扩展方法

    CW32模块使用 TTP224触摸传感器

    该模块是一个基于触摸检测IC(TTP223B)的电容式点动型触摸开关模块。常态下,模块输出低电平,模式为低功耗模式;当用手指触摸相应位置时,模块会输出高电平,模式切换为快速模式;当持续
    的头像 发表于 09-18 15:35 1798次阅读
    <b class='flag-5'>CW32</b>模块使用 TTP224<b class='flag-5'>触摸</b>传感器

    电容式触摸手势软件和调整应用说明

    电子发烧友网站提供《电容式触摸手势软件和调整应用说明.pdf》资料免费下载
    发表于 09-14 10:34 0次下载
    <b class='flag-5'>电容式</b><b class='flag-5'>触摸</b>手势软件和调整应用说明

    基于MSP430实现电视的电容式触摸按键

    电子发烧友网站提供《基于MSP430实现电视的电容式触摸按键.pdf》资料免费下载
    发表于 08-28 11:56 0次下载
    基于MSP430实现电视的<b class='flag-5'>电容式</b><b class='flag-5'>触摸</b><b class='flag-5'>按键</b>

    请问电容式触摸按键的原理有哪些?

    请问电容式触摸按键的原理有哪些? 目前知道的是通过检测频率变化来判定,请问其余的方式是什么
    发表于 08-20 06:49

    电容式触摸感应技术的原理和类型

    电容式触摸感应技术是一种广泛应用于现代触摸屏设备中的技术,如智能手机、平板电脑、电脑触摸板等。其原理基于电容的变化来检测和感应
    的头像 发表于 08-05 15:20 1108次阅读

    基于Arduino的数字电容式触摸传感器设计

    数字电容式触摸传感器,简称电容式触摸传感器,是一种通过检测物体(如手指)与传感器表面之间电容变化来实现
    的头像 发表于 07-05 17:47 1273次阅读
    基于Arduino的数字<b class='flag-5'>电容式</b><b class='flag-5'>触摸</b>传感器设计

    【项目展示】基于CW32的遥控循迹小车

    蓝牙模块、OLED屏幕、TB6612和红外循迹模块组成,电源采用可充电锂电池供电,建议不要使用 1.5V 干电池供电。 图1 CW32小车 二、硬件部分 2.1主控板 小车主控板由小蓝板和控制底板组成,小蓝板通过排母与控制底板相连,控制底板上还预留了按键等功能。主控板的
    的头像 发表于 05-31 17:33 1204次阅读
    【项目展示】基于<b class='flag-5'>CW32</b>的遥控循迹小车

    CW32快速开发入门

    CW32快速开发入门
    的头像 发表于 04-24 18:56 1857次阅读
    <b class='flag-5'>CW32</b>快速开发入门

    触摸按键PCB 设计要点V01

    为解决传统的机械按键输入方式易磨损、易藏污垢、寿命短等问题,将电容式触摸技术应 用到触摸按键
    发表于 03-20 16:39 4次下载

    触摸按键的工作原理是什么

    按键的身影。那么,触摸按键的原理是什么呢? 首先,我们来了解电容式触摸按键的原理。
    的头像 发表于 02-04 14:27 6583次阅读

    电容式传感器MCU 电容式触摸噪声抗扰度指南

    电子发烧友网站提供《电容式传感器MCU 电容式触摸噪声抗扰度指南.pdf》资料免费下载
    发表于 01-03 14:10 2次下载
    <b class='flag-5'>电容式</b>传感器MCU <b class='flag-5'>电容式</b><b class='flag-5'>触摸</b>噪声抗扰度<b class='flag-5'>指南</b>

    电容式传感器MCU QE电容触摸高级模式参数指南

    电子发烧友网站提供《电容式传感器MCU QE电容触摸高级模式参数指南.pdf》资料免费下载
    发表于 01-03 10:06 0次下载
    <b class='flag-5'>电容式</b>传感器MCU QE<b class='flag-5'>电容</b><b class='flag-5'>触摸</b>高级模式参数<b class='flag-5'>指南</b>

    电容式传感器微控制器 CTSU电容触摸介绍指南

    电子发烧友网站提供《电容式传感器微控制器 CTSU电容触摸介绍指南.pdf》资料免费下载
    发表于 01-03 10:05 1次下载
    <b class='flag-5'>电容式</b>传感器微控制器 CTSU<b class='flag-5'>电容</b><b class='flag-5'>触摸</b>介绍<b class='flag-5'>指南</b>