BLE一些概念 (转载)

原文见 https://www.cnblogs.com/wahahahehehe/p/15094324.html

1. 物理信道

低功耗蓝牙的工作频段为2.4GHz,这个唯一一个在所有国家都无需授权的频段。

BLE将2.4GHz频段分为40个RF射频信道,每个信道2M宽度,最低的中心频率为2402MHz,最高的中心频率为2480MHz。同一时刻,只能用一个信道进行数据的收发。

image

物理信道从0 ~ 39进行编号。index却是,PHY CH0对应37,PHY CH12对应38,PHY CH39对应39。BLE4.2规定,Advertising、Scanning、Initiating 状态只允许在 37、38、39信道上执行数据的收发,这样做的目的是与WIFI的频段隔离,起到抗干扰的作用在Connection连接状态下可以使用其余37个信道传输数据,并通过跳频技术(Hopping),减少信道干扰增强系统的鲁棒性

image

2. 设备地址

同一时刻,在2.4GHz频段下,蓝牙设备是如何辨别各种需要通信的对象呢?此时就需要给每个BLE设备分配一个ID,及设备地址Device Address,共48 bits。

低功耗蓝牙设备地址分配如下:

image

2.1 公共地址

public device address的地址由company assigned [24 bits] 和 company id [24 bits] 构成,需向蓝牙组织申请。

2.2 随机地址

随机地址用的更广泛,有细分为两类:

  • 静态地址

  • 私有地址

    • 不可解析的私有地址

    • 可解析的私有地址

2.2.1 静态地址

规则如下:

  • 最高两bit恒定为 11

  • 上电的时候随机生成,并且在一个上电周期内保持不变

  • 除开最高两位,剩余的46bits是一个随机数,不能全部为0,也不能全部为1

  • 下一次上电的时候可以改变。但不是强制的,因此也可以保持不变。

2.2.2 私有地址

(1)不可解析的私有地址

Non-resolvable private address会定时更新。更新的周期称是由GAP规定的,称作T_GAP(private_addr_int) ,建议值是15分钟。要求如下:

  • 最高两bit恒定为 00
  • 除开最高两位,剩余的46bits是一个随机数,不能全部为0,也不能全部为1
  • 以T_GAP为周期,定时更新
  • 此地址不能和 public device address 冲突。

(2)可解析的私有地址

这种地址也称 RPA 加密地址,只能被拥有相同 Identity Resolving Key (IRK) 的设备扫描到,可以防止被未知设备扫描和追踪。规则如下:

  • 最高两bit恒定为 10
  • 至少在 random part of prand 有一个 1和一个0
  • prand 除了最高两位以外,是一个随机数
  • hash 部分是通过公式 hash = ah(IRK, prand) 计算出来的 hash 值

5. 空口包格式

BLE的数据都是在空中进行传输的,在协议中定义为 Air Interface Packets,俗称空口包,BLE链路层(Link Layer)定义其格式为:

image

5.1 Preamble

Preamble,前导帧,长度为一个字节,只有0x55和0xAA两种取值,根据Access Address的第一个bit,由PHY层自动调整。

image

由于BLE信号功率强度可以从-90dBm ~ 10dBm,即80dB,接收机需要通过前到帧这样一串0、1交替序列调整增益参数,以适配不同功率的射频信号,优化数据包的鲁棒性。

5.2 Access Address

Access Address,接入地址,用来表示接收者ID或者空中包身份,根据Access Address的不同,可以将空口包分为:广播包数据包

  • 广播包的Access Address固定为0x8E89BED6,在37/38/39广播信道上传输。
  • 数据包的Access Address为一个32 bits的随机值,由Initiator生成,用于设备一对一通信时使用,即用于连接时的master和slave之间通信的。在剩下的37个数据信道传输。每建立一次连接,重新生成一次Access address。

5.3 PDU

PDU,Protocol Data Unit,协议数据单元。是BLE数据传输的基本单元,BLE在不同状态下的PDU组成也不同。

5.4 CRC

24 bits的PDU的CRC校验数据,初始向量为:

image

  • 11
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值