Agenda:
3.2. 传输架构实体.
3.2.1 BR / EDR通用数据包结构.
3.2.2 LE通用数据包结构.
3.3 物理信道.
3.3.1 BR/EDR物理信道.
3.3.2 LE物理信道.
3.3.3 AMP物理信道.
3.2. 传输架构实体
(197页)蓝牙传输架构实体如图3.3所示,并在后续章节中从最低层向上描述。
BR/EDR物理传输封装了BR/EDR物理信道。LE物理传输封装了LE物理信道。
3.2.1 BR / EDR通用数据包结构
(198页)通用数据包结构反映了蓝牙BR / EDR系统中的架构层。BR / EDR数据包的设计旨在获得正常操作的最佳使用效果。如图3.4所示。
数据包通常仅包括代表传输所必须的层的必要字段。因此,通过查询扫描物理信道发出的简单查询请求不会创建或要求逻辑链路或较高层,因而仅包含信道访问码(Channel Access Code,与物理信道相关联)。因为微微网中的普通通信使用到了所有架构层,所以使用包含所有字段的数据包。
所有数据包均包括信道访问码。它可用于确定特定物理信道上的通信,并排除或忽略在物理邻近区碰巧使用相同射频载波的其它物理信道上的数据包。
Bluetooth 数据包结构中没有代表或包含与物理链路相关的信息的直接字段。此信息暗含在数据包头(Packet Header)负载的逻辑传输地址 (LT_ADDR) 中。
大多数数据包包括包头。在支持物理链路、逻辑传输和逻辑链路的物理信道上传输的数据包始终包含包头。包头负载了 LT_ADDR,各个接收设备可使用它来确定数据包是否是传送给该设备的,或者用以在内部路由数据包。
包头还负载有按照逻辑传输运行的 LC 协议部分(运行负载在逻辑传输上的共享 LC 协议的 ACL
或 SCO 传输除外)。
(199页)EDR 数据包在净荷之前具有保护时间和同步序列。这是一个用于调制方案物理层变更的字段。
在支持多个逻辑链路的逻辑传输上的所有数据包都包含净荷包头(Payload Header)。净荷包头包括一个用于路由净荷的逻辑链路标识符字段,和一个指明净荷长度的字段。某些类型的数据包还在数据包净荷之后包含一个CRC,以用于检测接收到的数据包中的大部分错误。EDR 数据包在 CRC 后有一个包尾。
数据包净荷(Payload)用于传输用户数据。此类数据的编码取决于逻辑传输和逻辑链路标识符。对于 ACL 逻辑传输,LMP 消息和 L2CAP 信令同应用的普通用户数据一起,负载于数据包的净荷中传输。对于 SCO和 eSCO 逻辑传输,净荷包含逻辑链路的用户数据。
3.2.2 LE通用数据包结构
链路层空中接口分组的一般结构紧密地反映了LE系统中发现的架构层。 LE数据包结构旨在最佳地用于正常操作。 如图3.5所示。
(200页)物理信道标识符不包含在链路层空中接口分组中。物理信道标识符是固定的或在连接建立时确定。所有LE数据包都包含访问地址(Access Address)。这用于识别物理链路上的通信,以及排除或忽略在物理邻近中使用相同PHY信道的不同物理链路上的分组。访问地址确定数据包是指向广播物理链路还是指向设备的活动物理链路。 所有LE广播物理链路都使用固定的访问地址。LE活动物理链路使用随机生成的32位值作为其访问地址。这提供了可以在LE微微网中寻址的大量有源设备。
所有LE分组都包括PDU Header。 PDU头确定通过物理信道承载的广播或逻辑链路的类型。
3.3 物理信道
(201页)Bluetooth 无线技术系统架构中的最低层是物理信道。架构定义了多种类型的物理信道。所有Bluetooth 物理信道都具有以下特征:RF 频率与时间参数相结合,并受空间因素的限制。对于基础和适应型微微网物理信道,跳频可用于周期性地改变频率,以减少干扰或达到管制目的。
两个 Bluetooth 设备使用一个共享物理信道进行通信。为了实现此目的,其收发器需要同时调至相同的 RF 频率,且需要彼此位于额定的范围内。
3.3.1 BR/EDR物理信道
在BR / EDR核心系统中,对等设备使用共享物理信道进行通信。 为了实现这一点,他们的收发器需要同时调谐到相同的PHY频率,并且它们需要在彼此的标称空间范围内。
假设射频载波的数量有限,且许多Bluetooth 设备可能都在同一空间和时间区独立地运行,则很有可能两个独立的Bluetooth 设备都将其收发器调至同一射频载波,以致物理信道冲突。为了减小这种冲突引发的不必要影响,物理信道上的每个传输开头都附带有访问码(access code),作为设备用于调至物理信道的相关码。此信道访问码是物理信道的一个属性。访问码总是出现在每个传输数据包的开头。
共定义了四个Bluetooth 物理信道。每个信道都经过优化,用于不同用途。其中两个物理信道(基础微微网信道及适应型微微网信道)用于在连接设备间进行通信,且与特定微微网相关。其余的物理信道用于发现Bluetooth 设备(查询扫描信道)和连接Bluetooth 设备(寻呼扫描信道)。
Bluetooth 设备在指定时间只可以使用这些物理信道中的一个。为了支持多个并发操作,设备在信道间采用时分复用。通过这种方式,Bluetooth 设备可以出现并同时运行在多个微微网中,且可以被发现并连接。
无论何时 Bluetooth 设备符合物理信道的时间、频率及访问码,即可认为是“连接”至此信道(不管它是否积极参与此信道的通信)。Bluetooth 规范假定设备在任意时间内只能连接至一个物理信道。高级设备可能同时连接至多个物理信道,但规范并不假定这种可能成立。
3.3.1.1 基础微微网信道
概览
(202页)基础微微网信道可用于在正常操作过程中在连接的设备间通信。
特征
基础微微网信道的主要特征是在无线射频信道间进行伪随机序列跳频。微微网的跳频序列是唯一的,由主设备的Bluetooth 设备地址确定。跳频序列的相位由主设备的Bluetooth 时钟决定。所有加入微微网的Bluetooth 设备都在时间和跳频上与信道同步。
信道被分为若干时隙,每个时隙对应一个射频跳频。连续跳频对应不同的射频跳频频率。时隙根据微微网主设备的Bluetooth 时钟进行编号。数据包由加入微微网且对齐在时隙边界起始处的Bluetooth设备传输。每个数据包开头都负载有信道访问码,该代码来源于微微网的Bluetooth 设备地址。
在基础微微网信道上,主设备控制着对信道的访问。主设备仅在偶数时隙内启动传输。主设备传输的数据包将与时隙起始处对齐,并决定着微微网的定时。主设备传输的数据包最多可以占用五个时隙,具体情况视数据包类型而定。
主设备传输指其中一个逻辑传输上附带有信息的数据包。从设备可以在物理信道上传输信息以与之响应。响应的特性由寻址到的逻辑传输决定。
例如,在面向连接的异步逻辑传输上,寻址到的从设备(slave)传送一个包含额定与下一时隙(奇数)起始处对齐的同一逻辑传输相关信息的数据包,以此进行响应。此类数据包最多可以占用五个时隙,具体情况视数据包类型而定。在广播逻辑传输上,不允许从设备响应。
基础微微网的一个特殊特征是使用一些保留时隙传输信标列(beacon train)。只有当微微网物理信道连接有休眠从设备时,才可以使用信标列。在这种情况下,主设备可以在保留的信标列时隙中传输一个数据包(从设备可以使用这些数据包重新与微微网物理信道同步)。倘若各个时隙都有传输从中发出,则主设备可以从任意逻辑传输向这些时隙传输数据包。(203页)如果休眠从设备广播 (PSB) 逻辑传输中有信息要传送,则将在信标列时隙中传输,且享有高于其它任何逻辑传输的优先级。
拓扑
一个基础微微网可由任意数量的Bluetooth 设备共享,唯一的限制在于微微网主设备上的可用资源。只有一个设备可以作为微微网的主设备,所有其它设备均为从设备。所有通信均发生在主设备和从设备之间。微微网信道上不存在从设备之间的直接通信。
但是,微微网中支持的逻辑传输数有一定限制。这意味着尽管理论上对共享某个信道的Bluetooth 设备数量没有限制,但对可与主设备有效交换数据的设备数量却存在限制。
支持的层
基础微微网信道支持许多用于一般用途通信的物理链路、逻辑传输、逻辑链路及 L2CAP 信道。
3.2.1.2 适应型微微网信道
概览
适应型微微网信道与基础微微网信道在两方面存在差异。
两种序列是相同的,除了基础伪随机跳频序列可能选择不使用的频率(此时可以从使用过的频率组中选择备用选项替代它)外。
由于适应型微微网信道使用和基础微微网信道相同的时段和访问码,所以两个信道经常会重合。这一点使得基础微微网信道或适应型微微网信道中的从设备都可以调整其与主设备的同步,因此带来了实在的好处。
支持的层
适应型微微网物理信道的拓扑和支持的层与基础微微网物理信道相同,有一个例外:在适应型微微网物理信道上,单个主设备可以使用单CSB逻辑运输将数据发送到无限数量的从设备。(204页) 但是在这种情况下,数据仅从主设备传输到从设备,而不是从从设备传输到主设备。
3.3.1.3 查询扫描信道 Inquiry scan channel
概览
查询扫描信道用于发现设备。处于可发现模式的设备监听其查询扫描信道上的查询请求,并对这些请作出响应。某个设备为发现其它设备,将以伪随机方式在所有可能的查询扫描信道频率间进行迭代(跳频),向各个频率发出查询请求并监听响应。
特征
查询扫描信道采用较慢的跳频模式,并使用访问码区分使用不同物理信道、但碰巧占用了相同射频的两个并存设备。
查询扫描信道上使用的访问码是从所有Bluetooth 设备共享的一组保留查询访问码中挑选出的。其中一个访问码用于常用查询,其余多个访问码则保留作为限制查询。每个设备可以访问多个不同的查询扫描信道。由于所有这些信道共享一个跳频模式,所以如果设备可以同时关联多个访问码,则它可以同时占用多个查询扫描信道。
使用其某个查询扫描信道的设备将保持被动,直到它在此信道上接收到从其它Bluetooth 设备发出的查询消息。查询通过相应的查询访问码标识。然后,查询扫描设备将根据查询响应步骤向查询设备返回响应。
某个设备为了发现其它Bluetooth 设备,将使用这些设备的查询扫描信道来发送查询请求。由于该设备对要发现的设备一无所知,所以无法了解查询扫描信道的确切特征。
但是设备完全可以利用这一点:即查询扫描信道的跳频数较少且跳频速度慢。查询设备在各查询扫描跳频上传送查询请求并监听查询响应。这将以较快的速度完成,使查询设备能够在适当短的时间段内覆盖所有的查询扫描频率。
拓扑
(205页)查询设备和可发现设备使用简单的数据包交换方式执行查询功能。在此事务中形成的拓扑结构为简单的暂时点对点连接。
支持的层
在查询设备和可发现设备之间交换数据包的过程中,不妨认为这些设备之间存在临时的物理链路。但是,由于没有物理表达形式,而只是通过设备间的简短事务来暗示,这种概念并无太大意义。除此之外,再没有其它可视为受支持的架构层。
3.3.1.4 寻呼扫描信道 Page Scan Channel
概览
可连接的设备(即准备好接受page请求的设备)会使用寻呼扫描信道。可连接设备监听其寻呼扫描信道上的寻呼请求,然后与请求设备进行一系列交换。某个设备为连接其它设备,将以伪随机方式在所有寻呼扫描信道频率间进行迭代(跳频),向各个频率发出寻呼请求并监听响应,建立连接后该设备成为slave。
特征
寻呼扫描信道使用从扫描设备的Bluetooth 设备地址衍生的访问码来识别信道上的通信。寻呼扫描信道使用的跳频速度比基础或适应型微微网的跳频速度稍慢。跳频选择算法使用扫描设备的Bluetooth设备时钟作为输出。
使用寻呼扫描信道的设备将保持被动,直到接收到从其它Bluetooth 设备发出的寻呼请求。寻呼通过寻呼扫描信道访问码标识。然后,两个设备将按照寻呼步骤建立链接。寻呼步骤成功结束后,两个设备均将切换至基础微微网信道,此类信道的特征是以寻呼设备作为主设备。
某个设备为能连接至其它Bluetooth 设备,需使用目标设备的寻呼扫描信道来发送寻呼请求。如果寻呼设备不知道目标设备的寻呼扫描信道相位,就无法知道目标设备目前的跳频。寻呼设备在每个寻呼扫描跳频上传输寻呼请求,并监听寻呼响应。这将以较快的速度完成,使寻呼设备能够在适当短的时间段内覆盖所有的寻呼扫描频率。
(206页)寻呼设备可能知道一些有关目标设备Bluetooth 时钟的知识(通过两个设备间的之前查询事务获知,或因之前在微微网中与该设备接触过),在这种情况下,设备可以预测到目标设备寻呼扫描信道的相位。它可以使用此信息来优化寻呼和寻呼扫描进程的同步,从而加速形成连接。
拓扑
寻呼设备和可连接设备使用简单的数据包交换方式执行寻呼功能。在此事务中形成的拓扑结构为简单的暂时点对点连接。
支持的层
在寻呼设备和可连接设备之间交换数据包的过程中,不妨认为这些设备之间存在临时的物理链路。但是,由于没有物理表达形式,而只是通过设备间的简短事务来暗示,这种概念并无太大意义。除此之外,再没有其它可视为受支持的架构层。
3.3.1.5同步扫描通道 Synchronization Scan Channel
概览
为了接收在CSB逻辑传输上发送的分组,设备必须首先获得关于那些分组的定时和频率信道的信息。 如果设备错过了粗略时钟调整通知,则需要恢复当前的微微网时钟。 提供同步扫描通道就是用于这些目的。 扫描设备在同步扫描信道上侦听同步训练分组。 一旦接收到同步训练分组,设备就可以停止监听同步训练分组,因为它具有开始接收在CSB逻辑传输上发送的分组或恢复微微网时钟所需的定时和频率信息。
特征
同步扫描信道使用从同步串发送器的蓝牙设备地址导出的访问码来识别信道上的同步串分组。 一旦接收到同步训练分组,扫描BR / EDR控制器可以开始接收在CSB逻辑传输上发送的分组,这取决于主机的需要和任何适用的简档。
拓扑
(207页)在此扫描期间形成的拓扑是瞬态和点对多点。可以有无限数量的扫描设备同时接收来自同一同步列发射机的同步训练分组。
支持的层
存在从同步列发送设备到扫描设备的单向分组流。 这可以被认为是仅在扫描设备接收到所需信息之前存在的临时物理链路。认为不支持其他架构层。
3.3.2 LE物理信道
在LE核心系统中,两个蓝牙设备使用共享物理信道进行通信。为了实现这一点,他们的收发器需要同时调谐到相同的PHY频率,并且它们需要在彼此的标称范围内。
鉴于PHY信道的数量是有限的,并且许多蓝牙设备可以在相同的空间和时间区域内独立操作,很可能两对独立的蓝牙设备将其收发器调谐到相同的PHY信道,导致物理信道冲突。与使用访问代码识别微微网的BR / EDR不同,LE使用随机生成的访问地址来识别设备之间的物理链路。如果两个设备恰好在同一区域中共享相同的PHY信道,则目标设备访问地址用作相关器以确定通信所针对的设备。
定义了两个LE物理信道。每个都经过优化,用于不同的目的。
LE设备在任何给定时间只能使用这些LE物理信道中的一个。为了支持多个并发操作,设备使用信道之间的时分复用。通过这种方式,蓝牙设备可以显得同时支持连接的设备又发送广播。
每当LE设备与物理信道的定时和频率同步时,它就被称为连接到该信道(无论它是否积极地参与信道上的通信)。(208页) 蓝牙规范假定设备一次只能连接到一个物理信道。 高级设备可能能够同时连接到多个物理信道,但规范并未做出此假设。
3.3.2.1 LE微微网信道 LE piconet channel
概览
LE微微网信道用于在正常操作期间连接的LE设备之间的通信。
特征
LE微微网信道的特征在于PHY信道的伪随机序列,以及由主设备提供的三个附加参数。
信道被分成连接事件(connection events),其中每个连接事件对应于PHY跳频信道。连续连接事件对应于不同的PHY跳频信道。在连接建立之后由主设备发送的第一个分组为所有未来连接事件的定时设置锚点。在连接事件中,主设备将分组发送到微微网中的从设备,并且从设备可以或可以不用它自己的分组进行响应。
在LE微微网信道上,主控制器控制对信道的访问。主设备在定期发生的连接事件中开始传输。由主设备发送的分组与连接事件开始对齐并定义微微网定时。主设备发送的数据包长度可以在10到265个八位字节之间变化。
每个主传输包含携带关于一个逻辑传输的信息的分组。从设备可以在物理信道上进行响应。响应的特征由所解决的逻辑传输定义。
LE微微网信道类似于BR / EDR适应的微微网信道,因为可以修改所使用的PHY信道集以避免干扰。 通道映射中使用的通道集由主站在连接建立期间建立。 在连接中,主设备可以在必要时更改通道映射以避免新的干扰源。
有37个LE微微网频道。 主设备可以通过指示使用的通道的通道模式减少此数量。 当跳频模式命中未使用的信道时,未使用的信道被替换为使用过的信道。
拓扑
(209页)LE微微网信道可以由任何数量的LE设备共享,仅受微微网主设备上可用资源的限制。 只有一个设备是微微网主设备;所有其他人都是微微网的从设备。所有通信都在主设备和从设备之间进行。微微网信道上的从设备之间没有直接通信。
微微网中可以支持的逻辑传输的数量几乎没有限制。这意味着与主设备共享信道的蓝牙设备的数量没有理论限制。
允许LE设备一次属于一个或多个微微网,即,LE设备可以是零或更多微微网中的从设备,并且也可以是另一个微微网的主设备。
在两个LE设备标识或不可解析的专用地址之间只能存在一个LE微微网信道。
支持的层
LE微微网信道支持用于通用通信的L2CAP信道。
3.3.2.2 广播频道
概览
LE广播信道用于建立两个设备之间的连接或在未连接的设备之间传送广播信息。
特征
LE广播信道是在LE频谱上均匀分布的一组三个固定PHY信道。广播设备可以减少广播PHY信道的数量,以减少干扰。所有广播包都使用固定的访问地址。
该频道被划分为广播事件(advertising events),其中每个广播事件可以在所有三个广播PHY信道上跳跃。连续的广播事件在第一个广播PHY信道上开始。广播事件以规则的间隔发生,其随机延迟稍微修改以帮助避免干扰。
在LE广播频道上,广播设备控制对频道的访问。广播设备在广播事件中开始其传输,并在三个广播PHY信道中的一个或多个上发送广播分组。每个广播包以固定间隔在不同的广播PHY信道上发送。(210页)可以使用四种类型的广播事件,每种广播事件类型具有不同大小的广播包。这些广播包的长度可以从16到47个八位字节变化。
由广播设备发送的一些广播事件允许监听设备在接收到广播分组的相同广播PHY信道上同时发送扫描请求或连接请求分组。广播设备可以在同一广播事件内的相同广播PHY信道上再次发送扫描响应分组。扫描响应包的长度可以从16到47个八位字节变化。
拓扑
LE广播频道可以由任意数量的LE设备共享。任何数量的LE设备都可以在共享相同的三个广播PHY信道的同时发送广播分组。任何数量的扫描设备都可以在广播渠道上收听。广播设备可以同时在LE微微网信道上进行广播和连接。扫描设备也可以同时连接到一个或多个LE微微网信道。
3.3.3 AMP物理信道
概述
在正常操作期间,AMP物理信道用于连接的设备之间的通信。它与相关的BR/EDR控制器之间的适配微微网信道并行使用。
特征
AMP物理信道特性取决于引用的MAC和PHY。有关每个PAL的参考MAC和PHY,请参见第5卷。
拓扑
AMP物理信道可以由任何数量的蓝牙设备共享,仅受微微网BR/ED主设备上可用资源和可用LT_ADDR数量的限制。不使用AMP物理信道中的角色。所有通信都在BR/EDR微微网主机和单个BR/EDR微微网从机之间进行。 通过AMP物理信道,BR/EDR微微网从设备之间没有直接通信。
虽然对于可以共享AMP物理信道的蓝牙设备的数量没有理论上的限制,类似于基本和改进的微微网信道,但是可以积极参与与主设备交换数据的这些设备的数量是有限的。。
支持的层
(211页)AMP物理信道支持用于通用通信的许多物理链路,逻辑传输,逻辑链路和L2CAP信道。
————————————————————————————————————————
Reference
1 BT specification Core 4.2,Bluetooth SIG.
————————————————————————————————————————
作者按:蓝牙从业者,潜心学习BT stack,蓝牙协议奇多无比,概述只是开始,网上资料还比较多,学到后面的各种spec就只剩下英文原版可以参考了,遂把自己的笔记发出来,互相交流,互相交流。