蓝牙核心协议学习 -- 基带协议(Baseband)

时间:2024-04-08 09:10:49

目录

1 概述

1.1 蓝牙时钟

1.2 蓝牙设备寻址

1.2.1 保留地址

1.3 访问码(ACCESS CODES)


                                                                                            Baseband协议--翻译

1 概述

本章节将介绍蓝牙基带协议完成的功能和任务。

蓝牙系统提供了点对点连接以及一对多连接,如图1.1中(a)和(b)。在点对点连接中,两个设备共享物理连接。在一对多连接中,多个蓝牙设备共享一条物理连接。共享一条物理连接的蓝牙设备组成了微微网(Piconet)。一个蓝牙设备作为微微网中的主设备(Master),其他蓝牙设备为从设备(Slave)。每个微微网最多有7个**的从设备。主设备控制信道的访问。在面向无连接广播的物理信道可以有不限数量的从设备接收主设备的数据。

当多个微微网有共同的蓝牙设备时被称为散射网(Scatternet),如图1.1中(c)。每个微微网中只有一个主设备(Master),而从设备可以使用时分复用技术参与不同的微微网。另外,一个微微网中的主设备可以在另一个微微网中作为从设备。多个微微网不应该频率同步,每个微微网应该有自己的跳频序列。

蓝牙核心协议学习 -- 基带协议(Baseband)图1.1 蓝牙设备连接关系

数据通过数据包传输。有两种传输模式:一种需要强制支持的模式是基本速率(Basic Rate),一种是可选择的模式增强型数据速率(Enhanced Data Rate)。所有调制模式的数据传输速率为1M sys/s。在基本速率模式下,空中传输数据的速率最大为1Mb/s。增强型数据传输模式,主调制模式提供了2Mb/s的空中数据传输速率,次调制模式提供了3Mb/s的空中传输速率。

通用的基本速率模式的数据包格式如图1.2所示。每个数据包由三部分组成:访问码、分组头、有效载荷。

蓝牙核心协议学习 -- 基带协议(Baseband)图1.2 基本数据速率基带分组包格式

通用的增强型速率数据传输模式的数据包格式如图1.3所示。每个数据包由六部分组成:访问码、分组头、保护周期、同步字(同步序列)、增强数据速率有效载荷、预告片。接入码和分组头使用基本数据速率同样的调制模式,而同步序列、增强数据速率有效载荷、预告片使用增强型数据速率调制模式。允许保护时间在两种调制模式间转换。

 

蓝牙核心协议学习 -- 基带协议(Baseband)图1.3 增强型数据速率基带分组包格式

1.1 蓝牙时钟

每个蓝牙设备必须有一个本地时钟(native clock),该时钟来自*运行的参考时钟。可以将偏移添加到参考时钟以使本机时钟与其他非蓝牙系统同步。为了与其他蓝牙设备同步,需要使用偏移(offset),当本地时钟加上偏移量时,提供了相互同步的临时蓝牙时钟。需要注意的是,蓝牙时钟与一天中的时间是无关的。因此可以将蓝牙时钟初始化为任何值。时钟的周期约为一天。如果时钟由一个计时器实现,28-bit的计时器时间周期为2^28 – 1。最低有效位(LSB)应以312.5μs(即半个时隙)为单位进行滴答,得到3.2 kHz的时钟速率。

时钟决定重要的周期并且出发设备中的事件。蓝牙系统中有四个重要的时钟周期:312.5 μs, 625 μs, 1.25 ms和1.28 s;这些周期对应了计时器的CLK0,CLK1,CLK2和CLK12位,如图1.4所示。

蓝牙核心协议学习 -- 基带协议(Baseband)图1.4 蓝牙时钟

蓝牙设备在处于不同的模式和状态下,时钟也会有不同的表现形式:

◆CLKR:reference clock.

◆CLKN:native clock.

◆CLKE:estimated clock.

◆CLKR:master clock.

CLKR是由*运行的系统时钟驱动的参考时钟。CLKN可以通过在参考时钟上加上定时偏移得到。在STANDBY、Hold、Sniff和无连接从属广播模式(Connectionless Slave Broadcast)下,参考时钟的最差情况精度为+/- 250ppm。在所有其他情况下,参考时钟最差精度为+/- 20ppm。在执行微微网时钟调整时,微微网主设备也应使用此精度(见第8.6.10节)。

参考章节section 2.2.4定义了CLK,章节section 2.4.1定义了CLKE。

在微微网存在的某些限制内,主设备可以调整其本机时钟(见第8.6.10.3节)。主设备还可以通过使用LMP_clk_adj序列来执行本机时钟的粗调。

1.2 蓝牙设备寻址

每个蓝牙设备都需要分配一个独一无二的48-bit设备地址(BD_ADDR)。地址应为根据IEEE 802-2014标准第8.2节(“通用地址”)创建的48位扩展唯一标识符(EUI-48)。

创建有效的EUI-48需要从IEEE***构获得以下MAC地址块类型之一:

◆MAC Address Block Large (MA-L)

◆MAC Address Block Medium (MA-M)

◆MAC Address Block Small (MA-S)

有关的信息,请参阅http://standards.ieee.org/develop/regauth/index.html, 获取这些MAC地址块之一。 另见“48-指南”位全球标识符(EUI-48)“(https://standards.ieee.org/develop/regauth/tut/eui48.pdf)有关创建EUI-48地址的教程。

图1.5说明了LAP,UAP和NAP如何映射到EUI-48。 图1.5中的位模式是示例BD_ADDR。

蓝牙核心协议学习 -- 基带协议(Baseband)图1.5 蓝牙地址格式

蓝牙地址(BD_ADDR)可以采用任何值,除了那些具有64个保留LAP值中的任何值以进行常规和专用查询的值(参见第1.2.1节)。

1.2.1 保留地址

64个连续的LAP块被保留用于查询操作;所有设备共用一个LAP保留用于通用查询,其余63个LAP保留用于特定类别设备的专用查询(请参阅分配号码)。无论UAP和NAP的内容如何,都使用相同的LAP值。因此,这些LAP都不能成为用户BD_ADDR的一部分。保留的LAP地址为0x9E8B00-0x9E8B3F。通用查询LAP是0x9E8B33。所有地址都将LSB放在最右边的位置,十六进制表示法。只要使用其中一个保留的LAP地址,默认检查初始化(DCI)就用作UAP。 DCI定义为0x00(十六进制)。

1.3 访问码(ACCESS CODES)

在蓝牙系统中,物理信道上的所有传输都以访问码开始。定义了三种不同的访问代码,另请参见第6.3.1节:

◆device access code (DAC)

◆channel access code (CAC)

◆inquiry access code (IAC)

所有访问代码都是从设备地址的LAP或查询地址派生的。设备访问码(DAC)在寻呼(page)、寻呼扫描(page scan)、寻呼响应(page response)子状态中使用,并且由被paged的设备的地址(BD_ADDR)派生的。信道访问码(CAC)在连接状态(CONNECTION),同步训练子状态(synchronization train),同步扫描子状态(synchronization scan)下使用,并形成在微微网物理信道上交换的所有分组的开始。信道访问码应从主设备BD_ADDR的LAP导出。最后,查询访问代码应在查询子状态中使用。一般查询操作有一个通用IAC(GIAC),有63个专用IAC(DIAC)用于专门的查询操作。

访问代码还向接收器指示分组的到达。它用于定时同步和偏移补偿。接收器与访问码中的整个同步字相关,提供非常稳健的信令。