所有分类
  • 所有分类
  • 精品课程
  • 课件资料
  • 标准资料
  • 资料手册
  • 图纸模型
  • 解说文案

低功耗蓝牙开发权威指南

低功耗蓝牙开发权威指南 

作者:(英)海登 著,陈灿峰,刘嘉 译 

出版时间:2014年版 

内容简介 

  低功耗蓝牙(Bluetooth Low Energy,BLE)与传统蓝牙技术有着本质的不同,它为医疗、运输等领域的无线应用带来了突破。只需一枚硬币大小的电池,低功耗蓝牙便可以连接并扩展各类个人局域网(Personal Area Network,PAN)设备和新一代传感器,令其可靠地运行若干年。如今,该标准的主要制定者之一为每位系统开发者、设计师和工程师撰写了第一本全面、易懂的低功耗蓝牙著作。 

目录 

译者序 

前言 

第一部分 综  述 

第1章 什么是低功耗蓝牙技术 2 

1.1 设备类型 4 

1.2 设计目标 5 

1.3 术语 6 

第2章 基本概念 8 

2.1 纽扣电池 8 

2.2 时间即能量 9 

2.3 昂贵的内存 10 

2.4 非对称设计 10 

2.5 为成功而设计 11 

2.6 凡事皆有状态 12 

2.7 客户端–服务器架构 12 

2.8 模块化架构 13 

2.9 十亿只是个小数目 14 

2.10 无连接模型 14 

2.11 范式 14 

2.11.1 客户端–服务器架构 14 

2.11.2 面向服务的架构 15 

第3章 低功耗蓝牙的体系结构 19 

3.1 控制器 20 

3.1.1 物理层 20 

3.1.2 直接测试模式 20 

3.1.3 链路层 21 

3.1.4 主机/控制器接口 22 

3.2 主机 22 

3.2.1 逻辑链路控制和适配协议 22 

3.2.2 安全管理器协议 23 

3.2.3 属性协议 23 

3.2.4 通用属性规范 24 

3.2.5 通用访问规范 25 

3.3 应用层 25 

3.3.1 特性 26 

3.3.2 服务 26 

3.3.3 规范 26 

3.4 协议栈划分 27 

3.4.1 单芯片解决方案 27 

3.4.2 双芯片解决方案 28 

3.4.3 三芯片解决方案 28 

第4章 新的使用模型 30 

4.1 存在检测 30 

4.2 广播数据 31 

4.3 无连接模式 31 

4.4 网关 32 

第二部分 控 制 器 

第5章 物理层 36 

5.1 背景 36 

5.2 模拟调制 36 

5.3 数字调制 38 

5.4 频段 39 

5.5 调制 40 

5.6 射频信道 41 

5.7 发射功率 41 

5.8 容限 42 

5.9 接收机灵敏度 42 

5.10 通信距离 42 

第6章 直接测试模式 45 

6.1 背景 45 

6.2 收发机测试 46 

6.2.1 测试报文格式 46 

6.2.2 发射机测试 47 

6.2.3 接收机测试 47 

6.3 硬件接口 48 

6.3.1 串口 48 

6.3.2 命令与事件 48 

6.4 使用HCI的直接测试模式 50 

第7章 链路层 51 

7.1 链路层状态机 51 

7.1.1 就绪态 52 

7.1.2 广播态 53 

7.1.3 扫描态 53 

7.1.4 发起态 54 

7.1.5 连接态 55 

7.1.6 多状态机 55 

7.2 报文 57 

7.2.1 广播与数据报文 57 

7.2.2 白化 57 

7.3 报文结构 59 

7.3.1 比特序与字节 60 

7.3.2 前导 60 

7.3.3 接入地址 60 

7.3.4 报头 61 

7.3.5 长度 61 

7.3.6 净荷 63 

7.3.7 循环冗余校验 63 

7.4 信道 63 

7.4.1 跳频 66 

7.4.2 自适应跳频 66 

7.5 设备发现 68 

7.5.1 通用广播 69 

7.5.2 定向广播 69 

7.5.3 不可连接广播 70 

7.5.4 可发现广播 70 

7.6 广播 70 

7.7 建立连接 71 

7.7.1 接入地址 72 

7.7.2 CRC初始化 72 

