利用压缩技术提高BLE的吞吐量

7个职位/ 0个新职位
最后发表
Bharath
离线
最后看到:1年3个月前
加入:2016-04-14 07:03
利用压缩技术提高BLE的吞吐量

在我们的设计中,我们有一个传感器,每秒产生36Kbps的数据。
但是BLE的吞吐量不支持传感器的大量数据传输和中断处理。所以我想用压缩逻辑来传输数据。该方法应该是快速和无损的。
使用简单的压缩技术有哪些可能的方法来提高BLE吞吐量?

谢谢你!

设备:
MT_dialog
离线
最后看到:1个月1天前
工作人员
加入:2015-06-08 34
嗨Bharath,

嗨Bharath,

DSPS应用程序可以达到您想要的速度,而不使用任何类型的压缩,请检查性能结果在DSPS应用程序说明。

由于MT_dialog

Bharath
离线
最后看到:1年3个月前
加入:2016-04-14 07:03
现在我们正在使用数据

现在我们使用的是data_stream配置文件。
DSPS是否有更好的效果?
为了从SPI设备读取数据并使用DSPS发送它,我应该做什么所有的修改?

谢谢你!

MT_dialog
离线
最后看到:1个月1天前
工作人员
加入:2015-06-08 34
嗨Bharath,

嗨Bharath,

正如我之前的帖子中提到的,你可以在UM-B-038串行端口服务中查看性能结果,在第32页,在那里你可以找到针对不同类型的操作系统(android, iOS)和580作为中央操作系统执行的所有测量。

关于SPI修改,我假设您可以从SPI设备读取数据,并将接收到的数据放在DSPS应用程序的环形缓冲区中,以防您只想在连接的另一边的uart上打印数据。如果您对使用UART接口完全不感兴趣,可以检查DSPS是如何通过蓝牙实现这些数据速率的。通常,您可以通过使用更低的连接间隔来提高吞吐量,通过增加MTU大小,您可以消除L2CAP进入包的开销。也通过使用适当的特点还可以改善你的数据速率,例如使用通知来从你的奴隶设备发送数据(比迹象更有效)和使用写没有响应命令和支持该属性的特征从中央为了发送数据。

由于MT_dialog

Bharath
离线
最后看到:1年3个月前
加入:2016-04-14 07:03
我尝试改变MTU大小

在吞吐量评估示例中,我尝试将MTU大小从23更改为23,但没有成功。当MTU大小改变时,每次只发送8到10字节。
请问在DSPS例子中,我可以在哪里将SPI的数据添加到Ring buffer中?
同样,当我运行我的DSPS例子,在keil程序停止,不能调试我的代码。这其中的原因是什么?

谢谢你!

Bharath
离线
最后看到:1年3个月前
加入:2016-04-14 07:03
这个问题能用什么办法解决吗

这个问题可以通过线程来解决吗?
如何在DA14580中添加线程?

MT_dialog
离线
最后看到:1个月1天前
工作人员
加入:2015-06-08 34
嗨Bharath,

嗨Bharath,

关于DSPS和来自SPI的数据,您可以看一下应用程序说明,用于将数据放置到环形缓冲区中的函数是user_peripher_push(),从uart到peripher_to_ble_buffer。该函数还检查缓冲区的状态,并发送一个流。如果你的应用程序不想要这种类型的控制,你可以使用user_send_ble_data()来直接发送数据在另一边。

关于在睡眠模式下无法调试时的停止问题,您将不得不关闭睡眠模式,或者如果启用了睡眠模式,则退出调试模式。

至于线程,580没有一个实际的操作系统来支持线程,处理任务的基本操作系统只是接收和处理消息,与实际操作系统没有什么不同。

由于MT_dialog