跳转到主要内容

dsp不使用RTS和CTS

DA14531 SmartBond小模块

1个月前

发布的Markus.Wichgers40分 3回复
0的问题

我使用DA14531 smartbond模块创建一个“透明”UART连接(dsp)在我们的应用程序和智能手机(安卓)之间。
在我们的应用程序,我们没有别针RTS和CTS连接单片机。有可能禁用使用RTS和CTS别针在软件吗?我们使用的是标准的“dsps_device”项目在我们DA14531 smartbond模块。
或者有可能连接RTS CTS销常数高或低信号,以防止RTS / CTS流控制吗?

1个月前

PM_Dialog

嗨Markus.Wichgers,

感谢在我们的论坛上发布你的问题,也感谢你的兴趣在我们DA14531MOD解决方案。

不幸的是,没有无法禁用UART HW流控制(RTS / CTS)的应用程序。HW流控制的dsp提供和支持。

需求方使用延长睡眠模式,所以设备通过CTS醒来UART当传入的数据。请记住,芯片处于睡眠模式(延长睡眠在dsp)的情况下,它会睡在广告或连接的时间间隔。在睡眠期间,所有外围模块(包括UART)供电,功耗降低。此外,硬件流控制是用来处理UART上的数据。

由于这是一个“data-pumping”应用程序中,我强烈推荐使用无代码和二进制模式。

//www.xmece.com/亚博电竞菠菜products/smartbond-codeless-commands

二进制模式的目的是用于数据泵在蓝牙无编码的设备传输数据而不检查它的内容,这是首选的端到端传输原始数据的方法。

http://lpccs - docs.dialog semiconductor.com/um - 140 - da145x codeless/binarymode.html

它非常类似于dsp和没有必要HW流控制。

另一个解决方案,这是强烈不推荐在主动模式是使用需求方

const静态sleep_state_t app_default_sleep_mode = ARCH_SLEEP_OFF;

和地面CTS信号。

在这个实现中,你会有一个问题,如果堆完全填满。在这种情况下,DA14531会流掉,因为它是无法接收任何即将到来的数据,但对等设备不会意识到这种为了通过UART停止数据传输。这意味着一些数据将丢失。这种情况可以发生在2个方面:

我在UART)外部单片机发送数据的速度非常高

ii) BLE链接不够好,所以一些数据可能会被重新传输

当然,我们不能提供任何保证的方法,随着dsp与HW支持流量控制和扩展的睡眠模式。能源消耗也会增加!

谢谢,PM_Dialog

1个月前

Markus.Wichgers 40分

你好,

非常感谢你的快速回复。

我们只有一个非常小的数据量(25字节每500 ms)和目前模块只用于一个概念证明。因此,我们将呆在这一刻的需求方解决方案,因为android的解决方案非常简单。

最好的问候,

马库斯

1个月前

PM_Dialog

嗨Markus.Wichgers,

在无代码的情况下,您可以使用SmartConsole应用程序。源代码可供iOS和Android . .

谢谢,PM_Dialog