蓝牙数据传输结构Word文件下载.docx
《蓝牙数据传输结构Word文件下载.docx》由会员分享,可在线阅读,更多相关《蓝牙数据传输结构Word文件下载.docx(15页珍藏版)》请在冰豆网上搜索。
应用以变长帧(最长为信道的最大协定长度)向此服务提交数据,这些帧会以相同形式传送至远程设备的相应应用。
应用无需在数据中插入额外的分帧信息,但如有要求亦可以如此(有关分帧对于蓝牙核心系统是不可见的)。
连接导向L2CAP信道可创建用于传输两个蓝牙设备之间的单播(点到点)数据。
无连接L2CAP信道用于广播数据。
在微微网拓扑中,主设备总是广播数据的来源,而从设备为接收设备。
广播L2CAP信道进行单向通信。
单播L2CAP信道可为单向或双向。
L2CAP信道的相关QoS设置定义了传输数据帧的限制因素。
例如,这些QoS设置可用于指出数据为异步并因此会在有限的生命期后成为无效数据,数据应在给定的时间期限内发出或数据可靠及应予以无误发送,不论耗时多长。
L2CAP信道管理器负责安排在合适的基带逻辑链路上传输L2CAP信道数据帧,可能在带有类似特征的其它L2CAP信道的基带逻辑链路进行多路传输。
非成帧数据流量
如果因为应用中包括串流成帧或数据为纯串流,应用不要求以帧交付数据,那么应用可避免采用L2CAP信道,并直接使用基带逻辑链路。
蓝牙核心系统支持采用SCO-S或eSCO-S逻辑链路,直接传输等时或固定速度(成帧前数据的比特率或帧率)的应用数据。
这些逻辑链路保留了物理信道带宽,并提供锁定至微微网时钟的固定速度传输。
数据按固定间隔在固定大小的数据包中传输,这两个参数都在信道建立期间协定。
eSCO链路拥有更多的比特率选择,而通过在发生错误时进行有限的重发,则提高了可靠性。
eSCO逻辑传输支持增强数据率运行,而SCO逻辑传输则不支持。
SCO和eSCO逻辑传输不支持多路复用逻辑链路或蓝牙核心的任何其它层级。
如果所提交的SCO/eSCO串流是或似乎是固定速率串流,应用可选择对所提交的串流中的多个串流进行分层。
应用从基带的可用逻辑链路中选择最合适的逻辑链路类型,创建及配置逻辑链路以传输数据流,及在完成传输时解除相关逻辑链路(应用一般还会使用成帧L2CAP单播信道传输控制类信息至远程设备的同类应用。
)
如果应用数据为等时及可变速率,那么这仅可由L2CAP单播信道传输,因此将会被视为成帧数据。
流量承载器的可靠性
蓝牙技术是一个无线通信系统。
这个系统在射频较弱的环境中被认为是不可靠的。
为抵销这个影响,系统在各层级提供不同程度的保护。
基带数据包报头使用前向纠错(FEC)编码和报头错误控制(HEC)分别令接收器纠正错误及侦测纠错后遗留的错误。
部分基带数据包类型对有效负载进行FEC。
另外,部分基带数据包类型包含循环冗余码校验(CRC)。
在ACL逻辑传输中,错误侦测算法的结果用于驱动简单的ARQ协议。
通过重新传输未通过接收器的错误校验算法的数据包,这提高了数据的可靠性。
此方案可进行修改,通过删除发射器中发送不成功且使用寿命已届满的数据包,支持对延时敏感的数据包。
eSCO链路使用经修改的方案,允许有限次数的重发,提高了可靠性。
通过此ARQ方法获得的可靠性仅等同于HEC和CRC代码侦测错误的能力。
这在大多数情况下是足够的,但对于较长的数据包类型,未发现错误的可能性太高而难以支持特定应用,尤其是需要传输大量数据的应用。
L2CAP层具有额外的错误控制层,设计目的在于侦测基带层偶尔未发现的错误及要求重新传输受影响数据。
这提供了特定蓝牙应用所需的可靠性水平。
广播连接没有反馈路由,不能使用ARQ方法(尽管接收器仍能侦测收到的数据包中的错误)。
相反,每个数据包会传输多次,以期接收器能够成功接收到至少一个副本。
尽管采用这个方法,但仍不保证成功收到,因此这些链接被视为不可靠。
总之,如果链接或信道被视为可靠,这意味着接收器能够侦测已收到数据包中的错误及请求重发直至删除错误。
由于所采用的错误侦测系统,已收到的数据中可能仍然存在部分余留(未发现的)错误。
L2CAP信道的剩余错误水平与其它通信系统相若,但逻辑链路的剩余错误水平则较高。
发射器可删除发送队列中的数据包,如此接收器不会收到序列中的所有数据包。
在这种情况下,L2CAP层将获授权侦测遗失数据包。
在不可靠的链路中,接收器能够侦测已收到数据包中的错误,但无法请求重发。
由接收器传送的数据包可能没有错误,但不保证会收到序列中的所有数据包,因链路被视为基本不可靠。
这些链路的的用途十分有限,而且这些用途通常依赖于较高层级在数据有效时持续重复数据。
串流链路具有可靠性特征,在一定程度上介于可靠和不可靠链路之间,而这取决于当前的运行条件。
传输结构实体
蓝牙通用数据包结构
通用数据包结构反映蓝牙系统中存在结构层级。
数据包结构专为正常运行的优化使用而设计。
一般数据包仅包括代表交易所需层级所必要的字段。
通过询问扫描物理信道进行的简单询问请求不会创建或需要逻辑链路或更高层级,因此仅包括信道访问代码(与物理信道相关)。
微微网的一般通信使用包含所有字段的数据包,因为所有结构层级都获得应用。
所有数据包都含有信道访问代码。
这用于识别特定物理信道的通信,及排除或忽略恰好在物理位置接近的距离内采用相同射频载体的不同物理信道的数据包。
蓝牙数据包结构中并无直接的字段代表或包含有关物理链路的信息。
该信息隐含在数据包报头所携带的逻辑传输地址(LT_ADDR)中。
大多数数据包都包含数据包报头。
数据包报头总是出现在物理信道上传输的数据包中,这些物理信道支持物理链路、逻辑传输和逻辑链路。
数据包报头带有LT_ADDR,由各接收设备用于决定数据包是否以该设备作为目标地址及用于内部按路线发送数据包。
数据包报头还带有部分LC协议,由逻辑传输运行(ACL和SCO传输除外,这两种传输运行任一逻辑传输上运载的共享LC协议)。
EDR数据包在有效负载之前存在保护时间和同步序列。
这个字段用于调制方式的物理层更改。
有效负载报头出现于支持多逻辑链路的逻辑传输上的所有数据包中。
有效负载报头包括一个用于按路线发送有效负载的逻辑链路标识符字段和一个指明有效负载长度的字段。
部分数据包类型在数据包有效负载之后还包含CRC,用于侦测已收数据包中的大部分错误。
EDR数据包在CRC之后拥有一个尾部。
数据包有效负载用于传输用户数据。
此数据的诠释取决于逻辑传输和逻辑链路标识符。
对于ACL逻辑传输而言,LMP信息和L2CAP信号,以及应用的一般用户数据都以数据包有效负载传输。
对于SCO和eSCO逻辑传输而言,有效负载包含逻辑链路的用户数据。
物理信道
蓝牙无线技术系统的最低结构层级为物理信道。
多个类型的物理信道进行了定义。
所有蓝牙物理信道均以射频频率及时间参数为特定,并受空域因素限制。
对于基本和适配微微网物理信道而言,跳频用于定期更改频率,以降低干扰影响和合规。
两个蓝牙设备使用共享的物理信道以进行通信。
为进行通信,它们的收发器需要同时调到相同的射频频率,而且需要处于彼此各自的名义射程之内。
鉴于射频载体的数量有限,且许多蓝牙设备都可在相同的空间和时间区域内独立运行,因此两个独立的蓝牙设备有很大可能将其收发器调至相同的射频载体,从而导致物理信道冲突。
为降低这种冲突带来的不必要影响,物理信道的美称传输都以访问代码开始,该代码用作设备调至物理信道的相关代码。
此信道访问代码是物理信道的一个属性。
访问代码总是会在每次开始传输数据包的时出现。
定义的蓝牙物理信道为四个。
每一个都得到了优化,并用于不同的用途。
其中两个物理信道(基本微微网信道和适配微微网信道)用于已连接设备之间的通信和与特定微微网关联。
其余两个物理信道用于发现蓝牙设备(询问扫描信道)和连接蓝牙设备(呼叫扫描信道)。
蓝牙设备在任何特定时间仅可使用其中一个物理信道。
为支持多并行操作,设备可在信道之间采用时分多路传输。
这样,蓝牙设备就可同时在多个微微网中操作,以及可被发现和连接。
无论何时蓝牙设备与物理信道的时间、频率和访问代码同步,蓝牙设备都可被称为与此信道“连接”(无论设备是否是主动通过信道进行通信)。
蓝牙规格假设设备在任何时候仅可与一个物理信道连接。
高级设备或许能够同时连接至一个以上的物理信道,但蓝牙规格假设这种情况不可能发生。
基本微微网信道
基本微微网信道用于已连接设备在日常操作过程中的通信。
基本微微网信道的特点是通过射频信道实现伪随机跳频。
跳频独见于微微网,由主设备的蓝牙设备地址决定。
跳频相位由主设备的蓝牙时钟决定。
微微网中的所有蓝牙设备都与此信道存在时间或跳跃同步。
该信道按时间间隙划分,每个时隙都对应一个射频跳频。
连续的跳跃对应于不同的射频跳频。
时隙根据微微网主设备的蓝牙时钟编号。
数据包由微微网中的蓝牙设备进行传输,并与一个时隙界限的开始对齐。
每个数据包都从信道的访问代码开始,这个代码源自微微网的蓝牙设备地址。
在基本微微网信道中,主设备控制信道访问。
主设备仅在每个已编号的时隙开始传输。
主设备传输的数据包与时隙开端保持一致,并界定微微网的时间。
由主设备传输的数据包可占用最多五个时隙,取决于数据包的类型。
每次主设备传输的都是携带一个物理传输信息的数据包。
从设备在物理信道中传输,以作出回应。
回应的特征由被定址的物理传输界定。
例如,在异步连接逻辑传输中,被定址的从设备通过传输数据包回应,数据包中包含通常与下一个(编号为奇数的)时隙一致的相同逻辑传输的信息。
取决于数据包的类型,这种数据包可占用最多五个时隙。
在广播逻辑传输中,从设备不得作出回应。
基本微微网物理信道的特殊特点在于使用部分保留间隙传输信标列。
信标列仅会在微微网物理信道已停用与其连接的从设备的情况下得到使用。
在这种情况下,主设备会在保留的信标列间隙中传输数据包(这些数据包由从设备用于与微微网物理信道再次同步)。
主设备可从任何一个逻辑传输将数据包传输至这些间隙中,前提是在每个间隙开始进行传输。
如果从休眠从设备广播(PSB)逻辑传输传输信息,那么信息将会在信标列间隙中传输,并优先于任何其它逻辑传输。
拓扑
基本微微网信道可由任何数量的蓝牙设备共享,仅受微微网主设备的可用资源限制。
微微网中仅有一个设备为主设备,所有其它设备都是微微网的从设备。
所有通信都发生于主设备与从设备之间。
从设备之间无法在微微网信道中进行直接的通信。
但是,微微网仅可支持有限数目的逻辑传输。
这意味着,尽管理论上,共享信道的蓝牙设备不存在数量上限,但可主动与主设备交换数据的蓝牙设备的数量有限。
基本微微网信道支持用于一般目的通信的多个物理链路、逻辑传输、逻辑链路和L2CAP信道。
适配微微网信道
适配微微网信道与基本微微网信道存在两个方面的区别。
首先,主设备传输所用频率与前一个主设备传输频率相同。
换言之,主设备和随后的从设备数据包所用频率不会重算。
适配微微网信道与基本微微网信道的第二个不同之处在于,适配类型可少于全部79个频率。
跳频图案中会排除出多个频率,并以“未使用”标记。
79个频率中的其余频率则包括在其中。
两个序列是相同的,除了在基本伪随机跳频序列选定一个未使用频率时,它都会以已使用频率中选择的一个备选频率替代。
因为适配微微网信道使用与基本微微网信道相同的时间和访问代码,因此两个信道通常会实现同步。
这就会带来意料之中的好处,允许基本微微网信道或适配微微网信道的从设备调整与主设备的同步,
适配微微网物理信道的拓扑和支持层级与基本微微网物理信道的相同。
询问扫描信道
概览
询问扫描信道用于发现设备。
可被发现的设备会收听询问扫描信道的询问请求,然后会发送对这些请求作出的回应。
为发现其它设备,设备会以伪随机的方式迭代所有可能的询问扫描信道频率(跳跃),在每个频率发送询问请求及收听任何回应。
特征
询问扫描信道使用较慢的跳频图案,使用访问代码区分两台同地协作设备使用不同物理信道临时占用相同射频的情况。
询问扫描信道使用的访问代码来自所有蓝牙设备共享的保留询问访问代码集合。
一个访问代码用于一般询问,其它大量的访问保留作受限制询问。
每一台设备都可访问多个不同的询问扫描信道。
由于所有这些信道都采用相同的跳频图形,如果设备能够同时关联一个以上的访问代码,它可以同时占用一个以上的询问扫描信道。
使用一个询问扫描信道的设备仍然处于被动状态,直至它在此信道收到另一台蓝牙设备的询问信息。
这由适用的询问访问代码判定。
询问扫描设备根据询问回应程序,向询问设备发出回应。
为发现其它蓝牙设备,设备会借助这些设备的询问扫描信道发出询问请求。
由于设备事先对发现的设备并无了解,它无法获知该询问扫描信道的准确特征。
设备会利用询问扫描信道的跳频数量较少及跳跃率较慢的特点。
询问设备在每个询问扫描跳频发送询问请求及收听询问回应。
跳跃率较快,令询问设备能够在合理的较短时间段内覆盖所有询问扫描频率。
询问和可被发现设备会简单交换数据包,以完成询问功能。
在这个交易过程中形成的拓扑是一个简短短暂的端到端连接。
支持的层级
在询问设备和可被发现设备交换数据包的过程中,可以认为这两个设备之间存在临时的物理链路。
然而,这个概念无关紧要,因为它并无实际的表现,仅仅由设备之间的短暂交易暗示得知。
信道不支持其它的结构层级。
呼叫扫描信道
可连接的设备(准备接受连接的设备)会接入呼叫扫描信道。
可连接设备收听呼叫扫描信道的呼叫请求,并与此设备进入交换序列。
为连接其它设备,设备会以伪随机的方式迭代所有可能的呼叫扫描信道频率(跳跃),在每个频率发送呼叫请求及收听任何回应。
呼叫扫描信道使用从呼叫设备的蓝牙设备地址导出的访问代码发现信道中的通信。
呼叫扫描信道使用的跳跃率慢于基本和适配微微网信道的跳跃率。
跳跃选择算法采用扫描设备的蓝牙设备时钟作为输入值。
使用呼叫扫描信道的设备处于被动状态,直至它收到另一台蓝牙设备的呼叫请求。
这由适用的呼叫扫描访问代码判定。
然后,两个设备将根据呼叫程序建立连接。
在成功完成呼叫程序后,两个设备切换至基本微微网信道,并以呼叫设备作为微微网的主设备。
为连接至另一台蓝牙设备,设备使用目标设备的呼叫扫描信道发送呼叫信息。
如果呼叫设备不知道目标设备的呼叫扫描信道相位,它就不知道目标设备的当前跳频。
呼叫设备在每个呼叫扫描跳频发送询问请求及收听呼叫回应。
跳跃率较快,令呼叫设备能够在合理的较短时间段内覆盖所有呼叫扫描频率。
呼叫设备可能对目标设备的蓝牙时钟有一定的了解(表明两个设备曾进行询问交易,或因设备先前参与一个微微网),在这种情况下,它能够预测目标设备的呼叫扫描信道相位。
它可以使用这个信息优化呼叫和呼叫扫描流程的同步,并加快连接的形成。
呼叫和可连接设备会简单交换数据包,以完成呼叫功能。
在呼叫设备和可连接设备交换数据包的过程中,可以认为这两个设备之间存在临时的物理链路。
物理链路
物理链路指蓝牙设备之间的基带连接。
物理链路总是与一个物理信道相关联(但物理信道可支持一个以上的物理链路)。
在蓝牙技术系统中,物理链路是一个虚拟的概念,它在传送的数据包结构中并无直接的表现。
访问代码数据包域,以及主蓝牙设备的时钟和地址,都可用于识别物理信道。
然而,数据包的其余部分不能直接识别出物理链路。
相反,物理链路可通过与逻辑传输的相关性识别出,因为每个逻辑传输仅可在一个物理链路上接收。
部分物理链路类型的属性可进行修改。
其中一个是链路的发射功率。
其它物理链路类型没有这些属性。
在拥有可修改属性的物理链路中,LM协议用于调整这些属性。
由于LM协议在较高的层级(逻辑链路)获得支持,适当的物理链路可由传输LM信令的逻辑链路暗示而识别出。
如果传输通过多个不同的物理链路广播,那么可选择适合于所有物理链路的传输参数。
基本和适配微微网物理信道支持的链路
基本和适配微微网物理信道支持处于活跃或休眠状态的物理链路。
物理链路为主设备和从设备之间的端到端链路。
它总是会在微微网中的从设备实现同步时出现。
活跃的物理链路
如果主设备和从设备之间存在默认的ACL逻辑传输,那么这两种设备之间的物理链路是活跃的。
活跃的物理链路本身并无直接的标识,但可通过与一一对应的默认ACL逻辑传输ID的关联性识别出来。
活跃的物理链路拥有各个方向的相关无线发射功率属性。
从从设备的发射总是通过主设备的活跃物理链路进行,并采用此链路从从设备到主设备的发射功率。
从主设备的发射可通过单一的活跃物理链路(至特定的从设备)或通过多个物理链路(至微微网中的一组从设备)进行。
在端到端发射的情况下,主设备使用相关物理链路的适用发射功率(在端到多端发射的情况下,主设备使用多个被定址设备的适用发射功率)。
活跃的物理链路可设置为待机或嗅探模式。
这些模式的影响是修改物理链路处于活跃状态的期间,并可传输信息。
带有界定调度特征的逻辑传输不会受到这些模式的影响,并会根据他们的预先界定调度行为继续进行下去。
带有未界定调度特征的默认ACL逻辑传输和其它链路会受到活跃的物理链路所处模式的影响。
休眠的物理链路
当从设备在微微网中实现同步,但并无默认ACL逻辑传输时,主设备和从设备之间的物理链路处于休眠状态。
这种情况下的从设备也可被称为处于休眠状态。
信标列用于令连接至微微网物理信道的所有休眠从设备实现定期同步。
休眠从设备广播(PSB)逻辑传输用于实现向休眠从设备传输LMP信令子集和广播L2CAP。
PSB逻辑传输与信标列存在密切相关。
从设备使用休眠程序袖标(其活跃链路更改为休眠链路)。
主设备不得令拥有任何用户创建获物理链路支持的逻辑传输的从设备进入休眠状态。
这些逻辑传输会被首先删除,任何构建于这些逻辑传输的L2CAP信道也会被删除。
广播逻辑传输和默认ACL逻辑传输不会被视为由用户创建,因此不会被明确删除。
当活跃链路被休眠链路替代时,默认ACL逻辑传输会被暗中删除。
这些获支持的逻辑链路和L2CAP信道仍然存在,但处于暂停状态。
当缺乏活跃链路时,这些链路和L2CAP信道不可能用于传输信令或数据。
休眠从设备可使用唤醒程序恢复为活跃状态。
这个程序可由从设备在访问窗口作出请求,并由主设备启动。
完成唤醒程序后,休眠物理链路会变为活跃的物理链路,并会重新创建默认ACL逻辑传输。
在大多数近期休眠程序中被暂停的L2CAP信道与新建默认ACL逻辑传输相关联,并会再次恢复为活跃状态。
休眠链路不支持无线电能控制,因为从休眠从设备到微微网主设备之间并无反馈路径可用于从设备接收信号强度的信号或主设备测量接收到来自从设备的信号强度。
休眠链路的发射按名义功率进行。
休眠链路使用与相关活跃链路相同的物理信道。
如果主设备管理的微微网包含使用基本微微网物理信道的休眠从设备及使用适配微微网物理信道的休眠从设备,那么住设备必须为每一个物理信道创建休眠从设备广播逻辑传输(和相关传输)。
休眠从设备可利用休眠从设备广播逻辑传输的闲置期间节省电能,或可在与其休眠的微微网无关的其它物理信道上进行活动。
扫描物理信道支持的链路
如为询问扫描和呼叫扫面信道,物理链路存在的时间相对较短,且无法以任何方式控制或修改。
这些物理链路类型不再进一步详细阐述。
逻辑链路和逻辑传输
多个逻辑链路可用于支持不同的应用数据传输需求。
各逻辑链路与逻辑传输相关联,每个逻辑传输都有多个特征。
这些特征包括流量控制、确认/重复机制、序列编号及调度行为。
逻辑传输可运载不同类型的逻辑链路(取决于逻辑传输的类型)。
部分蓝牙1.1版逻辑链路在相同的逻辑传输进行多路传输。
活跃的物理链路可在基本或适配微微网物理信道上传输逻辑传输。
逻辑传输标识和实时(链路控制)信令以数据包报头运载,对于部分逻辑链路而言,标识会以有效负载报头运载。
不需要单一间隙回应时间的控制信令采用LMP协议运载。
下表载列所有逻辑传输类型,获支持的逻辑链路类型,可支持这些逻辑传输和逻辑链路的物理链路和物理信道类型及逻辑传输用途的简单说明。
本地传输
链路支持
提供支持的链路和信道
异步连接(ACL)
控制(LMP)ACL-C用户(L2CAP)ACL-U
活跃的物理链路、基本或适配物理信道。
可信赖或有时限的、双向、端到端。
同步连接(SCO)
串流(非成帧)
SCO-S
双向、对称、端到端、音频/视频信道。
用于64Kb/s恒定速率数据。
延伸同步连接(eSCO)
eSCO-S
双向、对称或非对称、端到端、一般的常规数据、有限重发。
用于与主设备蓝牙时钟同步的恒定速率数据。
活跃的从设备广播(ASB)
用户(L2CAP)ASB-U
不可信赖、单向、向与物理信道同步的任何设备进行广播。
用于广播L2CAP组别。
休眠从设备广播(PSB)
控制(LMP)PSB-C、用户(L2CAP)PSB-U
休眠物理链路、基本或适配物理信道。
不可信赖、单向、向与微微网的所有设备进行广播。
用于与休眠设备的LMP和L2CAP的通信及休眠设备的访问请求。
逻辑链路和逻辑传输给出的名称反映蓝牙1.1版中使用的部分名称,以保持一定程度的熟悉性和连贯性。
然而,这些名称不表示持续做法,概要如下。
各链路类型的分类产生自三个类别的挑选程序。
转换
第一类为转换。
这可能是单播或广播。
蓝牙1.2版并无界定多播链路。
单播链路。
单播链路存在于两个端点之间。
流量可从单播链路的任意方向发送。
所有单播链路都为连接导向型,指在链路可以使用前会执行连接程序。
如为默认ACL链路,