问题描述
Follow-Up电气工程Stackexchange问题
我要反复写在很短的时间量的蓝牙低功耗特性值(作为一个可能的使用情况下,想象一个鼠标)。
- 有128位UUID的特点就是 20字节长。因此,它可以被写成单个低能事务。
- 写发生在50 Hz的频率,等于写的每20ms一次
- 因此,20 * 50 * 8 = 8 kbit / s的被写入文件。
- 我使用的命令 / 撰写无反应模式来写的特点。因此,没有确认发生属性层上。
- 没有其他蓝牙或蓝牙低功耗设备相连接。没有什么是通过WLAN进行。没有其他的特性在测试期间读取或写入。
我测试通过发送从iPhone 4S的含有序列号的分组方案。序列号由一个各发送分组之后递增。
在接收侧,可编程开发板,其包括一个的BLE芯片中,使用接收的报文,并打印所接收的序列号的串行连接。
我的问题如下:
-
一段时间后,包开始越来越下降。第一〜100个数据包做工精细@ 50赫兹。从此,包开始越来越下降。
0×00 - 0×46收到
0X47,0x48失踪
0x49,0x4a,0x4b,收到0x4c
送出0x4d失踪
0x4e,0x4f,为0x50,0x51收
0×52失踪
0x53,0x54,将0x55,0x56收
失踪的0x57
...大多数情况下,四包一包的传输精(很少,只有2包)。然后,1-7分组丢失。
当我减少的特征值的大小,问题依然存在。
当我写在100Hz,而不是为50Hz,画面是一样的 - 只有那滴开始约35文后存在的和5-7包四包的成功传输之间降至
使用该丢失的分组,将所得的传输速率是大约为5千比特/秒,而不管写入的频率。这显然是低于305〜kbit / s的,应该是技术上可以通过蓝牙低功耗。
-
该问题也将出现相反方向,当我从开发板到iPhone 4S的发送数据包。同样,5 kbit / s的是,我得到的最大值。通知机制用于此方案。同样,没有确认发生属性层上。
-
当我尝试在两个方向上同时发送,做起事情来炸毁的地方我一定要复位两个开发板和iPhone 4S的点。
问题:
-
这可能是蓝牙低耗能芯片的问题,就是在开发板上使用?
如果是,为什么问题也出现成相反的方向,其中,在iPhone充当接收机
是否有支持高频率的访问特性在市场上的任何开发板?
-
这可能是什么问题的根源?
请还尝试引用蓝牙规格/ presentation幻灯片/品及其零件,除了假设。
有存在的市场上低功耗蓝牙鼠标。小鼠有125赫兹的典型轮询率,必须至少派两名16字节值加上每个时钟周期的额外开销HID。因此,对于我的问题的解决方案应该是可用的。
更新
的 LE连接完成事件的中的蓝牙规范4.0版第2卷第E部分章节7.7.65.1描述的。我收到下面的值不同的连接参数:
参数值说明
--------------------------------------------------
Conn_Interval 0x0054时间= 105毫秒
Conn_Latency为0x0000时间= 0毫秒
Supervision_Timeout 0x00fc时间= 2520毫秒
Master_Clock_Accuracy 0×05 50ppm的
发行5千位一的连接参数更新的解决了这个问题,并提高吞吐量/ s到〜33 kbit / s的。然而,这是预期的〜305千比特/秒仍低于
Conn_Interval = 0x000f = 18.75毫秒
Conn_Latency = 0×0000
Supervision_Timeout = 0x00fc
有没有什么方法来达到全〜305 kbit / s的?
Follow-Up电气工程Stackexchange问题
这篇关于蓝牙低功耗 - 重复更新的特征值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!