当前位置:首页 > 蓝牙技术与应用
在一般操作情况下,同步至共用时钟及跳频图的一组设备将共享一个物理无线电信道。提供同步基准的设备称为主设备。所有其它设备称为从设备。以此方式同步的一组设备形成了一个微微网 (piconet)。这就是蓝牙无线技术通信的基本形式。微微网中的设备使用特定跳频图,该图由蓝牙规格地址中的特定字段和主设备时钟依据特定算法来确定。基本跳频图是对 ISM 波段中的 79 个频率进行伪随机排序。跳频图可以调整以排除干扰设备使用的一部分频率。自适应跳频技术改善了蓝牙技术与静态(非跳频)ISM 系统的共存状态。
物理信道被复分为称作时隙的时间单位。数据以时隙中数据包的形式在启用蓝牙的设备之间传送。如果条件允许,可以将多个连续时隙分配给一个数据包。跳频发生在传输或接收数据包时,蓝牙技术通过使用时分双工 (TDD) 方案提供全双工传输效果。
物理信道上方有一个链路、信道及相关控制协议层。物理信道以上的信道及链路层级为物理信道、物理链路、逻辑传输、逻辑链路及 L2CAP 信道。在物理信道内,任意两个传输设备之间可以形成物理链路,并且可双向传输数据包。在微微网物理信道中,对哪些设备可以形成物理链路有一些限制。每个从设备和主设备间有一个物理链路。微微网中的从设备之间不会直接形成物理链路。物理链路可作为一个或多个逻辑链路的传输层,支持单播同步、异步和等时通信量及广播通信量。
逻辑链路上的通信量可通过占有资源管理器中的调度功能分配的时隙分化到物理链路上。除用户数据外,逻辑链路还负载了基带和物理层的控制协议,即链路管理协议 (LMP)。微微网中的活动设备具有默认的面向异步连接的逻辑传输,用于传输 LMP 协议信令。由于历史原因,这被称作为ACL 逻辑传输,每次有设备加入微微网时都会创建默认的 ACL 逻辑传输,可在需要时创建附加逻辑传输以传输同步数据流。链路管理功能采用 LMP 控制微微网中的设备的操作,并提供服务来管理架构中的较低层(无线电层和基带层)。LMP 协议只可以负载在默认的 ACL 逻辑传输及默认的广播逻辑传输上。在基带层以上,L2CAP 层为应用和服务提供了基于信道的提取。它可以执行应用数据的分割和重组,并通过一个共享逻辑链路执行多个信道的复用或解复用。L2CAP 有一个协议控制信道,负载于默认的 ACL 逻辑传输中。提交至 L2CAP 协议的应用数据可以负载于支持 L2CAP 协议的任意逻辑链路上。
4.3.2 架构 - 核心系统
蓝牙核心系统覆盖 4 个最低层及其关联协议以及一个通用服务层协议—服务发现协议 (SDP),所有的配置文件要求则由通用访问配置文件 (GAP) 指定。完整的蓝牙应用要求多项附加服务和较高层协议,这些在蓝牙规格中定义,最低的 3 层有时被归为一个子系统,称为蓝牙控制器,这是一种常见的实施方式。
在蓝牙控制器和蓝牙系统其余部分(包括 L2CAP、服务层以及被称为蓝牙主机的较高层)之间有标准的物理通信接口。虽然此接口是可选的,但架构的设计使它自有存在的意义和特性。蓝牙规格通过定义对等层之间交换的协议消息,实现在启用蓝牙的独立系统之间的互操作性,并通过定义蓝牙控制器和蓝牙主机之间的常用接口,实现在独立蓝牙子系统之间的互操作性。
规格对所有设备间操作定义了标准交互方式,蓝牙设备根据蓝牙规格交换协议信令。蓝牙核心系统协议包括射频 (RF) 协议、链路控制 (LC) 协议、链路管理器 (LM) 协议和逻辑链路控制和适配协议 (L2CAP),这些在前文中已详细介绍
13
过了,蓝牙规格后续部分对所有这些协议进行了完整的定义。另外,服务发现协议 (SDP) 是所有蓝牙应用必备的服务层协议。
蓝牙核心系统通过多个服务接入点提供服务。这些服务由控制蓝牙核心系统的基础服务原语组成。服务可分为 3 种类型。即:用于修改蓝牙设备行为和模式的设备控制服务,用于创建、修改和释放通信载体(信道和链路)的传输控制服务,以及通过通信载体提交传输数据的数据服务。通常前两项服务被视为控制平面 (C-plane) 类,最后一项则属于用户平面(U-plane) 类。至蓝牙控制器子系统的服务接口的定义将蓝牙控制器视为标准组成部分。在这种配置中,蓝牙控制器操作最低的三层,而 L2CAP 层与其它蓝牙应用则包含在主机系统中。这一标准接口被称为主机到控制器接口 (HCI)。可选择是否实施此标准服务接口。由于蓝牙架构是在独立的主机和控制器可通过 HCI 进行通信这一前提下定义的,定义过程采用了若干假设。不妨假设:与主机相比,蓝牙控制器只具有有限的数据缓冲能力。因此,L2CAP层在将 L2CAP PDU 提交到控制器以便再传输到对等设备时应执行一些简单的资源管理。这包括将L2CAP SDU 分段成更便于管理的 PDU,然后再将 PDU 分段成大小适合控制器缓冲区的起始和延续数据包;以及管理控制器缓冲区的使用,以便确保具有服务质量 (QoS) 承诺的信道的可用性。
基带层提供蓝牙技术的基础 ARQ 协议。L2CAP 层可选择性地提供深入错误检测和指向L2CAP PDU 的重新传输。对于要求尽量避免用户数据中存在未检测到的错误的应用,建议使用此功能。L2CAP 的另一可选功能是基于视窗的流控制功能,该功能可用于管理接收设备中的缓冲区分配。这两项可选功能都将提高QoS在特定应用中的性能。尽管对于在一个系统中组合各层的嵌入式蓝牙技术实施来说,这些假设并不是必备条件,但一般架构和QoS模型都是基于这些假设定义的,并以之作为实际的最低通用标准。对蓝牙核心系统实施进行自动化符合性测试是必须的。要做到这一点,可允许测试人员通过蓝牙系统通用的射频接口和进行符合性测试才需要的测试控制接口 (TCI) 来控制实施。
测试人员使用通过射频接口与被测实施 (IUT) 进行的交换来确保对远程设备发出的请求作出正确回应。测试人员通过 TCI 控制 IUT,以便让 IUT 通过射频接口发起交换,这样就能验证这些交换的符合性。对于每一架构层和协议测试,TCI 所使用的命令集(服务接口)是不同的。HCI 命令集的子集将作为蓝牙控制器子系统的每一层和每一个协议的 TCI 服务接口。L2CAP 层和协议使用独立的服务接口测试。由于蓝牙核心规格中没有定义 L2CAP 服务接口,该接口在 TCI 规格中单独定义。只有在进行符合性测试时才要求实施 L2CAP 服务接口。
4.3.3 核心架构块
4.3.3.1信道管理器
信道管理器负责创建、管理和破坏用于服务协议和应用数据流传输的 L2CAP 信道。信道管理器通过L2CAP 协议与远程(对等)设备上的信道管理器交互,以创建这些 L2CAP 信道并将它们的端点连接到对应的实体。信道管理器与本地链路管理器交互来创建新的逻辑链路(如有此需要)和配置这些链路,以提供被传输数据类型要求的QoS。
4.3.3.2 L2CAP 资源管理器
L2CAP 资源管理器块负责管理发送至基带的 PDU 片段的提交顺序以及信道
14
间的相关调度,以确保不会因为蓝牙控制器资源耗尽而导致带有QoS承诺的 L2CAP 信道对物理信道的访问被拒绝。这是必须的,因为架构模型不会假设蓝牙控制器拥有无限大缓冲,也不会假设 HCI 是具有无限大带宽的管道。 L2CAP 资源管理器也可以执行通信量符合性管制功能,以确保这些应用在它们协商好的QoS设置的限制范围内提交 L2CAP SDU。一般的蓝牙数据传输模型会假设每项应用都符合相关要求,而不会定义某项具体实施应如何处理此类问题。
4.3.3.3设备管理器
设备管理器是基带的功能块,用于控制启用蓝牙的设备的一般行为。它负责蓝牙系统所有与数据传输无直接关系的操作,例如查询附近是否有其它启用蓝牙的设备,连接到其它启用蓝牙的设备,或使本地启用蓝牙的设备可被其它设备发现或连接。设备管理器请求从基带资源控制器访问传输媒体,以执行它的功能。 设备管理器还控制多个 HCI 命令指示的本地设备行为,例如管理设备本地名称、任何已存储的链路密钥和其它功能。
4.3.3.4链路管理器
链路管理器负责创建、修改和释放逻辑链路(以及与这些链路关联的逻辑传输,如有需要),还可以更新与设备之间的物理链路有关的参数。链路管理器通过使用链路管理协议 (LMP) 与远程蓝牙设备通信来实现此功能。
LMP 可以根据需要在设备之间创建新逻辑链路和逻辑传输,并进行对链路和传输特性的总体控制,例如启用逻辑传输加密、调节物理链路上的传输功率或调整逻辑链路的QoS设置。
4.3.3.5基带资源管理器
基带资源管理器负责对无线媒介的所有访问。它主要有两项功能。它的核心是一个调度程序,用于将物理信道上的时间授予所有已协商达成访问协定的实体。另一个主要功能是与这些实体协商访问协定。访问协定实际上是一项承诺,提供必要的特定QoS,以为用户应用提供期望性能。访问协定和调度功能必须考虑所有需要使用蓝牙无线电的行为。例如,这包括已连接设备之间通过逻辑链路和逻辑传输进行正常数据交换,以及使用无线电媒介实现查询、建立连接、变为可发现或可连接、或者在使用 AFH 模式过程中从未使用的载波中获取读数。
在某些情况下,逻辑链路调度会导致从先前使用的物理信道更换为另一物理信道。这可能是因为涉及到散射网、定期查询功能或寻呼扫描等。如果物理信道未按时隙对齐,则资源管理器还会考虑原物理信道上的时隙和新物理信道上的时隙之间的重新对齐时间。某些情况会自动对齐时隙,这是因为两个物理信道使用相同的设备时钟作为参考。
4.3.3.6链路控制器
链路控制器负责蓝牙数据包与数据净荷及物理信道、逻辑传输和逻辑链路相关参数的编码和解码操作。
链路控制器发出链路控制协议信令(与资源管理器的调度功能紧密结合),用于传达流控制及确认和重新传输请求信号。对这些信号进行翻译是与基带数据包相关联逻辑传输的特征。链路控制信令的翻译和控制通常与资源管理器的调度程序相关联。
15
4.3.3.7射频
射频块负责在物理信道上传输和接收数据包。基带和射频块之间的控制通道让基带功能块可以控制射频功能块的时间和频率载波。射频块可将物理信道和基带上传输的数据流转换成所需格式。
4.3.4架构 - 数据传输
蓝牙数据传输系统采用分层架构。此蓝牙系统说明描述了蓝牙核心传输层以上各层,包括 L2CAP 信道。所有蓝牙运作模式都依据相同的通用传输架构。出于效率和遗留原因,蓝牙传输架构包括一个细分逻辑层,用于区别逻辑链路和逻辑传输。此细分规定了在两个或多个设备间提供独立传输的逻辑链路的一般常用概念。逻辑传输子层说明部分逻辑链路类型主要出于遗留行为的原因而形成的相互依赖性。
蓝牙1.1 规格将 ACL 和 SCO 作为物理链路进行了描述。而增加了扩展的 SCO (eSCO) 后以及考虑到未来扩展,最好将它们视为逻辑传输类型,以便更精确地概述其目的。但是,由于它们共享使用资源,如 LT_ADDR 和确认/重复请求 (ARQ) 机制,它们并不像期望的那样独立。因此,架构无法通过单一的传输层表现这些逻辑传输。其它逻辑传输层对阐明此行为起到了一定的作用。
4.3.5核心通信量载体
蓝牙核心系统提供若干标准通信量载体来传输服务协议和应用数据。逻辑链路使用相关逻辑传输和表示传输数据类型的后缀命名:C 表示承载 LMP 消息的控制链路,U表示承载用户数据 (L2CAP PDU) 的 L2CAP 链路,S 表示承载无格式同步或等时数据的流链路。通常,只要不会造成指代不明,逻辑链路的后缀将被删除,因此,对默认 ACL 逻辑传输的引用在讨论 LMP 协议时表示 ACL-C 逻辑链路,在讨论 L2CAP 层时则表示 ACL-U 逻辑链路。
应用通信类型到蓝牙核心通信量载体的映射基于通信量特征与载体特征的匹配。建议使用这些映射,因为它们是相关特征数据的最普通但最有效的传输方法。蓝牙核心系统的应用或实施可以选择使用不同的通信量载体或不同的映射以获得类似结果。例如,在一个只有一个从设备的微微网中,主设备可能选择通过 ACL-U 逻辑链路传输 L2CAP 广播,而不是通过 ASB-U 或 PSB-U 逻辑链路。如果物理信道质量不是太差,这可能在带宽方面会更有效率优势。只有在能保持应用通信量类型特征的情况下,才能使用备选传输路径。
应用通信量类型可用于对提交至蓝牙核心系统的数据类型进行归类。如果介入流程修改了数据通信量类型,则提交至蓝牙核心系统的数据通信量类型可能和原始类型不一致。例如,视频数据是以恒定速率生成的,但中间编码程序可能将此更改为可变速率,如通过 MPEG4 解码程序。但蓝牙核心系统只对已提交数据的特征感兴趣。
4.3.5.1帧化数据通信量
L2CAP 层服务对异步和等时用户数据提供按帧传输功能。应用程序以各种大小的帧为单位(最大可达信道协商最大值)将数据提交至此服务,然后,这些帧又被以同样的形式传送至远程设备上的相关应用程序。应用程序不必在数据中插入其它帧信息,除非确有必要。(这些帧对蓝牙核心系统可见。)可以创建以连接
16
共分享92篇相关文档