[蓝牙核心规范5.3][Vol 2 BR/EDR控制器][Part B 基带规范]2 物理通道

2024-08-21 16:32

本文主要是介绍[蓝牙核心规范5.3][Vol 2 BR/EDR控制器][Part B 基带规范]2 物理通道,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

蓝牙文档官网:
https://www.bluetooth.com/specifications/specs/
蓝牙核心规范5.3:
https://download.csdn.net/download/u012906122/74651266

蓝牙系统中最低的架构层是物理通道层。蓝牙定义了很多物理通道层。蓝牙物理通道有如下特点:一个基本伪随机跳频序列,特定传输时间槽,接入码和包头部编码。对于基本的和自适应的微网物理通道,跳频用来周期性地改变频率以减少干扰的影响。
两个设备如果想要通信需要使用相同的物理通道。为此,它们的收发器必须同时调成相同RF频率且它们必须在彼此的标称范围内。
假定RF负载器个数有限,很多蓝牙设备可以相对独立地运行在相同的时空域里,那就有很大可能两个相对独立的蓝牙设备会将它们的收发器调成相同的RF负载器,导致物理通道冲突。为了减轻冲突的影响,物理通道上的每个传输以一个接入码为开始,这个接入码用作该设备调成此物理通道的纠错码。通道接入码是物理通道的一个属性。
总共定义了如下几种物理通道:基本微网通道和自适应微网通道用以已连接设备之间的通信,与特定的微网有关。查询扫描通道用来发现蓝牙设备,寻呼扫描通道用来连接蓝牙设备。同步扫描物理通道用来获取关于无连接外围设备广播物理链路的时间和频率信息。
一个蓝牙设备某一时刻只能使用这些物理通道中的一个。设备支持时分复用以看起来支持同时多个通道操作。
每当蓝牙设备同步到物理信道的时间、频率和接入码时,它就被称为"连接"到该信道。

2.1 物理通道定义

除同步扫描物理通道(使用一组固定的射频通道)外,物理通道由基本的伪随机射频通道跳变序列、包时间槽和一个接入码定义。跳频序列由一个蓝牙设备地址的UAP和LAP决定。跳频序列的相位由蓝牙时钟决定。总共定义了如下物理通道:
(1)基本微网物理通道
(2)自适应微网物理通道
(3)寻呼扫描物理通道
(4)查询扫描物理通道
(5)同步扫描物理通道

2.2 基本微网物理通道

连接状态时默认使用基本微网物理通道。

2.2.1 中心设备和外围设备

基本微网物理通道由微网中心设备定义。中心设备通过一个轮询方案控制微网物理通道的流量。(Section 8.5)
通过定义,通过寻呼初始化连接的设备是中心设备。一旦微网建立,中心设备和外围设备可能会交换角色。(Section 8.6.5)

2.2.2 跳频特点

特点是通过所有79个射频通道的伪随机跳变。跳频由蓝牙时钟和中心设备的蓝牙设备地址决定。当微网建立时,中心设备的时钟和外围设备的时钟进行通信。每个外围设备会在它们本地时钟的基础上增加偏移以同步中心设备的时钟。因为时钟是相对独立的,偏移必须定时更新。所有微网中的设备是时间和跳频同步于通道的。(Section 2.6)

2.2.3 时间槽

基本的微网物理通道分为多个时间槽,每个槽长度为625μs。时间槽编号范围为0到2^27-1,并且循环,周期长度为2^27。
时分双工方案被采用,这个方案使得中心设备和外围设备可以交替传输,如图2.1。包的起始必须与时间槽起始对齐。包最多可延展至5个时间槽。

 图 2.1:多个时间槽的包

2.2.4 微网时钟

CLK是微网中中心设备的时钟。所有的设备用CLK来计划它们的发送和接收。CLK应当是CLKR增加两个偏移:time_base_offset和peripheral_clock_offset,如图2.2。

 图2.2:中心设备和外围设备的时钟起源

2.2.5 发送/接收时序

中心设备发送应总是在偶数时间槽的位置(CLK1=0),外围设备发送应该总是在奇数时间槽的位置(CLK1=1)。由于包类型覆盖了超过一个时间槽,中心设备传输可能会延续到奇数序号的时间槽,外围设备传输可能会延续到偶数序号的时间槽,如图2.1。

2.2.5.1 微网物理通道时序

以下图中只显示单个时间槽的包。
中心设备TX/RX时序显示在图2.3。在图2.3和图2.4中,通道跳频由f(k)标识,k是时间槽序号。发送之后,返回包预期的时间点是N*625us,N是奇数,N>0。N依赖于传输包的类型。

 图 2.3:正常模式单时间槽包的中心设备收发器的发送/接收周期
外围设备发送/接收时序如图2.4。

 图 2.4:正常模式单时间槽包的外围设备收发器的发送/接收周期

2.2.5.2 微网物理通道重同步

在微网物理通道里,一个外围设备可能失去同步如果它至少200ms没接收到来自中心设备的一个包。中心设备发送给外围设备的包可能会失败,因为在忙于其他的任务如和其他的设备保持连接在等待模式等。当重同步到微网物理通道时,外围设备在它可以发送信息前应一直监听中心设备。这种情况下,外围设备同步搜索窗的大小可能从20us增长到Xus,如图2.5。外围设备重同步时推荐采用单时间槽包。

图 2.5:从等待模式返回的外围设备接收时序

2.3 自适应微网物理通道

2.3.1 跳频特点

每个在自适应微网物理通道上的物理链路应当使用至少20个RF通道。
自适应微网物理通道使用自适应通道跳频序列(Section 2.6)。
自适应微网物理通道用于开启自适应跳频的已连接设备。基本微网物理通道与自适应微网物理通道之间有两点不同。第一,相同的通道机制导致外围设备频率与后续的中心设备的传输频率相同。第二,自适应微网物理通道可以基于小于79个频段。每个自适应微网物理通道的物理链路使用一套不同的频率。

