CH573可以在低功耗模式下保持连接吗

1.CH573可以在低功耗模式下保持连接吗?

2.LowPower_Shutdown唤醒后需要做什么操作,

参考demo只GPIOA_ClearITFlagBit的话,蓝牙无法正常复连。目前是GPIO唤醒。

还有一个问题,执行LowPower_Sleep,一样的代码和硬件,休眠的电流一时是ma级,一时是ua级,差距巨大。


1,低功耗可以保持连接, 但是这个低功耗, 需要协议栈自己去自己调用,用户只能去屏蔽,不能去主动调用, 

wch 的ble工程中,使能全局宏:

HAL_SLEEP=TRUE

既即可让协议栈自动调用休眠函数

这个低功耗是RAM保持,rtc运行休眠时候电流CH577/578/579=2uA,CH573/571=6uA,CH581/582/583=3uA

至于平均功耗,要看配置的广播/连接间隔


2,LowPower_Shutdown 通常是掉电模式, 唤醒后通常会重启, 这种模式不适合处于连接/广播态的蓝牙使用.

LowPower_Shutdown 也考参考这个里面的code,http://www.wch.cn/bbs/thread-73554-1.html



1.实测,4种低功耗模式都是会断开连接。请问你们指的不会断开连接是指定时恢复连接并发送数据?

HAL_SLEEP=TRUE,会调用sleep.c里面的函数,主要是

LowPower_Sleep( RB_PWR_RAM2K | RB_PWR_RAM16K | RB_PWR_EXTEND );

LowPower_Idle();

无论自己写还是协议栈自动调用,功耗有下降,说明有休眠,但是明显断开连接。


2.进入低功耗模式非常玄学。一样的代码(无论是自己写还是协议栈自己调用的休眠),休眠功耗一时大一时小。。。。。一时是几百ua,一时是几个ma(当然这里我有其他电路的消耗,但是都不会一时一样的吧)???


3.运行蓝牙协议栈的主频问题。这个是不是必须要在多少频率以上?实测60m,48m没有问题,跑24m就不稳定了(连接慢甚至连接不到),单纯改个频率。正常连接应该是秒连,这种慢是大概10秒那样,又不能说他不能用,但是这样比较有问题。


4.dcdc问题。开启dcdc,一样的就像问题3的不稳定。连接很慢或者连接不到,但是一旦程序关闭dcdc,一切正常得很。(这个不绝对排除layout的问题)


1、BLE开启休眠,编译器HAL_SLEEP=TRUE即可,没有TMOS任务的时候回自动睡,有任务会提前醒来准备执行。
你可以控制唤醒,不要控制睡眠,因为BLE一旦连接上,即使没有用户数据交互,也会有空包交互,一旦你控制睡眠,空包交互失败(你可以认为这个是心跳),就回导致断连。

开启HAL_SLEEP=TRUE,你用万用表测试,忽大忽小,是2个情况导致的,1个是采样延时,还有1个是芯片因为TMOS任务确实会睡眠-唤醒-睡眠-唤醒,这个是BLE实现低功耗的本质原理。

建议你可以考虑搞个功率计测一下芯片电流,就能发现,睡眠电流很低,几个uA,工作时10+mA,低功耗就是增加睡眠时间,减少工作时间,平均电流减小。


只有登录才能回复,可以选择微信账号登录