我正在试图找出蓝牙2.1 SPP连接的最大吞吐量。
我找到了2个与该主题相关的出版物(1,2),它们都显示了图表,显示了吞吐量与信噪比的函数关系(我可以假设是完美的我的concideration)和使用的ACL包的种类。我的问题是,我不知道使用了哪些ACL数据包。这个决定是如何做出的?它是在飞行中制作的,例如"传输当前数据所需的是"?
此外,在Serial Port Profile specification(第2.3章)中,我找到了这句话:
此配置文件仅需要支持一个插槽的数据包。这意味着此个人资料 确保可以使用高达128 kbps的数据速率。支持更高的费率是可选的。
最后一句话让我很困惑。我怎样才能知道这个"选项"适用于我的情况?
答案 0 :(得分:6)
这意味着在SPP模式下,所有蓝牙模块应最高工作速率为128kbps,某些模块可能工作速度更快。
SPP下是RFCOMM,它试图尽快传送数据包。如果在一个时隙中只发送一个数据包,则获得128kbps。然而,蓝牙模块的固件或HCI驱动程序可以做不同的事情。
报告的SPP速度高达480kbps - 但这需要两个SPP模块来自同一供应商(例如BlueGiga iWrap模块可以达到此速度)。
另一方面,如果您要连接到Android设备的未知设备(例如BT112或RN41模块),实际可用的SPP带宽可能远低于128 kbps(我有测量结果)低至10kbps)。
对于某些老一代iPhone,可用的SPP带宽约为8 kbps。
对待"标准"是明智的想法。和"数据表"非常保守,如果实际净数据带宽很重要,请自行测量。
即使BT,BT + EDR具有3Mbps的理论空中比特率,实际可用的净数据带宽也要小一些。