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

目录

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),而从设备可以使用时分复用技术参与不同的微微网。另外,一个微微网中的主设备可以在另一个微微网中作为从设备。多个微微网不应该频率同步,每个微微网应该有自己的跳频序列。

moyaoyi图1.1 蓝牙设备连接关系

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

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

moyaoyi图1.2 基本数据速率基带分组包格式

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

moyaoyi图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所示。

moyaoyi图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)

有关的信息,请参阅IEEE SA - Registration Authority, 获取这些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。

moyaoyi图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)用于专门的查询操作。

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

2021-10-27

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

剩余篇章已上传到资源分享,链接如下:

baseband翻译.pdf-其它文档类资源-CSDN下载

baseband翻译.pdf只是作为入门的中文参考资料,有的术语翻译的不够准确多多包涵。

一直想翻译baseband协议,2018年翻译了两章之后,就一直没有继续翻译,最近又开始学习蓝牙基带协议,就定下了目标一定要将基带协议翻译完成,最近的篇章是core_5.3的,前两章是旧版本的core协议。core_5.3协议将主从设备,换成了中央设备和外围设备。

有时间再把蓝牙core_5.3的协议全翻译一遍,可以当做蓝牙的中文参考资料,之前的蓝牙相关的书籍已经很早之前的了,很久没有出蓝牙的新书了,当然英文好的还是直接阅读英文版的蓝牙core协议,更能理解蓝牙规范的原意。翻译的内容有的不够标准希望多多海涵。

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Simulink是一个功能强大的基于模块化设计的仿真平台,可以在Matlab环境下进行仿真和建模。使用Simulink进行16-QAM基带仿真可以通过以下步骤实现: 1. 打开Matlab软件,创建一个新的模型文件,并命名为“16-QAM_Baseband”。 2. 在模型中添加源模块(Source)来生成16-QAM调制的原始信号。可以选择使用恒定模块(Constant)来生成一串数字信号序列,代表要传输的数据。这些数据的大小应为4个比特。 3. 将生成的信号输入到QAM调制器模块(QAM Modulator)中。在模块的参数中,设置调制方式为16-QAM,并选择合适的采样率。 4. 将调制器的输出连接到信道模块(Channel)。信道可以模拟传输中的噪声、衰落和其他影响因素。可以使用高斯信道模块(AWGN Channel)来添加高斯白噪声。 5. 在信道之后,添加解调器模块(QAM Demodulator)。与调制器类似,设置解调器的参数为16-QAM,并将采样率与调制器一致。 6. 将解调器的输出连接到显示模块(Scope),以可视化接收到的信号。 7. 点击模拟按钮,开始仿真过程。可以观察到信号的传输和解调结果。 通过以上步骤,可以使用Simulink实现16-QAM基带信号的仿真。根据需要,还可以添加其他模块和功能来进一步完善仿真过程,比如加入信道编码、错误检测和纠正等模块。 ### 回答2: 要用Simulink仿真16-QAM基带,请先创建一个新的Simulink模型。接下来,按照以下步骤设置仪表。 1. 添加Sine Wave Generator模块,生成基带信号。选择合适的采样频率和幅度。 2. 将16-QAM调制器模块添加到模型中。此模块将基带信号调制为16-QAM信号。选择合适的信号映射。 3. 添加高斯白噪声模块,用于在信号上添加噪声。可以设置噪声的功率谱密度。 4. 将16-QAM解调器模块添加到模型中。此模块将接收到的16-QAM信号解调为基带信号。 5. 最后,添加一个Scope模块来显示输入和输出的波形。 设置完仪表后,可以运行仿真。可以调整不同的参数,如信号幅度、串扰比以及噪声功率谱密度。通过观察Scope输出的波形,可以评估16-QAM系统的性能。 ### 回答3: 在Simulink中进行16-QAM基带仿真的步骤如下: 1. 打开Matlab软件,点击"Simulink"选项卡,找到并点击"Library Browser"按钮。 2. 在Library Browser窗口中,搜索框中输入"16-QAM",找到并点击"16-QAM Modulator Baseband"模块。 3. 将"16-QAM Modulator Baseband"模块拖动到工作区中。 4. 在Library Browser窗口中,搜索框中输入"AWGN",找到并点击"AWGN Channel"模块。 5. 将"AWGN Channel"模块拖动到工作区中,将其连接到"16-QAM Modulator Baseband"的输出端口。 6. 在Library Browser窗口中,搜索框中输入"Error Rate Calculation",找到并点击"Error Rate Calculation"模块。 7. 将"Error Rate Calculation"模块拖动到工作区中,将其连接到"AWGN Channel"的输出端口。 8. 连接输入信号端口和误码率计算端口。 9. 点击模拟按钮,开始仿真。 10. 程序会模拟16-QAM基带信号通过AWGN信道传输并计算误码率。 11. 在Simulink窗口的Diagram窗口中,可以查看信号经过每个模块的传输过程和结果。 通过上述步骤,可以在Simulink中进行16-QAM基带信号的仿真。用户可以根据需要设置信号的参数和仿真环境的条件,例如信号的调制方式、信噪比等,以验证16-QAM基带信号在AWGN信道下的性能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值