本文介绍了蓝牙低功耗 - 重复更新的特征值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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的点。


问题:


  • 这可能是蓝牙低耗能芯片的问题,就是在开发板上使用?

    如果是,为什么问题也出现成相反的方向,其中,在i​​Phone充当接收机

    是否有支持高频率的访问特性在市场上的任何开发板?


  • 这可能是什么问题的根源?

    请还尝试引用蓝牙规格/ 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问​​题

这篇关于蓝牙低功耗 - 重复更新的特征值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-29 03:47