蓝牙协议及其实现
2001-10
人民邮电出版社
张禄林 雷春娟 郎晓虹 编
420
658
第一篇 蓝芽规范
第一章 蓝芽概述 1
1.1 蓝芽组织结构 1
1.1.1 蓝芽产生的背景 1
1.1.2 蓝芽SIG 2
1.2 蓝芽技术特点 2
1.2.1 蓝芽结构 2
1.2.2 蓝芽低层模块 3
1.2.3 软件模块 5
1.2.4 蓝芽应用模型 5
1.3 蓝芽市场前景 6
1.4 蓝芽SIG与其它国际组织的关系 6
1.4.1 IEEE802.15 6
1.4.2 IETF 7
第二章 蓝芽无线部分规范 8
2.1 频段和信道安排 8
2.2 发射器特性 8
2.2.1 调制特点 9
2.2.2 杂散辐射 9
2.3 接收器特性 10
2.3.1 真实灵敏度 10
2.3.2 干扰性能 10
2.3.3 带外截止 11
2.3.4 交调特性 11
2.3.5 最大可用电平 11
2.3.6 杂散辐射 11
2.3.7 接收信号强度指示(可选) 11
2.3.8 参考信号定义 12
第三章 蓝芽-基带规范 13
3.1 物理信道、链路和分组 14
3.1.1 物理信道 14
3.1.2 物理链路 14
3.1.3 分组 15
3.1.4 纠错 23
3.1.5 逻辑信道 24
3.1.6 数据白化 25
3.1.7 发送和接收例程 25
3.1.8 发送接收定时 29
3.2 信道控制和网络控制 33
3.2.1 概述 33
3.2.2 主从定义 33
3.2.3 蓝芽时钟 33
3.2.4 状态概览 34
3.2.5 STANDBY 状态 35
3.2.6 接入过程 35
3.2.7 查询(INQUIRY)过程 38
3.2.8 连接(CONNECTION)状态 40
3.2.9 散射网(scatternet) 42
3.2.10 功率管理 43
3.2.11 链路监控 44
3.3 蓝芽语音规范 44
3.3.1 对数PCM编解码 44
3.3.2 CVSD编解码 44
3.3.3 错误处理 45
3.4 跳频选择和蓝芽地址 45
3.4.1 跳频选择 45
3.4.2 蓝芽地址 47
3.5 蓝芽安全 48
3.5.1 随机数生成 49
3.5.2 密钥管理 49
3.5.3 加密过程 51
3.5.4 鉴权 53
第四章 链路管理器协议 55
4.1 LMP概述 55
4.1.1 LMP在协议中的位置 55
4.1.2 LMP的格式 55
4.2 过程规则和PDU 56
4.2.1 通用响应消息 56
4.2.2 鉴权 56
4.2.3 PAIRING 57
4.2.4 改变链路密钥 58
4.2.5 改变当前链路密钥 58
4.2.6 加密 59
4.2.7 时钟偏移请求 61
4.2.8 时隙偏移信息 61
4.2.9 定时准确度信息请求 61
4.2.10 LMP版本 61
4.2.11 所支持的特征 62
4.2.12 主从角色切换 62
4.2.13 设备名称请求 63
4.2.14 断开连接(detach) 63
4.2.15 HOLD模式 63
4.2.16 SNIFF模式 64
4.2.17 PARK 模式 65
4.2.18 功率控制 66
4.2.19 品质激励(quality-driven)下信道在DH和DM间的转换 67
4.2.20 服务质量(QoS) 67
4.2.21 SCO链路 68
4.2.22 多时隙分组的控制 69
4.2.23 寻呼方案(paging scheme) 69
4.2.24 链路监视 70
4.3 建立连接 70
4.4 LMP PDU总结和参数列表 71
4.4.1 LMP PDU总表 71
4.4.2 LMP PDU 参数 73
4.5 测试模式和错误处理 75
4.5.1 测试模式的激活和关闭 75
4.5.2 测试模式的控制 75
4.5.3 用于测试模式的PDU总结 75
4.5.4 错误处理 75
第五章 逻辑链路控制和适配协议(L2CAP)规范 77
5.1 L2CAP概述 77
5.2 常规操作 78
5.2.1 信道标识符(CID) 78
5.2.2 设备之间的操作 79
5.2.3 层间操作 79
5.2.4 分割与重组(SAR) 80
5.3 状态机 81
5.3.1 事件 81
5.3.2 动作 83
5.3.3 信道操作状态 84
5.3.4 事件到动作的映射 85
5.4 数据分组格式 86
5.4.1 面向连接的信道 86
5.4.2 无连接数据信道 87
5.5 信令 88
5.5.1 命令拒绝 89
5.5.2 连接请求 89
5.5.3 连接响应 90
5.5.4 配置请求 91
5.5.5 配置响应 92
5.5.6 断开连接请求 93
5.5.7 断开连接响应 94
5.5.8 回送请求 94
5.5.9 回送响应 94
5.5.10 信息请求 95
5.5.11 信息响应 95
5.6 配置参数选项 95
5.6.1 最大传输单元(MTU) 96
5.6.2 刷新超时选项 96
5.6.3 服务质量选项 97
5.6.4 配置过程 98
5.7 服务原语 99
5.7.1 事件指示 99
5.7.2 CONNECT 100
5.7.3 连接响应 100
5.7.4 配置 101
5.7.5 配置响应 102
5.7.6 断开连接 102
5.7.7 写 102
5.7.8 读 103
5.7.9 生成组 103
5.7.10 关闭组 103
5.7.11 增加组成员 104
5.7.12 移去一个组成员 104
5.7.13 得到组成员信息 104
5.7.14 PING 105
5.7.15 索取信息 105
5.7.16 关闭无连接业务 105
5.7.17 使能无连接业务 106
第六章 服务发现协议 107
6.1 SDP概述 107
6.1.1 SDP客户/服务器交互 107
6.1.2 服务记录 108
6.1.3 服务属性 108
6.1.4 属性ID 109
6.1.5 属性值 109
6.1.6 服务类 109
6.1.7 搜索业务 110
6.1.8 浏览(browsing)服务 110
6.2 数据表示 111
6.2.1 数据元素 111
6.2.2 数据元素的类型描述符 112
6.2.3 数据元素大小描述符 112
6.3 协议描述 112
6.3.1 协议数据单元格式 113
6.3.2 部分响应和继续状态 113
6.3.3 错误处理 113
6.3.4 服务搜索交易 114
6.3.5 服务属性交易 114
6.3.6 服务搜索属性交易 114
6.4 服务属性定义 115
6.4.1 通用属性定义 115
6.4.2 服务发现服务器的服务类属性定义 116
6.4.3 浏览组描述符服务类属性定义 117
第七章 适配协议 108
7.1 RFCOMM协议 108
7.1.1 RFCOMM协议概述 108
7.1.2 服务接口描述 110
7.1.3 RFCOMM对TS.07.10的支持与修改 112
7.1.4 流控制 115
7.2 电话控制协议 116
7.2.1 电话控制协议概述 116
7.2.2 呼叫控制 118
7.2.3 组管理 120
7.2.4 无连接TCS(CL) 122
7.2.5 补充服务(SS) 123
7.2.6 消息格式 123
7.2.7 消息编码 125
7.2.8 协议参数 131
7.3 IrDA互操作 131
7.3.1 OBEX简介 131
7.3.2 OBEX对象及协议 132
7.3.3 OBEX OVER RFCOMM 133
7.3.4 OBEX OVER TCP/IP 134
第八章 主机控制器接口功能规范 136
8.1 HCI概述 136
8.1.1 蓝芽软件栈的低层 136
8.1.2 可能的物理总线结构 137
8.1.3 HCI流控制 137
8.2 HCI命令和事件 138
8.2.1 HCI命令概述 138
8.2.2 HCI专用信息的交换 139
8.2.3 链路控制命令 142
8.2.4 链路策略命令 143
8.2.5 主机控制器和基带命令 144
8.2.6 信息参数 147
8.2.7 状态参数 147
8.2.8 测试命令 147
8.2.9 事件 148
8.2.10 错误代码列表 149
8.3 HCI USB传输层 150
8.3.1 概述 150
8.3.2 USB端点要求 151
8.3.3 分类码 153
8.4 HCI RS-232传输层 153
8.4.1 概述 153
8.4.2 协商协议 154
8.4.3 分组传输协议 155
8.4.4 同步方式 156
8.5 HCI UART 158
8.5.1 概述 158
8.5.2 协议 158
8.5.3 RS-232设置 159
8.5.4 错误恢复 159
第二篇 蓝芽剖面结构
第九章 蓝牙设备互操作性及剖面概述 160
9.1 蓝牙设备互操作性及剖面涵义 160
9.1.1 设备互操作性 160
9.1.2 蓝牙剖面涵义 161
9.2 蓝牙剖面构成 162
9.2.1 蓝牙剖面及其相互关系 162
9.2.2 蓝牙通用剖面 162
9.2.3 蓝牙应用剖面 163
第十章 蓝芽通用剖面 164
10.1 普通接入剖面 164
10.1.1 简介 164
10.1.2 剖面概述 165
10.1.3 用户接口方面 166
10.1.4 模式 167
10.1.5 安全性方面 169
10.1.6 空闲模式程序 172
10.1.7 创建程序 178
10.2 服务发现应用剖面 182
10.2.1 简介 182
10.2.2 剖面概述 183
10.2.3 用户接口方面 184
10.2.4 应用层 185
10.2.5 服务发现 187
10.2.6 L2CAP 188
10.2.7 链路管理 189
10.2.8 链路控制 190
10.2.9 定义 191
10.3 串行端口剖面 192
10.3.1 简介 192
10.3.2 剖面概述 192
10.3.3 应用层 194
10.3.4 RFCOMM互操作性要求 195
10.3.5 L2CAP互操作性要求 195
10.3.6 SDP互操作性要求 196
10.3.7 链路管理(LM)互操作性要求 197
10.3.8 链路控制互操作性要求 197
10.4 普通对象交换剖面 198
10.4.1 简介 198
10.4.2 剖面概述 199
10.4.3 应用层 200
10.4.4 OBEX互操作性要求 200
10.4.5 串行端口剖面互操作性要求 204
10.4.6 普通接入剖面互操作性要求 205
第十一章 蓝芽应用剖面 207
11.1 无绳电话剖面 207
11.1.1 简介 207
11.1.2 剖面概述 207
11.1.3 应用层 210
11.1.4 TCS-BIN程序 211
11.1.5 业务发现程序 215
11.1.6 L2CAP程序 215
11.1.7 LMP程序概述 216
11.1.8 链路控制特征 217
11.1.9 普通接入剖面互操作性要求 218
11.2 内部通信剖面 218
11.2.1 剖面概述 219
11.2.2 应用层 220
11.2.3 TCS二进制 220
11.2.4 SDP互操作性要求 222
11.2.5 L2CAP互操作性要求 222
11.2.6 链路管理(LM)的互操作性要求 223
11.2.7 链路控制(LC)的互操作性要求 223
11.2.8 普通接入剖面 224
11.3 拨号网络剖面 225
11.3.1 简介 225
11.3.2 剖面概述 225
11.3.3 应用层 227
11.3.4 拨号和控制互操作性要求 227
11.3.5 串行端口剖面互操作性要求 229
11.3.6 普通接入剖面 230
11.4 传真剖面 230
11.4.1 简介 231
11.4.2 剖面概述 231
11.4.3 应用层 232
11.4.4 拨号和控制互操作性要求 233
11.4.5 串行端口剖面 234
11.4.6 普通接入剖面互操作性要求 235
11.5 耳机剖面 235
11.5.1 简介 236
11.5.2 剖面概述 236
11.5.3 应用层 237
11.5.4 耳机控制互操作性要求 238
11.5.5 串行端口剖面互操作性要求 241
11.5.6 普通接入剖面互操作性要求 243
11.6 对象PUSH剖面 243
11.6.1 简介 243
11.6.2 剖面概述 244
11.6.3 用户接口方面 245
11.6.4 应用层 246
11.6.5 OBEX 247
11.6.6 业务发现 249
11.7 文件传输剖面 249
11.7.1 简介 250
11.7.2 剖面概述 250
11.7.3 用户接口方面 251
11.7.4 应用层 253
11.7.5 OBEX 254
11.7.6 业务发现 258
11.8 同步剖面 259
11.8.1 简介 259
11.8.2 剖面概述 259
11.8.3 用户接口方面 261
11.8.4 应用层 262
11.8.5 lrMC同步要求 263
11.8.6 OBEX 263
11.8.7 业务发现 264
11.9 局域网接入剖面 265
11.9.1 简介 265
11.9.2 剖面概述 266
11.9.3 用户接口方面 268
11.9.4 应用层 268
11.9.5 PPP 269
11.9.6 RFCOMM 270
11.9.7 业务发现 271
11.9.8 L2CAP 271
11.9.9 链路管理 272
11.9.10 链路控制 272
11.9.11 管理实体程序 273
第三篇 蓝芽实现
第十二章 蓝芽开发 274
12.1 蓝芽开发概述 274
12.1.1 蓝芽开发的意义 274
12.1.2 开发前的准备工作 274
12.1.3 蓝芽软件与硬件的独立实现 275
12.2 蓝牙硬件模块开发 276
12.2.1 硬件模块设计的目标和挑战 276
12.2.2 硬件模块的构成 276
12.3 高层协议栈开发 279
12.3.1 高层协议栈的设计要求 279
12.3.2 主要的模块 281
12.3.3 模块及其应用程序接口 281
12.4 蓝芽剖面开发 290
12.4.1 普通接入剖面GAP 290
12.4.2 串行口剖面(SPP) 291
12.4.3 服务发现应用剖面(SDAP) 292
12.4.4 OBEX及其接口 293
第十三章 蓝芽认证与测试 295
13.1 蓝芽的认证过程 295
13.1.1蓝芽的认证程序 295
13.2 蓝芽收发器和基带规范测试 296
13.2.1 一般描述 296
13.2.2 测试环境 297
13.2.3 LMP消息概览 302
13.3 蓝芽的测试控制接口 303
13.3.1 概述 303
13.3.2 一般描述 304
13.3.3 测试配置 307
13.3.4 TCI-L2CAP规范 308
13.4 测试系统的确认 310
13.4.1 确认的基本过程 310
13.4.2 RF测试系统的确认 312
第十四章 蓝芽产品介绍 314
14.1 单芯片蓝芽控制器 314
14.1.1 AT76C551 314
14.1.2 Transilica的TR0700单芯片系统 319
14.2 蓝芽协议栈产品 324
14.2.1 东芝蓝芽协议栈 324
14.2.2 BlueStack 325
14.2.3 BTSWS蓝芽协议栈 326
14.2.4 T-BTS协议栈 330
14.3 开发系统产品 332
14.3.1 BTW-DK 332
14.3.2 XTNDConnect Blue SDK简介 333
14.3.3 BByK 334
14.3.4 WDS 336
14.4 协议分析仪产品 338
14.4.1 BPA100 338
14.4.2 Merlin蓝芽协议分析仪 342
14.4.3 WaveCatcher蓝芽协议分析仪 344
14.4.4 蓝芽协议分析仪性能比较 348
缩略语
参考文献