如何进入和退出睡眠模式

14个帖子/ 0个新
最后一篇
yachao
离线
最后一次露面:6年4个月前
加入:2014-06-04 03:39
如何进入和退出睡眠模式

你好。

1.我发现当我关闭所有外围设备时,对话框仍然存在0.6〜0.7mA的电流。它是否有可能不在睡眠模式中?如果不是睡眠模式,那么当对话框开始时,我应该如何进入睡眠模式?

2.我应该如何知道它是否在睡眠模式中?

3.如果在睡眠模式,我应该做什么来唤醒它按下键?

最好的问候,

yachao
离线
最后一次露面:6年4个月前
加入:2014-06-04 03:39
我在申请,

我正在创建一个应用程序,它应该进入睡眠模式时,电源,当中断出现,对话框醒来,处理中断,然后再次睡眠。

任何想法都将受到欢迎

je_dialog
离线
最后一次露面:2周1天前
职员
加入:2013-12-05 14:02
你好Yachao,

你好Yachao,

我们已经创建了一个应用程序注释,描述了如何进入和退出睡眠模式(通常通过下面的两个主要方法)。

1.同时,通过BLE定时器,可以编程来唤醒系统以服务BLE事件和

2.异步,通过唤醒定时器和正交解码器,如果由外部事件(输入)触发。

该应用程序笔记可以下载

http://support.dialog-semiconductor.com/um-b-006-user-manual-sleep-mode-configuration

它包括一些示例,并描述了实现深度睡眠和扩展睡眠配置的软件体系结构。

BR JE_DIalog

yachao
离线
最后一次露面:6年4个月前
加入:2014-06-04 03:39
谢谢你的回复。

谢谢你的回复。

我检查了PDF文件,然后运行DE14580板上的演示代码报告器_FH,版本3.0.2.0,并测量缓冲测试点TP1和TP2的电压,电压为168mV,根据AN-B的第3.2.2章-015_da14580_current_measurement.pdf,电流为1.68ma。如果我是对的,对话板没有睡眠模式,因为深睡眠和延长的睡眠电流在500na的范围内
2uA,我试图使用app_set_deep_sleep, app_set_extended_sleep和其他api,不幸的是不能工作,你可以给一些说明如何修改演示代码进入睡眠模式?或者给其他演示让DA14580休眠?

最好的问候,

je_dialog
离线
最后一次露面:2周1天前
职员
加入:2013-12-05 14:02
你好Yachao,

你好Yachao,

使用刚刚测量TP1和TP2的方法,无论如何都会抵消,相当于几百个UA(注意他只是由于未设计为衡量到UA级别的UA级别的偏移量)广告/连接活动您可以看到要测量实际的深度睡眠或扩展睡眠电流,您确实需要使用该文件第4节中的方法 - 这需要高精度象限表。

在它进入扩展睡眠模式之前,需要留下3-4分钟的邻近记者应用程序(如此)。在那段时间之前,它将是广告,并且在广告间隔之间它将被删除入睡眠 - 但您可能看到的问题是平均测量(3个通道上的广告)。

6.3广告

-睡眠模式。

SmartTag以无向模式发布广告,不同的广告阶段间隔不同:

200ms间隔阶段-用于启动或断开连接后的第一分钟。

1000 ms间隔阶段 - 在终止200ms阶段后的未来三分钟。

深度睡眠阶段:SmartTag停止广告,进入持续深度睡眠模式

四分钟的广告。

为了验证设备是否已删除扩展睡眠模式,我建议使用智能片段电源分布器查看Proximity应用程序:在此处可以在上面提到的阶段查看设备移动到深度睡眠。有关典型视图,请参见下文档中的图5。如果您看到当前丢弃到零(图6的右侧),那么您就会知道其进入扩展睡眠模式。

http://support.dialog-semiconductor.com/system/files/UM-B-018_Smart_tag_application_1.0.pdf

BR JE_DIALOG.

赵Gui孟
离线
最后一次露面:4年6个月前
加入:2014-08-25 05:18
您好对话者支持者:

您好对话者支持者:

当间隔睡眠结束在从角色设备,我想保持射频电源关闭一些连接事件,以便可以节省一定时期的电力,并希望仍然保持与主连接的期间。谁能告诉我这是否可能,如何可能。

我尝试如下:
1.参考示例为Fh_proxr_sdk。
2.使用GPIO引脚启用外部唤醒
3.在连接建立后启用扩展模式休眠。
4.使用步骤2初始化的GPIO唤醒睡眠。
结果:
步骤1到步骤3功能。
在步骤4后,唤醒似乎成功,但它不再进入睡眠,并在监督超时后发生链接丢失。看来hungup。我做错了什么?

je_dialog
离线
最后一次露面:2周1天前
职员
加入:2013-12-05 14:02
你好孟动物园,

你好孟动物园,

我会让支援小组联系你。

BR JE_DIALOG.

赵Gui孟
离线
最后一次露面:4年6个月前
加入:2014-08-25 05:18
亲爱的br je_dialog,

亲爱的br je_dialog,

谢谢你。
我期待你的解决方案。
致以最亲切的问候。

Z.G.Meng

