我的工作与对话- evalkit - pro在SDK 5.0.3上的PAN1740
目前,我正试图运行我的设置在延长睡眠模式。
CFG_MAX_SLEEP_DURATION_PERIODIC_WAKEUP_MS 500
app_default_sleep_mode = ARCH_EXT_SLEEP_ON
但董事会在入睡后立即醒来。睡眠时间只有80分钟。
要把板子设置为延长睡眠模式还需要做什么吗?
嗨,拉尔夫年代,
在启动时,设备将根据您在User_Config.h文件中设置的设置配置为您在User_Config.h文件中设置的设置,该设置将要设置已在User_ProfileS_Config.h中配置的服务的数据库(如果您设置了任何服务)。设备完成后,您的设备中启用了一个配置文件,呼叫Default_App_On_Set_dev_config_complete()(对于设备配置)和default_app_on_db_init_complete()将被调用(用于数据库配置)。在大多数示例中,有配置文件所以在设备的配置后(default_app_on_set_dev_config_complete)将发生数据库完成回调(default_app_on_db_init_complete)。default_app_on_db_init_complete()中的BLE示例将强制设备进行通告。因此,您不会能够下载和免疫推卸地睡眠,您必须让您的设备自行配置,然后从这两个回调中可以设置唤醒状态(外部唤醒或将唤醒您的设备的计时器)和之后该设备将落入永久性睡眠状态。
此外,当设备处于睡眠模式和广告或它是连接,这意味着它休眠之间的广告或连接间隔。如果您想将设备设置为永久休眠,请遵循上述步骤。CFG_MAX_SLEEP_DURATION_PERIODIC_WAKEUP_MS是一个定义,用于配置设备在完全没有BLE活动时的唤醒频率。
最后,当设备启动时,它会花费大约2秒,休眠禁用,以便XTAL32正确解决。
由于MT_dialog
感谢您的回复!
我现在将我的设备配置为广告,间隔为10s。我获得了660UA的当前,但如果该设备延长睡眠,则应下降到1,4ua。所以我假设它不睡眠。如果我将其设置为“Arch_sleep_off”,则当前消耗没有差异。
那么,如果我想让设备进入睡眠模式,我是否必须在我的主要功能中明确设置定时器或外部唤醒?
嗨Ralf S.
通过设置app_default_sleep_mode=ARCH_EXT_SLEEP_ON足以让设备处于长时间睡眠状态,如果你将设备设置为以10秒为间隔发布,那么你应该获得1.4uA(当设备不发布时)。您不需要设置任何额外的东西,如果您已经传递给内核一个发布间隔为10秒的发布命令,设备应该在发布时间为10秒时自己发布、休眠和唤醒。尝试使用智能代码片段通过UART下载代码,并通过电源分析器检查设备是否休眠(如果你有一个专业开发工具包),或者你可以尝试在10秒间隔内测量功耗。
我有一个Pro Dev Kit,我正在用一个外部DMM测量J11上的电流。
当我用DSPS应用扫描设备时,我只能每10秒找到一台设备。因此,我可以假设传播间隔设置正确。
我刚用功率分析器测试过。附加的情节显示广告时段。广告后,设备解决,但不会睡觉。从5ms开始的波形有1ms的周期。和配置的一样,广告每10秒开始一次。
我有代码运行在回调函数app_on_sytem_powered,并返回它与“GOTO_SLEEP”。
尝试以下建议与DSPS源代码一样,除了10秒的广告间隔,以便有机会测量低功耗模式。
1)我假设你通过JTAG下载fw,然后从keil点击运行按钮。当调试器被附加在设备上时,你不会看到设备进入低功耗模式。所以只要按下开始/停止调试按钮,然后再按一次。这样调试器就会分离,设备就能进入低功耗模式。
2)在有些情况下,即使调试器被分离,调试器模块仍然保持开着,这导致580不能进入睡眠模式,所以为了消除这种情况,你可以通过UART接口和Smart Snippets工具下载代码。获取生成的二进制文件,并使用Smart Snippets中的uart_booter下载fw。
你好,
现在我把它修好了。至少是例子。你是对的,我是通过JTAG下载的。当我在Smart Snippets中使用UART接口时,我得到的睡眠电流范围为2uA,在功率分析器中,从睡眠中醒来,峰值约为5mA,广告可以看到。
所以调试器仍然附着,设备不会睡眠。我看到的额外电流是仍然激活的调试器,或者设备实际上没有睡觉吗?
据我所知,设备正在休眠,外设断电,ARM处于WFI中,但调试器模块保持打开并消耗额外的电流。你可以尝试遵循下面的常见问题解答,以便能够通过JTAG下载fw,并在停止调试时看到你的设备进入休眠状态。
https://support.dialog-semicondiondiond.com/guide/faq-known-issues.
嗨,拉尔夫年代,
在启动时,设备将根据您在User_Config.h文件中设置的设置配置为您在User_Config.h文件中设置的设置,该设置将要设置已在User_ProfileS_Config.h中配置的服务的数据库(如果您设置了任何服务)。设备完成后,您的设备中启用了一个配置文件,呼叫Default_App_On_Set_dev_config_complete()(对于设备配置)和default_app_on_db_init_complete()将被调用(用于数据库配置)。在大多数示例中,有配置文件所以在设备的配置后(default_app_on_set_dev_config_complete)将发生数据库完成回调(default_app_on_db_init_complete)。default_app_on_db_init_complete()中的BLE示例将强制设备进行通告。因此,您不会能够下载和免疫推卸地睡眠,您必须让您的设备自行配置,然后从这两个回调中可以设置唤醒状态(外部唤醒或将唤醒您的设备的计时器)和之后该设备将落入永久性睡眠状态。
此外,当设备处于睡眠模式和广告或它是连接,这意味着它休眠之间的广告或连接间隔。如果您想将设备设置为永久休眠,请遵循上述步骤。CFG_MAX_SLEEP_DURATION_PERIODIC_WAKEUP_MS是一个定义,用于配置设备在完全没有BLE活动时的唤醒频率。
最后,当设备启动时,它会花费大约2秒,休眠禁用,以便XTAL32正确解决。
由于MT_dialog
感谢您的回复!
我现在将我的设备配置为广告,间隔为10s。我获得了660UA的当前,但如果该设备延长睡眠,则应下降到1,4ua。所以我假设它不睡眠。如果我将其设置为“Arch_sleep_off”,则当前消耗没有差异。
那么,如果我想让设备进入睡眠模式,我是否必须在我的主要功能中明确设置定时器或外部唤醒?
嗨Ralf S.
通过设置app_default_sleep_mode=ARCH_EXT_SLEEP_ON足以让设备处于长时间睡眠状态,如果你将设备设置为以10秒为间隔发布,那么你应该获得1.4uA(当设备不发布时)。您不需要设置任何额外的东西,如果您已经传递给内核一个发布间隔为10秒的发布命令,设备应该在发布时间为10秒时自己发布、休眠和唤醒。尝试使用智能代码片段通过UART下载代码,并通过电源分析器检查设备是否休眠(如果你有一个专业开发工具包),或者你可以尝试在10秒间隔内测量功耗。
由于MT_dialog
我有一个Pro Dev Kit,我正在用一个外部DMM测量J11上的电流。
当我用DSPS应用扫描设备时,我只能每10秒找到一台设备。因此,我可以假设传播间隔设置正确。
我刚用功率分析器测试过。附加的情节显示广告时段。广告后,设备解决,但不会睡觉。从5ms开始的波形有1ms的周期。和配置的一样,广告每10秒开始一次。
我有代码运行在回调函数app_on_sytem_powered,并返回它与“GOTO_SLEEP”。
嗨,拉尔夫年代,
尝试以下建议与DSPS源代码一样,除了10秒的广告间隔,以便有机会测量低功耗模式。
1)我假设你通过JTAG下载fw,然后从keil点击运行按钮。当调试器被附加在设备上时,你不会看到设备进入低功耗模式。所以只要按下开始/停止调试按钮,然后再按一次。这样调试器就会分离,设备就能进入低功耗模式。
2)在有些情况下,即使调试器被分离,调试器模块仍然保持开着,这导致580不能进入睡眠模式,所以为了消除这种情况,你可以通过UART接口和Smart Snippets工具下载代码。获取生成的二进制文件,并使用Smart Snippets中的uart_booter下载fw。
由于MT_dialog
你好,
现在我把它修好了。至少是例子。你是对的,我是通过JTAG下载的。当我在Smart Snippets中使用UART接口时,我得到的睡眠电流范围为2uA,在功率分析器中,从睡眠中醒来,峰值约为5mA,广告可以看到。
所以调试器仍然附着,设备不会睡眠。我看到的额外电流是仍然激活的调试器,或者设备实际上没有睡觉吗?
嗨Ralf S.
据我所知,设备正在休眠,外设断电,ARM处于WFI中,但调试器模块保持打开并消耗额外的电流。你可以尝试遵循下面的常见问题解答,以便能够通过JTAG下载fw,并在停止调试时看到你的设备进入休眠状态。
https://support.dialog-semicondiondiond.com/guide/faq-known-issues.
由于MT_dialog