我该怎么办法进入并退出睡眠模式

14个帖子/ 0新
最后一篇
雅芳
离线
最后一次露面:6年4个月前
加入:2014-06-04 03:39.
我该怎么办法进入并退出睡眠模式

你好。

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

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

3.如果在睡眠模式下,我该怎么办才能通过按键唤醒键?

此致,

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

我正在制作一个应用程序,电源时应进入睡眠模式,当中断来时,对话框唤醒并处理该中断然后再次睡眠。

任何想法都会欣赏

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

你好yachao,

我们创建了一个应用笔记,描述了如何输入和退出睡眠模式(通常通过下面的2个主要方法)。

1.同步地,通过BLE定时器可以被编程为唤醒系统以便为BLE事件提供服务

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

可以下载应用笔记

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

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

BR JE_DIALOG.

雅芳
离线
最后一次露面: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_extendend_sleep和其他api,不幸的是不起作用,你可以给出一些关于如何修改演示代码进入睡眠模式的说明吗?或者给其他演示让DA14580睡觉?

此致,

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

你好yachao,

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

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

6.3广告

-睡眠模式。

SmartTag以特定广告阶段的不同间隔广告,以不同的间隔广告:

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

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

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

四分钟的广告。

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

http://support.dialog-seminile.com/system/files/um-b-018_smart_tag_application_1.0.pdf.

BR JE_DIALOG.

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

您好对话者支持者:

当间隔睡眠结束在从角色设备中,我想为某些连接事件保持RF电源,以便可以为某些时段提供电力,并且希望仍然将链接与主设备保持不变。谁可以在可能和如何呢。

我尝试如下:
1. fh_proxr_sdk是参考示例。
2.使用GPIO引脚启用外部唤醒
3.链接建立后启用扩展模式睡眠。
4.使用步骤2初始化的GPIO唤醒睡眠。
结果:
步骤1到步骤3功能。
在步骤4之后,唤醒似乎已成功,但它再也不会进入睡眠,并在监控超时后发生链路损耗。它似乎是挂起的。我错了什么?

je_dialog.
离线
最后一次露面:3天前1周
职员
加入:2013-12-05 14:02
你好Z.G.孟,

你好Z.G.孟,

我将有一个支持团队与您联系。

BR JE_DIALOG.

赵桂萌
离线
最后一次露面: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.

#define development_debug 1

#define cfg_calibrated_at_fab.

2.延长睡眠模式下生产

#define cfg_ext_sleep.

#define 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_extendend_sleep()app_adv_timer_handler。

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

亲爱的对话支持者:

我不知道上面对我来说是否对我来说,但似乎不是我的主题。

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

此致,

wt_dialog(未经验证)
您可以使用从属延迟。

您可以使用从属延迟。这将有助于您跳过一些连接事件。主人会继续接收。但是从设备将跳过许多连接事件,如从属延迟中指定的。

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

赵桂萌
离线
最后一次露面: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.
#define cfg_deep_sleep.

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

我当前的邮件循环只是重用SDK One,如下行。你能否建议我应该修改的其他东西可以启用14580睡眠模式?深度睡眠或延长睡眠对我来说没问题。

int main_func(void)
{
sleep_mode_t sleep_mode;
system_init();
而(1)
{
做 {
schedule_hile_ble_on();
}
而((app_asynch_proc())));//授予控件到应用程序,尝试掉电

if(((!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);

WFI();

ARCH_RESUME_FROM_SLEEP();
}
否则if(sleep_mode == mode_idle)
{
if((!ble_app_present)&& check_gtl_state())||(ble_app_present))
{
WFI();
}
}
global_int_start();
}

如果(USE_WDOG)
{
wdg_reload(watchdog_default_period);
}
}
}

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

嗨smdzj007,

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

https://support.dialog-semicondiondiondum/forums/post/dialog-smartbond-bl ...

谢谢mt_dialog.