主要内容

蓝牙包结构

蓝牙®特殊利益集团(团体)[1][2]定义了蓝牙低能量不同的包结构(LE)和蓝牙基本速率/增强数据速率(BR /功能)设备。

蓝牙LE包结构

排序在蓝牙LE包

当基带规范中定义的数据包和消息,有些命令遵循低位优先的格式。在这种格式中,这些规则:

  • 最低有效位(LSB)对应b0

  • LSB是第一位通过空气发送。

  • 说明包结构时,LSB显示在左边。

此外,数据字段生成内部在基带级别(数据包报头和有效载荷头长度),必须先和LSB传播。例如,发送3-bit参数为:b0b1b2= 110 /空气,发送1发送第一和0。

蓝牙勒设备使用数据包格式:蓝牙勒未编码的物理层(体育),蓝牙LE编码PHY,广告物理信道PDU,数据物理信道PDU,不断扩展和语气同相正交(智商)抽样

请注意

关于蓝牙LE包结构的更多信息,参见卷6,B部分,第二部分蓝牙核心规范[2]

蓝牙勒未编码的物理层(体育)

蓝牙核心规范[2]定义了两个物理层(体育)传输模式(LE 1米和2米)未编码的体育。这个图显示了蓝牙勒未编码的数据包结构PHY操作勒1米和2米。

包结构蓝牙勒未编码的PHY操作勒1米和2米

每个包包含四个必填字段(序言、存取地址、协议数据单元(PDU)和循环冗余校验(CRC))和一个可选的字段(常数语气扩展(CTE))。序言是传播第一,紧随其后的是访问地址、PDU, CRC, CTE顺序(如果存在)。整个包在同一符号传播的速度1 Msym / s或2 Msym / s。

序言。所有链路层(LL)包包含一个序言,用于接收方执行频率同步、自动增益控制(AGC)训练,和符号定时估计。的序言是固定顺序交替0和1位。的蓝牙LE数据包传输LE 1 m PHY和2 m PHY序言的大小是1八隅体和2个八位位组,分别。

访问地址。访问地址是4-octet值。每个会连接任何两个设备之间和每个周期广告火车都有一个不同的访问地址。每一次蓝牙设备需要一个新的访问地址,会生成一个新的随机值遵守这些要求:

  • 值不得任何现有的访问地址连接在该设备上。

  • 价值不能启用任何定期的访问地址广告火车。

  • 价值必须连续不超过6 0或1。

  • 值不能为任何广告通道数据包的访问地址。

  • 的值不能是一个序列不同于广告物理信道的访问地址数据包只有1位。

  • 所有四个八位字节的值必须不相等。

  • 必须有一个最低的两种转换价值最重要的6位。

如果随机值不满足上述需求,生成一个新的随机值,直到满足所有的需求。

PDU。当蓝牙LE数据包传输主要或次要广告物理信道或周期性物理信道,PDU是定义为广告物理信道PDU。当一个数据包传输的数据物理信道,PDU是定义为数据物理信道PDU

CRC。CRC是3八位字节的大小和计算的PDU包。如果PDU是加密的,加密后的CRC计算PDU的完成。CRC多项式形式x24+x10+x9+x6+x4+x3+x+ 1。

关于CRC生成的更多信息,请参阅卷6,B部分,第3.1.1蓝牙核心规范[2]

CTE。CTE由一系列不断调制unwhitened 1 s。这个领域有一个可变长度范围从16µs 160µs。

关于CTE的更多信息,参见卷6,B部分,部分2.5.1蓝牙核心规范[2]

请注意

关于蓝牙勒未编码的PHY包结构的更多信息,参阅卷6,B部分,蓝牙核心规范的2.1节[2]

蓝牙LE编码PHY

这图显示了蓝牙LE编码PHY和包结构实现对蓝牙LE包所有的物理通道。

为蓝牙LE编码PHY包结构

每个蓝牙LE包由序言和这两个前向纠错(FEC):

  • 选举委员会块1 -这个块包含三个字段:访问地址、编码指标(CI),和TERM1。这个块实现了一个年代= 8编码方案,每个点代表8个符号。这给125 Kbps的数据速率。

  • 选举委员会的块2 -这个块包含这三个字段:PDU, CRC, TERM2。这个块实现了一个年代= 8或年代= 2编码方案。在年代= 2编码方案,每个点代表两个符号。因此,数据速率是500 Kbps。

