通过SmartTags接近固件和应用程序进入DA14580的睡眠模式

⚠️
大家好. .感谢来到论坛。令人兴奋的消息!我们现在正在迁移到新的论坛平台,它将提供更好的功能,并包含在主要的对话网站中。所有员额和帐户都已迁移。我们现在只接受新论坛上的流量-请发布任何新的线程在//www.xmece.com/support.我们将在未来几天修复bug /优化搜索和标签。
9个帖子/ 0个新
最后发表
MADHUSF
离线
最后看到:3个月1天前
加入:2018-01-15 09:22
通过SmartTags接近固件和应用程序进入DA14580的睡眠模式

嗨,我们有精确的硬件(PCB)作为接近参考设计,我可以烧录接近智能标签固件并能够与之通信。我的设置很好。我用SmartTags安卓应用测试了一下。我试图修改固件,并与应用程序连接。最初它的工作原理,但一段时间后,它去睡觉,它永远不会出现在安卓应用程序。请让我们知道这个解决方案。即使没有修改代码的示例固件也会看到这种行为。是否有办法重新配置或避免睡眠模式…等等。需要帮助,谢谢。

设备:
Qinjiny_Dialog
离线
最后看到:1个月1周前
工作人员
加入:2016-11-01 05:47
嗨MADHUSF,

嗨MADHUSF,

默认情况下,接近演示将停止广告,并在广告一段时间后进入深度睡眠状态,直到按下按钮。这不是一个问题,而是一个节省电力的设置。

你不需要完全禁用睡眠,只需要删除广告的超时设置。

进入user_config.h

设置.adv_scenario = DEF_ADV_FOREVER,

在user_default_hnd_conf

看看它是否如你所愿

MADHUSF
离线
最后看到:3个月1天前
加入:2018-01-15 09:22
嗨,秦靖,谢谢你的

嗨,秦靖,谢谢你的回复。我检查了代码。
这个设置在下面的user_config.h文件中已经存在了。请让我知道,如果任何其他设置缺失。此外,请让我知道在哪个代码这个按钮的功能被照顾。
----------------------- user_config.h -----------------
.....
default_handlers_configuration user_default_hnd_conf = {
//配置默认处理程序使用的通告操作
/ /可能的值:
// - def_adv_forever
// - def_adv_with_timeout
.adv_scenario = DEF_ADV_FOREVER,

//在DEF_ADV_WITH_TIMEOUT的情况下配置广告周期。
//以定时器单位(10ms)测量。使用MS_TO_TIMERUNITS宏进行转换
//从毫秒(ms)到定时器单位。
.advertise_period = MS_TO_TIMERUNITS(10000),

//配置默认处理程序的安全启动操作
//如果安全是启用的(CFG_APP_SECURITY)
.security_request_scenario = DEF_SEC_REQ_ON_CONNECT
};

..
-----------------------------------

LC_Dialog
离线
最后看到:1个月前3天
工作人员
加入:2016-09-19 23:20
嗨MADHUSF,

嗨MADHUSF,

外部唤醒机制正在设置app_advertise_complete ()在user_proxr.c文件中的回调。但是,如果场景设置为DEF_ADV_FOREVER,那么系统不应该达到这一点。如果这个系统仍然处于睡眠状态,并且永远不会醒来,那么就存在其他潜在的问题。请尝试以下步骤来隔离硬件/软件中的问题。

1.尝试在Dev Kit上运行一个开箱即用的prox_reporter项目,并将Adv场景设置为FOREVER。如果没有发现任何问题,那么在自定义硬件上运行相同的映像,看看是否可以正常工作。如果这里有问题,那么问题可能出在自定义硬件上。

2.另外,用你现在正在使用的导致睡眠问题的映像编写一个Dev Kit。使用SmartSnippets工具箱中的功率分析器工具,当它处于永久睡眠阶段时检查读数。该读数可以提供一些洞察,以了解系统是否处于完全睡眠状态或是否有崩溃。

3.你也可以从Keil MDK在Dev Kit上调试这个程序,看看它是否达到了任何断点或看门狗重置等,这将确认崩溃。

请让我们知道你在这些测试中的观察结果。