7.7.3 发送窗口 72 

7.7.4 连接事件 73 

7.7.5 信道图 74 

7.7.6 睡眠时钟精度 74 

7.8 发送数据 74 

7.8.1 数据报头 75 

7.8.2 逻辑链路标识符 75 

7.8.3 序列号 76 

7.8.4 确认 76 

7.8.5 更多数据 77 

7.8.6 使用序列号和更多数据的例子 77 

7.9 加密 79 

7.9.1 AES 79 

7.9.2 加密净荷数据 80 

7.9.3 消息完整性校验 81 

7.10 管理连接 82 

7.10.1 连接参数更新 83 

7.10.2 自适应跳频 84 

7.10.3 启动加密 85 

7.10.4 重启加密 87 

7.10.5 版本交换 87 

7.10.6 功能交换 89 

7.10.7 终止连接 90 

7.11 鲁棒性 90 

7.11.1 自适应跳频 90 

7.11.2 强CRC 92 

7.12 为低功耗优化 93 

7.12.1 短报文 93 

7.12.2 高比特率 94 

7.12.3 低开销 95 

7.12.4 确认机制 96 

7.12.5 单信道连接事件 96 

7.12.6 亚速率连接事件 97 

7.12.7 离线加密 98 

第8章 主机/控制器接口 99 

8.1 介绍 99 

8.2 物理接口 99 

8.2.1 UART 99 

8.2.2 3线UART 100 

8.2.3 USB 101 

8.2.4 SDIO 102 

8.3 逻辑接口 102 

8.3.1 HCI信道 102 

8.3.2 命令数据包 102 

8.3.3 事件数据包 103 

8.3.4 数据包 104 

8.3.5 命令流控 105 

8.3.6 数据流控 106 

8.4 控制器的配置 106 

8.4.1 重置控制器为已知状态 106 

8.4.2 读取设备地址 107 

8.4.3 设置事件掩码 107 

8.4.4 读取缓冲区大小 108 

8.4.5 读取控制器支持的功能 109 

8.4.6 读取控制器支持的状态 109 

8.4.7 随机数 110 

8.4.8 加密数据 110 

8.4.9 设置随机地址 111 

8.4.10 白名单 112 

8.5 广播和观察 112 

8.5.1 广播 112 

8.5.2 被动扫描 114 

8.5.3 主动扫描 115 

8.6 发起连接 116 

8.6.1 与白名单设备发起连接 116 

8.6.2 与单一设备发起连接 118 

8.6.3 取消连接请求 118 

8.7 连接管理 119 

8.7.1 更新连接 119 

8.7.2 更新信道映射图 120 

8.7.3 交换功能列表 121 

8.7.4 交换版本信息 121 

8.7.5 加密连接 122 

8.7.6 重启加密 123 

8.7.7 终止连接 125 

第三部分 主  机 

第9章 逻辑链路控制和适配协议 128 

9.1 背景 128 

9.2 L2CAP信道 130 

9.3 L2CAP数据包结构 130 

9.4 低功耗信令信道 131 

9.4.1 命令拒绝  132 

9.4.2 连接参数更新请求和响应 132 

第10章 属性 135 

10.1 背景 135 

10.1.1 精简协议 136 

10.1.2 无所不在的数据 136 

10.1.3 数据与状态 137 

10.1.4 几种常见的状态 137 

10.1.5 状态机 138 

10.1.6 服务和规范 139 

10.2 属性 142 

10.2.1 属性概述 143 

10.2.2 属性句柄 143 

10.2.3 属性类型 143 

10.2.4 属性值 144 

10.2.5 数据库、服务器和客户端 145 

10.2.6 属性许可 145 

10.2.7 接入属性 147 

10.2.8 原子操作和事务 148 

10.3 分组 149 

10.4 服务 150 

10.4.1 扩展服务 151 

10.4.2 其他服务的重用 153 

10.4.3 结合服务 153 

10.4.4 首要还是次要 154 

10.4.5 即插即用的客户端应用 156 

10.4.6 服务声明 157 

10.4.7 包含服务 158 

10.5 特性 159 

10.5.1 特性声明 159 

10.5.2 特性数值 161 

10.5.3 描述符 161 

10.6 属性协议 164 

