关于psoc63的功耗问题

公告

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

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

cross mob
JeHa_3912621
Level 3
Level 3
25 replies posted 10 replies posted 10 questions asked

dear  cypress!

            我现在有一个疑惑,我之前在用psoc63系列带蓝牙版本的mcu的时候。 我的m4跑100MHz, M0跑50MHz,  蓝牙协议栈单独运行在M0.   我测试了一下待机功耗。 我发现在M0,M4全部开启的情况下,功耗大概13mA,  M4睡眠,M0唤醒的情况下待机功耗7mA。  我在M0跑起来的时候我是没有开启蓝牙广播的。 我记得之前用62的时候M0跑起来没有这么大的功耗。 好像也就2~3mA。  我现在有个疑问,是不是在M0跑起来的时候蓝牙部分也在耗电?   能否在不开启蓝牙的时候让蓝牙不耗电?  

0 点赞
1 解答
ShipingW_81
Moderator
Moderator
Moderator
500 replies posted 250 solutions authored 250 replies posted

我们有api - Cy_BLE_Stop()用来关闭BLE Stack,可以尝试在关闭广播时调用该函数来降低功耗,待需要开启广播时调用Cy_BLE_Start()重新开启BLE Stack。

要查看api注释,确认调用之后产生的事件是否正确再进行下一步操作。

在原帖中查看解决方案

3 回复数
ShipingW_81
Moderator
Moderator
Moderator
500 replies posted 250 solutions authored 250 replies posted

没有使能广播,但是使能BLE组件并在代码里Start之后也会有额外的功耗。M4 Deep Sleep,M0 Active下功耗应该不止2-3mA,我测下来在100MHz/50MHz / LDO下差不多是5mA,没有开启BLE。

你可以试下在你的板子上,BLE组件完全disable之后功耗有多少。

0 点赞

现在就是不知道相关的函数。 比如我想完全禁止蓝牙组件。 需要调用哪条函数。 然后我完全禁止以后是不是还能重新开启。 我希望能够灵活一点。 能够通过软件开启和禁止。  如果能节省2ma那也非常好了。  我现在的项目设计的是蓝牙平时是不开启的。 通过外部中断唤醒mcu。 然后通过指令来开启和关闭蓝牙组件。

我目前的代码是这样的:

pastedImage_0.png

0 点赞
ShipingW_81
Moderator
Moderator
Moderator
500 replies posted 250 solutions authored 250 replies posted

我们有api - Cy_BLE_Stop()用来关闭BLE Stack,可以尝试在关闭广播时调用该函数来降低功耗,待需要开启广播时调用Cy_BLE_Start()重新开启BLE Stack。

要查看api注释,确认调用之后产生的事件是否正确再进行下一步操作。