WT_Dialog(未验证)
嗨,伙计们,

嗨,伙计们,

我猜你们正在使用扩展的睡眠模式。

你应该注意一些事情。

在SDK 3.0.6:

1.在延长睡眠模式下调试

在da14580_config.h中,

#define cfg_ext_sleep.

#定义DEVELOPMENT_DEBUG 1

#define cfg_calibrated_at_fab.

2.在延长睡眠模式下生产

#define cfg_ext_sleep.

#定义DEVELOPMENT_DEBUG 0

#define APP_BOOT_FROM_OTP //如果应用程序存储在OTP中,定义它。否则,例如在systemRAM、Flash或EEPROM中,你应该undef APP_BOOT_FROM_OTP

#define cfg_calibrated_at_fab.

回到你的问题上,

在app_adv_timer_handler中(当3分钟超时时调用此处理程序),app_set_deep_sleep();叫做。

如果在您的应用,#define development_debug 0,然后芯片处于深度睡眠模式。如果您不刻录OTP并将芯片配置为Deep Sleep模式,则芯片将醒来,但不执行以下操作。

如果在应用程序中,#define development_debug 1,则启用深度睡眠模式仿真。您的芯片将醒来。并且在扩展睡眠模式下执行好像

简而言之,如果您正在使用深度睡眠模式,请将app_set_deep_sleep()更改为app_set_extended_sleep ()app_adv_timer_handler。

赵Gui孟
离线
最后一次露面:4年6个月前
加入:2014-08-25 05:18
亲爱的支持者对话框:

亲爱的支持者对话框:

我不知道上面的评论是否适合我,但这似乎不是我的主题。

我的主题如下:
当睡眠模式设置时,在BLE Link建立之后,相应的睡眠模式应定期输入连接间隔持续时间。当睡眠醒来时,我想保持射频电源关闭并启动另一个睡眠持续时间,以跳过一些主硕士的轮询和从站的发送给某些连接事件点。在搅拌另一睡眠状态后,应保留BLE链接。
我的设备的角色是奴隶。
它是可能的吗?如果可能,又怎么可能呢?

最好的问候,

WT_Dialog(未验证)
您可以使用从延迟。

您可以使用从延迟。这将帮助您跳过一些连接事件。主人会继续接受。但是从设备将跳过许多连接事件,正如您在从设备延迟中指定的那样。

从延迟是一个连接参数,当您建立连接时设置,然后稍后您可以通过参数更新请求更新此参数。

赵Gui孟
离线
最后一次露面:4年6个月前
加入:2014-08-25 05:18
亲爱的wt_dialog,

亲爱的wt_dialog,

谢谢你的建议。
我试图用从来的延迟做到这一点。
使用从属延迟不符合我的要求。
所有的连接事件都不是为被跳过的选项,调用跳过时间的信号来自BLE控制器,并与BLE链接异步,它需要跳过一个锚连接事件一些时间,从而导致在对话芯片现在挂起。

致以最亲切的问候。

smdzjl007
离线
最后一次露面:3年11个月前
加入:2015-08-04 15:07
嗨MT_dialog:

嗨MT_dialog:

我试图在Da1458x_config_basic.h中定义下面,以便选择深度睡眠模式。不幸的是,功耗总是〜500A。还有什么我应该做的?

#undef cfg_ext_sleep.
#定义CFG_DEEP_SLEEP

我试图跟进UM-B-006 DA14580睡眠模式配置V1.1文档,坦率地说,这篇文档真的很难捕获真正需要的东西来实现睡眠模式,应该修改主循环功能吗?我还应该做些什么来在da1458x_config_basic.h中的修改旁边启用睡眠模式?

我当前的邮件循环只是重用sdk 1,如下行所示。你能建议我还需要修改什么来启用14580睡眠模式吗?对我来说,深度睡眠和长时间睡眠都可以。

int main_func(空白)

sleep_mode_t sleep_mode;
system_init ();
而(1)

做 {
schedule_hile_ble_on();

而((app_asynch_proc())));//授予控件到应用程序,尝试掉电

如果(((! BLE_APP_PRESENT) & & (check_gtl_state ())) | | (BLE_APP_PRESENT))

GLOBAL_INT_STOP ();

app_asynch_sleep_proc ();

sleep_mode = rwip_power_down ();

If (sleep_mode == mode_ext_sleep) || (sleep_mode == mode_deep_sleep)

Arch_Goto_Sleep(Sleep_Mode);

注射用水();

arch_resume_from_sleep ();

Else if (sleep_mode == mode_idle)

如果(((! BLE_APP_PRESENT) & & check_gtl_state ()) | | (BLE_APP_PRESENT))

注射用水();


GLOBAL_INT_START ();

如果(USE_WDOG)

wdg_reload (WATCHDOG_DEFAULT_PERIOD);


MT_dialog
离线
最后一次露面:三个月三个星期前
职员
加入:2015-06-08 34
嗨smdzj007,

嗨smdzj007,

请勿多次发布您的问题,查看以下其他帖子以获得可能的答案。

https://support.dialog-semiconductor.com/forums/post/dialog-smartbond-bl..。

由于MT_dialog