你好。
1.我发现当我关闭所有外围设备时,对话框仍然存在0.6〜0.7mA的电流。它是否有可能不在睡眠模式中?如果不是睡眠模式,那么当对话框开始时,我应该如何进入睡眠模式?
2.我应该如何知道它是否在睡眠模式中?
3.如果在睡眠模式下,我该怎么办才能通过按键唤醒键?
此致,
我正在制作一个应用程序,电源时应进入睡眠模式,当中断来时,对话框唤醒并处理该中断然后再次睡眠。
任何想法都会欣赏
你好yachao,
我们创建了一个应用笔记,描述了如何输入和退出睡眠模式(通常通过下面的2个主要方法)。
1.同步地,通过BLE定时器可以被编程为唤醒系统以便为BLE事件提供服务
2.异步,通过唤醒定时器和正交解码器,如果由外部事件(输入)触发。
可以下载应用笔记
http://support.dialog-semicondiondionder.com/um-b-006-user-manual-sleep-mode-code-configuration.
它包括一些示例并描述了实现深睡眠和扩展睡眠配置的软件架构。
BR JE_DIALOG.
感谢您的回复。
我检查了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睡觉?
使用刚刚测量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.
您好对话者支持者:
当间隔睡眠结束在从角色设备中,我想为某些连接事件保持RF电源,以便可以为某些时段提供电力,并且希望仍然将链接与主设备保持不变。谁可以在可能和如何呢。
我尝试如下:1. fh_proxr_sdk是参考示例。2.使用GPIO引脚启用外部唤醒3.链接建立后启用扩展模式睡眠。4.使用步骤2初始化的GPIO唤醒睡眠。结果:步骤1到步骤3功能。在步骤4之后,唤醒似乎已成功,但它再也不会进入睡眠,并在监控超时后发生链路损耗。它似乎是挂起的。我错了什么?
你好Z.G.孟,
我将有一个支持团队与您联系。
亲爱的br je_dialog,
谢谢你的。我期待着你的解决方案。此致。
Z.G.Meng.
嗨,大家好,
我猜你们正在使用扩展的睡眠模式。
你应该注意一些事情。
在SDK 3.0.6:
1。在扩展睡眠模式下调试
在da14580_config.h中,
#define cfg_ext_sleep.
#define development_debug 1
#define cfg_calibrated_at_fab.
2.延长睡眠模式下生产
#define development_debug 0.
#define app_boot_from_otp //如果应用程序存储在OTP中定义它。否则,例如在Systemram,在Flash或EEPROM中,您应该undef app_boot_from_otp
回到你的问题,
在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。
亲爱的对话支持者:
我不知道上面对我来说是否对我来说,但似乎不是我的主题。
简单的解释如下我的主题:当睡眠模式设置时,在BLE Link建立之后,相应的睡眠模式应定期输入连接间隔持续时间。当睡眠醒来时,我想保持射频电源关闭并启动另一个睡眠持续时间,以跳过一些主硕士的轮询和从站的发送给某些连接事件点。在搅拌另一睡眠状态后,应保留BLE链接。我的设备的角色是奴隶。有可能的?如果可能的话怎么能?
您可以使用从属延迟。这将有助于您跳过一些连接事件。主人会继续接收。但是从设备将跳过许多连接事件,如从属延迟中指定的。
从延迟是一个连接参数,当您建立连接时设置,然后稍后您可以通过参数更新请求更新此参数。
亲爱的wt_dialog,
谢谢你的善意。我试图用从来的延迟做到这一点。使用从属延迟不符合我的要求。所有连接事件都不是为了跳过的选项,调用跳过持续时间的信号都是从BLE控制器出来的,并与BLE链接异步,它需要一些时间跳过锚点连接事件,以便在对话框中为挂起芯片现在。
此致。
嗨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);}}}
嗨smdzj007,
请勿多次发布您的问题,查看以下其他帖子以获得可能的答案。
https://support.dialog-semicondiondiondum/forums/post/dialog-smartbond-bl ...
谢谢mt_dialog.
我正在制作一个应用程序,电源时应进入睡眠模式,当中断来时,对话框唤醒并处理该中断然后再次睡眠。
任何想法都会欣赏
你好yachao,
我们创建了一个应用笔记,描述了如何输入和退出睡眠模式(通常通过下面的2个主要方法)。
1.同步地,通过BLE定时器可以被编程为唤醒系统以便为BLE事件提供服务
2.异步,通过唤醒定时器和正交解码器,如果由外部事件(输入)触发。
可以下载应用笔记
http://support.dialog-semicondiondionder.com/um-b-006-user-manual-sleep-mode-code-configuration.
它包括一些示例并描述了实现深睡眠和扩展睡眠配置的软件架构。
BR JE_DIALOG.
感谢您的回复。
我检查了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睡觉?
此致,
你好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.
您好对话者支持者:
当间隔睡眠结束在从角色设备中,我想为某些连接事件保持RF电源,以便可以为某些时段提供电力,并且希望仍然将链接与主设备保持不变。谁可以在可能和如何呢。
我尝试如下:
1. fh_proxr_sdk是参考示例。
2.使用GPIO引脚启用外部唤醒
3.链接建立后启用扩展模式睡眠。
4.使用步骤2初始化的GPIO唤醒睡眠。
结果:
步骤1到步骤3功能。
在步骤4之后,唤醒似乎已成功,但它再也不会进入睡眠,并在监控超时后发生链路损耗。它似乎是挂起的。我错了什么?
你好Z.G.孟,
我将有一个支持团队与您联系。
BR JE_DIALOG.
亲爱的br je_dialog,
谢谢你的。
我期待着你的解决方案。
此致。
Z.G.Meng.
嗨,大家好,
我猜你们正在使用扩展的睡眠模式。
你应该注意一些事情。
在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。
亲爱的对话支持者:
我不知道上面对我来说是否对我来说,但似乎不是我的主题。
简单的解释如下我的主题:
当睡眠模式设置时,在BLE Link建立之后,相应的睡眠模式应定期输入连接间隔持续时间。当睡眠醒来时,我想保持射频电源关闭并启动另一个睡眠持续时间,以跳过一些主硕士的轮询和从站的发送给某些连接事件点。在搅拌另一睡眠状态后,应保留BLE链接。
我的设备的角色是奴隶。
有可能的?如果可能的话怎么能?
此致,
您可以使用从属延迟。这将有助于您跳过一些连接事件。主人会继续接收。但是从设备将跳过许多连接事件,如从属延迟中指定的。
从延迟是一个连接参数,当您建立连接时设置,然后稍后您可以通过参数更新请求更新此参数。
亲爱的wt_dialog,
谢谢你的善意。
我试图用从来的延迟做到这一点。
使用从属延迟不符合我的要求。
所有连接事件都不是为了跳过的选项,调用跳过持续时间的信号都是从BLE控制器出来的,并与BLE链接异步,它需要一些时间跳过锚点连接事件,以便在对话框中为挂起芯片现在。
此致。
嗨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);
}
}
}
嗨smdzj007,
请勿多次发布您的问题,查看以下其他帖子以获得可能的答案。
https://support.dialog-semicondiondiondum/forums/post/dialog-smartbond-bl ...
谢谢mt_dialog.