Texas Instruments CC2540/41
Bluetooth® Low Energy
Software Developer’s Guide
v1.3.2
Document Number:SWRU271F
标签: 读书笔记 BLE
蓝牙4.0标准支持两种无线技术:Basic Rate(BR)和Bluetooth low energy (BLE)。
1、双模设备:支持BR 和 BLE, 例如移动电话、手提电脑,商标:Bluetooth Smart Ready。
2、单模设备:只支持BLE,商标Bluetooth Smart。单模设备多用于需要低功耗的场合,例如使用纽扣电池供电的设备。
BR不是我们目前关注的焦点,把重点放到BLE上。
协议栈包含两部分:Controller 和 Host。在蓝牙BR设备标准中就已经将这两者分开了,这两部分经常单独实现。
其他的应用和配置都是运行在GAP 和GATT之上的。
PHY:1Mbps适应跳频GFSK,2.4GHz
LL: 控制设备的RF state。
设备有5 states:standby, advertising, scanning, initiating, connected。advertiser不建立连接就可以通过广播发送数据,scanner来侦听广播。initiator回应给advertiser一个连接请求,如果advertiser接受,advertiser和initiator进入connected状态。
connected之后,设备有两种角色:master和slave。提出连接请求的是master,接受连接请求的是slave。
HCI提供了host和controller通信的一个标准接口。HCI可以通过软件接口API来实现,也可以通过硬件接口(诸如UART、USB、SPI等)来实现。
L2CAP为上层提供数据封装服务,允许逻辑上的端到端通信。
SM定义了配对和密钥分发的方法,同时同时也为其他层的安全连接和数据交换提供方法。
GAP提供了应用或配置文件的接口,同时管理设备的发现和设备连接相关的服务。此外,还管理安全特性的初始化。
ATT向其他设备展示本设备特定的数据,这些数据也被称为属性。
在ATT的上下文中,展示属性的被成为server,与之配对的(读取设备属性的)被称为client。LL的角色—master、slave和这里ATT的server、client是独立的。master、slave强调的是谁先请求连接,而server、client强调的是谁来展示自己的数据(属性)。所以master既可以是client,也可以是server;同理,slave也可以是client,也可以是server。一个设备同时成为server和client也是有可能的。
GATT定义了使用ATT的子程序服务框架。GATT详细说明了配置文件的架构。在BLE中,被配置文件或服务使用的所有类型的数据都被称为characteristics。两个设备通过BLE连接后通信的所有数据都是被GATT子程序handle的。因此,应用程序和GATT层直接交换信息。