这里会显示出您选择的修订版和当前版本之间的差别。
cc2640r2f:stack_overivew [2017/08/31 16:30] 127.0.0.1 外部编辑 |
cc2640r2f:stack_overivew [2021/06/22 23:14] |
||
---|---|---|---|
行 1: | 行 1: | ||
- | < | ||
- | # Overview # | ||
- | 从这部分开始详细介绍蓝牙协议栈功能和接口,协议栈工程关联实现协议栈的文件以及实现协议栈的任务,该任务也作为协议栈应用的最高优先级任务。 | ||
- | TI采用库文件提供方式作为协议栈提供的一个主策略,尽管如此,还是需要开发者了解协议栈各个抽象的功能和相互作用。 | ||
- | ## 介绍 ## | ||
- | [蓝牙5.0核心规范](https:// | ||
- | BLE5.0核心主要包含以下功能: | ||
- | * 2MSym/s PLY层设计(2M Symbol Rate 物理层)。 | ||
- | * LE 信道选择算法# | ||
- | * LE 安全连接 | ||
- | * LE 数据长度扩展 | ||
- | * LE 隐私 | ||
- | * LE LCAP 面向连接的信道支持 | ||
- | * LE 链路层拓扑结构 | ||
- | * LE Ping | ||
- | * 从机功能扩展 | ||
- | * 连接参数请求 | ||
- | |||
- | 以上功能均在蓝牙5.0协议栈实现,并且可以选择编译。 | ||
- | ## BLE协议栈基础 ## | ||
- | ![](http:// | ||
- | 蓝牙协议栈包含一个Host和Controller两个逻辑实体,这种区分从经典蓝牙的BR/ | ||
- | BLE 工作在无需认证的2.4G免费频段,该频段广泛应用于ISM(工业、科学、医疗)领域。通过跳频通信实现抗干扰特性,GFSK调制,采用1Mbps码元率PHY层设计,可以实现1Mbps波特率通信,BLE5.0优化的物理层设计可以实现2Mbps的PHY层。 | ||
- | ### GAP ### | ||
- | GAP工作在以上5个状态机 | ||
- | * Standby | ||
- | * Advertising | ||
- | * Scanning | ||
- | * Initiating | ||
- | * Connected | ||
- | |||
- | 在`Standby`状态,双方设备都处于未连接状态,`Advertiser`尝试广播数据,`Scanner`接收到广播数据后尝试进行扫描请求,并且得到扫描回复。此时`Scanner`产生连接意图,转变成`Initiator`发送连接请求,成功连接后发送广播的`Advertiser`作为`Master`,进行连接请求的`Initiator`成为`Slave`. | ||
- | ![](http:// | ||
- | 以上状态机转变,角色扮演以及中间完成的设备发现、链路建立、链路终止均由GAP完成。 | ||
- | ### HCI ### | ||
- | 以上我们讲解过蓝牙系统由Host和Controller两个逻辑实体组成,他们之间的通信、交互通过HCI标准接口完成,基于该标准接口,Host和Controller可以独立在两个MCU实现,通过Uart/ | ||
- | ### L2CAP ### | ||
- | 逻辑链路控制适配协议层由上层服务提供逻辑链路层访问和进行端对端的数据通信。 | ||
- | ### SM ### | ||
- | 安全管理层完成配对和密钥分布,提供同连接设备各层之间的通信安全。 | ||
- | ### GATT/ATT ### | ||
- | GATT负责主从设备之间的应用数据交换。GATT作为使用的ATT的子流程的一个服务型框架。为主从设备交互数据提供Profile、Service、Characteristic等概念的抽象、管理。 | ||
- | |||
- | ## 加入我们 ## | ||
- | 文章所有代码、工具、文档开源。加入我们[**QQ群 591679055**](http:// | ||
- | <div> | ||
- | <p align=" | ||
- | <a target=" | ||
- | © Copyright 2017, 成都乐控畅联科技有限公司. | ||
- | </p> | ||
- | </ | ||
- | |||
- | </ | ||