cypress多个Button按键低功耗处理问题

公告

大中华汽车电子生态圈社区并入开发者社区- 更多资讯点击此

Tip / 登入 to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
guta_2945091
Level 2
Level 2
10 replies posted 5 replies posted 5 questions asked

如题,我的芯片为4014LQI-422,我的一个项目需要多个Button作为输入,IIC读取按键值,并且做到低功耗。我看到官方网站有一些关于此部分的历程代码,因此参考CE201291的代码作为底包,历程中为一个button,跑在我的板子与手册所说无异,但我修改为多个Button之后,功耗就明显增加并且一直在1ma、200ua之间跳动。代码中我修改了

    CapSense_CSDSetupWidgetExt(CapSense_BUTTON0_WDGT_ID, CapSense_BUTTON0_SNS0_ID);

     CapSense_CSDSetupWidget(CapSense_BUTTON0_WDGT_ID);

适应多个按键扫描;

其他未动,不知有没有做过此部分的,请指点 一二,谢谢

0 点赞
13 回复数
RyanZhao
Moderator
Moderator
Moderator
250 sign-ins First question asked 750 replies posted

Hi Guohua,

扫描的时候,这个例程应该是用的CapSense_CSDScanEnableWidgets();

开启多个按键之后,扫描的按键数量多了,扫描过程的功耗大幅增加,因此功耗难降低了,建议参考CE210488,建一个ganged sensor将所有按键绑在一起。Active状态下扫描所有按键,慢速模式下扫描ganged sensor. 这样有利于降低功耗。

0 点赞
guta_2945091
Level 2
Level 2
10 replies posted 5 replies posted 5 questions asked

您好,感谢您的回答,我尝试过用ganged,但是使用之后按下之后,按键状态不能恢复,不知道您有没有遇到这种情况

0 点赞
guta_2945091
Level 2
Level 2
10 replies posted 5 replies posted 5 questions asked

Sorry,我使用全局搜鎖也未找到您所説的這個函數CapSense_CSDScanEnableWidgets,此函數是不是老組件的函數呢?

0 点赞
RyanZhao
Moderator
Moderator
Moderator
250 sign-ins First question asked 750 replies posted

嗯,我以为是老版本的组件。

不用ganged话,多个按键功耗肯定增加。使用ganged按键,按键不能恢复这点很奇怪,还没遇到过。有可能是widget的setup、扫描、数据更新有问题。

0 点赞
Anonymous
不适用

Based on the comment of @tanggh_2945091's power consumption dropping to 200 uA, I would assume that he is entering low power modes to save on power usage. It could be that the widget for scanning the buttons needs a change to support low power mode?

0 点赞
guta_2945091
Level 2
Level 2
10 replies posted 5 replies posted 5 questions asked

我觉得不是,如果是正在进入低功耗的话,应该是不断下降的,不应该是上下跳动

0 点赞
Anonymous
不适用

This PDF guide might be useful: PSoC® 4 CapSense® Troubleshooting Guide - KBA219217

Otherwise I have no other ideas

RyanZhao
Moderator
Moderator
Moderator
250 sign-ins First question asked 750 replies posted

上下跳动是正常的,因为进入低功耗之后,芯片会被周期性的唤醒。唤醒时会有大电流,睡眠时会是小电流。

RyanZhao
Moderator
Moderator
Moderator
250 sign-ins First question asked 750 replies posted

可以详细阅读该例程的例程说明。

0 点赞
guta_2945091
Level 2
Level 2
10 replies posted 5 replies posted 5 questions asked

再次请教一下,使用此历程出现一个问题:开始的时候触摸按键不灵敏,IIC发出数据很慢。过一段时间之后,触摸又变得很灵敏,IIC发出的数据很及时

0 点赞
RyanZhao
Moderator
Moderator
Moderator
250 sign-ins First question asked 750 replies posted

过一段时间是指多久?一个可能的原因是芯片进入了睡眠,或者Rawcount和baseline没有及时更新。

这个需要用Tuner监测一下diffcount rawcount等看一下了。

0 点赞
guta_2945091
Level 2
Level 2
10 replies posted 5 replies posted 5 questions asked

您好,大约3分钟吧,测试发现,反应不灵敏的时候,功耗一直在30ua左右。一段时间之后,按键按下功耗为100多ua。此时读数正常

0 点赞
RyanZhao
Moderator
Moderator
Moderator
250 sign-ins First question asked 750 replies posted

最好能用tuner看一下上电后发生了什么

0 点赞