蓝牙LE编码PHY CTE不包含。

序言。蓝牙LE编码PHY序言是80符号长度,包含10个重复符号模式的‘00111100’(在传输顺序)。

访问地址。蓝牙LE编码PHY地址访问的长度是256符号。有关更多信息,请参见访问地址。除了访问地址小节中列出的要求蓝牙勒未编码的物理层(体育)节,新值的访问地址蓝牙LE编码PHY还必须满足这些要求:

  • 价值必须至少有三个1 s在过去的重要部分。

  • 价值必须不超过11个转换最重要的16位。

CI。CI字段包含两个比特如表所示:

位在CI 描述
00 b

选举委员会阻止2编码使用年代= 8

01 b

选举委员会阻止2编码使用年代= 2

其他值

保留以供将来使用

PDU。蓝牙勒的PDU编码PHY包结构相同的格式PDU在蓝牙勒未编码的PHY包。

CRC。蓝牙勒的CRC编码PHY包结构相同的格式儿童权利公约在蓝牙勒未编码的PHY包。

TERM1 TERM2。每个选举委员会块包含一个终结者的块。《终结者》被称为TERM1 TERM2。每个终结者3位长和联邦选举委员会编码过程中形式终止序列。

请注意

关于蓝牙LE编码PHY包结构的更多信息,参见卷6,B部分,蓝牙核心规范的2.2节[2]

广告物理信道PDU

的包结构格式广告物理信道PDU这个图所示。

包的结构格式广告物理信道PDU

广告物理信道PDU有16位头和适应负载。广告的16位头字段物理信道PDU这个图所示。

16位的包结构物理信道PDU头字段的广告

广告渠道PDU头PDU类型字段定义了不同类型的PDU,可以在蓝牙传输编码的体育。这个表映射不同类型的pdu的物理通道和phy蓝牙LE包可能出现。表也表明体育传播模式支持每种类型的广告物理信道PDU。万博1manbetx

PDU类型 PDU的名字 物理信道 勒1 m的支万博1manbetx持 勒2 m的支万博1manbetx持 LE编码的支持万博1manbetx
0000 b

ADV_IND

主要的广告

是的

0001 b

ADV_DIRECT_IND

主要的广告

是的
0010 b

ADV_NONCONN_IND

主要的广告

是的

0011 b

SCAN_REQ

主要的广告

是的

AUX_SCAN_REQ

二次广告

是的

是的

是的

0100 b

SCAN_RSP

主要的广告

是的

0101 b

CONNECT_IND

主要的广告

是的

AUX_CONNECT_REQ

二次广告

是的

是的

是的

0110 b

ADV_SCAN_IND

主要的广告

是的

0111 b

ADV_EXT_IND

主要的广告

是的

是的

AUX_ADV_IND

二次广告

是的

是的

是的

AUX_SCAN_RSP

二次广告

是的

是的

是的

AUX_SYNC_IND

周期

是的

是的

是的

AUX_CHAIN_IND

二次广告和周期性

是的

是的

是的

1000 b

AUX_CONNECT_RSP

二次广告

是的

是的

是的

其他值

保留以供将来使用

RFU字段保留以供将来使用。的ChSel,TxAdd,RxAdd广告领域物理信道PDU头包含特定于类型的PDU信息为每个广告定义物理信道分别PDU。如果ChSel,TxAdd,或RxAdd字段不是定义为用于给定的PDU,他们就认为是保留以供将来使用。

长度广告的物理信道PDU头表示有效载荷的八位字节长度。长度字段的有效范围是1到255个八位字节。

有效载荷在广告领域物理信道PDU包结构是特定于PDU前面表中列出的类型。

请注意

关于广告的物理信道pdu的更多信息,请参阅卷6,B部分,蓝牙核心规范的2.3节[2]

数据物理信道PDU

包结构格式数据的物理信道PDU这个图所示。

包结构的数据物理信道PDU格式

数据的物理信道PDU 16位或24位头,可变长度载荷区间[0,251]八位字节,并可以包括一个32位的消息完整性检查(MIC)领域。麦克风不包括在一个未加密在加密的连接或将与一个包含一个空载荷数据通道PDU。麦克风是包含在一个加密会与一个包含一个非零长度有效载荷数据通道PDU。在这种情况下,麦克风计算规定》6卷部分E,第一节的蓝牙核心规范[2]

