找回密码
 立即注册

使用微信账号登录

只需一步,快速开始

查看: 5611|回复: 2

[TI] 蓝牙BLE协议栈各层介绍与蓝牙技术联盟认证

[复制链接]

暂无签到数据

发表于 2018-3-30 11:29:15 | 显示全部楼层 |阅读模式

马上注册,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册  

×
一,协议栈各层介绍

1、物理层规范(PHY)

        射频方面,BLE工作在免费的2.4GHz ISM(Industrial Scientific Medical)频段,其频带是2400 -2483.5MHz,BLE的调制方式是高斯频移键控(GFSK),BT=0.5,而标准蓝牙技术是0.35,0.5的指数接近高斯最小频移键控(GMSK)方案,可以降低无线设备的功耗要求(这方面的原因比较复杂)。更低调制指数还有两个好处,即提高覆盖范围和增强鲁棒性;二进制“1”和“0”分表表示正频偏和负频偏,在使用频谱仪(N9020A)测试频偏时需要提前知道其背离频率;发射功率范围在-20dBm~+10dBm之间(天线增益为0dBi情况下);误比特率为0.1%的情况下,接收灵敏度小于-70dBm;通信距离可到达100m;传输速率为1Mbps;数据包间对中心频率的偏移应当小于±150kHz,其中包括了初始的频率补偿和频率漂移;在一个数据包内,频率偏移应当小于150kHz,最大的频率偏移率不能超过400Hz/us,一般要求在±20PPM以内即可。

        相对于传统蓝牙而言,传统蓝牙可以增强数据率,可支持2或3Mb/s的总空气比特率。这些模式分别被称为基本速率(BR)和增强数据率(EDR)。定义了两种调制模式。强制模式被称为基本速率,使用一个成型的二进制FM调制从而将收发器的复杂程度降至最低。可选模式被称为增强数据率,使用PSK调制并存在两个变量:π/4-DQPSK和8DPSK。所有调制程序的符号率是1 Ms/s。就总空中传输数据率而言,基本速率为1 Mbps,使用π/4-DQPSK的增强数据率为2 Mbps,而使用8DPSK的增强数据率为3 Mbps。

        信道结构方面,BLE系统采用跳频收发机提供多个跳频序列载波,抵抗干扰和衰减。BLE信道分为广播信道与数据信道,数量分别为3和37。系统提供两种复用方案:频分多址和时分多址。在频分复用方案中,40个信道间的频率间隔为2MHz,中心频率分别为2402+k*2MHZ,其中k是0—39之间的任意整数,k等于0,12,39时信道为广播信道,其他值时为数据信道;在时分复用方案中,两个正在通信的设备,通过轮训的方式在预定好的时间单元中收发数据。数据传输是采样自适应跳频的方式在37个数据传输信道中传输有效数据包,该技术主要是为了防止单一信道堵塞而导致的问题。

2、链路层规范(LL)

    1)链路层的功能

        链路层使用链路协议来控制网络中设备的状态,并且提供管理下层的服务。低功耗蓝牙设备有五个工作状态,分别是:待机状态、广播状态、扫描状态、初始化状态、和连接状态。链路层控制器一个时刻内只允许设备处于上述5个状态之一。

        待机状态:默认状态,不能发送接收任何数据包,任何其他状态都可以直接进入待机状态。

        广播状态:广播状态可由待机状态切换进入,设备在3个广播信道发送广播数据包,同时在当前信道监听和回复扫描者可能发送的扫描数据包。处于广播状态下的设备称为广播者。

        扫描状态:扫描状态可由待机状态切换进入,设备在3个广播信道监听远程设备发出的广播数据包,同时发送扫描数据包,等待广播者的扫描回复信号。处于扫描状态下的设备称为扫描者。

        初始化状态:初始化状态可由待机状态切换进入,设备在广播信道监听回复远程设备的广播数据包,从而发起设备之间的连接。处于初始化状态下的设备称为发起者。

        连接状态:连接状态可以从初始化状态和广播状态进入,此时发起者作为主设备,确定传输时隙,广播者作为从设备,双方在数据信道以跳频的方式进行数据传输。

        协议数据单元:大小为2字节~39字节,根据不同数据包类型而不同。


广播信道协议数据单元:由包头和有效荷载2部分组成。具体格式如下表所示。

