你好,
我正在使用Murata LBCA2HNZYZ-711和最新的SDK5的DSPS,它工作得很好。
在我们的项目中,我们需要提高电力消耗。
我有几个问题:
1.在项目中,我尝试启用CFG_POWER_OPTIMIZATIONS,但没有什么不同,它做了什么?
2.我启用了扩展睡眠,我能够连接,但数据停止流约1秒后,我如何配置唤醒?
3.我的计划是在广告期间启用睡眠,而不是连接状态,有一个选项,在广告期间启用睡眠?
谢谢,
大卫
设备:
你好,
我正在使用Murata LBCA2HNZYZ-711和最新的SDK5的DSPS,它工作得很好。
在我们的项目中,我们需要提高电力消耗。
我有几个问题:
1.在项目中,我尝试启用CFG_POWER_OPTIMIZATIONS,但没有什么不同,它做了什么?
2.我启用了扩展睡眠,我能够连接,但数据停止流约1秒后,我如何配置唤醒?
3.我的计划是在广告期间启用睡眠,而不是连接状态,有一个选项,在广告期间启用睡眠?
谢谢,
大卫
嗨davidra7,
1.cfg_power_optimations是在整个SDK 5中关于睡眠时间计算和电源管理的一系列改进,这应该在DSPS和SDK中默认启用。
2.当你在长睡眠状态下操作时,你不能使用调试器,你将不得不停止调试。调试器不会让580入睡。
3.这已经实现了,DSPS在广告间隔和连接间隔之间睡觉。只要将项目设置为延长睡眠模式,你就可以看到这一点。
由于MT_dialog
你好,
谢谢你的快速回答,我真的很感激!
在问题2中,我可能会解释我自己错了,这个问题不是调试的一部分。
我们的产品有三种状态:
1.备用。
2.连接。
3.连接并发送数据,
当扩展标志打开时,状态1和2工作得很好,但阶段3在1秒后停止工作。数据开始流向android设备并停止。
解决方法是在连接状态后禁用睡眠功能?或者有不同的解?
我如何在连接后禁用睡眠?
还有一个小问题,下面两个步骤可以延长睡眠时间:
1.#define CFG_MEM_MAP_EXT_SLEEP . #define CFG_MEM_MAP_EXT_SLEEP . #define CFG_MEM_MAP_EXT_SLEEP . #define CFG_MEM_MAP_EXT_SLEEP . #define CFG_MEM_MAP_EXT_SLEEP
2.设置app_default_sleep_mode为ARCH_EXT_SLEEP_ON ?
谢谢,
大卫
嗨davidra7,
我真的不明白你的意思,DSPS代码,当连接时,检查是否有数据在DSPS缓冲区,如果有数据,它禁用睡眠自动为了侦听UART端口和推数据在发送缓冲区。如果缓冲区中没有数据,则再次启用睡眠,设备在连接间隔之间进入睡眠状态,因此即使启用了睡眠标志(ARCH_SLEEP_OFF), fw也会自动在睡眠模式和禁用睡眠模式之间切换。这是dsp目前的功能。现在,既然您说您可以开始发布、连接并开始发送数据,但是一秒钟之后设备就停止了,您很可能是在设备处于睡眠模式时试图调试代码。只需下载代码和退出调试过程,并尝试连接和发送数据到您的手机。您只能在设备未处于休眠模式时使用调试特性。
关于第二个问题,你提到的第一个定义是580的记忆配置,可以是延长睡眠(在没有睡眠时使用),也可以是深度睡眠。为了启用扩展睡眠,您只需要将app_default_sleep_mode更改为ARCH_EXT_SLEEP_ON。
由于MT_dialog
你好,
我会试着解释我在做什么,我编译了DSPS并得到了HEX文件,只有这样我才能使用智能代码片段对它进行编程。
我不调试在睡眠期间(我不能),如果睡眠不活跃,我工作得很好,但如果睡眠活跃,它停止转移后大约。1秒。
也许它会有帮助,但我们发送的包在250hz的速率,也许我们需要改变一些参数?
谢谢! !
大卫
嗨davidra7,
我通过智能代码片段获得编译和下载代码的部分。我不明白的是发送一个包在250Hz的速率,你的意思是什么?DSPS将从UART获取数据,并尽可能快地将其传递到另一端。我不看到任何原因将停止则多1秒后在睡眠模式下,我能想到的也许是硬件流控制有问题,为了你做了适当的连接设备使用硬件流控制,也有你在RTS / CTS模式配置终端吗?设备是否在停止传输或设备停止后仍保持连接?
由于MT_dialog
你好,
我配置了RTS和CTS。当app_default_sleep_mode = ARCH_SLEEP_OFF时,一切都能完美工作。
当app_default_sleep_mode = ARCH_EXT_SLEEP_ON时,问题开始。
当问题发生时,村田停止传输/获取数据,似乎村田停止工作。
注意:我正在使用一个外部微控制器,通过Uart连接到Murata。
我们在1秒内发送大约4KB。
谢谢,
大卫
嗨davidra7,
你能从功率分析器上看到设备之间的连接是否仍然保持,或者fw是否完全崩溃?检查如果你可以看到连接事件分析器,如果有连接事件意味着由于某种原因580 UART不获取数据,如果没有活动(只有一条直线,没有峰,表明有一个有效的连接)意味着在软件出现了错误,要么是系统发出了重置,要么是遇到了硬故障,要么是NMI处理器,要么是ASSERT。为了验证这一点,您必须使用调试器来调查原因。
我不认为这与设备停止的事实有关,如果设备不能处理你发送的数据,它将通过流量控制停止UART传输。试着使用一个标准的PC和另一边的android应用程序,以检查是否与你所附的外部微处理器有关。
由于MT_dialog