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
扫描二维码关注公众号,回复:
3176737 查看本文章
关键参数:
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