ble优化

1.  信道


2. 帧结构



preamble(1 Byte)+ AccessAddress(4 Bytes)+ PDU + CRC(3 Bytes)
1)preamble = 10101010 or 01010101
2)Access Address = 0x8e89bedd6
3)连接以后的数据传输的PDU是:Header(2 Bytes)+ Payload (27 Bytes max)+MIC(4bytes),所以传输一个包的 最大长度是1+4+33+3=41字节,有效数据最大是27字节。
但是这个27字节指的是BLE底层的协议包格式。对于profile层的characteristic,其最大的长度是20字节,也即是每个包最大的长度是20字节.


3. 协议栈

协议可以参考https://wenku.baidu.com/view/3aaa6b4cde80d4d8d05a4f4c.html



关键参数:
Connection Interval通信间隙
通信间隙—蓝牙通信是间断的、跳频的,每次连接都可能选择不同的子频带。跳频的好处是避免频道拥塞,间断连接的好处是节省功耗,通信间隙就是指两次连接之间的时间间隔。这个间隔以1.25ms为基本单位,最小5单位最大3200单位,间隙越小通信越及时,间隙越大功耗越低
multiple of 1.25ms in range of 7.5ms and 4.0s 最小是5个1.25ms=7.5ms
Supervision Timeout最大耐心等待时间
为了创建一个连接,主机允许的最大等候时间,在这个时间内,不停的尝试连接。范围是10个~3200个通信间隙基本单位(1.25ms)
multiple of 10ms in the range of100ms and 32.0s. Must be larger than:(1 + slaveLatency) * (ConnInterval)
Slave Latency 从设备可以忽略的时间
外设与主机建立连接以后,主机总会定期发送问候信息到外设,外设可以忽略的连接事件个数从0到499个,最多不超过32秒。
有效连接间隙= 连接间隙x (1+ 忽略各数
any value between 0 and 499, though it cannot exceed:
((supervisionTimeout / connInterval) – 1)

参数修改:

3.5 Advertising Interval
3.6 Connection Parameters

bluez:


射频PHY传输速率 1Mbps

实际传输速率大约等于: (连接时间间隔设置到7.5ms(协议规定最小值))

一个连接事件传输n个包,则传输速率大约= 1000ms/7.5ms * n*27 


4. 参考

https://wenku.baidu.com/view/3aaa6b4cde80d4d8d05a4f4c.html


猜你喜欢

转载自blog.csdn.net/velanjun/article/details/78206071