首页 > 解决方案 > 用于 BLE 任务的 Adafruit 库会牺牲性能吗?

问题描述

Adafruit_BluefruitLE_nRF51库是否会为了功能和与 adafruit 其他设备的兼容性而牺牲 BLE 速度?在 adafruit 的BLE FAQ 页面中,他们有这个部分:

BLE的理论限速是多少?

这取决于多种因素,并且取决于中央设备(手机等)和外围设备的能力。考虑到 nR51822 的硬件限制(每个连接间隔最多 6 个数据包,最小连接间隔为 7.5 毫秒),您最终会在各种移动操作系统上得到以下理论限制:

iPhone 5/6 + IOS 8.0/8.1
6 packets * 20 bytes * 1/0.030 s = 4 kB/s = 32 kbps
iPhone 5/6 + IOS 8.2/8.3
3 packets * 20 bytes * 1/0.030 s = 2 kB/s = 16 kbps
iPhone 5/6 + IOS 8.x with nRF8001
1 packet * 20 bytes * 1/0.030 s = 0.67 kB/s = 5.3 kbps
Nexus 4
4 packets * 20 bytes * 1/0.0075 s = 10.6 kB/s = 84 kbps
Nordic Master Emulator Firmware (MEFW) with nRF51822 0.9.0
1 packet * 20 bytes * 1/0.0075 = 2.67 kB/s = 21.33 kbps
Nordic Master Emulator Firmware (MEFW) with nRF51822 0.11.0
6 packets * 20 bytes * 1/0.0075 = 16 kB/s = 128 kbps

Bluefruit LE 固件也有一些限制,但我们正在积极努力在即将发布的 0.7.0 版本中显着提高吞吐量,该版本将于 2016 年第二季度推出。上述数据可用作确定 BLE 是否可用的理论最大值是否适合您的项目。

我还注意到他们在图书馆中找到的示例中如何通过 BLE 发送数据的一些奇怪示例,而且它似乎效率低下。

我必须在 adafruit 的 BLE SPI Friend 上非常可靠地使用 BLE,并且我可以从它以及支持 STM32 SPI 的微控制器中获得最高带宽。由于性能不佳,我应该避免选择这个库吗?我应该使用 Nordic Semiconductors IDE 之类的东西来获得最佳性能吗?还有什么建议吗?

标签: bluetooth-lowenergystm32spiadafruit

解决方案


nRF52832 自己很容易做到 700kbps,仅供参考。


推荐阅读