Page 1 of 4

phy6222 低功耗问题,

Posted: 2025年 Mar 31日 15:00
by 13437702707

sdk 版本 经过测试,发现当前版本的sdk低功耗都是有点问题的,在tkl层 很多模块的低功耗都没进行开启,也没用对应的接口开启对应的低功耗状态,,如果只调用sdk给的低功耗接口功耗是降低不下来的,还有sdk给的接口的两个睡眠回调函数是没有作用的,请问如何去修改这个tkl层对应的hal层去解决这个低功耗问题,要控制500ua以下,分别使用模块有 adc gpio iic spidma,pwm


Re: phy6222 低功耗问题,

Posted: 2025年 Mar 31日 15:09
by 13437702707

sdk版本 3.11.0


Re: phy6222 低功耗问题,

Posted: 2025年 Mar 31日 15:16
by 逻辑的院子

默认的SDK是工作在低功耗模式下的,可以通过上位机进入低功耗:

Snipaste_2025-03-31_15-08-23.jpg

低功耗模式下,如果某个外设工作,会造成功耗升高,所以进入低功耗之前的处理方式是关闭外设(deinit对应外设),然后调用tal_cpu_allow_sleep接口使设备进入低功耗,详细操作请参考TEST_CID_ENTER_SLEEP例程中tal_sdk_test_enter_sleep_handler接口的处理方式。

PHY6222的最低功耗可以达到10uA左右(不带广播),带1s广播时候的功耗可以达到41uA左右。

还有其他问题,请详细描述具体问题(带上具体的操作步骤以及具体的现象)。


Re: phy6222 低功耗问题,

Posted: 2025年 Mar 31日 15:27
by 13437702707

图一为开启低功耗模式下正常的低功耗消耗,然后我看了一下原厂给的手册,他这个低功耗模式需要开启这些接口,但是我看了一下那个tkl层的gpio里面并没有开启这个使能休眠接口,如果我开启了他就能达到40多ua,但是还是不够,如果没开启是2ma,而且注册回调函数接口也没用写入


Re: phy6222 低功耗问题,

Posted: 2025年 Mar 31日 15:30
by 13437702707

具体操作步骤,在当前sdk ble 外设demo下 1.取消宏 sdktext,2.初始化一个gpio,开启sdk给出的睡眠接口,实测功耗2ma


Re: phy6222 低功耗问题,

Posted: 2025年 Mar 31日 15:31
by 13437702707

每个模块都需要注册模块的休眠回调函数是吗


Re: phy6222 低功耗问题,

Posted: 2025年 Mar 31日 15:33
by 13437702707

其次 在开启睡眠休眠模式是否会影响tuya的授权产测


Re: phy6222 低功耗问题,

Posted: 2025年 Mar 31日 15:51
by 逻辑的院子

我们的例程已经实现了低功耗,且并不需要针对每个外设调用接口,因为进入低功耗之前会关闭相关外设,请参考tal_sdk_test_enter_sleep_handler里面的处理方式。
另外,低功耗会影响串口工作(也就是授权产测流程),我们通常的处理方案是:上位机在进行产测的时候会持续发送十几秒的进入产测指令,此时复位设备,在设备上电的500ms内检测串口是否接收到进入产测的命令,如果收到命令,则进行产测(不进入低功耗),否则进入低功耗执行正常的产品逻辑。


Re: phy6222 低功耗问题,

Posted: 2025年 Mar 31日 15:58
by 13437702707

关闭外设的接口只需要deinit就可以了吗?就比如gpio的外设我要如何关闭呢?就deinit?那样我默认设置的电平状态还能保持吗?


Re: phy6222 低功耗问题,

Posted: 2025年 Mar 31日 16:02
by 13437702707

这个例程我之前是看过的,就是把外设init后开启休眠模式,时间功耗也是能达到的,但是在实际开发的过程中,由于你们sdk给的休眠前和唤醒回调函数是没有作用的,我要如何去做唤醒回调函数的初始化呢?