所以我一直在使用DA14531 Dev Kit Pro,我一直在遇到MCU进入Hibernation模式。我只是在尝试做一些初步测试和功率表征,所以我想只是使用示例代码。按照“睡眠模式教程”中的说明,我无法将其达到休眠模式。在测试板上,我从200-400 ua看到的任何地方,具体取决于电压以及我是否处于降压或升压模式。对此的任何帮助都将非常感谢。
嗨,杰姆斯,
感谢您对我们的公共蓝牙论坛发布,很高兴您正在使用我们的新智能设备。在“睡眠模式教程”中,Hibernation模式配置有3个案例(使用SPI Flash / Sysram / OTP)。你能说明你在哪种情况下测量200-400 ua?如果您使用的是Sysram,请连接或不附加调试器吗?另外,保留了哪些RAM块?如果您能够分享这些澄清,那将是非常有帮助的。
谢谢,PM_DIALOG.
我目前使用的是SysRAM配置。在SysRAM配置中,我尝试了使用已连接和未连接的调试器(物理),我已经使用Keil和SmartSnippets工具对其进行了编程。假设头文件中的配置正确通过,所有3个RAM块都打开。我猜这就是电流消耗增加的原因?
如果调试器(来自ARM Keil IDE)附加,这可以防止系统进入任何睡眠模式。您不需要物理上删除调试器,只需按两倍“开始/停止调试会话”按钮。您是否可以说明SPI跳线是否放在J1标题中?请尝试卸载SPI跳线。然后,我建议您使用SmartSnippet工具箱中的电源分布器,并检查设备是否停止广告并进入休眠状态。在休眠教程中,使用具有18秒的超时的广告,因此设备将在18秒后进入休眠模式。
因此,我已经能够在休眠模式下使用设置18秒后将功耗降至27 uA。SPI跳线被移除,我在降压模式下从3.3V运行。这一测量是使用安捷伦34465A数字式万用表进行的。我肯定仍然在做一些错误的事情,但将电路板从调试模式中取出确实有很大帮助。我不确定剩下的问题是什么。
你能试着用这个吗DA14531配置为Hibernation模式SW示例是为了将DK设置为休眠模式?你能检测到功耗的任何变化吗?我们所有的SW示例(包括休眠模式SW示例)不包含SDK,因此您应该将它们与SDK链接。请按照所描述的步骤进行操作软件示例使用Python链接脚本设置文档。
感谢您发送该示例代码。这略微降低了当前的消耗,但只是几乎没有。在我衡量约27.3 ua之前,现在我正在测量约26.9 ua。
我跑了DA14531睡眠模式教程(HTML)休眠电流约为1.8 uA。我使用DA14531 Pro DK使用SmartSnippets工具箱的电源探查器进行测量。跳线放置如图5所示:放置jtag跳线的硬件设置
1.在user_proxr.h中定义cfg_app_goto_hibernation宏
#if定义(__da14531__)#define cfg_app_goto_hibernation
2.注释出下面的代码段是user_prox.h中的代码段
//#如果已定义(CFG_SPI_FLASH_ENABLE)和已定义(CFG_APP_GOTO_HIBERNATION)//错误“配置错误:无法同时定义CFG_SPI_FLASH_ENABLE和CFG_APP_GOTO_HIBERNATION。”//结束
3.打开所有三个RAM块并将地址0重新映射到Sysram,如下所示:
#定义CFG_HIBERNATION_RAM1 PD_SYS_DOWN_RAM_ON#定义CFG_HIBERNATION_RAM2 PD_SYS DOWN_RAM_ON#定义CFG_HIBERNATION_RAM 3 PD_SYS DOWN_RAM ON#定义CFG_HIBERNATION_REMAP_ADDR0_TO_RAM1#定义CFG_HIBERNATION_PAD_lock_EN false#endif
4.在User_Periph_setup.h文件中,配置将用于从休眠模式唤醒设备的GPIO。在这种情况下,我们选择了P0_5作为唤醒GPIO。
#如果已定义(u DA14531_uu)#定义HIB_唤醒_端口GPIO_端口0#定义HIB_唤醒_引脚GPIO_引脚5#定义HIB_唤醒_引脚(1<
5.在user_config.h中,将广告时间更改为5秒。5秒后,设备将停止广告并进入休眠模式。
static const struct default\u handlers\u configuration user\u default\u hnd\u conf={//配置默认处理程序使用的播发操作//可能的值://-DEF\u ADV\u FOREVER//-DEF\u ADV\u WITH_TIMEOUT.ADV\u scenario=DEF\u ADV\u WITH_TIMEOUT,//在DEF\u ADV\u WITH_TIMEOUT的情况下配置播发周期//以计时器单位度量(3分钟)。使用MS_TO_TIMERUNITS宏将//从毫秒(MS)转换为计时器单位。//播发\u period=MS_TO_TIMERUNITS(5000),//配置默认处理程序的安全启动操作//如果启用了安全性(CFG\u APP\u security)//可能的值://-DEF_SEC_REQ_NEVER//-DEF_SEC_REQ_ON_CONNECT.security_request_scenario=DEF_SEC_REQ_NEVER};
6.构建项目。
7.从SmartSnippets工具箱打开电源分析器。您需要通过UART / SPI连接,以启用Power Profiler工具。按“初始化”和“开始”
8.将固件下载到系统RAM中。
9.系统将开始播发5秒,然后进入休眠模式。请检查我的设置中附带的屏幕截图。休眠模式中的电流消耗约为1.8uA。如果休眠电流约为该值,则使用您的工具进行测量,以便更好地进行测量。
因此,在再次做一些挖掘和玩耍后,我决定交换到WLCSP17 Daugherboard而不是QFN24 Daugherboard。我惊讶地解决了我的问题。仔细检查原理图,我注意到,在17销部件上没有连接的24个销部件上有一些I / O引脚。删除J8和J19上的所有跳线将当前消耗降至700NA。在某些试验和错误之后,它看起来像将J8引脚1和2上的跳线导致26UA在电流消耗中增加。我不确定这对我的电路板是独一无二的,但如果不是我认为删除此跳线应该包含在教程中列出的步骤中。
非常感谢您的宝贵反馈。在J8引脚1和2上设置跳线,启用C_Trig触发,映射在P0_9上。该引脚仅在QFN24封装上提供!我已经知道这个问题,我们在下周初完成了一些测试。我会告诉你这个!
嗨,杰姆斯,
感谢您对我们的公共蓝牙论坛发布,很高兴您正在使用我们的新智能设备。在“睡眠模式教程”中,Hibernation模式配置有3个案例(使用SPI Flash / Sysram / OTP)。你能说明你在哪种情况下测量200-400 ua?如果您使用的是Sysram,请连接或不附加调试器吗?另外,保留了哪些RAM块?如果您能够分享这些澄清,那将是非常有帮助的。
谢谢,PM_DIALOG.
我目前使用的是SysRAM配置。在SysRAM配置中,我尝试了使用已连接和未连接的调试器(物理),我已经使用Keil和SmartSnippets工具对其进行了编程。假设头文件中的配置正确通过,所有3个RAM块都打开。我猜这就是电流消耗增加的原因?
嗨,杰姆斯,
如果调试器(来自ARM Keil IDE)附加,这可以防止系统进入任何睡眠模式。您不需要物理上删除调试器,只需按两倍“开始/停止调试会话”按钮。您是否可以说明SPI跳线是否放在J1标题中?请尝试卸载SPI跳线。然后,我建议您使用SmartSnippet工具箱中的电源分布器,并检查设备是否停止广告并进入休眠状态。在休眠教程中,使用具有18秒的超时的广告,因此设备将在18秒后进入休眠模式。
谢谢,PM_DIALOG.
因此,我已经能够在休眠模式下使用设置18秒后将功耗降至27 uA。SPI跳线被移除,我在降压模式下从3.3V运行。这一测量是使用安捷伦34465A数字式万用表进行的。我肯定仍然在做一些错误的事情,但将电路板从调试模式中取出确实有很大帮助。我不确定剩下的问题是什么。
嗨,杰姆斯,
你能试着用这个吗DA14531配置为Hibernation模式SW示例是为了将DK设置为休眠模式?你能检测到功耗的任何变化吗?我们所有的SW示例(包括休眠模式SW示例)不包含SDK,因此您应该将它们与SDK链接。请按照所描述的步骤进行操作软件示例使用Python链接脚本设置文档。
谢谢,PM_DIALOG.
感谢您发送该示例代码。这略微降低了当前的消耗,但只是几乎没有。在我衡量约27.3 ua之前,现在我正在测量约26.9 ua。
嗨,杰姆斯,
我跑了DA14531睡眠模式教程(HTML)休眠电流约为1.8 uA。我使用DA14531 Pro DK使用SmartSnippets工具箱的电源探查器进行测量。跳线放置如图5所示:放置jtag跳线的硬件设置
1.在user_proxr.h中定义cfg_app_goto_hibernation宏
2.注释出下面的代码段是user_prox.h中的代码段
3.打开所有三个RAM块并将地址0重新映射到Sysram,如下所示:
4.在User_Periph_setup.h文件中,配置将用于从休眠模式唤醒设备的GPIO。在这种情况下,我们选择了P0_5作为唤醒GPIO。
5.在user_config.h中,将广告时间更改为5秒。5秒后,设备将停止广告并进入休眠模式。
6.构建项目。
7.从SmartSnippets工具箱打开电源分析器。您需要通过UART / SPI连接,以启用Power Profiler工具。按“初始化”和“开始”
8.将固件下载到系统RAM中。
9.系统将开始播发5秒,然后进入休眠模式。请检查我的设置中附带的屏幕截图。休眠模式中的电流消耗约为1.8uA。如果休眠电流约为该值,则使用您的工具进行测量,以便更好地进行测量。
谢谢,PM_DIALOG.
因此,在再次做一些挖掘和玩耍后,我决定交换到WLCSP17 Daugherboard而不是QFN24 Daugherboard。我惊讶地解决了我的问题。仔细检查原理图,我注意到,在17销部件上没有连接的24个销部件上有一些I / O引脚。删除J8和J19上的所有跳线将当前消耗降至700NA。在某些试验和错误之后,它看起来像将J8引脚1和2上的跳线导致26UA在电流消耗中增加。我不确定这对我的电路板是独一无二的,但如果不是我认为删除此跳线应该包含在教程中列出的步骤中。
嗨,杰姆斯,
非常感谢您的宝贵反馈。在J8引脚1和2上设置跳线,启用C_Trig触发,映射在P0_9上。该引脚仅在QFN24封装上提供!我已经知道这个问题,我们在下周初完成了一些测试。我会告诉你这个!
谢谢,PM_DIALOG.