延长睡眠的唤醒间隔

8个帖子/ 0新
最后一篇
RALF S.
离线
最后一次露面:4年1个月前
加入:2016-02-16 08:06
延长睡眠的唤醒间隔

我在SDK 5.0.3上使用Dialog-Evalkit-Pro工作了Pan1740

目前我正在尝试在扩展睡眠模式下运行我的设置。

cfg_max_sleep_duration_periodic_wakeup_ms 500.

app_default_sleep_mode = arch_ext_sleep_on.

但是睡觉后立即唤醒。睡眠时间只有80us。

在扩展睡眠模式下,还有更多才能设置电路板吗?

设备:
mt_dialog.
离线
最后一次露面:2个月3周前
职员
加入:2015-06-08 11:34
嗨Ralf S,

嗨Ralf S,

启动后,设备配置它self depending on the settings that you ve set in user_gapm_conf struct in the user_config.h file after that is going to set up the databases of the services that you have configured in the user_profiles_config.h (if you set any services). After the device has finished depending you have a profile enabled in your device or not, the callbacks default_app_on_set_dev_config_complete() (for the device configuration) and default_app_on_db_init_complete() (for the database configuration) will be invoked. In most the examples there are profiles so after the configuration callback of the device (default_app_on_set_dev_config_complete) the database completion callback of the device (default_app_on_db_init_complete) will occur. The ble examples in the default_app_on_db_init_complete() will force the device to advertise. So you wont be able to download and immiatelly go to sleep, you will have to let your device configure itself and then from those two callbacks you can set the wake up condition (external wakeup or a timer that will wakeup your device) and after that the device will fall into permanent sleep.

此外,当设备处于睡眠模式和广告或连接时,这意味着它在广告或连接间隔之间睡眠。如果您想将设备设置为永久性睡眠,请遵循上述过程。CFG_MAX_SLEEP_DOURATION_PERIOMIC_WAKEUP_MS是在没有BLE活动时配置设备将唤醒的频率的定义。

Finally when the device starts up it spends about 2 seconds with sleep disabled in order for the XTAL32 to settle properly.

谢谢mt_dialog.

RALF S.
离线
最后一次露面:4年1个月前
加入:2016-02-16 08:06
感谢您的答复!

感谢您的答复!

I now configured my device to be advertising with an interval of 10s. I get a current of 660uA, but as mentioned in the specs it should go down to 1,4uA if the device is in Extended Sleep. So I assume that it is not in extended sleep. If I set it to "ARCH_SLEEP_OFF" there is no difference in current consumption.

所以如果希望设备进入睡眠模式,我必须在我的主要功能中拆下定时器或外部唤醒?

mt_dialog.
离线
最后一次露面:2个月3周前
职员
加入:2015-06-08 11:34
Hi Ralf S.

Hi Ralf S.

通过设置app_default_sleep_mode = arch_ext_sleep_on足以将设备放在延长的睡眠中,如果您已将设备设置为广告,请在10秒内为您提供广告,那么您应该得到(当设备未通告时)约1.4ua。如果您已经传递给内核的广告频率为10秒的广告间隔,您不必额外设置任何额外的信息,那么设备应该宣传,睡眠和唤醒,睡眠和唤醒它的时间宣传,有10秒的间隔。尝试通过UART使用Smart代码仪下载代码,并通过电源分析器检查如果设备睡眠或未睡觉(如果您有Pro Dev套件),或者您可以尝试测量10秒间隔内的消耗的电源。

谢谢mt_dialog.

RALF S.
离线
最后一次露面:4年1个月前
加入:2016-02-16 08:06
我有一个专业的开发套件,我是

我有一个Pro Dev套件,我用外部DMM测量J11上的电流。

当我用DSP应用程序扫描设备时,我只能每10秒找到设备。因此,我可以假设正确设置的广告间隔。

我刚用电力分布器测试。附图显示广告时段。广告设备稳定后,但不会睡觉。从5ms开始的波形具有1ms的时段。广告每10秒开始,正如配置一样。

我有代码在回调函数app_on_sytem_powered中运行,并用“goto_sleep”返回它。

mt_dialog.
离线
最后一次露面:2个月3周前
职员
加入:2015-06-08 11:34
嗨Ralf S,

嗨Ralf S,

尝试以下建议与DSPS源代码一样,除了10秒广告间隔之外,有机会测量低功率模式。

1)我想你通过JTAG下载FW,你从Keil点击运行按钮。当调试器连接在设备上时,您不会看到将设备转到低功耗模式。所以只需按开始/停止调试按钮,然后再次按下。这样,调试器将分离,设备将能够转到低功耗模式。

2)有些情况下,即使调试器分离,调试器模块也会保持调试器模块,导致580不能进入睡眠模式,因此为了消除这种情况,您可以通过UART接口和智能下载代码片段工具。采用生成的二进制文件,并使用智能片段的UART_BOOTER才能下载FW。

谢谢mt_dialog.

RALF S.
离线
最后一次露面:4年1个月前
加入:2016-02-16 08:06
你好,

你好,

现在我已经工作了。至少是一个例子。你是对的,我通过JTAG下载。当我在智能片段中使用UART接口时,我将睡眠电流置于2UA的范围内,并在电源分析器中,当可以看到广告时,从睡眠中唤醒到大约5mA的苏打峰值。

So the debugger is still attached and the device isn't going to sleep. The extra current I see is the still activated debugger or is the device actually not sleeping?

mt_dialog.
离线
最后一次露面:2个月3周前
职员
加入:2015-06-08 11:34
Hi Ralf S.

Hi Ralf S.

据我所知,设备正在睡眠,外围设备断电,ARM在WFI中,但调试器模块停止并消耗额外的电流。您可以尝试遵循以下常见问题解答,以便能够通过JTAG下载FW以及停止调试时查看您的设备进入睡眠状态。

https://support.dialog-semiconductor.com/guide/faq-known-issues

谢谢mt_dialog.