您好,
我使用信标参考源(3.40.6)测试扩展睡眠模式。
在Arch_Main.c中,调用RWIP_SLEEP()并返回MODE_SLEEPING和MODE_IDLE。使用MODE_SLEEP,它似乎正确进入了扩展的睡眠模式,但MODE_IDLE,收音机和外围设备似乎保持活动状态。
我想在没有mode_idle的情况下设置无线电和外围设备。你能告诉我该怎么办?
谢谢,
关键词:
设备:
嗨,kamagasako,
您可以在arch\u main.c函数中检查命令SetBits16(PMU\u CTRL\u REG,RADIO\u SLEEP,1);对于收音机和SetBits16(PMU\u CTRL\u REG,PERIPH\u SLEEP,1);对于外围设备。关闭收音机在模式\u空闲可能不是一个好主意,虽然,它没有测试,可能会导致问题。
谢谢mt_dialog.
嗨,MT\u dialog,
很抱歉这么晚才回复。
当返回mode_idle时,在main_func()中,只调用WFI(),而无线/外设不休眠,这似乎会增加功耗。
你会告诉我如何降低功耗即使mode_idle?返回mode_idle时的情况是什么?
嗨,kamagasako,
模式空闲返回DA无关但其指示也不睡眠时返回,因此它通过关闭外围设备和无线电的指令,并等待发生中断。在mode_idle中关闭收音机可能并不是一个好主意,但你可以通过使用它来尝试SetBits16(PMU\u CTRL\u REG,RADIO\u SLEEP,1);我还认为您可以使用SetBits16(PMU\u CTRL\u REG,PERIPH\u SLEEP,1)关闭外围设备的电源;
谢谢mt_dialog.
嗨,
我正在DA14583DEVKT-B板上使用SDK 5.0.3软件。
我选择了“ble\u app\u peripheral”(给出了ble示例项目)。
我希望优化功耗。我需要指导我们如何使DA14583在不影响功能的情况下以最低功耗运行(即传输BLE数据,甚至任何可用的数据)。
当做,
Mahesh Chandana。
嗨,马赫什,
最低功耗的想法是睡眠,只要您可以(更长的广告和长连接间隔),并且仅在Nessecary时醒来。此外,您可以检查信标参考设计(在广告模式中),广告活动周期有点较短,并且允许580在较短时段内为每个事件保持清醒。
谢谢mt_dialog.
嗨,
谢谢你的快速反应。
我可以在其中配置睡眠模式或无睡眠模式(即正常工作模式)。任何文档都在有彻底了解功耗。
当做,
Mahesh Chandana。
嗨,马赫什,
在app_default_sleep_mode的user_config.h文件中,您可以将Value Arch_sleep_off放置为No Sleep和Arch_ext_sleep_on进行睡眠。在广告活动和连接事件期间,580是清醒的,并且当然当应用程序保持唤醒时,有关电力消耗的更多信息,您可以看一下AN-B-015文档。
谢谢mt_dialog.
嗨,
我已经经历了“AN-B-015”。本文档介绍了如何测量功耗。
在我的上下文中,我的应用程序函数必须在主函数中调用(在无限循环中)。在那里我可以调用我的应用程序功能。如果我将“app\u default\u sleep\u mode”配置为“ARCH\u EXT\u sleep\u ON”,那么当应用程序需要CPU时间时,它将如何从睡眠中醒来以执行我的应用程序功能。
在“AN-B-015”中,没有太多的信息,如何从睡眠模式切换到正常模式,反之亦然。
请指导我了解它是如何处理的。
当做,
Mahesh Chandana。
嗨,马赫什,
app_default_sleep_mode将为580设置默认休眠模式,如果要在运行时在运行时配置休眠模式,则可以使用ARCH_DISABLE_SLEEP(),ARCH_SET_EXTEDDED_SLEEP()和ARCH_SET_DEEP_SLEEP()函数将设备放在无睡眠模式下,扩展睡眠模式和深度睡眠模式相应。此外,您可以做些什么,以强制您的设备保持清醒而不改变睡眠模式是使用App_On_ble_Powered回调。此回调返回goto_sleep按顺序返回580到睡眠状态或返回keep_powered并强制循环以重新执行RWIP_shedule()并重新开始。您可以查看UM-B-006文档睡眠模式配置,功能有点不同,因为文档基于SDK3,但功能是相同的,或者您可以看一下UM-B-051在第7节中的文档,其中睡眠机制在SDK5术语中描述。
谢谢mt_dialog.
嗨,
我采取了“ble_app_peripheral”示例代码。只需将“app_default_sleep_mode”更改为“arch_ext_sleep_on”(在“user_config.h”文件中)。
然后我就看不到手机上的设备名了。
是我需要的任何事情。
我的意思是在看“UM-B-006”文件的时候。
当做,
Mahesh Chandana。
嗨,马赫什,
不,没有别的事情要做,通过停止去bugging过程,你应该可以看到你的设备广告。
谢谢mt_dialog.
嗨,
我试过了。我已经看到了设备名称(即“对话框PRPH”)最初几秒钟。后来我看不到设备名称。
只有代码中的更改是将“app_default_sleep_mode”修改为“arch_ext_sleep_on”(在“user_config.h”文件中)。
里根夫妇,
Mahesh Chandana。
嗨,
我需要使用哪一个API,以便在同步和异步方法中将控制器从延长睡眠唤醒到正常模式。
当做,
Mahesh Chandana。
嗨,马赫什,
580通过BLE定时器同时唤醒(通过SDK控制睡眠时间的时间,并且它被设置为下一个BLE事件 - 连接或广告间隔 - 每次580才能睡眠)。异步,您可以通过唤醒定时器或通过正交解码器或使用内核定时器来唤醒它。您可以在第10.7节中检查如何在UM-B-051.PDF中使用和设置外部唤醒。通过通过内核计时器唤醒非常简单,只需设置Timer App_easy_Timer(),然后将唤醒580。在这两种情况下,SDK将检查是否有任何未决的BLE事件,如果没有任何它会恢复睡眠,所以如果您想保留您的设备唤醒,则必须使用ARCH_DISABLE_SLEEP()函数来做任何您的应用程序需要执行,然后再次启用休眠功能(Arch_set_extending_sleep()),以便重新返回睡眠状态。
谢谢mt_dialog.