10.6.1 协议消息 165 

10.6.2 交换MTU请求 165 

10.6.3 查找信息请求 166 

10.6.4 按类型值查找请求 167 

10.6.5 按类型读取请求 168 

10.6.6 读取请求 168 

10.6.7 大对象读取请求 168 

10.6.8 多重读取请求 169 

10.6.9 按组类型读取请求 169 

10.6.10 写入请求 169 

10.6.11 写入命令 169 

10.6.12 签名写入命令 169 

10.6.13 准备写入请求与执行写入请求 170 

10.6.14 句柄值通知 171 

10.6.15 句柄值指示 171 

10.6.16 错误响应 171 

10.7 通用属性规范 173 

10.7.1 发现规程 174 

10.7.2 发现服务 174 

10.7.3 特性发现 175 

10.7.4 客户端发起规程 176 

10.7.5 服务器发起规程 178 

10.7.6 属性协议数据单元(ATT PDU)到GATT规程的映射 178 

第11章 安全 180 

11.1 安全概念 180 

11.1.1 认证 180 

11.1.2 授权 181 

11.1.3 完整性 181 

11.1.4 机密性 182 

11.1.5 隐私 182 

11.1.6 加密引擎 182 

11.1.7 共享机密 182 

11.2 配对和绑定 185 

11.2.1 配对 185 

11.2.2 配对信息交换 185 

11.2.3 认证 186 

11.2.4 密钥分配 187 

11.2.5 绑定 188 

11.3 数据签名 188 

第12章 通用访问规范 189 

12.1 背景 189 

12.1.1 初次发现 190 

12.1.2 建立初始连接 191 

12.1.3 服务特性 191 

12.1.4 长期关系 192 

12.1.5 重连 192 

12.1.6 私有地址 193 

12.2 GAP角色 193 

12.3 模式和规程 194 

12.3.1 广播模式和观察规程 195 

12.3.2 可发现性 195 

12.3.3 可连接性 197 

12.3.4 绑定 199 

12.4 安全模式 200 

12.5 广播数据 201 

12.5.1 标识 202 

12.5.2 服务 202 

12.5.3 本地名称 203 

12.5.4 发射功率等级 203 

12.5.5 从设备连接间隔范围 203 

12.5.6 服务请求 203 

12.5.7 服务数据 203 

12.5.8 制造商指定数据 203 

12.6 GAP服务 204 

12.6.1 设备名特性 204 

12.6.2 外观特性 204 

12.6.3 外围设备隐私标识 204 

12.6.4 重连地址 205 

12.6.5 外围设备首选连接参数 205 

第四部分 应  用 

第13章 中央设备 208 

13.1 背景 208 

13.2 发现设备 208 

13.3 连接设备 209 

13.4 这个设备能做什么 210 

13.5 通用客户端 211 

13.6 与服务交互 211 

13.6.1 可读特性 212 

13.6.2 控制点 212 

13.6.3 状态机 213 

13.6.4 通知和指示 214 

13.7 绑定 214 

13.8 变更服务 215 

13.9 实现规范 216 

13.9.1 定义规范 216 

13.9.2 查找服务 217 

13.9.3 查找特性 217 

13.9.4 使用特性 217 

13.9.5 规范安全 217 

第14章 外围设备 219 

14.1 背景 219 

14.2 仅广播 219 

14.3 可发现 220 

14.4 可连接 220 

14.5 公开服务 221 

14.6 特性 221 

14.7 安全事项 222 

14.8 为低功耗优化 222 

14.8.1 可发现广播 224 

14.8.2 绑定 224 

14.8.3 可连接广播 224 

14.8.4 定向广播 225 

14.8.5 已连接 225 

14.8.6 保持连接还是断开 226 

14.9 优化属性 227 

第15章 测试和质量鉴定 229 

15.1 启动项目 229 

15.2 选择功能 231 

15.3 一致性检查 232 

15.4 生成测试计划 232 

15.5 建立合规文件夹 232 

15.6 鉴定测试 233 

15.7 鉴定设计 234 

15.8 合规声明 234 

15.9 产品名录 234 

15.10 结合组件 235 

资源下载
下载价格10 金币
VIP免费
0
没有账号?注册  忘记密码?

社交账号快速登录