Page 2 of 2

Re: [求助]BK3431Q功耗问题

Posted: 2023年 Apr 26日 14:25
by TripleJay

1.确认宏HZ32000的值,注意后面的注释(1为使用内部晶振,0为使用外部晶振),看与32K晶振的具体情况是否一致?
2.使用nrf connect查看是否真的有广播包发出来?
3.看日志,是否有stop adv执行,及是否又意外触发了start adv?


Re: [求助]BK3431Q功耗问题

Posted: 2023年 Apr 26日 20:49
by 15179276401
TripleJay 2023年 Apr 26日 14:25

1.确认宏HZ32000的值,注意后面的注释(1为使用内部晶振,0为使用外部晶振),看与32K晶振的具体情况是否一致?
2.使用nrf connect查看是否真的有广播包发出来?
3.看日志,是否有stop adv执行,及是否又意外触发了start adv?

你好,1:如图,使用的是外部晶振16M,所以这个宏为0
2:nrf软件已经搜不到这个设备(现在广播间隔为1000ms,关闭后降低了十几ua的功耗),涂鸦蓝牙app也搜不到这个设备了
3:已经搜索不到这个设备应该说明没有误触发吧

功耗依然一直在跳动


Re: [求助]BK3431Q功耗问题

Posted: 2023年 Apr 26日 21:27
by TripleJay

把log打开,看下日志情况,显示记得加上时间戳,把日志贴出来


Re: [求助]BK3431Q功耗问题

Posted: 2023年 Apr 27日 10:26
by 15179276401
TripleJay 2023年 Apr 26日 21:27

把log打开,看下日志情况,显示记得加上时间戳,把日志贴出来

这是我日志和功耗


Re: [求助]BK3431Q功耗问题

Posted: 2023年 Apr 27日 19:12
by 15179276401

怀疑和RTC中断有关系,我看功耗是每隔1s就升高的,然后在代码里面关闭app_port_local_clock_start();函数的话,每次一休眠过了1s锁就会重启,现在的代码里面是没用到RTC的,怎么把这个关闭掉呢


Re: [求助]BK3431Q功耗问题

Posted: 2023年 Apr 27日 19:49
by 15179276401

rtc_alarm_init(0x01, NULL, 500, bk_rtc_handler);这个功耗跳变和这个函数有关系,当第三个形参为500时,大概一秒功耗就会起来一次,当形参为100时,大概50ms就会起来一次,但是这个函数如果屏蔽的话也会有问题,每次休眠过了一会就会重启,怎么关闭这个RTC呢


Re: [求助]BK3431Q功耗问题

Posted: 2023年 Apr 28日 16:20
by it_xh
15179276401 2023年 Apr 25日 19:03

已经关掉了,休眠标志位也置位了,还是会跳

您好,跳变是rtc开启的原因,sdk默认用了rtc_alarm方式来实现每秒计时,所以可见电流波形每秒起来一次的情况。
该平台的sdk我们搭建了个环境详细测了下idle模式的底电流情况,平均6uA,附件为对应测试代码。

bk3431q_lowpower_test.zip
(293.8 KiB) Downloaded 169 times

sdk对应调整的地方(除之前回复的外),rtc计时的方式可优化调整下,采用软件定时器方式,具体方式如下图所示:

企业微信截图_16826699219126.png

Re: [求助]BK3431Q功耗问题

Posted: 2023年 May 4日 16:17
by 15179276401

已经解决,功耗优化了20ua左右,谢谢