我想在很短的时间内反复写入蓝牙低功耗特性的值(作为一个可能的用例,想象一下鼠标).
我通过从iPhone 4S发送包含序列号的数据包来测试程序.在每个发送的数据包之后,序列号加1.
在接收端,使用包含CSR1000 BLE芯片的可编程开发板接收数据包并将接收到的序列号打印到串行连接.
我的问题如下:
一段时间后,数据包开始掉线.前100个数据包在50 Hz时工作正常.从那时起,数据包开始被丢弃.
0x00 - 0x46 received
0x47, 0x48 missing
0x49, 0x4a, 0x4b, 0x4c received
0x4d missing
0x4e, 0x4f, 0x50, 0x51 received
0x52 missing
0x53, 0x54, 0x55, 0x56 received
0x57 missing
...
Run Code Online (Sandbox Code Playgroud)
大多数情况下,一包四个数据包被很好地传输(很少,只有2个数据包).然后,丢失了1-7个数据包.
当我减小特征值大小时,问题仍然存在.
当我以100Hz而不是50Hz写入时,图像是相同的 - 只有在大约35个数据包之后开始出现丢弃,并且在成功传输四个数据包之间丢弃了5-7个数据包.
对于丢失的数据包,无论写入的频率如何,所得到的传输速率都约为5 kbit/s.这显然低于~305 kbit/s,这在技术上可能超过蓝牙低功耗.
当我从开发板向iPhone 4S发送数据包时,问题也发生在相反的方向.同样,5 kbit/s是我得到的最大值.通知机制用于此方案.同样,属性层上不会发生确认.
当我尝试同时向两个方向发送时,事情开始爆发,我必须重置开发板和iPhone 4S.
问题:
这可能是开发板上使用的蓝牙低功耗芯片的问题吗?
如果是的话,为什么问题也会发生在相反的方向,即iPhone作为接收器?
市场上是否有支持高频特性的开发板?
问题的根源可能是什么? …
有谁知道外部蓝牙设备和 iPhone / iPad(4S 及以上)之间的最大数据传输速率。
我读到 BT3.0 中的增强数据速率为 24Mbs - iPhone 可以支持吗?
使用 BT4.0 LTE 的最大数据量是多少?
多谢你们!