头字段数据的物理信道PDU这个图所示。

包结构的物理信道PDU头字段的数据

数据的物理信道PDU头包含这些字段:

  • 链路层标识符(LLID)——这指出数据包是否将数据PDU或控制PDU。

    • 00 b- - - - - -保留以供将来使用

    • 01 b——将数据PDU,可以延续片段的逻辑链路控制和适应(L2CAP)消息或空PDU

    • 10 b——将数据PDU,可以开始一个L2CAP消息或一个完整的L2CAP消息没有分裂

    • 11 b——会控制PDU

  • 接下来将序列号(公布):会使用这个字段要么承认过去的数据物理信道发送的PDU对等或要求对方重新发送过去的数据物理信道PDU。关于公布的更多信息,请参见卷6,B部分,部分4.5.9蓝牙核心规范[2]

  • 序列号(SN):会使用这个字段来标识蓝牙LE数据包发送。对SN的更多信息,参见卷6,B部分,部分4.5.9蓝牙核心规范[2]

  • 更多的数据(MD):这个字段表明蓝牙设备发送更多的数据。如果没有中央和周边蓝牙设备设置医学博士在他们的数据包,数据包从外围关闭连接事件。如果中央和周边设备设置医学博士,中央可以继续连接事件发送另一个包,和外围必须听后发送数据包。关于医学的更多信息,请参阅卷6,B部分,部分4.5.6蓝牙核心规范[2]

  • CTEInfo礼物(CP):这个字段表示数据物理信道PDU头是否CTEInfo字段,随后是否物理信道包有一个CTE的数据。更多信息的数据包结构CTEInfo字段,见卷6,B部分,部分2.5.2蓝牙核心规范[2]

  • 长度:这个字段表示大小,在八位字节,有效负载和麦克风,如果存在。这个字段的大小在[0,255]八位字节范围。

  • CTEInfo:这个字段表示CTE的类型和长度。

这两种类型的数据物理信道pdu是:将数据PDU会控制PDU

将数据PDU。会使用数据PDU L2CAP发送数据。中的LLID字段数据通道PDU头被设置为01 b10 b。将数据PDU称为空PDU

  • 的LLID字段数据通道PDU头被设置为01 b

  • 的长度字段数据通道PDU头被设置为00000000 b

一个将数据PDU头LLID字段设置为10 b没有长度字段设置为00000000 b

会控制PDU。你使用你的数据PDU控制连接。如果LLID字段的数据物理信道PDU头被设置为11 b,数据物理信道PDU包含一个控制PDU。这图显示了控制PDU载荷。

会控制PDU包结构的载荷

操作码字段定义了不同类型的控制pdu如表所示。

操作码 会控制PDU
0 x00

LL_CONNECTION_UPDATE_IND

0 x01

LL_CHANNEL_MAP_IND

0 x02

LL_TERMINATE_IND

0 x03

LL_ENC_REQ

0 x04

LL_ENC_RSP

0 x05

LL_START_ENC_REQ

0 x06

LL_START_ENC_RSP

0 x07

LL_UNKNOWN_RSP

