STM32入门学习笔记之电容触摸实验(上)

发布时间:2024-03-25  

8.1 电容触摸简介

8.1.1 电容触摸概述

随着科技的发展,传统的机械按键正在逐步从设备上面消失,这个原因主要有机械按键由于是采用机械接触的方式,寿命比较短,从用户体验上看,机械按键也显得操作复杂,对比现在的电容按键,电容按键具有寿命长,因为不存在机械接触,占用空间少,以前的机械按键在设计外壳的时候需要考虑尺寸,现在换成电容按键后这个问题不再需要考虑。

8.1.2 检测原理

常规的检测方式一般是通过计算电容放电时间来判断是否有手指按下,这是因为手指会与线路板的铜箔接触面上产生电容效应,当手指没有放在铜箔上的时候,铜箔与PCB之间存在杂散电容,这两个状态的电容值差别很大,检测原理如下图所示。

图片

在检测之前首先用开关将电容Cs里面的电荷放尽,然后此时CPU开始计算Cs的充电时间,这一部分是采用捕捉信号来测量,尽管单片机属于数字电路,但是数字电路的逻辑电平也是有电压限制的,比如在3.3V供电环境下,当电压大于2.4V则被认为是逻辑电平1,当电压小于0.4V则被认为是逻辑电平0,单片机的输入捕获功能来判断输入信号的电平是否为逻辑电平1,如果检测到逻辑电平1,则认为电容此时充电达到了2.4V以上,将这个时间记录下来,当手指放在铜箔上的时候,相当于增加了Cs的容值,此时我们继续进行输入捕获采样,将这个捕获的时间记录下来,两个时间求差值,这个差值高于某个阈值的时候就可以认为此时手指按下了电容按键,用这种方式就可以实现虚拟按键的使用了。这种检测原理实际是采用了在电路分析中学习到的RC电路的零状态响应来实现的。根据RC电路的零状态响应可以得出电容的充电公式为

图片

其中Vc表示电容的充电电压,VDD为RC电路的输入电压,R为电阻的阻值,C为充电电容的容值,通过这个公式我们可以反推得到充点电容的容值。也就是说我们可以利用这个公式实现电容的测量。

8.1.3 预备知识

首先我们在进行电容触摸检测的时候需要用到STM32的输入捕获功能,从这一章开始,关于寄存器文件的添加,驱动文件的添加不再作为重点,重点开始转为程序的编写及小算法的编写。

输入捕获的工作原理如下图所示。

图片

首先设置定时器的输入通道为上升沿捕获,检测到上升沿之后,将计数寄存器CNT中的数据存储在CCRx1中并清空CNT的数据,然后设置定时器的输入通道为下降沿捕获,检测到下降沿后将计数寄存器CNT中的数据存储在CCRx2中并清空CNT的数据,此时将CCRx2的值与CCRx1的值做差值就可以得到1个波形中高电平的时间,由于这两个数值获取的过程中,会由于高电平时间过长导致定时器产生多次中断,这个多次中断的值记为N,此时高电平的时间计算公式如下所示:

图片

其中M为定时器的计数周期,N为定时器的溢出次数,ARR为自动重装载计数器的值,CCRx2为捕获到的数据。

8.2 常用寄存器

8.2.1 捕获/比较寄存器1:TIMx_CCMR1

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
IC2F[3:0] IC2PSC[1:0] CC2S[1:0] IC1F[3:0] IC1PSC[1:0] CC1S[1:0]









ICxF[3:0]:输入捕获x滤波器(定义输入采样频率及数字滤波器长度)

图片

ICxPSC[1:0]:输入/捕获x预分频器(一旦CCxE=0,则预分频器复位)


00:每1个事件触发一次捕获


   01:每2个事件触发一次捕获


   10:每4个事件触发一次捕获


   11:每8个事件触发一次捕获

CCxS[1:0]:捕获/比较x选择(用于定义通道x输入还是输出)


复制

00:输出模式


   01:输入模式,映射在TI1上


   10:输入模式,映射在TI2上

8.2.2 捕获/比较使能寄存器:TIMx_CCER

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
- CC4P CC4E - CC3P CC3E - CC2P CC2E - CC1P CC1E



CCxP:输入/捕获x输入/输出极性


通道在输出模式下


0:高电平有效


   1:低电平有效

通道在输入模式下


0:不反相,上升沿触发


   1:反相,下降沿触发

CCxE:输入/捕获x输入/输出使能


通道在输出模式下


0:关闭输出


   1:开启输出

通道在输入模式下


0:禁止捕获


   1:使能捕获


   11:输入模式,映射在TRC上,此模式引用于内部触发器输入被选中时


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>