简述8位MCU的触摸按键设计方案
2022-08-19

  0 前言

  (Micro Controller Unit)中文名称为多点控制单元,又称单片微型计算机(Single Chip Microcomputer),是指随着大规模的出现及其发展,将计算机的CPU、RAM、ROM、定时数器和多种I/O接口集成在一片芯片上,形成芯片级的计算机,为不同的应用场合做不同组合控制。

  在需要用户界面的应用方案中,传统的机电开关正在被电容式触摸感应控制所替代。通过对由一个电阻和触摸电极电容组成的RC充放电时间的控制,该触摸感应软件可以检测到人手的触摸。由于电极电容的改变,导致的RC充放电时间的改变,能够被检测出来,然后经过滤波等,最终通过专用的I/O端口,或者I2C/SPI接口发送给主机系统。该软件库所需的元器件BOM表,成本低廉,因为每个通道只需要两个电阻就可以实现触摸检测功能。

  1 RC感应原理

  RC采样原理就是通过测量触摸电极电容的微小变化,来感知人体对电容式触摸感应器(按键、滚轮或者滑条)的触摸。

  电极电容(C)通过一个固定的电阻(R)周期性地充放电。 电容值取决于以下几个参数:电极面积(A),绝缘体相对介电常数( ),空气相对湿度( ),以及两个电极之间的距离(d)。电容值可由下列公式得出:

 

 

图1 RC电压检测

  固定电压施加在 , 的电压随着电容值的变化而相应增加或者降低, 如图2所示。

 

图2 测量充电时间

  通过计算 的电压达到阀值 所需要的充电时间( ),来得到电容值(C)。 在触摸感应应用中,电容值(C)由两部分组成:固定电容(电极电容, )和当人手接触或者靠近电极时,由人手带来的电容(感应电容, )。 利用该原理,就可以检测到手指是否触摸了电极。

 

图3 触摸感应

  这就是用于检测人手触摸的触摸感应软件中感应层所采用的基本原理。

  2 硬件实现

  图4显示了一个实现的实例。由R1,R2以及电容电极( )和手指电容( )并联的电容(大约5pF) 形成一个RC网络,通过对该RC网络充放电时间的测量,可以检测到人手的触摸。 所有电极共享一个“负载I/O”引脚。电容R2(10K?)是可选的,用于减少对噪声影响。

 

图4 电容触摸感应实现实例

 

  3 软件实现

  本章描述了触摸感应RC原理的实现。

  3.1 充电时间测量原理

  为了保证健壮的电容触摸感应的应用,充电时间的测量需要足够的精确。

  采用一个简单的定时器(无需IC功能)和一系列简单的软件操作,即定时地检查感应I/O端口上的电压是否达到阀值。

  3.2 基本测量

  使用普通定时器进行充电时间的测量。对电容充电开始之前,定时器的计数器数值被记录下来。当采样I/O端口上的电压达到某个阀值( )时,再次记录定时器计数器的值。二者之差就是 充电或者放电的时间。

 

图5 定时器计数器值

  3.3 过采样

  过采样的目的是以CPU时钟的精度,对输入电压达到高电平和低电平( 和 )的时间测量。 为了跨越所有的取值范围,每次测量都比上一次测量延迟一个CPU时钟周期的时间。

 

图6 输入电压测量

  3.4 输入电压测量的原理

  为了提高在电压和温度变动情况下的稳定性,对电极会进行连续两次的测量:第一次测量对电容的充电时间,直到输入电压升至 。第二次测量电容的放电时间,直到输入电压降至 。下图以及以下的表格详细说明了对感应电极(感应I/O)和负载I/O引脚上的操作流程。

表2 电容充放电测量步骤

 

  3.5 触摸的效果

  电极的电容值( )取决于以下几个主要因素:电极的形状、大小,触摸感应控制器到电极之间的 布线(尤其是地耦合),以及介电面板的材料和厚度。图8说明了这种“触摸的效果”。 时间(即达到了 电平的时刻)比长;同样对于降至 电平的时间也比长。

 

图8 触摸效果实例

 

  3.6 多次测量以及高频噪声的去除

  为了提高测量的精确度,并去除高频噪声,有必要对 和 进行多次的测量,然后再决定是否有按键被有效“触摸”。

 

图9 测量的种类

  注意:下图说明了去除噪声的实例。如果测量次数(N)设置为4,那么对一个电极的完整测量将包括4次正确的“连续组测量”(BGs)。

  图10 显示了没有噪声的影响,所有测量都有效的情况。 这个例子中,每个连续组测量中的测量都有效,使得一个完整的测量很快就可以完成。

 

