请选择 进入手机版 | 继续访问电脑版
查看: 1699|回复: 0

[分享] 基于LPC804 Cortex-M0 的 Touch Slider 方案

[复制链接]
  • TA的每日心情
    开心
    3 天前
  • 签到天数: 266 天

    [LV.8]以坛为家I

    3297

    主题

    6542

    帖子

    0

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    31909
    最后登录
    2024-3-29
    发表于 2020-8-10 12:35:28 | 显示全部楼层 |阅读模式
    基于LPC804 Cortex-M0 的 Touch Slider 方案


    在此要介绍一个LPC80X: Low-Cost Microcontrollers (MCUs) based on Arm Cortex-M0+ Core 的Touch Slider 应用.LPC800 MCU集成了CapTouch 模组以支援触摸解决方案。CapTouch 模组是一种可以感知电容值的通用转换器。它扫描触控式萤幕上每个键盘的电容,并指示触摸的键盘。此方案中使用CapTouch 模组的X0、X1、 X2 、YL 和YH P接脚,再加上一Comparator input 接脚,另外为了能显示出slider 数值变化,使用了3 个GPIO 来控制LED。


    在Firmware 开发方面,我们是使用NXP 提供的MCU开发环境MCUXpresso, 可于下列网址下载安装.点击

    此方案使用下列LPC804 建议使用 SDK 的Sample code来进行开发, 首先取的LPC804 SDK, 如图所示Import CapTouch sample code 以进行开发。
    1.png

    首先修改Project name和 src档案夹下的档案名称如下:
    2.png
    修改CapTouch_Sensor_Slider_main.c 如下设定,再此先设定Cap Touch CTRL 暂存器设定:
    3.png
    选取致能使用的X Pins,并且致能触摸模组中断机制:
    4.png
    在主程式打印出当使用者触摸Slider Bar 时X Pins 的CAP 值,以及相对应Slider 数值以利侦错,在此同时也能撷取出Slider 数值,
    并依照数值范围来显示LED的明灭,由此可让使用者得知Touch Slider的动作。
    5.png
    在使用CapTouch 模组之前,需透过MCU的Switch Matrix接脚设置功能,依照线路的规画,
    设置使用的脚位,并透过设置GPIO脚位来使用Cap Touch 功能相关设置如下图所示:
    6.png
    修改CapTouch_Sensor_Slider_ISRs.c, 即修改IRQ Routine 内CapTouch 模组 input 存取方式如下设定:
    7.png
    程控流程图
    9.png
    方案线路图
    10.png
    11.png
    应用场景描述


    Touch slider 的应用是很广泛的, 举凡需要调整控制值大小都很适合。
    这里以一个实际应用的IOT 的调光控制, 来描述应用场景。由手指的滑动触控Slider bar,触控模组侦测到Slider bar上的电容变化,将电容值转换成相对的调光控制值, 再由LPC804透过控制界面(UART) 将调光值传送给无线发射控制器,无线发射器再将调光值发送给远端的调光控制接收器,此调光控制器依接收到的调光值来控制灯光明暗, 如应用场景图示:

    下图是使用另一个MCU 来接收模拟接收UART 控制界面的控制值,再将此控制大小显示在LCD上。
    12.png
    为了在低成本和硬体资源受限的平台下实现触摸用例,考虑了更低的 CPU 工作负载和更低的 CPU 频率。在本方案中,使用简单的软体启用 CapTouch 功能。它用于使用 CapTouch 硬体,并仅在必要时启用中断。要扫描通道,将重复步骤 1 到步骤 3
    步骤 1. 重置
    步骤 2. 充电
    步骤 3. 转换充电Cs
    步骤 4. 测量电压


    直到 ACMP达到阈值是触摸或无接触事件。当发生任何事件时,可用计数器值作为测量结果存储在 CAPT_TOUCH 寄存器中。然后返回步骤 0 以扫描下一个通道。其扫描步骤如下图(转载自NXP Application note) 。
    13.png
    校准和配置的系统正常运行后,每个 X 感应器都会生成。每次轮询感应器时,都会有"无接触"或"触摸"事件。这些事件可以是用于生成中断。
    在电容式触摸系统中,触摸时的电容变化将从充电时间转换为微控制器中的计数。在 LPC804触摸界面中,可以以如下方式对互电容进行建模:(转载自NXP application note AN12082)
    14.png
    以这线上性滑块的方案中,每个 Cap Touch 感应器连接到一个滑块段。对于滑块段,方案中使用锯齿形图案(双 V),如图 所示(转载自NXP application note AN12082)
    15.png
    每个上限触摸的顺序应该是连续的,以确保正确的扫描如CAPTX1 ->CAPTX2 ->CAPTX3
    滑动手势(转载自NXP application note AN12082)
    20.png
    关于更多的CapTouch 模组的周边应用技术,可参考下列技术来源连结:http://www.nxp.com/docs/en/application-note/AN12082.pdf


    ► 场景应用图
    16.png
    ► 产品实体图
    17.png
    ► 方案方块图
    18.png
    ► 核心技术优势
    这是基于MCU Capacitive Touch 模组的主要应用,在电容式触摸系统中,触摸时的电容变化将从充电时间转换为微控制器中的计数。
    LPC804微控制器采用互电容法,其中发射电极和接收电极用于生成电容,并检测到这些节点之间的电容变化。
    电容式触控模组是测量电极板电容的变化,简单地说,该模组为 X 电容器提供少量电荷,然后将电荷传输到较大的 Y 电容器,并计算电压跨越Y电容器。
    应用程式必须启用,其位识别模组控制寄存器的 XPINSEL 栏位中的位Capacitive Touch 模组对 YH 连接埠引脚进行取样。当 YH 连接埠引脚或模拟比较器在计数时触发时,将设定 YESTOUCH 标志。当 YH 连接埠引脚或模拟比较器在计数时触发时,将设定 NOTOUCH 标志。关于更多的Capacitive Touch 模组的周边应用技术,可参考下列技术来源连结:http://www.nxp.com/docs/en/application-note/AN12082.pdf


    ► 方案规格
    电容式触摸支援:
    •支援三个互电容触摸感应器, 最多可到五个互电容触摸感应器。
    •使用比较器测量方法。在测量电压状态中,模组使用类比比较器输出。
    类比比较器必须启用并正确配置,并且这个比较器类连接到 YH 埠引脚。
    •电容式触摸模组有五种类型的中断,每种类型的中断都带有一个独特的标志。状态寄存器。
    •电容式触摸模组具有以下轮询模式,基于 POLLMODE
    •阈值计数 (TCNT) 设置触摸和无接触之间的计数边界。


    文章出处:大大通
    签到签到
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-3-29 17:10 , Processed in 0.116118 second(s), 22 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表