包头(16位)
有效荷载
PDU类型
RFU
TxAdd
RxAdd
Length
RFU
(由包头中的长度位标志)

    其中PDU类型如下表所示。

PDU 类型
数据包名称
0000
ADV_IND
0001
ADV_DIRECT_IND
0010
ADV_NONCONN_IND
0011
SCAN_REQ
0100
SCAN_RSP
0101
CONNECT_REQ
0110
ADV_SCAN_IND
0111-1111
Reserved

数据信道协议数据单元:由包头、有效荷载和可选的信息完整性检查(MIC)组成,格式如表2‑5所示。信息完整性检查在没有加密的链路连接,或者加密了但数据协议数据单元长度为0的情况下使用。LL DataPDU 是用来发送L2CAP数据,而LL Control PDU是用来控制连接链路的。

        数据信道协议数据单元格式如下表所示

包头(16位)
有效荷载
信息
完整性检
(32 位)
LLID
NESN
SN
MD
RFU
Length
RFU
LL DATA PDU
LL Control PDU

        CRC:3字节的CRC是根据PDU计算的。如果PDU已加密,则CRC根据加密后的PDU计算。CRC多项式的形式自行百度。对于任一个广播信道PDU,移位寄存器应该预设为0x555555;对于每一个数据信道PDU,移位寄存器的预设值在连接状态时,从连接请求PDU中得出。

3、HCI规范

        HCI是连接主机和控制器的桥梁,提供主机访问下层协议、硬件和控制寄存器的统一接口。HCI实际为三部分:HCI 固件、HCI驱动和实际物理接口。

        HCI固件:HCI固件位于蓝牙控制器中,固件主要内容有:中断向量表、堆栈设计、初始化程序和蓝牙处理程序。HCI固件通过访问控制硬件状态寄存器、控制寄存器、事件寄存器、基带命令和链路管理命令执行HCI命令。蓝牙系统的MCU在蓝牙处理程序控制下,会读取来自上层协议栈的命令,然后根据命令配置基带层的相应寄存器。反之基带层接收到信息后反馈给MCU,MCU通过HCI物理接口递交这些信息至上层协议栈,上层协议栈根据这些信息,再产生新的命令进行处理。

        HCI驱动:HCI驱动位于蓝牙主机中,也就是协议结构中HCI软件驱动部分。当某个事件触发时,控制器通过事件方式通知主机,主机则接收该事件的异步通知。当主机发现有事件发生时,它将分析收到的事件包并判断事件类型,做出相应的处理。

前海蓝亚,专注BQB认证服务,QQ:3158331799

        实际物理接口:作为HCI接口的实际物理实体,位于HCI固件和HCI驱动的中间层,提供可靠的数据传输。蓝牙控制器与主机可以使用不同的数据传输方式进行通信。不同通信方式的数据格式在实际硬件接口均具有特定的封装格式,但是经过HCI层的封装统一,不同类别的通信方式并不会造成主机接收到的HCI事件异步通知无法相互识别的情况。常用的物理接口有USB、UART和RS232三种。下图表示UART作为HCI接口时,主机与控制器的连接图。


4、其他上层协议规范

1)逻辑链路控制适配层(L2CAP)规范

        逻辑链路控制适配层位于主机中,采用了协议复用和数据包分段重组技术,负责向高层协议栈提供面向连接的数据服务。它允许高层协议收发数据长度为64K字节。

      

2)通用访问协议(GAP)规范


3)属性协议(ATT)规范


4)安全管理协议(SMP)规范


5)通用属性协议(GATT)规范


参考:1)蓝牙技术联盟官网

            2)Bluetooth开发者门户


楼主热帖
积分商城 - 让您的金币更有价值!||官方Q群 - 让您的沟通更加及时!

暂无签到数据

发表于 2018-5-29 23:58:07 来自手机 | 显示全部楼层
专业提供蓝牙耳机及音响测试仪,蓝牙耳机RF自动化测试系统!13929231880
积分商城 - 让您的金币更有价值!||官方Q群 - 让您的沟通更加及时!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册  

本版积分规则

小黑屋|手机版|我爱蓝牙网 - 52Bluetooth

GMT+8, 2024-4-27 19:58 , Processed in 0.332498 second(s), 18 queries , Gzip On, MemCached On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表