在我们的设计中,我们有一个传感器,每个传感器每秒产生36kbps的数据。但是,BLE的吞吐量不支持从传感器的那么多的数据传输和中断处理。所以我想使用压缩逻辑来传输数据。该方法应快速无损。使用简单的压缩技术提高我的BLE吞吐量的可能方法是什么?
谢谢
嗨bharath,
DSPS应用程序可以在不使用任何类型的压缩的情况下实现您想要的速度,请检查DSPS应用笔记的性能结果。
谢谢mt_dialog.
现在我们正在使用data_stream配置文件。DSP是否会提供更好的结果?所有修改我应该做些什么,以便从SPI设备读取数据并使用DSP发送它?
如我之前的帖子中所述,可以在第32页检查UM-B-038串行端口服务中的性能结果,您可以找到针对不同类型的操作系统(Android,iOS)和580操作执行的所有测量作为一个中心。
关于SPI修改,我假设您可以从SPI设备读取数据并将数据放置在DSP应用程序的环形缓冲区中,以防您想要仅在连接的另一侧上打印UART上的数据。如果您对使用UART接口根本不感兴趣,您可以检查DSP如何通过蓝牙实现这些数据速率。通常,通过使用较低的连接间隔提高您的吞吐量,通过增加MTU大小,可以删除L2CAP进入数据包的开销。另外,通过使用适当的特性还提高了您的数据速率,例如使用通知,以便从从设备(比指示更有效)发送数据,并且使用Write没有支持此属性的响应命令和特性,以便发送数据你的中心。
我尝试在吞吐量eval示例中更改MTU大小,但它没有工作。当MTU大小仅在每次发送时才发生8到10个字节时。你能告诉我,我在哪里可以将数据从SPI添加到DSP示例中的环形缓冲区?此外,当我运行我的DSP示例时,在Keil中,程序停止而无法调试我的代码。这可能是这个问题的原因?
这个问题可以通过线程解决吗?如何在DA14580中添加一个线程?
关于SPI的DSP和数据,您可以看一下应用程序注意,用于将数据中的函数放置在环形缓冲区中的数据是user_periph_push()从UART到Periph_to_ble_buffer。该函数还检查缓冲区的状态并发送流量。如果不希望此类控件到您的应用程序,则可以使用user_send_ble_data()以直接发送另一侧的数据。
关于在睡眠模式下的停止问题,您无法调试,您必须禁用睡眠模式或启用睡眠模式退出调试模式。
关于线程,580无法使用实际操作系统,以支持线程,处理任务的基本操作系统只是收到消息并将其处理,并不喜欢作为实际操作系统。
嗨bharath,
DSPS应用程序可以在不使用任何类型的压缩的情况下实现您想要的速度,请检查DSPS应用笔记的性能结果。
谢谢mt_dialog.
现在我们正在使用data_stream配置文件。
DSP是否会提供更好的结果?
所有修改我应该做些什么,以便从SPI设备读取数据并使用DSP发送它?
谢谢
嗨bharath,
如我之前的帖子中所述,可以在第32页检查UM-B-038串行端口服务中的性能结果,您可以找到针对不同类型的操作系统(Android,iOS)和580操作执行的所有测量作为一个中心。
关于SPI修改,我假设您可以从SPI设备读取数据并将数据放置在DSP应用程序的环形缓冲区中,以防您想要仅在连接的另一侧上打印UART上的数据。如果您对使用UART接口根本不感兴趣,您可以检查DSP如何通过蓝牙实现这些数据速率。通常,通过使用较低的连接间隔提高您的吞吐量,通过增加MTU大小,可以删除L2CAP进入数据包的开销。另外,通过使用适当的特性还提高了您的数据速率,例如使用通知,以便从从设备(比指示更有效)发送数据,并且使用Write没有支持此属性的响应命令和特性,以便发送数据你的中心。
谢谢mt_dialog.
我尝试在吞吐量eval示例中更改MTU大小,但它没有工作。当MTU大小仅在每次发送时才发生8到10个字节时。
你能告诉我,我在哪里可以将数据从SPI添加到DSP示例中的环形缓冲区?
此外,当我运行我的DSP示例时,在Keil中,程序停止而无法调试我的代码。这可能是这个问题的原因?
谢谢
这个问题可以通过线程解决吗?
如何在DA14580中添加一个线程?
嗨bharath,
关于SPI的DSP和数据,您可以看一下应用程序注意,用于将数据中的函数放置在环形缓冲区中的数据是user_periph_push()从UART到Periph_to_ble_buffer。该函数还检查缓冲区的状态并发送流量。如果不希望此类控件到您的应用程序,则可以使用user_send_ble_data()以直接发送另一侧的数据。
关于在睡眠模式下的停止问题,您无法调试,您必须禁用睡眠模式或启用睡眠模式退出调试模式。
关于线程,580无法使用实际操作系统,以支持线程,处理任务的基本操作系统只是收到消息并将其处理,并不喜欢作为实际操作系统。
谢谢mt_dialog.