博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
低功耗蓝牙开发权威指南--第一部分 综述 (第1-4章)
阅读量:2045 次
发布时间:2019-04-28

本文共 3021 字,大约阅读时间需要 10 分钟。

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

主要介绍低功耗蓝牙技术及其设计目标

从低成本的需求方面审视低功耗蓝牙的系统设计尤为重要。实现底成本的设计有三个关键因素

  • ISM频段
  • IP许可
  • 低功耗

1.1 设备类型

低功耗蓝牙技术可以构建两种类型的设备:双模设备和单模设备。传统的蓝牙不能简单的通过升级实现低功耗蓝牙。

在这里插入图片描述

1.2 设计目标

蓝牙技术最初的设计目标主要包括以下几个:

  • 全球操作,需要一个在世界范围内都能使用的无线频段
  • 低成本,系统应该尽可能做到简洁、高效
  • 鲁棒性,包括检测和纠正比特误码的能力
  • 短距离,蓝牙只是一个个人局域网
  • 低功耗

1.3 术语

第2章 基本概念

讨论低功耗蓝牙体系结构的设计基础

2.1 纽扣电池,纽扣电池是低功耗蓝牙的主要设计目标

2.2 时间即能量,许多关键而重复的操作必须通过一定的措施实现优化,包括鲁棒性的发现设备、连接设备和发送数据。减少这些活动所需的时间,能耗得以减少,从而延长电池寿命。
2.3 昂贵的内存,整个低功耗蓝牙设计在每一层都考虑了降低内存的数量。
2.4 非对称设计,物理层有两类,发射器和接收器,一个设备可以既有发射器又有接收器,但是也可能只有发射器或者只有接收器。因为主从设备限制的不同,非对称是设计是最好的方式。
2.5 为成功而设计,即使设备的密度高也可以很好的工作,安全系统设计,隐私设计,循环冗余鲁棒性设计,加密设计。属性协议层拥有高度的防护方案。
2.6 凡事皆有状态,状态它通过属性服务器上的属性协议对外公开。
2.7 客户端-服务器架构。不允许将IP数据直接路由到从设备,智能网关实现了互联网和低功耗从设备之间的互联互通。
2.8 模块化架构,蓝牙技术联盟建立一个特别架构工作组,工作组的主要成果是基于通用属性规范的模块化的服务架构,允许设备以标准的方式将原子的、可封装的行为比特装进单个服务并将其公开。
2.9 十亿只是一个小数目,蓝牙发展很快,现在已经是10亿量级,这只是一个开始。
2.10 无连接模型,低功耗的基本理念是连接是瞬态的,当你需要做某件事或者检查情况时,可以快速创建一个连接,完成要做的事,然后断开连接。
2.11 范式
2.11.1 客户端-服务器架构,在客户端-服务器架构中,客户端通过网络向服务器发送请求,服务器回复响应,这就是互联网被的主要范式
2.11.2 面向服务的架构,客户端-服务器架构之上的进一步抽象就是面向服务的范式,这是一个将服务器中的信息组织成服务的模型。

正式合约、松耦合、抽象化、可重用性、无状态、可组合性、自治、可发现性。

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

介绍低功耗蓝牙的主要系统架构,包括控制器、主机、应用层

在这里插入图片描述
低功耗蓝牙的体系结构分为三个基本部门,控制器、主机、应用程序。控制器是一个物理设备,能够发送和接收无线电信号,并懂得如何将这些信号翻译成携带信息的数据包。主机通常是一个软件栈,管理两台或者多台设备间如何通信以及如何利用无线电同时提供几种不同的服务。应用程序则使用软件栈,进而是控制器来实现用户实例。
在控制器内既有物理层和链路层,又有直接测试模式和主机控制器接口HCI层的下半部分。在主机内包含三个协议,逻辑链路控制和适配协议L2CAP、属性协议Attribute protocol、安全管理器协议Security manager protocol,此外还包括通用属性规范GATT、通用访问规范GAP和模式mode。

3.1 控制器

3.1.1 物理层,物理层是采用2.4GHz无线电完成艰巨的传输和接收工作的。在低功耗蓝牙中,采用了高斯频移键控GFSK的调制方式改变无线电的频率进行数据的传输。

3.1.2 直接测试模式,直接测试模式运行测试者让控制器的物理层发送一系列测试数据包或者接收一系列数据包,测试者随后可以分析收到的数据包,或者根据接受的数据包数量判断物理层是否遵循RF规范。
3.1.3 链路层,链路层是低功耗蓝牙体系中最复杂的部分,负责广播、扫描、建立、维护连接,以及确保数据包按照争取的方式组织、正确的计算校验值以及加密序列等。链路层分为广播信道和数据信道,未建立连接的设备使用广播信道发送数据。广播信道有3个,设备利用广播信道进行广播,通告自身为可连接或者可发现的,并且执行扫描或者发起连接,在连接建立后,设备利用数据信道来传输数据。数据信道有37个,由一个自适应跳频引擎控制以实现鲁棒性,在数据信道中,允许一端向另一端发送数据、确认,并在需要时重传,此外还能为每个数据包进行加密和认证。
在这里插入图片描述
3.1.4 主机、控制器接口,主机控制器接口实际上有两个独立的部分组成:逻辑接口和物理接口。逻辑接口定义了命令和事件及其相关的行为。物理接口定义了命令、事件和数据如何通过不同的连接技术来传输。

