本帖最后由 南来之风 于 2025-4-24 12:41 编辑
#申请原创# 英飞凌具有非常完善的电容感应技术,对于常用的自容感应有CAPSENSE™ Sigma Delta即CSD技术;
对于互容有CAPSENSE™ Crosspoint即CSX技术。这两种技术都提供了业内优秀的SNR。
开发套件包含了很多英飞凌官方的感应配件,本次实验使用自制的电容触摸按键搭配PSOC™ 4000T主控板,体验在Modus开发环境下的CSD技术的应用。
实物照片:
其中,扩展板的触摸按键与GND分别连接到主控开发板的P4.0引脚与GND引脚。
接下来介绍一下在Modus里面的配置,首先进入Device Configurator,在左侧Perpherals里面找打System,勾选CapSense与MSCLP0。
在Basic一栏中,可以根据项目需要,添加多种触摸小组件。
在Advanced中-> General总配置基础参数:
在CSD Setting里面配置是否屏蔽等:
在Widget Details里面
Ctrl + s 进行保存,然后回到Device Configurator界面。配置触摸引脚:
配置EZI2C触摸调试引脚:
Ctrl + s 进行保存,如果有错误,会在底部的输出窗口列出,根据提示修改即可。
主要的初始化代码有:
- /* Initialize MSC CAPSENSE™ */
- initialize_capsense();
- /* Measures the actual ILO frequency and compensate MSCLP wake up timers */
- Cy_CapSense_IloCompensate(&cy_capsense_context);
- /* Configure the MSCLP wake up timer as per the ACTIVE mode refresh rate */
- Cy_CapSense_ConfigureMsclpTimer(ACTIVE_MODE_TIMER, &cy_capsense_context);
在循环体中,根据ACTIVE_MODE、ALR_MODE (Active Low Refresh-rate Mode)和WOT_MODE (Wake On Touch Mode)三种模式,控制LED闪烁频率。
烧录后,点击CAPSENSE™ Tuner 7.10进入电容触摸调试界面:
在没有触摸的情况下,波形图如下:
单次触摸,识别阈值设置为666.
慢速多次触摸,识别准确!
快速单击5次,识别非常准确!
快速多次触摸,识别非常准确!
信噪比测试:
测试视频已经发布在B站:英飞凌PSOC 4000T DIY https://www.bilibili.com/video/BV1kVLvzsEiR/?vd_source=06b417808f9325071f39e5fd55985221
|