在我们的设计中,我们有一个每秒产生36Kbps数据的传感器。但是BLE的吞吐量不支持来自传感器的如此多的数据传输和中断处理。所以我想用压缩逻辑来传输数据。该方法应快速无损。使用简单的压缩技术有哪些可能的方法来提高我的BLE吞吐量?
谢谢你
嗨,巴拉斯,
在不使用任何压缩的情况下,DSPS应用程序可以达到您想要的速度,请查看DSPS应用程序说明中的性能结果。
谢谢你的对话
现在我们正在使用数据流配置文件。dsp能提供更好的结果吗?为了从SPI设备读取数据并使用dsp发送数据,我应该做哪些修改?
正如我在上一篇文章中提到的,您可以在第32页的UM-B-038串行端口服务中查看性能结果,在那里您可以找到针对不同类型的操作系统(android、iOS)和作为中央处理器运行的580执行的所有测量。
关于SPI修改,我假设您可以从SPI设备读取数据,并将接收到的数据放在DSPS应用程序的环形缓冲区中,以防您只想在连接另一端的uart上打印数据。如果您对使用UART接口不感兴趣,您可以检查dsp如何通过蓝牙实现这些数据速率。一般来说,您可以通过使用较低的连接间隔来提高吞吐量,通过增加MTU大小,您可以消除L2CAP进入数据包的开销。另外,通过使用适当的特性还可以提高数据速率,例如使用通知以便从从属设备发送数据(比指示更有效),使用无响应写入命令和支持此属性的特性以便从中央设备发送数据。
在吞吐量评估示例中,我尝试将MTU大小从23改为23,但没有成功。当MTU大小改变时,每次只发送8到10个字节。你能告诉我在哪里我可以添加数据从SPI到环缓冲区在DSP的例子?同样,当我运行我的DSPS示例时,在keil中程序停止并且无法调试我的代码。原因可能是什么?
这个问题可以通过线程解决吗?如何在DA14580中添加线程?
关于DSP和来自SPI的数据,您可以看一下应用说明,用于将数据放入环形缓冲区的函数是user\u periph\u push(),从uart到periph\u to ble\u缓冲区。该函数还检查缓冲区的状态并发送流。如果您不想在应用程序中使用这种控件,可以使用用户\u send \u ble \u data()直接在另一端发送数据。
关于在睡眠模式下无法调试时的停止问题,您必须禁用睡眠模式,或者如果启用了睡眠模式,则退出调试模式。
关于线程,580没有一个实际的操作系统来支持线程,处理任务的基本操作系统只是接收消息并处理它们,没有什么真正的操作系统。
嗨,巴拉斯,
在不使用任何压缩的情况下,DSPS应用程序可以达到您想要的速度,请查看DSPS应用程序说明中的性能结果。
谢谢你的对话
现在我们正在使用数据流配置文件。
dsp能提供更好的结果吗?
为了从SPI设备读取数据并使用dsp发送数据,我应该做哪些修改?
谢谢你
嗨,巴拉斯,
正如我在上一篇文章中提到的,您可以在第32页的UM-B-038串行端口服务中查看性能结果,在那里您可以找到针对不同类型的操作系统(android、iOS)和作为中央处理器运行的580执行的所有测量。
关于SPI修改,我假设您可以从SPI设备读取数据,并将接收到的数据放在DSPS应用程序的环形缓冲区中,以防您只想在连接另一端的uart上打印数据。如果您对使用UART接口不感兴趣,您可以检查dsp如何通过蓝牙实现这些数据速率。一般来说,您可以通过使用较低的连接间隔来提高吞吐量,通过增加MTU大小,您可以消除L2CAP进入数据包的开销。另外,通过使用适当的特性还可以提高数据速率,例如使用通知以便从从属设备发送数据(比指示更有效),使用无响应写入命令和支持此属性的特性以便从中央设备发送数据。
谢谢你的对话
在吞吐量评估示例中,我尝试将MTU大小从23改为23,但没有成功。当MTU大小改变时,每次只发送8到10个字节。
你能告诉我在哪里我可以添加数据从SPI到环缓冲区在DSP的例子?
同样,当我运行我的DSPS示例时,在keil中程序停止并且无法调试我的代码。原因可能是什么?
谢谢你
这个问题可以通过线程解决吗?
如何在DA14580中添加线程?
嗨,巴拉斯,
关于DSP和来自SPI的数据,您可以看一下应用说明,用于将数据放入环形缓冲区的函数是user\u periph\u push(),从uart到periph\u to ble\u缓冲区。该函数还检查缓冲区的状态并发送流。如果您不想在应用程序中使用这种控件,可以使用用户\u send \u ble \u data()直接在另一端发送数据。
关于在睡眠模式下无法调试时的停止问题,您必须禁用睡眠模式,或者如果启用了睡眠模式,则退出调试模式。
关于线程,580没有一个实际的操作系统来支持线程,处理任务的基本操作系统只是接收消息并处理它们,没有什么真正的操作系统。
谢谢你的对话