你好,
我正在使用Murata Lbca2hnzyz-711与最新SDK5的DSP,它效果很好。
我们项目的一部分,我们需要提高功耗。
我有几个问题/问题:
1.在项目中我试图启用CFG_POWER_OPTIMIZIONATIONS标志,没有区别,它是什么?
2.我启用了延长的睡眠,我能够连接,但是数据停止在大约1秒后流动,我如何配置唤醒?
3.我的计划是在广告而非连接状态的同时启用睡眠,有没有选择在广告期间启用睡眠?
谢谢,
大卫
设备:
你好,
我正在使用Murata Lbca2hnzyz-711与最新SDK5的DSP,它效果很好。
我们项目的一部分,我们需要提高功耗。
我有几个问题/问题:
1.在项目中我试图启用CFG_POWER_OPTIMIZIONATIONS标志,没有区别,它是什么?
2.我启用了延长的睡眠,我能够连接,但是数据停止在大约1秒后流动,我如何配置唤醒?
3.我的计划是在广告而非连接状态的同时启用睡眠,有没有选择在广告期间启用睡眠?
谢谢,
大卫
嗨Davidra7,
1. CFG_POWER_OPTIMIZIZATIONS是整个SDK 5的一系列改进,关于休眠时间计算和电源管理,默认情况下,在DSP和SDK中应启用这一点。
2.当您在延长睡眠下运行时,您无法使用调试器,您必须停止调试。调试器不会让580睡觉。
这已经实现了这一点,DSP在广告间隔和连接间隔之间睡眠。只需在扩展睡眠模式下设置项目,您应该能够看到此功能。
谢谢mt_dialog.
你好,
谢谢你的快速答案,我真的很感激!
在问题2中我可能会解释自己的错误,问题不是调试的一部分。
我们的产品有3个州:
待机。
2.连接。
3.连接和发送数据,
当扩展标志在状态下,1&2工作得很好,但第3阶段停止在1秒后工作。数据开始流到Android设备并停止。
解决方案是在连接状态后禁用睡眠功能?或者你可能有一个不同的解决方案?
连接后如何禁用睡眠?
另一个小问题只是为了知道,通过接下来的2个步骤延长睡眠:
1. #undef cfg_mem_map_ext_sleep - > #define cfg_mem_map_ext_sleep
2.将App_default_sleep_mode设置为Arch_ext_sleep_on?
谢谢,
大卫
嗨Davidra7,
我真的没有真正得到你的意思,DSPS代码在连接时检查了DSP缓冲区中是否存在数据,如果有数据它会自动禁用睡眠状态,以便收听UART端口并在发送缓冲区中推送数据。如果缓冲区中没有数据,再次启用睡眠,并且设备在连接间隔之间睡眠以睡眠,因此即使启用睡眠标志(Arch_sleep_off),FW将自动切换睡眠模式并禁用休眠状态。这是DSP的当前功能。现在,由于您可以说您可以启动广告,连接然后开始发送数据,但在一个秒后设备摊位后,大多数可能在设备处于睡眠模式时尝试调试代码。只需下载代码和退出调试程序,然后尝试将数据连接到手机。您只能在设备处于睡眠模式时使用调试功能。
关于第2问题,您提到的第一个定义是用于580的内存配置,无论是延长睡眠(在没有使用睡眠时使用)或深睡眠。为了启用扩展睡眠,您所要做的就是将App_default_sleep_mode更改为Arch_ext_sleep_on。
谢谢mt_dialog.
你好,
我会尝试解释我在做什么,我编译DSP并获取十六进制文件,只有我使用智能片段编程它。
我在睡眠期间没有调试(我不能),如果睡眠不活跃,我会很棒,但如果睡眠活动,它会停止转移到大约。1秒。
也许它将有助于但我们以250Hz的速率发送数据包,也许我们需要更改一些参数?
谢谢 !!
大卫
嗨Davidra7,
我可以通过智能片段完成您编译和下载代码的部分。我没有得到的是250Hz率的数据包,你的意思是什么?DSP将从UART获取数据,并尽可能快地将其传递给另一侧。我没有看到任何原因会在1秒后停止传输在睡眠模式下,我可以想到的是HW流量控制可能出现问题,你是否做了正确的连接,以便设备使用HW流量控制,还让您在RTS / CTS模式下配置了终端吗?在停止发射机或设备摊位后,设备是否保持连接?
谢谢mt_dialog.
你好,
我配置了RTS和CTS。当App_default_sleep_mode = Arch_sleep_off时,一切都完美地工作。
当App_default_sleep_mode = Arch_ext_sleep_on时,问题启动。
当问题发生时,村田停止转移/获取数据,似乎村田停止工作。
注意:我正在使用连接到Murata Thorugh Uart的外部微控制器。
我们发送大约。4kb 1秒。
谢谢,
大卫
嗨Davidra7,
如果设备之间的连接仍然保持或完全崩溃,您可以从电源分布器中看到吗?检查是否可以在电源分析器中看到连接事件,如果有连接事件意味着由于某种原因,580没有通过UART获取数据,如果没有活动(只有直线,则没有表示的峰值有一个有效的连接)意味着软件中出现问题,系统发出重置,或者您遇到了硬盘或NMI处理程序或者存在断言。为了检查这一点,您必须使用调试器来调查原因。
您发送了多少数据,我不认为这与设备摊位的事实有关,如果设备无法应对您发送的数据,它将通过流量控制停止UART发送。尝试在另一边使用标准PC和Android应用程序来检查是否与您附加的外部Micro有关。
谢谢mt_dialog.