8个帖子/ 0新
最后一篇
davidra7
离线
Last seen:1年5个月前
加入:2016-09-11 13:06
DSP和功耗

你好,
我正在使用Murata Lbca2hnzyz-711与最新SDK5的DSP,它效果很好。
我们的项目的一部分,我们需要改善c的力量onsumption.
我有几个问题/问题:
1. In the project I tried to enable CFG_POWER_OPTIMIZATIONS flag and there is no difference ,what it does?
2. I enabled the Extended Sleep and I was able to connect but the data stops to flow after approx 1 second, how I configure the wake up ?
3.我的计划是在广告而非连接状态的同时启用睡眠,有没有选择在广告期间启用睡眠?

Thanks,
大卫

设备:
MT_dialog
离线
Last seen:1个月1周前
职员
加入:2015-06-08 11:34
Hi davidra7,

Hi davidra7,

1. CFG_POWER_OPTIMIZIZATIONS是整个SDK 5的一系列改进,关于休眠时间计算和电源管理,默认情况下,在DSP和SDK中应启用这一点。

2.当您在延长睡眠下运行时,您无法使用调试器,您必须停止调试。调试器不会让580睡觉。

这已经实现了这一点,DSP在广告间隔和连接间隔之间睡眠。只需在扩展睡眠模式下设置项目,您应该能够看到此功能。

Thanks MT_dialog

davidra7
离线
Last seen:1年5个月前
加入:2016-09-11 13:06
你好,

你好,
Thanks for fast answer I really appreciate it!

在问题2中我可能会解释自己的错误,问题不是调试的一部分。
our product has 3 states:
待机。
2. connected.
3. connected and sending data,

当扩展标志在状态下,1&2工作得很大,但第3阶段停止在1秒后工作。数据开始流到Android设备并停止。
解决方案是在连接状态后禁用睡眠功能?或者你可能有一个不同的解决方案?
连接后如何禁用睡眠?

另一个小问题只是为了知道,通过接下来的2个步骤延长睡眠:
1. #undef CFG_MEM_MAP_EXT_SLEEP -> #define CFG_MEM_MAP_EXT_SLEEP
2. set app_default_sleep_mode to ARCH_EXT_SLEEP_ON ?

Thanks,
大卫

MT_dialog
离线
Last seen:1个月1周前
职员
加入:2015-06-08 11:34
Hi davidra7,

Hi davidra7,

我真的没有真正得到你的意思,DSPS代码在连接时检查了DSP缓冲区中是否存在数据,如果有数据它会自动禁用睡眠状态,以便收听UART端口并在发送缓冲区中推送数据。如果缓冲区中没有数据,再次启用睡眠,并且设备在连接间隔之间睡眠以睡眠,因此即使启用睡眠标志(Arch_sleep_off),FW将自动切换睡眠模式并禁用休眠状态。这是DSP的当前功能。现在,由于您可以说您可以启动广告,连接然后开始发送数据,但在一个秒后设备摊位后,大多数可能在设备处于睡眠模式时尝试调试代码。只需下载代码和退出调试程序,然后尝试将数据连接到手机。您只能在设备处于睡眠模式时使用调试功能。

关于第2问题,您提到的第一个定义是用于580的内存配置,无论是延长睡眠(在没有使用睡眠时使用)或深睡眠。为了启用扩展睡眠,您所要做的就是将App_default_sleep_mode更改为Arch_ext_sleep_on。

Thanks MT_dialog

davidra7
离线
Last seen:1年5个月前
加入:2016-09-11 13:06
你好,

你好,
我会尝试解释我在做什么,我编译DSP并获取十六进制文件,只有我使用智能片段编程它。
我在睡眠期间没有调试(我不能),如果睡眠不活跃,我会很棒,但如果睡眠活动,它会停止转移到大约。1秒。
也许它将有助于但我们以250Hz的速率发送数据包,也许我们需要更改一些参数?

谢谢 !!
大卫

MT_dialog
离线
Last seen:1个月1周前
职员
加入:2015-06-08 11:34
Hi davidra7,

Hi davidra7,

我可以通过智能片段完成您编译和下载代码的部分。我没有得到的是250Hz率的数据包,你的意思是什么?DSP将从UART获取数据,并尽可能快地将其传递给另一侧。我没有看到任何原因会在1秒后停止传输在睡眠模式下,我可以想到的是HW流量控制可能出现问题,你是否做了正确的连接,以便设备使用HW流量控制,还让您在RTS / CTS模式下配置了终端吗?在停止发射机或设备摊位后,设备是否保持连接?

Thanks MT_dialog

davidra7
离线
Last seen:1年5个月前
加入:2016-09-11 13:06
你好,

你好,
I configured the RTS & CTS. everything works perfectly when app_default_sleep_mode = ARCH_SLEEP_OFF.

The problem starts when app_default_sleep_mode = ARCH_EXT_SLEEP_ON.

When the problem happens the Murata stops transferring/getting data , it seems like the Murata stopped working.

注意:我正在使用连接到Murata Thorugh Uart的外部微控制器。

我们发送大约。4kb 1秒。

Thanks,
大卫

MT_dialog
离线
Last seen:1个月1周前
职员
加入:2015-06-08 11:34
Hi davidra7,

Hi davidra7,

如果设备之间的连接仍然保持或完全崩溃,您可以从电源分布器中看到吗?检查是否可以在电源分析器中看到连接事件,如果有连接事件意味着由于某种原因,580没有通过UART获取数据,如果没有活动(只有直线,则没有表示的峰值有一个有效的连接)意味着软件中出现问题,系统发出重置,或者您遇到了硬盘或NMI处理程序或者存在断言。为了检查这一点,您必须使用调试器来调查原因。

How much data you send over UART i dont think that has something to do with the fact that the device stalls, if the device cant cope with the data you send, it will stop the UART transmition via the flow control. Try to use a standard PC and the android application on the other side to check if has something to do with external micro that you ve attached.

Thanks MT_dialog