深入解析物联网中的蓝牙技术:体系结构与应用概述
物联网吴启胜第八章蓝牙技术 本章内容: 蓝牙技术概述 蓝牙技术架构 无线片上系统 CC2540 概述 本章小结 8.1 蓝牙技术概述 蓝牙(Bluetooth)是一种技术规范的简称- 远距离无线通信。工作频段为全球统一的2.4GHz工业、科学和医疗频段。蓝牙采用电路交换和分组交换技术,支持异步数据通道、三路语音通道以及异步数据和同步语音同时传输的通道。根据蓝牙设备在网络中的作用,可以分为主设备和从设备。主设备是网络连接中主动发起连接请求的蓝牙设备,连接响应者是从设备。 8.1.1 蓝牙的基本概念和特点 图8-1、8-2 蓝牙微微网结构(左)和分散网结构(右) 蓝牙具有良好的抗干扰能力:蓝牙设备在某个频点发送数据之后,之前跳转到另一个频点发送,频点顺序是伪随机的。频率每秒变化1600次,每次频率持续625μs。蓝牙模块体积小,可以轻松集成到各种设备中。当蓝牙设备处于通信连接状态时,有四种工作模式,分别是Active模式、Sniff模式、Hold模式和Park模式。蓝牙具有开放的接口标准。蓝牙产品成本低廉。
8.1.2 蓝牙技术的发展 截至2014年,蓝牙有8个版本:V1.1、V1.2、V2.0、V2.1、V3.0、V4.0、V4.1和V4.2,分别为:通讯如果按照距离来区分,可以分为A类和B类两类。A类用于大功率/远距离的蓝牙产品,成本高,功耗大。通讯距离约为80~100m。 B级是目前最流行的标准。通讯距离约为8~30m。主要用于个人通讯产品。它消耗的电量较少,并且易于携带。蓝牙V1.1的传输速率约为748~810kb/s,很容易受到同频产品的干扰。蓝牙V1.2在V1.1的基础上增加了抗干扰跳频功能。蓝牙V 2.0对蓝牙V1.2进行了改进,传输速率约为1.8Mb/s~2.1Mb/s,并且可以有双工工作模式。蓝牙V2.1+EDR(增强速率版本):针对蓝牙设备配置流程复杂、功耗高等问题,改进了蓝牙设备的配对流程,自动使用数字密码进行配对连接(对于例如,只要在手机选项中选择连接特定设备,确认后手机会自动列出当前环境下可以使用的设备并自动连接);新增减速呼吸(Sniff Subating)功能,通过设置两个设备之间相互确认信号的发送间隔来节省功耗。
蓝牙V3.0根据IEEE 802.11适配层协议应用Wi-Fi技术,传输速度提升至约24Mbps。这样,蓝牙3.0设备将能够通过Wi-Fi连接到其他设备进行数据传输。功耗方面,通过蓝牙3.0高速传输大量数据,自然会消耗更多的能量。蓝牙V4.0规范包括经典蓝牙、高速蓝牙和蓝牙低功耗协议。高速蓝牙基于 Wi-Fi,而经典蓝牙则包含较旧的蓝牙协议。蓝牙V4.0是V3.0的升级版本。比V3.0更省电、成本更低、延迟更低(延迟3毫秒)、有效连接距离更长,还增加了AES-128位加密机制。 。技术规格 经典蓝牙 低功耗 蓝牙射频 2.4 GHz 2.4 GHz 距离 10m 10m 无线数据速率 1-3 Mb/s 1 Mb/s 应用吞吐量 0.7-2.1 Mb/s 0.2 Mb/s 安全性 64/128 -位和用户定义的应用层 128 位高级加密标准 (AES) 和用户定义的应用层鲁棒性 自动适应快速频率跳频、FEC 快速 ACK 自动适应快速跳频 发送数据总时间 100 m/s 6 m/s 认证机构 蓝牙 SIG 蓝牙 SIG 语音 能够拥有网络拓扑 分散式网络 星形总线 主要用途 手机、游戏机、耳机、立体声音频数据流、汽车和 PC 等。手机、游戏机、PC、桌子、运动健身、医疗保健、汽车、家用电子、自动化和工业等。 表 8-1 经典蓝牙和蓝牙的性能比较蓝牙低功耗蓝牙4.1版本是蓝牙4.0版本的软件更新:当蓝牙信号和LTE无线电信号之间同时传输数据时,蓝牙V4.1可以使用自动协调机制来减少其他信号对蓝牙4.1的干扰;减少设备之间的重新连接时间。当用户短暂离开并返回蓝牙信号范围时,设备会自动连接;提高传输效率,可以实现多个可穿戴设备之间信息的及时传输;它为开发人员增加了更多灵活性,可以支持同时连接多个设备。
蓝牙V4.2提高数据传输速度和隐私保护:数据传输速度提升2.5倍;连接或跟踪用户设备需要用户许可;它支持灵活的互联网连接选项(IPv6/6LoWPAN或蓝牙智能网关)以实现物联网。 8.2 蓝牙技术的体系结构 蓝牙体系结构分为三个基本部分:控制器、主机和应用程序。控制器通常是发送和接收无线电信号并可以将这些信号转换为携带信息的数据包的物理设备。主机通常是一个软件堆栈,用于管理两个或多个设备如何相互通信并使用无线电同时提供多种不同的服务。该应用程序使用软件堆栈,从而使控制器能够实现用户实例。控制器内有物理层和链路层,以及直接测试模式和主机控制器接口(HCI)层的下半部分。主机包含三个协议:逻辑链路控制和适应协议(L2CAP)、属性协议和安全管理器协议。此外,还包括通用属性规范(GATT)和通用访问规范。 (差距)。图8.3 蓝牙架构 8.2.1 控制器 蓝牙控制器由数字和模拟射频设备以及负责发送和接收数据包的硬件组成。
控制器通过天线与外界连接,并通过主机控制接口(HCI)与主机连接。物理层 物理层使用频率为2.4GHz的无线电波来完成数据的发送和接收。在蓝牙低功耗中,采用高斯频移键控(GFSK)的调制方法来改变无线电的频率并传输0或1的信息。在传输无线电信号时,距离中心频率超过185KHz的正偏移代表一位值为 1;超过185KHz的负偏移表示值为0的位。为了使物理层能够工作,特别是当同一区域内有大量无线电同时发射时,2.4GHz频段被划分为40个RF通道,每个通道宽度为2MHz。直接测试模式 直接测试模式允许测试仪让控制器的物理层发送一系列测试数据包或接收一系列数据包。然后,测试仪可以分析接收到的数据包,或者根据接收到的数据包数量确定物理层是否符合 RF 规范。直接测试模式不仅可以执行能量测试,还可以用于执行线性测试和校准无线电。链路层链路层负责广播、扫描、建立和维护链路,并确保数据包以正确的方式组织、校验值正确计算、加密序列正确计算。链路层信道有两种类型:广播信道和数据信道。共有三个广播通道,这个数字考虑到了低功耗和鲁棒性。在任何通道(包括广播信号和数据通道)上发送的数据包的格式都是相同的。
每个数据至少包含 80 位地址、标头和校验和信息。图8.4 链路层数据包结构。 8位前导码用于优化数据包的鲁棒性,实现同步定时和自动增益控制; 32位接入码在广播通道数据包中为固定值,在数据通道数据包中为完全随机的私有值; 8位头字段描述数据包的内容;另一个 8 位长度字段描述有效负载的长度。接下来是一个可变长度的有效负载字段,它携带来自应用程序或主机设备的有用信息;不允许发送负载长度超过37字节的数据包;最后是 24 位循环冗余校验 (CRC) 值,以确保接收到的消息没有错误位。可以发送的最短数据包是持续时间为 80 μs 的空数据包;满载时最长数据包持续时间为 376 μs。大多数广播消息的长度仅为 128μs,而大多数数据消息的长度为 144μs。主机/控制器接口 (HCI) 存在于控制器和主机内。位于控制器内的部分通常称为主控制器接口的下部;位于主机内的部分通常称为主机控制器接口的上部。提供与控制器通信的标准接口,允许主机向控制器发送命令和数据,也允许控制器向主机发送事件和数据;由两个独立的部分组成:逻辑接口和物理接口。逻辑接口定义命令和事件及其相关行为。物理接口定义了如何通过不同的连接技术传输命令、事件和数据,包括通用串行总线 (USB)、安全数字输入和输出 (SDIO) 以及通用异步接收器-发送器 (UART) 的两种变体。
8.2.2 主机 主机包括逻辑链路控制和适应协议(L2CAP)、安全管理器(处理身份验证和安全连接等所有事务)和属性协议(公开设备上的状态数据)。属性协议之上是通用属性规范和通用访问规范。逻辑链路控制和适配协议是低功耗蓝牙的复用层,定义了两个基本概念:L2CAP通道和L2CAP信令。 L2CAP 通道是双向数据通道,通向对等设备上的特定协议或规范。每个通道都是独立的,并且可以有自己的流量控制和与其关联的配置信息。低功耗蓝牙仅使用固定通道:一个用于信令通道,一个用于安全管理器,一个用于属性协议。低功耗蓝牙只有一种帧格式,即 B 帧,其中包含两个字节的长度字段和两个字节的通道标识符字段。图 8.5 L2CAP 消息结构 安全管理器协议定义了一个简单的配对和密钥分发协议。配对是通常通过身份验证获得其他设备信任的过程。在密钥分发过程中,从设备与主设备共享秘密。当两个设备在将来某个时候重新连接时,它们可以使用之前分发的共享密钥进行加密,以快速验证彼此的身份。安全管理器还提供一个安全工具箱,负责生成配对过程中使用的数据哈希、确认值和短期密钥。属性 协议属性是一小段被寻址和标记的数据。
每个属性都包含一个标识属性的唯一句柄、标识存储数据的类型和一个值。属性协议定义了一组用于访问对等设备上的数据的规则。数据存储在属性服务器的“属性”中,供属性客户端进行读写操作。客户端将请求发送到服务器,服务器用响应消息进行回复。客户端可以使用这些请求来查找服务器上的所有属性并读取和写入这些属性。属性协议定义了六类信息: 1)客户端向服务器发送的请求; 2)从服务器发送到客户端以回复请求的响应; 3)从客户端发送到服务器的不需要响应的命令; 4)服务器向客户端发送未经确认的通知; 5) 从服务发送给客户端的指令; 6) 确认客户端发送给服务器的回复指令。通用属性规范定义属性的类型以及如何使用它们。它引入了一些概念,包括“特征”、“服务”、服务之间的“包含”关系、特征“描述符”等。还定义了用于发现服务、属性和服务之间的关系以及读取和写入属性值的过程。服务是设备上多个原子行为的不可变封装。不可变意味着服务一旦发布就无法更改。封装是指简洁地表达某事物的功能。行为是事物对特定情况或刺激做出反应的方式。在服务上下文中,行为意味着读取或写入属性时发生的情况,或者导致属性通知发送到客户端的原因。服务分为两种:主要服务和次要服务。主要服务从用户的角度揭示了设备的用途;辅助服务由主服务或另一个辅助服务使用,以使其能够提供完整的行为。
生活日报网·版权声明
本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。本站部分作品是由网友自主投稿和发布、编辑整理上传,对此类作品本站仅提供交流平台,不为其版权负责。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。
本网站所提供的信息,只供参考之用。本网站不保证信息的准确性、有效性、及时性和完整性。本网站及其雇员一概毋须以任何方式就任何信息传递或传送的失误、不准确或错误,对用户或任何其他人士负任何直接或间接责任。在法律允许的范围内,本网站在此声明,不承担用户或任何人士就使用或未能使用本网站所提供的信息或任何链接所引致的任何直接、间接、附带、从属、特殊、惩罚性或惩戒性的损害赔偿。
【特别提醒】:如您不希望作品出现在本站,可联系我们要求撤下您的作品。邮箱 sunny@sdlife.com.cn