ble 空口包格式

本文详细介绍了蓝牙低功耗(BLE)的空口包结构,包括Uncoded PHY和Coded PHY包格式,以及AdvertisingChannelsPDU和DateChannelsPDU的内容。BLE使用非授权的2.4GHz ISM频段,通过跳频技术增强抗干扰能力。文中还阐述了不同类型的PDU,如ADV_IND、SCAN_REQ、CONNECT_IND等,以及它们在连接和数据传输中的角色。此外,还涉及了BLE5.1新增的Constant Tone Extension在AoA/AoD定位中的应用。


一、ble 空口包简介

BLE 工作在非授权的 2.4 GHz ISM 频段,采用跳频的方式来对抗干扰和衰落,定义了两种调制方式:

  • 强制调制方式:使用整形的二进制频率调制来最小化收发器的复杂性,符号率为 1 Msym/s,是设备必须支持的,支持两种 PHY:
    • LE 1M:Uncoded PHY,数据传输率为 1 Mb/s
    • LE Coded:Coded PHY,Access Address、Coding Indicator、TERM1 数据传输率为 125 kb/s(S=8 coding),Payload 数据传输率为 125 kb/s(S=8 coding) 或 500 kb/s(S=2 coding),由于引入了 FEC 编解码以及 Pattern Mapper 和 Demapper,虽然增加了接收机复杂度降低了传输速率,但使得蓝牙设备能更远距离的传输数据,从而更好地适应物联网应用
  • 可选调制方式:与强制调制方式类似,符号率为 2 Msym/s,是设备可选支持的,只支持一种 PHY:
    • LE 2M,Uncoded PHY,数据传输率为 2 Mb/s

二、Uncoded PHY 包格式(LE 1M 或 LE 2M PHY)

在这里插入图片描述

1. Preamble

前导部分,是最先传输的部分,用于接收方进行频率同步,符号时序评估和自动增益控制训练,如果在 LE 1M PHY 上传输数据包长度为 1B,在LE 2M PHY 上传输数据长度为 2B
Preamble 是 1010 或者 0101 的序列,根据 Access Address 的 LSB 来决定,LSB 是1,则前导是 1010,否则是 0101
在这里插入图片描述

2. Access Address

接入地址,空口包中标识设备身份,根据 Access Address 的不同,空口包分为两种类型:

  • advertising channels PDU:固定为 0x8E89BED6,ADV_IND, SCAN_REQ, SCAN_RESP, CONNECT_IND 只能在 37/38/39 信道上传输
  • date channels PDU:一个 32bit 的随机值,只在其余37个数据信道上传输,是连接成功后两设备用于数据收发的

3. PDU

空口包数据部分,长度 2 - 258 字节,包括 advertising channels PDU 和 date channels PDU

4. CRC

包含 PDU 域的 CRC 24 的数据

5. Constant Tone Extension

这个域是 BLE 5.1 新增的,最主要的功能是 AoA/AoD (蓝牙定位)的应用,是一个可选的数据项

三、Coded PHY 包格式(LE 1M PHY)

在这里插入图片描述
在这里插入图片描述

  1. preamble
    不编码,共 80 bits,(重复 10 次 00111100 )

  2. CI(Coding Indicator)
    在这里插入图片描述

  3. PDU
    同 Uncoded PHY,因 CI/TERM1/TERM2 占用了 1 个字节,其长度 2 - 257 字节

四、Advertising Channels PDU

使用广播信道的包有多种,如 ADV_IND, SCAN_REQ, SCAN_RESP, CONNECT_IND, 其 AA 为特定值 0x8E89BED6,PDU 包括 Header 和 Payload
在这里插入图片描述

1. Header

a. PDU Type

在这里插入图片描述

b. ChSel

  • 0 - 设备不支持信道选择算法2
  • 1 - 设备支持信道选择算法2

c. TxAdd

  • 0 - 设备地址是 public 类型
  • 1 - 设备地址是 random 类型

d. RxAdd

  • 0 - 对端设备地址是 public 类型
  • 1 - 对端设备地址是 random 类型

e. Length

后面 Payload 的长度,1 - 255 字节

2. Payload

a. Advertising PDU

i. ADV_IND

可连接的,可扫描的,不定向的广播包,是经典和常用的广播包
可连接:其它设备可以发送 CONNECT_IND
可扫描:其它设备可以发送 SCAN_REQ,本设备也会回复 SCAN_RSP
在这里插入图片描述

  • AdvA:本机即广播者设备地址,由 header 中的 TxAdd 指示类型
  • AdvData:广播数据,0 - 31 字节,可由本机即广播者 Host 设置

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值