你好:当系统运行扩展睡眠模式时,我使用SDK 5.0.4的prox_reporter。,我测量的电流是460uA,而不是1.5uA,我使用内部的LP_CLK_RCX20,我必须设置在哪里降低电流。
嗨doman,
你不需要设置任何其他东西来让你的设备进入睡眠模式,你看到的电流可能是来自仍然连接在580上的调试器(为了模块停止绘制电流而停止调试),也可能是设备没有睡眠(你没有设置合适的标志ARCH_EXT_SLEEP_OFF或你的fw保持设备醒着),类似这种情况发生的最后一个原因是其他东西从你的电路中吸取能量,而不是580。
由于MT_dialog
嗨MT_dialog:我使用的是定制电路板,只有一个DA14580和一些外部电容,所以不会消耗其他电路的电流,另外我通过JTAG仿真,确定进入睡眠模式。当我“undef CFG_DEVELOPMENT_DEBUG”时,它也可以模拟。当i " SetBits16 (SYS_CTRL_REG, DEBUGGER_ENABLE, 0);";我的系统将会崩溃,如何正确的停止调试以便模块?
谢谢
我的意思是,当你的代码运行和调试器从keil是附加的模块将消耗额外的电力,所以为了阻止这种情况发生,你将不得不退出调试模式从keil。此外,580的功耗约为1.5uA,当设备处于休眠状态时,接近报告器休眠和醒来,以宣传或保持连接,当设备持续休眠时,您将能够适当地测量您的最低功耗,如果不是,我认为您的仪器平均了580消耗的电流,包括无线电活动。还请检查教程5:在DA1458x上配置睡眠模式,以便了解如何正确测量功耗。
嗨MT_dialog:我做了它。谢谢。
嗨MT_dialog:
下面我尝试在da1458x_config_basic.h中定义,以便选择深度睡眠模式。不幸的是,功耗总是~500uA。我还应该做些什么?
# undef CFG_EXT_SLEEP#定义CFG_DEEP_SLEEP
我尝试跟踪UM-B-006 DA14580睡眠模式配置v1.1文档,坦白地说,这个文档真的很难捕捉到启用睡眠模式真正需要的东西,我应该修改主循环功能吗?除了da1458x_config_basic.h中的修改之外,我还应该做什么来启用睡眠模式?
我当前的邮件循环只是重用sdk一,如下行所示。你能建议我还应该修改什么来启用14580睡眠模式吗?无论是深度睡眠还是延长睡眠对我来说都是可以的。
int main_func(空白){sleep_mode_t sleep_mode;system_init ();而(1){{做schedule_while_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);}}}
顺便问一下,我在哪里可以找到您提到的“教程5:在DA1458x上配置睡眠模式”?
嗨smdzj007,
你不需要在主循环中改变任何东西来让你的设备进入深度睡眠。首先,您应该做的唯一一件事是更改(因为您使用的是SDK 5) user_config.h文件中的变量app_default_sleep_mode,并保持其他一切不变。另外,为了能够测量深度睡眠电流,您需要在OTP中燃烧您的应用程序,以便OTP镜像和系统ram关闭来执行。
功率测量教程可以在教程部分的“文档”选项卡中找到。
嗨Doman,
我们也面临着类似的问题。在延长睡眠模式下,功耗约为370uA。你是怎么解决的?
嗨wisilica
同样的问题也发生在我的设备上,我使用SDK 5.04 sleep_mode演示应用程序,当系统处于深度睡眠模式时,功耗是370ua,当ADV时,功耗是410ua,我顺便拔掉了JTAG连接器,
嗨内核,
你有flash连接或如果没有flash,你有任何其他跳线应用在J5头(可能是SPI_SUP跳线)?
嗨MT_dialog,
我的测试板是DA14580 Development Kit Expert,没有flash或跳线连接到板,hex文件直接由JTAG加载到RAM
起初,我猜,额外的电流消耗,因为芯片调试不是关机(JTAG下载十六进制文件),所以,我使用另一个开发板测试,原理图连接,下载后深度睡眠SPI flash演示应用程序十六进制文件,和其他电路关闭,只有供电主要芯片和SPI闪光灯,芯片电流为160ua。我不知道为什么……
你得到的额外功率太低,不是由附加的调试器引起的,也许你得到的额外电流是由附加在测试板上的额外模块引起的或者某种泄漏,而不是580本身。
我检查了几次,没有额外的模块消耗电流,只有580和spi flash。我自己的PCBA已经在做了,我会再测试一次,确保额外的电流是漏电造成的,或者不是我自己的板。
我怎么和你联系?我们有一个本地团队支持华米,我们与华米合肥,华米深圳,我的邮件:Jelphi.zhang@diasemi.com
问候,Jelph
嗨doman,
你不需要设置任何其他东西来让你的设备进入睡眠模式,你看到的电流可能是来自仍然连接在580上的调试器(为了模块停止绘制电流而停止调试),也可能是设备没有睡眠(你没有设置合适的标志ARCH_EXT_SLEEP_OFF或你的fw保持设备醒着),类似这种情况发生的最后一个原因是其他东西从你的电路中吸取能量,而不是580。
由于MT_dialog
嗨MT_dialog:
我使用的是定制电路板,只有一个DA14580和一些外部电容,所以不会消耗其他电路的电流,另外我通过JTAG仿真,确定进入睡眠模式。当我“undef CFG_DEVELOPMENT_DEBUG”时,它也可以模拟。当i " SetBits16 (SYS_CTRL_REG, DEBUGGER_ENABLE, 0);";我的系统将会崩溃,如何正确的停止调试以便模块?
谢谢
嗨doman,
我的意思是,当你的代码运行和调试器从keil是附加的模块将消耗额外的电力,所以为了阻止这种情况发生,你将不得不退出调试模式从keil。此外,580的功耗约为1.5uA,当设备处于休眠状态时,接近报告器休眠和醒来,以宣传或保持连接,当设备持续休眠时,您将能够适当地测量您的最低功耗,如果不是,我认为您的仪器平均了580消耗的电流,包括无线电活动。还请检查教程5:在DA1458x上配置睡眠模式,以便了解如何正确测量功耗。
由于MT_dialog
嗨MT_dialog:
我做了它。谢谢。
嗨MT_dialog:
下面我尝试在da1458x_config_basic.h中定义,以便选择深度睡眠模式。不幸的是,功耗总是~500uA。我还应该做些什么?
# undef CFG_EXT_SLEEP
#定义CFG_DEEP_SLEEP
我尝试跟踪UM-B-006 DA14580睡眠模式配置v1.1文档,坦白地说,这个文档真的很难捕捉到启用睡眠模式真正需要的东西,我应该修改主循环功能吗?除了da1458x_config_basic.h中的修改之外,我还应该做什么来启用睡眠模式?
我当前的邮件循环只是重用sdk一,如下行所示。你能建议我还应该修改什么来启用14580睡眠模式吗?无论是深度睡眠还是延长睡眠对我来说都是可以的。
int main_func(空白)
{
sleep_mode_t sleep_mode;
system_init ();
而(1)
{
{做
schedule_while_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);
}
}
}
顺便问一下,我在哪里可以找到您提到的“教程5:在DA1458x上配置睡眠模式”?
嗨smdzj007,
你不需要在主循环中改变任何东西来让你的设备进入深度睡眠。首先,您应该做的唯一一件事是更改(因为您使用的是SDK 5) user_config.h文件中的变量app_default_sleep_mode,并保持其他一切不变。另外,为了能够测量深度睡眠电流,您需要在OTP中燃烧您的应用程序,以便OTP镜像和系统ram关闭来执行。
功率测量教程可以在教程部分的“文档”选项卡中找到。
由于MT_dialog
嗨Doman,
我们也面临着类似的问题。在延长睡眠模式下,功耗约为370uA。你是怎么解决的?
嗨wisilica
同样的问题也发生在我的设备上,我使用SDK 5.04 sleep_mode演示应用程序,当系统处于深度睡眠模式时,功耗是370ua,当ADV时,功耗是410ua,我顺便拔掉了JTAG连接器,
嗨内核,
你有flash连接或如果没有flash,你有任何其他跳线应用在J5头(可能是SPI_SUP跳线)?
由于MT_dialog
嗨MT_dialog,
我的测试板是DA14580 Development Kit Expert,没有flash或跳线连接到板,hex文件直接由JTAG加载到RAM
起初,我猜,额外的电流消耗,因为芯片调试不是关机(JTAG下载十六进制文件),所以,我使用另一个开发板测试,原理图连接,下载后深度睡眠SPI flash演示应用程序十六进制文件,和其他电路关闭,只有供电主要芯片和SPI闪光灯,芯片电流为160ua。
我不知道为什么……
嗨内核,
你得到的额外功率太低,不是由附加的调试器引起的,也许你得到的额外电流是由附加在测试板上的额外模块引起的或者某种泄漏,而不是580本身。
由于MT_dialog
嗨MT_dialog,
我检查了几次,没有额外的模块消耗电流,只有580和spi flash。
我自己的PCBA已经在做了,我会再测试一次,确保额外的电流是漏电造成的,或者不是我自己的板。
谢谢
嗨内核,
我怎么和你联系?我们有一个本地团队支持华米,我们与华米合肥,华米深圳,我的邮件:Jelphi.zhang@diasemi.com
问候,
Jelph