采用PSoC片上系统芯片的非接触式感应按键界面设计
3 电容式非接触按键的设计与实现
3.1 电容式非接触按键的硬件电路设计
电容式非接触按键的硬件电路如图3所示。该设计中,通过PSoc芯片CY8C2714循环检测感应电极的状态来判断是否有按键按下。该系统的硬件设计非常简单,感应电极不需要附加任何元器件。I/O口P0.2-P0.6共连接4个按键感应电极,芯片通过内部硬件配置和软件算法,对感应电机上是否有手指按下进行检测。另外,PSoC芯片可外接ISSP接口实现在线编程。
本文引用地址:https://www.eepw.com.cn/article/148774.htm
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次时,Vsum到达VTH。当检测到n F+P<800,即Δn>nTH=200时,认为有按键下。
结语
本设计中,基于PSoC片上系统芯片的非接触式感应按键界面,有着非接触、可靠和设计简单的特点。这种方便、灵活的操作界面已在家电和控制系统中得到了应用和推广,所以关于电容式感应按键技术的应用将会是嵌入式系统中的一个研究热点。
评论