标签:style blog http io ar color os 使用 sp
Bluetooth low energy,也称BLE(低功耗蓝牙),在4.0规范中提出
BLE分为两种设备
- 单模(single-mode): Logo为「Bluetooth?Smart」 - 双模(dual-mode): Logo为「Bluetooth?Smart Ready」
tip: 传统蓝牙的Logo为「Bluetooth?」
BLE与传统蓝牙的兼容性如下图所示
可以看出他们之间的通信规则如下(Bluetooth指代传统蓝牙,下同):
Smart Ready: Smart Ready、Bluetooth、Smart Bluetooth: Smart Ready、Bluetooth Smart: Smart Ready、Smart
BLE协议栈如下图所示
BLE协议栈由Controller和Host两部分组成
Profile和Service基于GAP和GATT
应用协议定义其使用的服务,说明是传感器端还是接收端
定义GATT的角色(Server/Client)和GAP的角色(Peripheral/Central)
单芯片方案中,Controller和Host、Profile及应用都在同一芯片中
网络控制器模式中,COntroller和Host运行在设备中,但是Profile和应用则在其他设备上,比如PC或者其他微控制器,可以通过UART、USB进行操作
双芯片模式中,Controller运行在一个控制器,而Host、Profile和应用运行在另一个控制器上
1 - PHY: 1Mbps自适应跳频GFSK,运行在2.4GHz频段。
2 - LL: RF控制器,控制设备处于准备(standby)、广播(Advertising)、监听/扫描(scanning)、初始化(initiating)、连接(connected)这5中状态中的一种
3 - HCI: 为接口层,向上为主机提供软件应用程序接口(API),对外为外部硬件控制接口,可以通过串口、SPI、USB来实现设备控制
4 - L2CAP: 为上层提供数据封装服务,允许逻辑上的端到端数据通信
5 - SM: 提供配对和密钥分发服务,实现安全连接和数据交换
6 - GAP: 直接与应用程序或配置文件(Profiles)通信的接口,处理设备发现和连接相关服务。另外还处理安全特性的初始化
7 - ATT: 导出特定的数据(称为属性)到其他设备
8 - GATT: 定义了使用ATT的服务框架和配置文件(profiles)的结构。BLE中所有的数据通信都需要经过GATT
- Standby State: 准备,不传输或接受数据包 - Advertising State: 广播, advertiser,发送advertising channel packets,接受来自scanner的响应 - Scanning State: 监听/扫描, scanner,监听来自advertiser的advertising channel packets - Initiating State: 初始化, initiator, 监听来自特殊设备的advertising channel packets,并进行初始化连接 - Connection State: 连接, 有两种角色: Master Role(从initiator进入)/Slave Role(从advertiser进入)
链路状态机只允许处于五种状态之一
链路层可以有多个链路状态机,但至少有一个支持Advertising/Scanning State
处于Master Role的设备可以和多个Slave Role分时通信
处于Slave Role的设备只能和处于Master Role的设备通信
下图展示了允许和禁止的链路状态机和角色的组合
在链路层规范中规定PDU比特序为Little Endian format
设备地址可以是公共地址或者随机地址,长度为48 bits
- 公共地址: 采用IEEE 802-2001 standard的48-bit universal LAN MAC addresses
- 随机地址: 详细要求可参考规范
BLE RF信道被定义为两种: advertising and data
- advertising信道: 使用3个RF信道用来发现设备,初始化连接和广播数据 - data信道: 则使用多达37个RF信道用于两个连接设备间通信
RF Channel和Advertising/Data channel Index对应关系如下图
标签:style blog http io ar color os 使用 sp
原文地址:http://www.cnblogs.com/hzl6255/p/4127138.html