图10 实例1

  图11 显示了有一些噪声使得某些测量无效的情况(即r1和r2)。 在这个例子中,连续组测量BG3重复了好几次,直到其中的所有测量都有效,该次组测量才算通过。

 

图11 实例2

  图12 显示了有很多噪声,使得无效的组测量次数达到了最大限制 (比如20)。这样的话,整个电极测量都无效。

 

图12 实例3

声明: 本文转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们及时删除。(联系我们,邮箱:evan.li@aspencore.com )
0
评论
  • 报名中:IIC Shenzhen - 2022国际集成电路展览会暨研讨会


  • 相关技术文库
  • 单片机
  • 嵌入式
  • MCU
  • STM
  • 以32位微处理器为控制核心的超级电容器组管理系统

    在传统的能量供应系统中,电池作为主要的储能单元被广泛使用。随着科学技术的发展和保护环境的需求,超级电容器因其容量大、寿命长、放电速度快、工作温度范围宽、可以串并

    11分钟前
  • 多节动力电池检测系统的单片机控制模块

    针对动力电池工作参数的监测,保护其安全性和使用寿命的问题,提出基于电池管理芯片 LTC6803 设计一套电池管理系统,利用 LTC6803 和 STC12C54

    13分钟前
  • CFS任务的负载均衡

    负载均衡的系列文章共分为三篇,第一篇为框架篇,描述负载均衡的相关原理、场景和框架。本篇作为该系列文章第二篇,主要通过对任务放置场景(task placement)的均衡分布进行分析,以便加深读者对内核调度器实现任务均衡分布的理解。 本文基于linux-5.4.24分

    昨天
  • Multi-queue 架构分析

    Linux上传统的块设备层(Block Layer)和IO调度器(如cfq)主要是针对HDD(hard disk drivers)设计的。我们知道,HDD设备的随机IO性能很差,吞吐量大约是几百IOPS(IOs per second),延迟在毫秒级,所以当时IO性能的瓶颈在硬件,而不是内核。但是,随着高速

    昨天
  • ARMv8 异常处理简介

    内核稳定性问题复杂多样,最常见的莫过于“kernel panic”,意为“内核恐慌,不知所措”。这种情况下系统自然无法正常运转,只能自我结束生命,留下死亡信息。诸如: “Unable to handle kernel XXX at virtual address XXX” “undefined instruction XXX”

    昨天
  • 新型 IO 调度器 BFQ 简介

    Linux io调度器有很多种,大多数调度器都经受住了各种市场环境的长时间验证,稳定性、性能得到各种用户的认可,但新的调度器依然展露头角,在4.12内核中出现了一个新的bfq调度器,这个调度器将取代曾经的辉煌的cfq调度器。社区对待大的改动都是很谨慎的,为什

    昨天
  • CFS任务的负载均衡(框架篇)

    我们描述负载均衡的系列文章一共三篇,第一篇是框架部分,即本文,主要描述了负载均衡相关的原理、场景和框架。后面的两篇是对均衡代码的情景分析,通过对load balance、task placement和active upmigration几个典型的负载均衡来呈现其实现细节,稍后发布,敬

    昨天
  • linux IO Block layer 解析

    早期的 Block 框架是单队列(single-queue)架构,适用于“硬件单队列”的存储设备(比如机械磁盘),随着存储器件技术的发展,支持“硬件多队列”的存储器件越来越常见(比如 NVMe SSD),传统的单队列架构也因此被改成了多队列(multi-queue)架构。早在 3.

    昨天
  • eMMC简介

    1 eMMC是什么 eMMC是embedded MultiMediaCard的简称,即嵌入式多媒体卡, 是一种闪存卡的标准,它定义了基于嵌入式多媒体卡的存储系统的物理架构和访问接口及协议,具体由电子设备工程联合委员会JEDEC订立和发布。 它是对 MMC的一个拓展,具有体积小,功耗低,

    昨天
  • 低纹波、高精度电流源设计

    低纹波、高精度电流源是一种重要的仪器设备;广泛应用于电光源、电化学、通信、测量技术、电子仪器等领域。目前,市场上的电流源不具备连续可调功能;并且输出电流范围小、

    昨天
  • Linux 电信基站系统解决方案

      自从1991年Linux第一次面世以来,任何人也不会想到这个不起眼的操作系统现在会应用得如此广泛。无论是从嵌入式领域的智能手机到大型计算服务器都可以找到它的

    前天
  • 单片机振荡电路中如何选择晶体?

    1.单片机晶振的原理晶振一般采用三端式(考毕兹) 交流等效振荡电路;实际的晶振交流等效电路中,其中Cv是用来调节振荡频率,一般用变容二极管加上不同的反偏电压来实

    前天
下载排行榜
更多
广告