Re: [求助]BK3431Q功耗问题
1.确认宏HZ32000的值,注意后面的注释(1为使用内部晶振,0为使用外部晶振),看与32K晶振的具体情况是否一致?
2.使用nrf connect查看是否真的有广播包发出来?
3.看日志,是否有stop adv执行,及是否又意外触发了start adv?
1.确认宏HZ32000的值,注意后面的注释(1为使用内部晶振,0为使用外部晶振),看与32K晶振的具体情况是否一致?
2.使用nrf connect查看是否真的有广播包发出来?
3.看日志,是否有stop adv执行,及是否又意外触发了start adv?
TripleJay 2023年 Apr 26日 14:251.确认宏HZ32000的值,注意后面的注释(1为使用内部晶振,0为使用外部晶振),看与32K晶振的具体情况是否一致?
2.使用nrf connect查看是否真的有广播包发出来?
3.看日志,是否有stop adv执行,及是否又意外触发了start adv?
你好,1:如图,使用的是外部晶振16M,所以这个宏为0
2:nrf软件已经搜不到这个设备(现在广播间隔为1000ms,关闭后降低了十几ua的功耗),涂鸦蓝牙app也搜不到这个设备了
3:已经搜索不到这个设备应该说明没有误触发吧
功耗依然一直在跳动
把log打开,看下日志情况,显示记得加上时间戳,把日志贴出来
这是我日志和功耗
怀疑和RTC中断有关系,我看功耗是每隔1s就升高的,然后在代码里面关闭app_port_local_clock_start();函数的话,每次一休眠过了1s锁就会重启,现在的代码里面是没用到RTC的,怎么把这个关闭掉呢
rtc_alarm_init(0x01, NULL, 500, bk_rtc_handler);这个功耗跳变和这个函数有关系,当第三个形参为500时,大概一秒功耗就会起来一次,当形参为100时,大概50ms就会起来一次,但是这个函数如果屏蔽的话也会有问题,每次休眠过了一会就会重启,怎么关闭这个RTC呢
您好,跳变是rtc开启的原因,sdk默认用了rtc_alarm方式来实现每秒计时,所以可见电流波形每秒起来一次的情况。
该平台的sdk我们搭建了个环境详细测了下idle模式的底电流情况,平均6uA,附件为对应测试代码。
sdk对应调整的地方(除之前回复的外),rtc计时的方式可优化调整下,采用软件定时器方式,具体方式如下图所示:
已经解决,功耗优化了20ua左右,谢谢