DA14531与Timer1深睡眠

学到更多常见问题解答教程

3个帖子/ 0新
最后一篇
slvick0f1.
离线
最后一次露面:1个月1周前
加入:2015-10-02 14:47
DA14531与Timer1深睡眠

我能够使用您的“深度睡眠配置”示例并成功设置为Timer1唤醒。使用电源分析器,我认为我的平均电流消耗是在40ua左右。

我希望使用相同的设置实现甚至降低平均电流消耗,但也许调制Timer1时间唤醒。看起来它目前可能每700毫秒醒来。

什么是从Timer1唤醒的最长时间?我想在大约3-4秒后尝试醒来,以比较相对电流消耗。将需要哪些软件更改?

谢谢你的帮助。

设备:
PM_DIALOG.
离线
最后一次露面:1小时39分钟前
员工
加入:2018-02-08 11:03
嗨slvick0f1,

嗨slvick0f1,

感谢您的问题和您对DA14531解决方案的兴趣。让我检查一下,我会恢复给你。

谢谢,PM_DIALOG.

PM_DIALOG.
离线
最后一次露面:1小时39分钟前
员工
加入:2018-02-08 11:03
嗨slvick0f1,

嗨slvick0f1,

PXP_Reporter在“睡眠模式”教程中描述的超时开始使用超时。广告将在.Advertise_Period秒之后停止。然后它将进入深度睡眠模式。虽然它是一种,但DA14531将在广告间隔之间进行扩展睡眠模式,并将通过BLE定时器自动唤醒。请在user_config.h文件中查看app_default_sleep_mode,该文件配置默认睡眠模式。

平均功率消耗密切依赖于广告间隔。

///广告的最小时间间隔.Intv_min = ms_to_bleslots(687.5),// 687.5ms ///广告的最大时间间隔.Intv_max = ms_to_bleslots(687.5),// 687.5ms

如果广告间隔更大,则设备将更多时间睡在间隔之间,因此将减少平均功耗。

考虑到定时器1用作唤醒源,一旦除去了一个副词,将配置Timer 1 Configure_Timer1_WakeUp()以唤醒。定时器1配置了Maxim Reload值 - TIM1_RELOAD_MAX。特定值将设置为Timer1_ctrl_reg [timer1_reload] 11位位字段。

另外,定时器1使用低功率时钟(LP时钟)。在PXPX_Reporter中,LP时钟是内部RCX,其在15kHz:

#define cfg_lp_clk lp_clk_rcx20

在da1458x_config_advanced.h.中

为此,可以从Timer1唤醒的最长时间是:

(2 ^ 11)*(1/15000Hz)〜​​= 0.1365秒。

因此,在0.1365秒后,设备再次唤醒并再次启动广告。请记住,从深度睡眠中唤醒它就像“硬件复位”一样,因为深度睡眠模式是送货时的运输时钟模式,所有域都被禁用。

我想测量深度睡眠电流,我的推荐将是使用唤醒控制器通过GPIO触发器唤醒 - CFG_DEEP_SLEEP_WAKEUP_GPIO。

谢谢,PM_DIALOG.