2.4 寻呼扫描物理通道

虽然在连接之前没有定义中心设备和外围设备,但中心设备用于寻呼设备(成为处于连接状态的中心设备),外围设备用于寻呼扫描设备(成为处于连接状态的外围设备)。

2.4.1  寻呼时钟估计

寻呼设备使用寻呼扫描设备的本地时钟的估计值,CLKE:

图2.6 CLKE的起源

2.4.2 跳频特点

寻呼扫描物理通道遵循比基本微网物理通道更慢的跳变模式,是一个通过射频通道的短伪随机跳变序列。

2.4.3 寻呼处理时序

图2.7 寻呼模式下接收器的RX/TX时钟周期

2.4.4 寻呼响应时序

 图2.8 上半段成功页面响应数据包的时间

图2.9 下半段成功页面响应数据包的时间

2.5 查询扫描物理通道

虽然在连接之前没有定义中心设备和外围设备,但中心设备用于查询设备,外围设备用于查询扫描设备。

2.5.1 查询时钟

为设备的本地时钟。

2.5.2 跳频特点

查询扫描物理通道遵循比基本微网物理通道更慢的跳变模式。

2.5.4 查询响应时间

 图2.10 上半段查询成功时查询响应包的时间

 图2.11 下半段查询成功时查询响应包的时间

这篇关于[蓝牙核心规范5.3][Vol 2 BR/EDR控制器][Part B 基带规范]2 物理通道的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1093683

相关文章

Python包管理工具核心指令uvx举例详细解析

《Python包管理工具核心指令uvx举例详细解析》:本文主要介绍Python包管理工具核心指令uvx的相关资料,uvx是uv工具链中用于临时运行Python命令行工具的高效执行器,依托Rust实... 目录一、uvx 的定位与核心功能二、uvx 的典型应用场景三、uvx 与传统工具对比四、uvx 的技术实

java中Optional的核心用法和最佳实践

《java中Optional的核心用法和最佳实践》Java8中Optional用于处理可能为null的值,减少空指针异常,:本文主要介绍java中Optional核心用法和最佳实践的相关资料,文中... 目录前言1. 创建 Optional 对象1.1 常规创建方式2. 访问 Optional 中的值2.1

电脑蓝牙连不上怎么办? 5 招教你轻松修复Mac蓝牙连接问题的技巧

《电脑蓝牙连不上怎么办?5招教你轻松修复Mac蓝牙连接问题的技巧》蓝牙连接问题是一些Mac用户经常遇到的常见问题之一,在本文章中,我们将提供一些有用的提示和技巧,帮助您解决可能出现的蓝牙连接问... 蓝牙作为一种流行的无线技术,已经成为我们连接各种设备的重要工具。在 MAC 上,你可以根据自己的需求,轻松地

JSR-107缓存规范介绍

《JSR-107缓存规范介绍》JSR是JavaSpecificationRequests的缩写,意思是Java规范提案,下面给大家介绍JSR-107缓存规范的相关知识,感兴趣的朋友一起看看吧... 目录1.什么是jsR-1072.应用调用缓存图示3.JSR-107规范使用4.Spring 缓存机制缓存是每一

详解如何在SpringBoot控制器中处理用户数据

《详解如何在SpringBoot控制器中处理用户数据》在SpringBoot应用开发中,控制器(Controller)扮演着至关重要的角色,它负责接收用户请求、处理数据并返回响应,本文将深入浅出地讲解... 目录一、获取请求参数1.1 获取查询参数1.2 获取路径参数二、处理表单提交2.1 处理表单数据三、

Java Jackson核心注解使用详解

《JavaJackson核心注解使用详解》:本文主要介绍JavaJackson核心注解的使用,​​Jackson核心注解​​用于控制Java对象与JSON之间的序列化、反序列化行为,简化字段映射... 目录前言一、@jsonProperty-指定JSON字段名二、@JsonIgnore-忽略字段三、@Jso

浅谈Redis Key 命名规范文档

《浅谈RedisKey命名规范文档》本文介绍了Redis键名命名规范,包括命名格式、具体规范、数据类型扩展命名、时间敏感型键名、规范总结以及实际应用示例,感兴趣的可以了解一下... 目录1. 命名格式格式模板:示例:2. 具体规范2.1 小写命名2.2 使用冒号分隔层级2.3 标识符命名3. 数据类型扩展命

Python列表去重的4种核心方法与实战指南详解

《Python列表去重的4种核心方法与实战指南详解》在Python开发中,处理列表数据时经常需要去除重复元素,本文将详细介绍4种最实用的列表去重方法,有需要的小伙伴可以根据自己的需要进行选择... 目录方法1:集合(set)去重法(最快速)方法2:顺序遍历法(保持顺序)方法3:副本删除法(原地修改)方法4:

SpringQuartz定时任务核心组件JobDetail与Trigger配置

《SpringQuartz定时任务核心组件JobDetail与Trigger配置》Spring框架与Quartz调度器的集成提供了强大而灵活的定时任务解决方案,本文主要介绍了SpringQuartz定... 目录引言一、Spring Quartz基础架构1.1 核心组件概述1.2 Spring集成优势二、J

Linux find 命令完全指南及核心用法

《Linuxfind命令完全指南及核心用法》find是Linux系统最强大的文件搜索工具,支持嵌套遍历、条件筛选、执行动作,下面给大家介绍Linuxfind命令完全指南,感兴趣的朋友一起看看吧... 目录一、基础搜索模式1. 按文件名搜索(精确/模糊匹配)2. 排除指定目录/文件二、根据文件类型筛选三、时间