第一篇 蓝牙规范 2
第一章 蓝牙概述 2
1.1 蓝牙组织结构 2
1.1.1 蓝牙产生的背景 2
1.1.2 蓝牙SIG 3
1.2 蓝牙技术特点 3
1.2.1 蓝牙结构 3
1.2.2 蓝牙低层模块 4
1.2.3 软件模块 6
1.2.4 蓝牙应用模型 7
1.3 蓝牙市场前景 7
1.4.2 IETF 8
1.4.1 IEEE802.15 8
1.4 蓝牙SIG与其他国际组织的关系 8
第二章 蓝牙无线部分规范 10
2.1 频段和信道安排 10
2.2 发射器特性 10
2.2.1 调制特点 11
2.2.2 杂散辐射 11
2.3 接收器特性 12
2.3.1 真实灵敏度 13
2.3.2 干扰性能 13
2.3.3 带外截止 13
2.3.4 交调特性 13
2.3.8 参考信号定义 14
2.3.7 接收信号强度指示 14
2.3.5 最大可用电平 14
2.3.6 杂散辐射 14
第三章 蓝牙基带规范 16
3.1 物理信道、链路和分组 17
3.1.1 物理信道 17
3.1.2 物理链路 17
3.1.3 分组 18
3.1.4 纠错 28
3.1.5 逻辑信道 29
3.1.6 数据白化 30
3.1.7 发送和接收例程 30
3.1.8 发送接收定时 34
3.2 信道控制和网络控制 38
3.2.1 概述 38
3.2.2 主从定义 38
3.2.3 蓝牙时钟 38
3.2.4 状态概述 39
3.2.5 STANDBY状态 39
3.2.6 接入过程 39
3.2.7 查询过程 42
3.2.8 连接状态 45
3.2.9 散射网 47
3.2.11 链路监控 49
3.2.10 功率管理 49
3.3 蓝牙语音规范 50
3.3.1 对数PCM编解码 50
3.3.2 CVSD编解码 50
3.3.3 错误处理 50
3.4 跳频选择和蓝牙地址 50
3.4.1 跳频选择 50
3.4.2 蓝牙地址 52
3.5 蓝牙安全 54
3.5.1 随机数生成 55
3.5.2 密钥管理 55
3.5.3 加密过程 57
3.5.4 鉴权 59
第四章 链路管理器协议 61
4.1 LMP概述 61
4.1.1 LMP在协议中的位置 61
4.1.2 LMP的格式 61
4.2 过程规则和PDU 62
4.2.1 通用响应消息 62
4.2.2 鉴权 62
4.2.3 PAIRING 63
4.2.4 改变链路密钥 64
4.2.5 改变当前链路密钥 65
4.2.6 加密 66
4.2.8 时隙偏移信息 67
4.2.7 时钟偏移请求 67
4.2.9 定时准确度信息请求 68
4.2.10 LMP版本 68
4.2.11 所支持的特征 68
4.2.12 主从角色切换 69
4.2.13 设备名称请求 70
4.2.14 断开连接 70
4.2.15 Hold模式 71
4.2.16 Sniff模式 72
4.2.17 Park模式 72
4.2.19 质量激励下信道在DH和DM间的转换 74
4.2.18 功率控制 74
4.2.20 服务质量(QoS) 75
4.2.21 SCO链路 76
4.2.22 多时隙分组的控制 77
4.2.23 寻呼方案 77
4.2.24 链路监视 78
4.3 建立连接 78
4.4 LMP PDU总结和参数列表 79
4.4.1 LMP PDU总表 79
4.4.2 LMP PDU参数 83
4.5 测试模式和错误处理 85
4.5.4 错误处理 86
4.5.3 用于测试模式的PDU总结 86
4.5.2 测试模式的控制 86
4.5.1 测试模式的激活和关闭 86
第五章 逻辑链路控制和适配协议规范 88
5.1 L2CAP概述 88
5.2 常规操作 89
5.2.1 信道标识符 89
5.2.2 设备之间的操作 90
5.2.3 层间操作 90
5.2.4 分割与重组 91
5.3 状态机 92
5.3.1 事件 92
5.3.2 动作 95
5.3.3 信道操作状态 96
5.3.4 事件到动作的映射 97
5.4 数据分组格式 99
5.4.1 面向连接的信道 99
5.4.2 无连接数据信道 99
5.5 信令 100
5.5.1 命令拒绝 102
5.5.2 连接请求 102
5.5.3 连接响应 103
5.5.4 配置请求 104
5.5.5 配置响应 105
5.5.8 回送请求 107
5.5.7 断开连接响应 107
5.5.6 断开连接请求 107
5.5.9 回送响应 108
5.5.10 信息请求 108
5.5.11 信息响应 108
5.6 配置参数选项 109
5.6.1 最大传输单元 109
5.6.2 刷新超时选项 110
5.6.3 服务质量选项 110
5.6.4 配置过程 112
5.7 服务原语 113
5.7.1 事件指示 113
5.7.2 CONNECT 114
5.7.3 连接响应 115
5.7.4 配置 116
5.7.5 配置响应 117
5.7.6 断开连接 118
5.7.7 写 119
5.7.8 读 119
5.7.9 生成组 120
5.7.10 关闭组 120
5.7.11 增加组成员 121
5.7.12 移去一个组成员 121
5.7.13 得到组成员信息 122
5.7.14 PING 122
5.7.16 关闭无连接业务 123
5.7.15 索取信息 123
5.7.17 使能无连接业务 124
第六章 服务发现协议 126
6.1 SDP概述 126
6.1.1 SDP客户/服务器交互 126
6.1.2 服务记录 127
6.1.3 服务属性 128
6.1.4 属性ID 128
6.1.5 属性值 128
6.1.6 服务类 128
6.1.7 搜索业务 129
6.1.8 浏览服务 129
6.2.2 数据元素的类型描述符 131
6.2 数据表示 131
6.2.1 数据元素 131
6.2.3 数据元素大小描述符 132
6.3 协议描述 132
6.3.1 协议数据单元格式 132
6.3.2 部分响应和继续状态 133
6.3.3 错误处理 133
6.3.4 服务搜索交易 133
6.3.5 服务属性交易 134
6.3.6 服务搜索属性交易 134
6.4.1 通用属性定义 135
6.4.2 服务发现服务器的服务类属性定义 135
6.4 服务属性定义 135
6.4.3 浏览组描述符服务类属性定义 136
第七章 适配协议 138
7.1 RFCOMM协议 138
7.1.1 RFCOMM协议概述 138
7.1.2 服务接口描述 141
7.1.3 RFCOMM对TS.07.10的支持与修改 142
7.1.4 流控制 147
7.2 电话控制协议 148
7.2.1 电话控制协议概述 148
7.2.2 呼叫控制(CC) 150
7.2.3 组管理(GM) 152
7.2.5 补充服务(SS) 154
7.2.4 无连接TCS(CL) 154
7.2.6 消息格式 155
7.2.7 消息编码 155
7.2.8 协议参数 166
7.3 IrDA互操作 166
7.3.1 OBEX简介 166
7.3.2 OBEX对象及协议 167
7.3.3 OBEX OVER RFCOMM 169
7.3.4 OBEX OVER TCP/IP 170
第八章 主机控制器接口功能规范 171
8.1 HCI概述 171
8.1.1 蓝牙软件栈的低层 171
8.1.2 可能的物理总线结构 172
8.2 HCI命令和事件 173
8.1.3 HCI流控制 173
8.2.1 HCI命令概述 174
8.2.2 HCI专用信息的交换 174
8.2.3 链路控制命令 177
8.2.4 链路策略命令 179
8.2.5 主机控制器和基带命令 180
8.2.6 信息参数 183
8.2.7 状态参数 183
8.2.8 测试命令 183
8.2.9 事件 184
8.2.10 错误代码列表 186
8.3.2 USB端点要求 187
8.3 HCIUSB传输层 187
8.3.1 概述 187
8.3.3 分类码 190
8.4 HCIRS-232传输层 190
8.4.1 概述 190
8.4.2 协商协议 191
8.4.3 分组传输协议 193
8.4.4 同步方式 193
8.5 HCIUART 196
8.5.1 概述 196
8.5.2 协议 196
8.5.4 错误恢复 197
8.5.3 RS-232设置 197
第九章 蓝牙设备互操作性及剖面概述 200
9.1 蓝牙设备互操作性及剖面涵义 200
9.1.1 设备互操作性 200
9.1.2 蓝牙剖面涵义 200
第二篇 蓝牙剖面结构 200
9.2 蓝牙剖面构成 202
9.2.1 蓝牙剖面及其相互关系 202
9.2.2 蓝牙通用剖面 202
9.2.3 蓝牙应用剖面 203
10.1 普通接入剖面 204
10.1.1 简介 204
第十章 蓝牙通用剖面 204
10.1.2 剖面概述 205
10.1.3 用户接口剖面 206
10.1.4 模式 207
10.1.5 安全性方面 209
10.1.6 空闲模式程序 212
10.1.7 创建程序 217
10.2 服务发现应用剖面 222
10.2.1 简介 222
10.2.2 剖面概述 222
10.2.3 用户接口方面 224
10.2.4 应用层 225
10.2.5 服务发现 226
10.2.6 L2CAP 227
10.2.7 链路管理 230
10.2.8 链路控制 231
10.2.9 定义 233
10.3 串行端口剖面 234
10.3.1 简介 234
10.3.2 剖面概述 234
10.3.3 应用层 235
10.3.4 RFCOMM互操作性要求 237
10.3.5 L2CAP互操作性要求 238
10.3.8 链路控制互操作性要求 239
10.3.7 链路管理互操作性要求 239
10.3.6 SDP互操作性要求 239
10.4 普通对象交换剖面 241
10.4.1 简介 241
10.4.2 剖面概述 242
10.4.3 应用层 243
10.4.4 OBEX互操作性要求 243
10.4.5 串行端口剖面互操作性要求 249
10.4.6 普通接入剖面互操作性要求 250
第十一章 蓝牙应用剖面 252
11.1 无绳电话剖面 252
11.1.1 简介 252
11.1.2 剖面概述 252
11.1.3 应用层 255
11.1.4 TCS-BIN程序 256
11.1.5 业务发现程序 261
11.1.6 L2CAP程序 263
11.1.7 LMP程序概述 263
11.1.8 链路控制特征 263
11.1.9 普通接入剖面互操作性要求 266
11.2 内部通信剖面 267
11.2.1 剖面概述 267
11.2.2 应用层 268
11.2.3 TCS二进制 269
11.2.4 SDP互操作性要求 271
11.2.7 链路控制的互操作性要求 272
11.2.5 L2CAP互操作性要求 272
11.2.6 链路管理的互操作性要求 272
11.2.8 普通接入剖面 274
11.3 拨号网络剖面 275
11.3.1 简介 275
11.3.2 剖面概述 276
11.3.3 应用层 277
11.3.4 拨号和控制互操作性要求 278
11.3.5 串行端口剖面互操作性要求 280
11.3.6 普通接入剖面 280
11.4 传真剖面 282
11.4.2 剖面概述 283
11.4.1 简介 283
11.4.3 应用层 284
11.4.4 拨号和控制互操作性要求 285
11.4.5 串行端口剖面 286
11.4.6 普通接入剖面互操作性要求 287
11.5 耳机剖面 288
11.5.1 简介 288
11.5.2 剖面概述 289
11.5.3 应用层 290
11.5.4 耳机控制互操作性要求 290
11.5.5 串行端口剖面互操作性要求 294
11.5.6 普通接入剖面互操作性要求 296
11.6.1 简介 297
11.6 对象Push剖面 297
11.6.2 剖面概述 298
11.6.3 用户接口方面 299
11.6.4 应用层 300
11.6.5 OBEX 302
11.6.6 业务发现 304
11.7 文件传输剖面 305
11.7.1 简介 305
11.7.2 剖面概述 306
11.7.3 用户接口方面 307
11.7.4 应用层 309
11.7.5 OBEX 311
11.7.6 业务发现 315
11.8 同步剖面 316
11.8.1 简介 316
11.8.2 剖面概述 317
11.8.3 用户接口方面 318
11.8.4 应用层 320
11.8.5 IrMC同步要求 321
11.8.6 OBEX 321
11.8.7 业务发现 322
11.9 局域网接入剖面 324
11.9.1 简介 324
11.9.2 剖面概述 325
11.9.3 用户接口方面 327
11.9.4 应用层 328
11.9.5 PPP 329
11.9.6 RFCOMM 330
11.9.7 业务发现 330
11.9.8 L2CAP 331
11.9.9 链路管理 331
11.9.10 链路控制 332
11.9.11 管理实体程序 332
12.1.2 开发前的准备工作 336
12.1 蓝牙开发概述 336
12.1.1 蓝牙开发的意义 336
第三篇 蓝牙实现 336
第十二章 蓝牙开发 336
12.1.3 蓝牙软件与硬件的独立实现 337
12.2 蓝牙硬件模块开发 338
12.2.1 硬件模块设计的目标和挑战 338
12.2.2 硬件模块的构成 338
12.3 高层协议栈开发 341
12.3.1 高层协议栈的设计要求 341
12.3.2 主要的模块 342
12.3.3 模块及其应用程序接口 344
12.4 蓝牙剖面开发 352
12.4.1 普通接入剖面 352
12.4.3 服务发现应用剖面 353
12.4.2 串行口剖面 353
12.4.4 OBEX及其接口 354
第十三章 蓝牙认证与测试 356
13.1 蓝牙的认证过程 356
13.2 蓝牙收发器和基带规范测试 357
13.2.1 一般描述 357
13.2.2 测试环境 358
13.2.3 LMP消息概览 363
13.3 蓝牙的测试控制接口 365
13.3.1 概述 365
13.3.2 一般描述 365
13.3.4 TCI-L2CAP规范 368
13.3.3 测试配置 368
13.4 测试系统的确认 370
13.4.1 确认的基本过程 371
13.4.2 RF测试系统的确认 373
第十四章 蓝牙产品介绍 376
14.1 单芯片蓝牙控制器 376
14.1.1 AT76C551 376
14.1.2 Transilica的TR0700单芯片系统 382
14.2 蓝牙协议栈产品 387
14.2.1 东芝蓝牙协议栈 387
14.2.2 BlueStack 389
14.2.3 BTSWS蓝牙协议栈 390
14.2.4 T-BTS协议栈 393
14.3 开发系统产品 395
14.3.1 BTW-DK 395
14.3.2 XTNDCConnect Blue SDK简介 396
14.3.3 BByK 398
14.3.4 WDS 399
14.4 协议分析仪产品 401
14.4.1 BPA100 401
14.4.2 Merlin蓝牙协议分析仪 405
14.4.3 WaveCatcher蓝牙协议分析仪 407
14.4.4 蓝牙协议分析仪性能比较 411
蓝牙规范缩略语 415
参考文献 420