CC2640R2F BLE 5 蓝牙协议栈详解

发布日期:2018.03.15     浏览次数:286


大家对蓝牙协议栈应该有简单的了解,但是,肯定还有“似懂非懂、欲说还休”的感觉。这也正常了,毕竟蓝牙协议是一个历史悠久又比较庞大的协议,没那么容易理解。因此,本文将对CC2640R2F BLE 5 蓝牙协议栈进行一次详解,帮你从新了解一次。


蓝牙5 核心规范包含LEBR/EDR 两种设备类型,其中LE主要是设计为低功耗、小数据终端产品。


蓝牙5 核心主要包含以下功能:

  * 2MSym/s PLY层设计(2M Symbol Rate 物理层)

  * LE 信道选择算法

  * LE 安全连接

  * LE 数据长度扩展

  * LE 隐私

  * LE LCAP 面向连接的信道支持

  * LE 链路层拓扑结构

  * LE Ping

  * 从机功能扩展

  * 连接参数请求

 

以上功能均在蓝牙5 协议栈实现,并且可以选择编译。

 

BLE协议栈基础


蓝牙协议栈包含一个HostController两个逻辑实体,这种区分从经典蓝牙的BR/EDR就存在了,各种功能独立实现,任务配置文件和应用相关都在HostGAPGATT抽象层。

 

BLE 工作在无需认证的2.4G免费频段,该频段广泛应用于ISM(工业、科学、医疗)领域。通过跳频通信实现抗干扰特性,GFSK调制,采用1Mbps码元率PHY层设计,可以实现1Mbps波特率通信,而蓝牙5 优化的物理层设计可以实现2MbpsPHY层。

 

      GAP


Standby状态,双方设备都处于未连接状态,Advertiser尝试广播数据,Scanner接收到广播数据后尝试进行扫描请求,并且得到扫描回复。此时Scanner产生连接意图,转变成Initiator发送连接请求,成功连接后发送广播的Advertiser作为Master,进行连接请求的Initiator成为Slave


序号

名称

中文

解释

对应设备类型

1

Standby

待机状态

设备开机无信号接收

外围/中心设备

2

Advertising

广播状态

向外发送广播

外围设备

3

Scanning

扫描状态

扫描周围设备

中心设备

4

Initiating

初始化状态

向目标设备发起连接

中心设备

5

Connection

连接状态

和目标设备建立连接

中心设备


以上状态机转变,角色扮演以及中间完成的设备发现、链路建立、链路终止均由GAP完成。

 

      HCI

以上我们讲解过蓝牙系统由HostController两个逻辑实体组成,他们之间的通信、交互通过HCI标准接口完成,基于该标准接口,HostController可以独立在两个MCU实现,通过Uart/SPI等外设完成通信。

 

      L2CAP

逻辑链路控制适配协议层由上层服务提供逻辑链路层访问和进行端对端的数据通信。

 

      SM

定义了配对和秘钥分配方式,并为协议栈其他层与另一个设备之间的安全连接和数据交换提供服务。

 

      GATT/ATT

GATT负责主从设备之间的应用数据交换。GATT作为使用的ATT的子流程的一个服务型框架。为主从设备交互数据提供ProfileServiceCharacteristic等概念的抽象、管理。

 

物联网时代,多多学习,好好进步,加入我们QQ群:499487534,一起聊天一起嗨!

 

关于【Tunercom168】微信号

每周更新关于昇润科技最新资讯,发布蓝牙模块与蓝牙方案最新动态,提供有关物联网、智能家居、可穿戴设备、汽车电子、医疗电子等应用信息,让您紧跟技术潮流,欢迎关注!