【问题标题】:Bluetooth SPP throughput蓝牙 SPP 吞吐量
【发布时间】:2015-11-12 12:33:59
【问题描述】:
我试图弄清楚蓝牙 2.1 SPP 连接的最大吞吐量是多少。
我发现了 2 个与该主题相关的出版物(1、2),它们都显示了图表,显示了作为信噪比函数的吞吐量(我可以假设它非常适合我的考虑) 以及使用的 ACL 包的种类。我的问题是,我不知道使用了哪些 ACL 数据包。这个决定是如何做出的?它是即时制作的,例如“使用传输当前数据所需的内容”?
另外,在Serial Port Profile specification(第2.3章)我发现了这句话:
此配置文件仅需要支持单槽数据包。这意味着该配置文件
确保可以使用高达 128 kbps 的数据速率。对更高速率的支持是可选的。
最后一句话让我很困惑。如何确定此“选项”是否适用于我的情况?
【问题讨论】:
标签:
bluetooth
throughput
spp
【解决方案1】:
这意味着在 SPP 模式下,所有蓝牙模块应该以高达 128kbps 的速度工作,而某些模块可能工作得更快。
在 SPP 下是 RFCOMM,它试图尽可能快地传递数据包。如果在一个时隙中只发送一个数据包,您将获得 128kbps。然而,蓝牙模块的固件或 HCI 驱动程序可以做不同的事情。
报告的 SPP 速度高达 480kbps - 但是这要求两个 SPP 模块来自同一供应商(例如 BlueGiga iWrap 模块可以达到此速度)。
另一方面,如果您要连接到未知设备,例如 BT112,或将 RN41 模块连接到 Android 设备,实际可用的 SPP 带宽可能远低于 128 kbps(我的测量结果为10kbps)。
对于某些老一代 iPhone,可用 SPP 带宽约为 8 kbps。
非常保守地对待“标准”和“数据表”是一个明智的想法,如果实际的净数据带宽很关键,请自行测量。
虽然 BT、BT+EDR 理论上的空中比特率为 3Mbps,但实际可用的净数据带宽要小得多。