微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于PSoC片上系统芯片的非接触式感应按键界面设计

基于PSoC片上系统芯片的非接触式感应按键界面设计

时间:09-21 来源:互联网 点击:

本文采用PSoc片上系统芯片,实现了非接触式、稳定可靠的电容式感应按键的设计。

1 PSoC片上系统

PSoC微处理器由处理器内核、系统资源、数字系统和模拟系统组成。PSoC片上系统包含8个数字模块和12个模拟模块。这些模块都可进行配置,用户通过对这些模块进行配置,定义出用户所需要的功能。数字模块可配置成定时器、计数器、串行通信口(UARTS)、CRC发生器、PWM脉宽调制等功能模块。模拟模块可配置成模数转换器、数模转换器、可编程增益放大器、可编程滤波器、差分比较器等功能模块。数字模块和模拟模块也可构成调制解调器、复杂的马达控制器、传感器信号的处理电路等。

2 电容式感应原理

电容开关是一对相邻电极,在电极之间有很小的电容。当一个导体接近两个电极时,在电极与导体之间会产生一个耦合电容。在这里,手指就是这个导体,通常电容开关的形式是一边接地的电容,导体的存在增加了开关到地之间的电容。检测是否有手指靠近,也就是检测是否有按键按下,可依据电容的变化来判断。检测电容变化的方法有很多:电流与电压相位差检测、电容构成振荡器进行频率检测、电容桥电荷转换检测。因为电容桥电荷转换检测的方法较适用于大量按键扫描和PSoC的性能,所以在此采用该方法进行检测。

电荷转换电路从概念上来说与R-C充放电电路相似,如图1所示。电荷转移的优点是不需要附加电阻器件。CP感应的电容,它的值随着电极材料上所加导体而改变。Csum是参考总电容。

在检测周期开始,通过一个复位开关把Csum上的电荷全部放掉。然后通过单刀双向开关使Cp工作在非重迭的周期上。在第一半周,Cp连接到VDD充电。当CP上的电荷以由CP值决定的速度充到VDD时,开关断开,然后把开关连接到Csum,Cp上的电荷转移到Csum中。

在图1中,因为Csum的电容值比Cp大得多,所以Csum上的电压值在充电的每一周期内只有微小的增加。这个Cp到Csum上的电荷转换周期重复许多次,以使Csum上积累到一个大的信号值。当连接到VDD时,电容Cp上的电荷为:

Q=CV (1)

不是Cp上的所有电荷都转移到Csum中。当Cp上的电压跌落到Csum上的预存电压时,转换便不再进行。为检测感应的电容值是否有改变,可通过Cp-Csum的充放电方式,把Csum充到固定的阈值VTH,再计算到达这个阈值时的周期数。在任意采样点n,Csum上的电压值为:



图2示出了充放电115ms后的电荷转换波形。其充放频率为6MHz,所以其转换次数为700次。

式(2)很明显是一个指数函数,即电压值Vsum为:



检测Cp的变化率,可通过比较Vsum和VTH得到。即计算Vsum充到VTH时的充放电次数n:



当手指靠近时,Cp变成电极感应电容和手指接近产生的耦合电容之和CF+P,所以Csum充电到阈值VTH的速度更快,充放电周期数n也就更小:



这样,检测是否有键按下就简化成了检测周期数的变化率Δn=n-nF+P。当Δn>nTH时,表明有手指靠近。

3 电容式非接触按键的设计与实现

3.1 电容式非接触按键的硬件电路设计

电容式非接触按键的硬件电路如图3所示。该设计中,通过PSoc芯片CY8C2714循环检测感应电极的状态来判断是否有按键按下。该系统的硬件设计非常简单,感应电极不需要附加任何元器件。I/O口P0.2-P0.6共连接4个按键感应电极,芯片通过内部硬件配置和软件算法,对感应电机上是否有手指按下进行检测。另外,PSoC芯片可外接ISSP接口实现在线编程。

3.2 电容式非接触按键的软件实现

非接触按键的检测,须通过比较器、充电电流源和复位开关组成一个张弛振荡器,来对按键电极电容充放电。PSoC内部用户模块配置如图4所示。比较器占用一个模拟模块。它的同相输入端多路模拟开关连接到I/O口上,反相输入端接内部参考电压VBG作为电容充电阈值VTH,与同时输入端进行比较。输出端连接比较逻辑输出总线0。总线与通用输出口连通,再把通用输出口4和通用输入口4连接在一起,作为PWM的时钟输入线。PWM脉宽调制模块占用1个数字模块,其时钟输入连到比较器的输出,PWM的输出连接到定时器的捕获脚。1个16位定时器占用2个数字模块,对PWM输出的脉冲进行定时。

非接触式感应按键的实现过程为:首先设置I/O口的输出驱动模式,开始扫描按键,把按键连接到模拟多通道输入口,使能振荡器。当Cp上的电压线性增加到阈值时,比较器输出高电平。刷新定时器和PWM的周期数,重设计数值,置完成标志位。当扫描完成,停止PWM,定时器中断服务完成。最后根据电容感应原理,计算出定时器的周期数来判断是否有按键按下。在本设计中,如式(5)所示,选取Csum值,使充放电周期数n=1000次时,V

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top