在自定义PCB上延长睡眠

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
7个帖子/ 0新
最后一篇
aparna.anand.
离线
最后一次露面:3年5个月前
加入:2017-04-21 11:01
在自定义PCB上延长睡眠

你好,

我们有一个带有DA14580的自定义PCB,位于降压模式配置中,只有XTAL16。此处当主微控制器复位发生时,通过SPI加载BLE应用程序
通过BLE传输的一些传感器数据是从主微控制器的UART发送。因为我理解只有延长睡眠
#define cfg_lp_clk lp_clk_rcx20和变量app_default_sleep_mode = arch_ext_sleep_on。从BLE Android应用程序,在扫描期间,设备可见。
但在启动连接时,还丢失了进一步的连接,并且不再列出设备名称。

您能否就这种行为提供一些建议?

谢谢,
Aparna.

设备:
mt_dialog.
离线
最后一次露面:3 months 9 hours ago
职员
加入:2015-06-08 11:34
嗨aparna.anand,

嗨aparna.anand,

如果您能够在启动时看到该设备,并且在连接时无法连接,然后在连接其时不可见的情况下,我可以假设在代码摊位的某个位置时,您应该通过调试在代码后结束后检查连接发生连接,它会导致设备无响应。在正常情况下,如果连接失败,设备应通过调用.app_on_connection回调中的启动广告过程再次启动广告(如果连接失败)或app_on_disconnect回调,如果未调用此设备,则设备是一旦连接尝试失败,不会开始广告。但由于似乎没有成功的连接,大多数可能在连接过程时停止设备。

谢谢mt_dialog.

aparna.anand.
离线
最后一次露面:3年5个月前
加入:2017-04-21 11:01
你好,

你好,

谢谢你的建议。我会尝试调试应用程序卡住的点。
同时可以请确认CFG_LP_CLK作为LP_CLK_RCX20,以便在运行时扩展睡眠模式条目是可能的吗?这是因为我们的定制板上没有XTAL32。

当我禁用扩展睡眠模式时,我看到应用程序运行正常,只有在我启用延长睡眠时才会卡。

谢谢,
Aparna.

mt_dialog.
离线
最后一次露面:3 months 9 hours ago
职员
加入:2015-06-08 11:34
嗨aparna.anand,

嗨aparna.anand,

Since your custom board is configured in buck mode then you can run on the RCX, i dont get the runtime term though, the selection of the LP clock should be done in the da1458x_config_advanced.h file and the CFG_LP_CLK should be set to LP_CLK_RCX20, if you dont have an external XTAL32 this is the configuration that your sw should have during compilation. Since your device is visible when booting up that means that it can sleep and advertise as it should be, there must be something wrong when the connection happens in the fw that you are running, perhaps the reading of the sensor that creates the malfunction. You can check with a simple SDK example and connect to it in order to verify that the problem lies in your fw and not on your custom board.

谢谢mt_dialog.

aparna.anand.
离线
最后一次露面:3年5个月前
加入:2017-04-21 11:01
你好,

你好,

通过运行时,我的意思是在连接或广告间隔之间启用睡眠模式。由于DA14580的调试线路尚未在定制董事会中提出,我仍然弄清楚如何进一步调试此问题。

我尝试的另一件事是通过主微控制器(输入到DA驱动高)的GPIO事件来实现DA上DA的睡眠模式(永久)。电源复位将使DA和主微控制器带出复位。你能告诉我是否有可能?
我已经看到了使用wkupct_register_callback()和wkupct_enable_irq()API的示例。但在我的情况下,我不需要启用唤醒定时器。我只需要使用GPIO ISR并启用延长睡眠。

有些建议看的例子会有所帮助。

谢谢,
Aparna.

mt_dialog.
离线
最后一次露面:3 months 9 hours ago
职员
加入:2015-06-08 11:34
嗨aparna.anand,

嗨aparna.anand,

在执行代码期间启用和禁用睡眠可以通过ARCH_DISABLE_SLEEP(),ARCH__SET_EXTEDDE_SLEEP()API来完成。还有一些可能误解的东西,你不必在连接间隔期间启用和禁用睡眠,如果设备默认在扩展睡眠模式下(通过在app_default_sleep_mode结构中使用Arch_ext_sleep_on),SDK将安排睡眠和觉醒在广告间隔和连接间隔期间的设备没有任何需要采取任何动作,即使在不需要BLE活动时,应用程序需要禁用禁用睡眠功能,即使不需要BLE活动,也可以保持醒着(无需越来越多连接事件或广告活动)。

关于从外部支持睡眠模式micro controller, you can configure the 580 to wake up via an external interrupt, you can have a look at the ble_app_sleepmode where the device after advertising for a small amount of time it falls to permanent sleep (no BLE event) and wakes up via an external button interrupt. Also you can configure the device to reset on the next wake up by configuring the RESET_ON_WAKEUP in the PMU_CTRL_REG if that is what you are asking.

Regarding the waking up, if you are in permanent sleep mode (meaning no BLE events programmed, no connection established or advertising arranged) the device can wake up either via a kernel timer (which also is considered a BLE event) or from the wake up timer (the name is a bit misleading but in fact this is the module that wakes up the device after power down after a preprogrammed number of GPIO events occur) so those examples that are using the wkupct_timer are the examples that you should use.

谢谢mt_dialog.

aparna.anand.
离线
最后一次露面:3年5个月前
加入:2017-04-21 11:01
谢谢一群清除

谢谢一群来清除误解和指向例子!

感谢和问候,
Aparna.