3.2 主机

3.2.1 逻辑链路控制和适配协议L2CAP,这个协议是低功耗蓝牙的复用层。低功耗蓝牙只使用固定信道:一个用于信令信道,一个用于安全管理器,还有一个用于属性协议。低功耗蓝牙只有一个帧格式即B帧。

在这里插入图片描述
3.2.2 安全管理器协议,安全管理定义了一个简单的配对和秘钥分发协议。
3.2.3 属性协议,属性协议定义了访问对端设备上的数据的一组规则。数据存储在属性服务器的属性里,供属性客户端执行读写操作。客户端将请求发送至服务器,后者回复响应信息。属性协议定义了6种类型的信息。属性是被编址并打上标签的一小块数据,每个属性均包含一个用来标识该属性的唯一句柄、一个用于标识存储数据的类型以及一个值。
3.2.4 通用属性协议,通用属性规范位于属性协议之上,定义了属性的类型和使用方法。通用属性规范引入了一些概念,包括特性、服务、服务之间的包含关系、特性描述符等。它还定义了一些规程,用来发现服务、特性、服务之间的关系,以及用来读取和写入特性值。
服务是设备上若干原子行为的不可变封装。
封装是指简洁地表达事物的功能。
行为是指事物响应特定情况或者刺激的方式。
服务间的关系是实现设备公开的复杂行为的关键。
3.2.5 通用访问规范,通用访问规范定义了设备如何发现、连接,以及为用户提供有用的信息。还定义了设备之间如何建立长久的关系,即绑定。要启用这个功能,规范定义了设备如何实现可发现、可连接、可绑定。还介绍了设备如何使用规程以发现其他设备、连接到其他设备、读取他们的设备名并和它们进行绑定。

3.3 应用层

3.3.1 特性,特性是采用已知格式、以通用唯一识别码作为标记的一小块数据。

3.3.2 服务,服务是人类可读的一组特征及其相关的行为规范。
3.3.3 规范,规范是用例或引用的最终体现。

3.4 协议栈划分

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

第4章 新的使用模型

描述低功耗技术使能新的使用模型

4.1 存在检测

“存在”是指当前发生的、或于某处出现的状态或者事实。
扫描模式可以分为:主动扫描和被动扫描,主动扫描时扫描者从广播者请求更多的信息,以获得额外的静态数据,被动扫描时,扫描者仅仅侦听广播报文,并不发送请求。链路层收到广播数据包后会将他们交给主机。

4.2 广播数据

广播数据有助于提升用户体验的三个主要方面:发起连接建立、公告、广播信息。

4.3 无连接模式

设计并实现无连接模型是从经典蓝牙到低功耗蓝牙的一个最大的变化。在无连接模型中,设备无需为有效信息的快速交互保持连接。

4.4 网关

实现了互联网协议和蓝牙协议的转换

转载地址:http://qqaof.baihongyu.com/

你可能感兴趣的文章
剑指offer 62. 孩子们的游戏
查看>>
剑指offer 63.扑克牌顺子
查看>>
剑指offer 64. 翻转单词顺序列
查看>>
剑指offer 65. 左旋转字符串
查看>>
剑指offer 66. 和为S的两个数字
查看>>
leetcode 热题 Hot 100-5. 二叉树的最大深度
查看>>
leetcode 热题 Hot 100-2. 有效的括号
查看>>
leetcode 热题 Hot 100-3. 合并两个有序链表
查看>>
leetcode 热题 Hot 100-4. 对称二叉树
查看>>
Leetcode C++《热题 Hot 100-12》226.翻转二叉树
查看>>
Leetcode C++《热题 Hot 100-13》234.回文链表
查看>>
Leetcode C++《热题 Hot 100-14》283.移动零
查看>>
Leetcode C++《热题 Hot 100-15》437.路径总和III
查看>>
Leetcode C++《热题 Hot 100-16》448.找到所有数组中消失的数字
查看>>
Leetcode C++《热题 Hot 100-17》461.汉明距离
查看>>
Leetcode C++《热题 Hot 100-18》538.把二叉搜索树转换为累加树
查看>>
Leetcode C++《热题 Hot 100-19》543.二叉树的直径
查看>>
Leetcode C++《热题 Hot 100-20》617.合并二叉树
查看>>
Leetcode C++《热题 Hot 100-21》581.最短无序连续子数组
查看>>
Leetcode C++《热题 Hot 100-22》2.两数相加
查看>>