与内核定时器有关

⚠️
大家好. .谢谢你来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台,它将提供更好的功能,包含在主对话网站中。所有岗位和账户都已迁移。我们现在只接受新论坛的流量-请在上面发布任何新帖子//www.wsdof.com/support.我们将在未来几天修复bug /优化搜索和标记。
6个职位/ 0个新职位
最后发表
alan.a
离线
最后看到:2年7个月前
加入:2018-10-31 07:50
与内核定时器有关

他的……
我对内核定时器有一些疑问
1.如果我尝试使用此内核计时器实现挂墙时钟,24小时内发生多少时间漂移?
2.你能提供一个例子或文档如何使用这个内核定时器(设置,处理。等)?
3.在我的申请中,我希望每6小时的距离中的距离。我想如果我使用这个内核计时器(最大延迟5分钟)并在5分钟内唤醒
追踪这6小时(为下一个信标)。有可能实现吗?
4.如果内核定时器在5分钟内触发,则会发生电流消耗多少(每5个都没有广告或扫描才会发生火灾
(我认为最好从ble_app_实现这个功能的基本例子开始)?

关键词:
设备:
PM_Dialog
离线
最后看到:4天18小时前
工作人员
加入:2018-02-08 11:03
嗨alan.a,

嗨alan.a,

您可以将计时器设置为KE_TIMER_DELAY_MAX(5秒),如果您设置的值超过该限制,堆栈将进行健全检查,您将得到一个错误。在您的情况下,我建议您使用具有最大延迟的计时器,并重新启动时间,直到您达到所需的时间。但是这有一点不准确,因为app_easy_timer计数低功率时钟。app_timer_set()是ke_timer_set()的包装器。定时器ID、任务ID和超时时间,以10毫秒为单位。最大有效超时时间为30000,对应5分钟。我强烈建议您看一下app_easy_timer.h头文件。此外,当使用内核计时器时,它们可以计算的最大时间也是KE_TIMER_DELAY_MAX,这意味着最多5分钟。关于这些文件,我建议你看一下UM-B-050: DA1458x Software Developers Guide (SDK5)UM-B-051: DA14580软件平台参考(SDK5)用户手册从我们的支持门户。当设备不是在延长或深度睡眠模式,没有任何ble活动,我可以测量约0.490 mA,但功耗取决于您的应用程序和您想要实现计时器。

谢谢,PM_Dialog

alan.a
离线
最后看到:2年7个月前
加入:2018-10-31 07:50
他的……

他的……
谢谢你的回复。
我从上面了解到:内核定时器是准确的比一般定时器是吗?
如果我实现一个RTC时钟使用这个内核定时器在24小时有多少漂移?
在我的申请中,我需要在6小时内只做一次广告,即在一天内只做4次广告,剩余时间没有活动发生,所以我想减少当前。RTC时钟这里我用轨道6小时。我认为如果我创建一个最大延迟的内核定时器触发,即大约5分钟,在每5分钟定时器触发并从睡眠中醒来,更新变量(跟踪RTC时间),并回到睡眠(延长睡眠)
我认为深度睡眠对于这个应用是不可能的,是吗?

PM_Dialog
离线
最后看到:4天18小时前
工作人员
加入:2018-02-08 11:03
嗨alan.a,

嗨alan.a,

DA14580不支持RTC实现。内核定时器和App_easy_Timer都具有最大延迟,最多可达5秒。.我不确定你想要实施什么,能否澄清它?您是否意识到深度睡眠功能?如果没有,请告诉我。

谢谢,PM_Dialog

alan.a
离线
最后看到:2年7个月前
加入:2018-10-31 07:50
他的……

他的……
是的,我需要实现深度睡眠,因为我想减少当前的消耗,我也想跟踪时间。如果没有活动发生,Da14580将进入睡眠状态,但必须跟踪时间。
我的申请工作基于小时。例如,每6小时间隔BLE信标出现并返回深度睡眠(即,第一个信标在下午8点发生在8.00下午14.00 PM)之间,在此信标不发生任何活动之间,所以我希望DA14580进入深度睡眠以节省电流和计时器需要追踪下一个信标的时间是我的应用程序

PM_Dialog
离线
最后看到:4天18小时前
工作人员
加入:2018-02-08 11:03
嗨alan.a,

嗨alan.a,

如果我能正确理解,你会烧了OTP记忆吗?在深度睡眠模式下,42KB的片上系统RAM和可能部分8KB的片上保留RAM被关闭。当DA14580唤醒时,必须将OTP内容复制到片上RAM中。复制OTP既耗时又耗电。在扩展睡眠模式下,数据存储在船上RAM中并被保留。当DA14580唤醒时,不需要OTP复制。请检查“哪种低功耗模式对用户应用程序更有效?”,摘自faq页面:

https://support.dialog-semiconductor.com/guide/faq-da1458x-power-consumption

注意,OTP代表一次性可编程,因此你不能擦除和重写OTP多次,但你只能翻转位,仍然设置为0,并把他们变成1。ble_app_sleepmode实现了深度睡眠模式,但是是在开发模式下。请检查CFG_DEVELOPMENT_DEBUG定义和定义的注释。

谢谢,PM_Dialog