蓝牙Mesh基础(4)Bearer Layer (承载层)

为了给不支持蓝牙mesh的设备提供进入网络的机会,在承载层设置了两种承载,以满足不同的需求。

Advertising bearer

广播承载向下对接ble协议的广播扫描功能,所以向外发送的PDU结构需要符合ble广播通道PDU的格式。下图是ble广播PDU格式图:

广播包结构

  • 前导----前导码占一个字节,它有两个值分别为: 10101010b 和 01010101b。数据由硬件实现,当接入地址的最低位为 0 时, 那么前导码为10101010b, 如果是 1 时,前导码为 01010101b,目的是保证报文的前 9 个 bit 都是交替位

  • 接入地址----占4个字节,对广播类型来说是一个固定值:0x8e89bed6,用于减少随机噪声造成伪报文接收的概率

  • 报文类型----占用报头的低4位,共有7种报文类型。

  • 发送地址----占1位,用于说明设备地址类型,为1时表示随机地址,0表示公共地址

  • 接收地址----和发送地址一样

  • 数据净荷长度----用于表示去除报头之外的有效数据净荷长度,4.0协议规定净荷最大长度为37字节,刨除去开头的6字节的设备地址,有效数据就剩了31字节

  • 数据净荷----广播有效数据,数据净荷中还包括6字节的设备地址,上图中忘记画出来了

  • CRC----24位的循环冗余校验

  • 广播数据结构----广播包中的数据部分都是由一系列广播数据结构组成,广播数据结构中包括广播数据结构的长度、AD Type、AD Data

  • Length----广播数据结构的长度

  • AD Type----广播数据结构的类型,比如广播自己蓝牙名字的类型(Local name)为0x08/0x09

  • AD Data----具体的数据,如果AD Type是Local name,那么数据就是蓝牙名字的字符

mesh中AD Type 为Mesh Message。在协议中没有找到Mesh Message对应的16进制数值,提供的链接也未发现对mesh Message的描述链接
AD Data区域存放的是Network PDU

GATT Bearer

为不具有广播承载层的设备提供加入网络的方式。两个设备之间在GATT连接下发送和接收PDU。
代理和配网(配网设备不支持广播承载时)会使用到GATT承载,在PDU转换时使用到的服务分别为Mesh Proxy Service、Mesh Provisioning Services。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值