(

LL_FEATURE_REQ

0 x09

LL_FEATURE_RSP

0 x0a

LL_PAUSE_ENC_REQ

0 x0b

LL_PAUSE_ENC_RSP

0 x0c

LL_VERSION_IND

0 x0d

LL_REJECT_IND

0 x0e

LL_SLAVE_FEATURE_REQ

0 x0f

LL_CONNECTION_PARAM_REQ

0 x10

LL_CONNECTION_PARAM_RSP

0 x11

LL_REJECT_EXT_IND

0 x12

LL_PING_REQ

0 * 13

LL_PING_RSP

0 x14

LL_LENGTH_REQ

0连接

LL_LENGTH_RSP

0 x16

LL_PHY_REQ

0 x17

LL_PHY_RSP

0 x18

LL_PHY_UPDATE_IND

0 x19

LL_MIN_USED_CHANNELS_IND

0 x1a

LL_CTE_REQ

0 x1b

LL_CTE_RSP

0 x1c

LL_PERIODIC_SYNC_IND

0 x1d

LL_CLOCK_ACCURACY_REQ

0 x1e

LL_CLOCK_ACCURACY_RSP

其他值

保留以供将来使用

中的CtrData字段会控制PDU是特定于操作码字段的值。关于不同会控制pdu的更多信息及其对应的CtrData字段结构,见卷6,B部分,部分2.4.2.1 2.4.2.28蓝牙核心规范[2]

不断扩展和语气同相正交(智商)抽样

CTE的长度是可变的,[160]µs范围。该字段包含一系列不断调制的1 s没有美白的应用。CTE的两种类型:天线切换期间CTE传输(AoD)和天线开关在CTE接待(AoA)。当收到一个包包含一个AoD CTE,接收者不需要切换天线。当收到一个数据包的处理方法(AoA)的CTE包含,接收者执行天线开关根据主机切换模式配置。在这两种情况下,接收机需要智商示例参考期间每一微秒和智商样品每个样品槽。主机控制器报告智商样本。接收样品整个CTE不管它的长度,除非这与其他活动冲突。关于CTE的更多信息,请参见卷6,B部分,部分2.5.1 2.5.3蓝牙核心规范[2]

当请求的主机,接收者执行智商抽样当收到一个有效的蓝牙LE CTE包。然而,当收到一个蓝牙LE包CTE和错误的CRC,接收方可能会执行智商抽样。关于智商抽样的更多信息,请参阅卷6,B部分,2.5.4节蓝牙核心规范[2]

请注意

关于数据的物理信道pdu的更多信息,参见卷6,B部分,蓝牙核心规范的2.4节[2]

蓝牙BR /功能包结构

排序在蓝牙BR /功能包

排序在蓝牙BR / EDR数据包遵循相同的格式排序在蓝牙LE包

蓝牙BR /功能设备使用数据包格式:BR模式,功能模式,访问代码,包的头,分组类型,有效负载格式

请注意

关于蓝牙BR /功能包结构的更多信息,参见卷2,B部分,第六节蓝牙核心规范[2]

一般格式

BR模式。蓝牙BR的一般格式数据包这个图所示。每个包包含这些字段:访问代码(68或72位)、标题(54位)和负载在[0,2790]。

包结构的蓝牙BR数据包

蓝牙核心规范[2]定义了不同类型的数据包。一个包可以包括:

  • 缩短访问代码

  • 访问代码和包的头

  • 访问代码,数据包报头和有效负载

功能模式。蓝牙功能的一般格式数据包这个图所示。

包结构的蓝牙功能包

访问代码的格式和调制和数据包报头字段类似于BR的数据包。头字段后,功能包有一个保安的时间范围[4.75,5.25]µs,同步序列(11µs),有效载荷的范围(0,2790年),和拖车(两个符号)领域。

访问代码

每个数据包从一个访问代码。如果数据包报头之前,访问代码是72位长。否则,访问代码的长度是68位。在这种情况下,被称为访问代码缩短访问代码。缩短访问代码不包含拖车。访问代码用于同步,直流偏置补偿,和识别的物理信道上的所有数据包交换。缩短访问代码是用于分页和调查。在这种情况下,访问代码本身作为信令消息,和标题和有效载荷。这个图显示了访问代码的包结构。

包访问代码的结构

不同的访问代码类型使用不同的低地址部分(圈)建设同步。不同的访问代码类型的总结这个表所示。

访问代码类型 腿上 访问代码长度(字节) 描述
通道访问代码(CAC) 中央 72年

这个访问代码用于在连接状态,同步训练亚态,和同步扫描亚态。这是来自中央的大腿上BD_ADDR

设备访问代码(DAC) 分页设备 68年或72年

使用这个访问代码在页面,页面扫描,和页面响应亚态。它来源于分页设备BD_ADDR

专门的调查访问代码(双向开关二极管) 专用的 68年或72年

这个访问代码用于调查亚态专用查询操作。

通用查询访问代码(GIAC) 保留 68年或72年

这个访问代码用于调查亚态一般查询操作。

双向开关二极管,DAC和GIAC访问代码类型,使用72位的访问代码长度只有结合跳频序列(FHS)包。作为独立的消息时没有一个头,DAC、双向开关二极管和GIAC不包括拖车位,长度68位。

CAC -包括序言、同步字,和拖车。

  • 序言:这是一个固定4-symbol 0和1的模式,促进了直流补偿。如果以下的LSB单词同步10序言序列1010年0101年分别(传输顺序)。

  • 同步字:这是一个64位的码字源自一个24位圈地址。保证建设一个大型之间的汉明距离同步单词基于不同的圈。的自相关特性同步字提高定时采集。

  • 预告片:附加到同步字一旦数据包报头之前访问代码。预告片是固定4-symbol 0和1的模式。预告片的三个位元一起同步字形成一个7位的模式交替1和0用于扩展直流补偿。预告片是序列1010年0101年(传输顺序)取决于MSB的单词是同步01,分别。

请注意

关于访问代码的更多信息在蓝牙BR /功能,参见卷2,B部分,蓝牙核心规范的6.3节[2]

包的头

蓝牙BR的结构/功能包头这个图所示。

包结构的蓝牙BR / EDR头字段

这个表提供了一个简短的描述关于数据包报头字段。

数据包报头字段 字段的大小(位) 描述
逻辑传输地址(LT_ADDR) 3

这指出数据包的目的地周边(s) Central-to-Peripheral传输插槽和显示源外围Peripheral-to-Central传输插槽。

类型 4

这个字段指定使用的数据包类型。蓝牙核心规范[2]定义了16个不同类型的BR /功能包。这个领域的价值取决于包LT_ADDR字段的值。这个字段确定槽被当前的数据包的数量。

流控制(流) 1

这个领域实现了流量控制的BR / EDR数据包异步逻辑(ACL)面向连接的传输。当ACL逻辑传输的接收缓冲区已满,一个“停止”的迹象(流= 0)返回给暂时阻止其他设备传输数据。当接收缓冲区可以接受数据,“GO”指示返回(流= 1)。

自动重发请求(ARQN)数量 1

这个领域通知成功转移的来源与CRC负载数据。这个字段保留以供将来使用的连接外围广播(CSB)逻辑运输。

序列号(SEQN) 1

这一领域提供了一个命令数据包流顺序编号方案。这个字段保留以供将来使用的CSB逻辑运输。

标题错误检查(HEC) 8

这个字段检查数据包报头的完整性。生成HEC之前,HEC发电机是一个8位值初始化的。这些8位对应于上面的地址部分(UAP)。初始化后,HEC商学院生成器计算值10头位。检查HEC之前,接收初始化HEC检查电路与适当的8位UAP。如果HEC不完整性检查包的头部,整个数据包就会被丢弃。

请注意

关于包的更多信息头中使用蓝牙BR /功能,参见卷2,B部分,蓝牙核心规范的6.4节[2]

分组类型

数据包微微网中使用这些逻辑相关传输,使用它们。

  • 同步面向连接(上海合作组织):它是一种电路交换连接之间的预留槽中部和特定的外围。

  • 扩大上合组织(能源管理公司):类似于上海合作组织,它储备槽中央和特定的外围。能源管理公万博1manbetx司支持预留槽后重新传输窗口。在一起,预留槽和传输窗口形式完整的能源管理公司窗口。

  • ACL:它提供了一个分组交换连接中央和所有活动参与微微网的外围设备。ACL支万博1manbetx持异步和同步服务。中央和边缘之间,只有单个ACL逻辑运输必须存在。

  • CSB:它是用来传输概要广播数据从中央到多个外围设备。CSB逻辑传输不可靠。

这个表总结了上海合作组织定义的数据包,能源管理公司,ACL, CSB逻辑运输类型。

请注意

列条目之后,“D”只意味着数据字段。“C.1”意味着MIC值强制启用加密和AES-CCM时。否则,麦克风是排除在外。关于不同的数据包类型的更多信息用于蓝牙BR /功能,参见卷2,B部分,章节6.5和6.7的蓝牙核心规范[2]

包类型 类型代码 槽入住率 有效载荷头(字节) 用户负载(字节) 选举委员会 麦克风 儿童权利公约 支持逻辑运输类型万博1manbetx
ID N /一个 1 N /一个 N /一个 N /一个 N /一个 N /一个 N /一个
0000年 1 N /一个 N /一个 N /一个 N /一个 N /一个 上海合作组织,能源管理公司,ACL,公务员事务局
民意调查 0001年 1 N /一个 N /一个 N /一个 N /一个 N /一个 上海合作组织,能源管理公司,ACL
FHS 0010年 1 N /一个 18 2/3 N /一个 是的 上海合作组织,ACL
DM1 0011年 1 1 0 17 2/3 C.1 是的 上海合作组织,ACL,公务员事务局
0100年 1 1 0-27 没有 C.1 是的 ACL,公务员事务局
DM3 1010年 3 2 0 - 121 2/3 C.1 是的 ACL,公务员事务局
DH3 1011年 3 2 0 - 183 没有 C.1 是的 ACL,公务员事务局
DM5 1110年 5 2 0 - 224 2/3 C.1 是的 ACL,公务员事务局
DH5 1111年 5 2 0 - 339 没有 C.1 是的 ACL,公务员事务局
2-DH1 0100年 1 2 0-54 没有 C.1 是的 ACL,公务员事务局
2-DH3 1010年 3 2 0 - 367 没有 C.1 是的 ACL,公务员事务局
2-DH5 1110年 5 2 0 - 679 没有 C.1 是的 ACL,公务员事务局
3-DH1 1000年 1 2 0 - 83 没有 C.1 是的 ACL,公务员事务局
3-DH3 1011年 3 2 0 - 552 没有 C.1 是的 ACL,公务员事务局
3-DH5 1111年 5 2 0 - 1021 没有 C.1 是的 ACL,公务员事务局
HV1 0101年 1 N /一个 10 1/3 没有 没有 上海合作组织
HV2 0110年 1 N /一个 20. 2/3 没有 没有 上海合作组织
HV3 0111年 1 N /一个 30. 没有 没有 没有 上海合作组织
DV 1000年 1 1 D 10 + D (0 - 9) 2/3 D 没有 是的D 上海合作组织
EV3 0111年 1 N /一个 没有 没有 是的 能源管理公司
EV4 1100年 3 N /一个 1 - 120 2/3 没有 是的 能源管理公司
EV5 1101年 3 N /一个 1 - 180 没有 没有 是的 能源管理公司
2-EV3 0110年 1 N /一个 1-60 没有 没有 是的 能源管理公司
2-EV5 1100年 3 N /一个 1 - 360 没有 没有 是的 能源管理公司
3-EV3 0111年 1 N /一个 1 - 90 没有 没有 是的 能源管理公司
3-EV5 1101年 3 N /一个 1 - 540 没有 没有 是的 能源管理公司

有效负载格式

蓝牙核心规范[2]定义了两种类型的负载字段格式:同步数据字段(ACL包)和异步数据字段(上海合作组织和能源管理公司包)。然而,DV数据包包含了同步和异步数据字段。

  • 同步数据字段:在上海合作组织,它只支持BR模式,同步数据字段的长度是固定的。万博1manbetx同步数据字段只包含同步数据的身体部分和没有有效载荷头。在BR能源管理公司,同步数据字段包含这两个部分:身体和CRC码同步数据。在这种情况下,没有提供负载的头。EDR能源管理公司的同步数据字段由一个警卫,同步序列,同步数据的身体,CRC编码和拖车。在这种情况下,没有提供负载的头。

  • 异步数据字段:BR ACL数据包负载组成的异步数据字段标题,有效载荷的身体,麦克风(如果适用),和CRC(如果适用)。此图显示了BR的8位有效载荷头格式单槽ACL包。

    8位的包结构载荷头BR单插槽ACL数据包格式

    EDR ACL包有一个异步数据字段组成的卫队,同步序列,载荷头,有效载荷的身体,麦克风(如果适用),CRC(如适用)和拖车。这图显示了16位有效载荷头EDR多槽ACL数据包格式。

    16位的包结构载荷头EDR多槽ACL数据包格式

    请注意

    关于负载的格式的更多信息,参见卷2,B部分,部分6.6.1和6.6.2蓝牙核心规范[2]

引用

[1]蓝牙技术的网站。“蓝牙技术网站|蓝牙技术的官方网站。”2021年11月22日通过。https://www.bluetooth.com/

[2]蓝牙特别兴趣小组(团体)。“蓝牙核心规范。”Version 5.3.https://www.bluetooth.com/

相关的话题