此外,您在默认项目中所做的所有更改是什么。这可能会提供有关导致此问题的原因的一些信息。

最好的
LC_Dialog

MADHUSF
离线
最后看到:3个月1天前
加入:2018-01-15 09:22
嗨,LC_Dialog,谢谢你的

你好,LC_Dialog,谢谢你的回复。我试过了,回复如下。

1.尝试在Dev Kit上运行一个开箱即用的prox_reporter项目,并将Adv场景设置为FOREVER。如果没有发现任何问题,那么在自定义硬件上运行相同的映像,看看是否可以正常工作。如果这里有问题,那么问题可能出在自定义硬件上。
答:是的,没有发现任何问题,并且工作正常。实际上,这个应用程序在后台锁定了蓝牙会话/对象。所以,必须重启或关闭应用程序才能再次扫描并连接。

2.另外,用你现在正在使用的导致睡眠问题的映像编写一个Dev Kit。使用SmartSnippets工具箱中的功率分析器工具,当它处于永久睡眠阶段时检查读数。该读数可以提供一些洞察,以了解系统是否处于完全睡眠状态或是否有崩溃。
答:我不确定如何使用功率分析器,但使用它:它总是显示相同的电流,没有变化。请建议设置。

3.你也可以从Keil MDK在Dev Kit上调试这个程序,看看它是否达到了任何断点或看门狗重置等,这将确认崩溃。
答:没有尝试过,我想现在睡眠问题已经解决了。

问题:但是,我需要知道我们如何在没有任何GPIO触发的情况下从长时间睡眠或深度睡眠中醒来?请建议。由于基于万用表测量的当前功耗显示该接近项目使用约600 uA电流。请帮助我们降低功率和最佳值。

谢谢你!
MadhuSF

LC_Dialog
离线
最后看到:1个月前3天
工作人员
加入:2016-09-19 23:20
嗨MadhuSF,

嗨MadhuSF,

你有追踪问题是如何解决的吗?请在这个帖子上发帖,这样其他用户也可以利用它。

关于你的问题,
您只需将睡眠模式配置为延长睡眠即可从延长睡眠中唤醒。它将在内部配置一个计时器,并间隔唤醒以执行任何BLE事件或任何用户定义的事件(您需要在特定回调点添加以处理任何数据)。如果您在应用程序中没有进行任何数据处理,那么您的睡眠电流应该比您现在所经历的要小得多。我建议检查你的设计是否有电流泄漏等,以确保你的外设没有额外的电流。

如果您希望我们对您的设计进行快速审查,请将您的原理图连同SWITCH上的电感器(L1)和16MHz晶体(Y1)的数据表一起发送。如果你想安全地分享这个,我可以给你一个安全的服务器链接来上传你的文件。

最好的
LC_Dialog

MADHUSF
离线
最后看到:3个月1天前
加入:2018-01-15 09:22
亲爱的LC_Dialog,请发送

亲爱的LC_Dialog,请将安全链接发给我,以便我分享设计,要求范围和睡眠要求。谢谢你!

LC_Dialog
离线
最后看到:1个月前3天
工作人员
加入:2016-09-19 23:20
嗨MadhuSF,

嗨MadhuSF,

使用以下链接将文件上传到服务器。请注意,您只能在这里上传。

https://diasemi.egnyte.com/ul/Jrgzqaa9X6

最好的
LC_Dialog

LC_Dialog
离线
最后看到:1个月前3天
工作人员
加入:2016-09-19 23:20
嗨MadhuSF,

嗨MadhuSF,

从原理图中,我注意到您在设计中使用了模块。模块设计指南可以不同于我们的设计指南。我们对客户设计的基本检查已经在模块上完成,其余组件应该按照模块供应商的建议设计到系统中,这是模块供应商可以提供帮助的。

我建议首先检查一下你的软件应用,看看设备是否真的进入睡眠状态。因为你看到的电流消耗接近有源电流,这可能主要是由于软件设计中的一些问题,或者如果主循环被修改,使处理器保持活跃。参考我们的文档在支持网站上如何利用我们的工具,如SmartSnippets工具箱等,你可以检查程序执行过程中发生了什么。

最好的
LC_Dialog