1 解析经典蓝牙设备连接过程-德赢Vwin官网 网
0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

解析经典蓝牙设备连接过程

泰凌微电子 来源:泰凌微电子 2024-06-05 09:11 次阅读

随着越来越多的经典蓝牙设备应用在我们的生活和工作中,该类设备的使用场景和相关设计也更加丰富。与此同时,泰凌微电子作为蓝牙芯片的源头厂商,在经典蓝牙SoC性能提升及方案设计的产出也日新月异;在实际应用中,蓝牙设备发现、连接、断开等使用场景较为常见,其中设备连接是至关重要的一环,它涵盖了设备之间建立连接的整个过程。本文将对经典蓝牙设备连接过程进行解析,带大家一起了解连接的整个过程。

1

什么是设备连接?

什么设备连接?例如,我们在日常使用手机去连接其它如蓝牙耳机等蓝牙设备时,搜索到所需的设备后,点击该设备就会触发设备连接过程,也叫寻呼(Page)。而相应的蓝牙设备也需要进入被寻呼模式,也就是连接扫描(Page Scan),只有这样才会被手机等设备连接成功。如下图,点击Telink-Test设备即开始了连接过程。

f45201e4-22d3-11ef-91d2-92fbcf53809c.png

图1.手机上搜索到Telink-Test设备

2

设备连接的流程

f474887c-22d3-11ef-91d2-92fbcf53809c.png

图2.蓝牙规范中的设备状态

首先,如上图Page和Page Scan为蓝牙的两个子状态,其中Page为我们通常认为的连接(寻呼);在设备发现之后,该子状态能以Master的角色进行连接/操作对应的Slave。设备,连接时依赖于发现过程中获取到的对端设备地址;而Page Scan子状态是和Page相对应的,即等待将被Page的Slave设备所处的状态。设备处于Page Scan的状态是其可被连接的前提。

开启Page时,Master(即Page设备)使用Slave(即Page Scan设备)的设备地址(BT_ADDR)及其CLOCK时钟作为算法参数生成跳频序列(paging –hopping sequence),该序列是一个定义明确的周期序列,其各个频点均匀分布在2.4G的79个频率信道上。基于跳频序列,Master每隔312.5us会更新一个新的频率信道以发送ID包;而Slave则每隔1.28s更新一次监听频率信道,以便在较短时间内接收到来自Master的ID包。

下面以一块泰凌微电子B91开发板为例,简述设备连接过程。

f4790460-22d3-11ef-91d2-92fbcf53809c.png

图3. B91开发板

首先,给开发板烧录提前编译好的测试固件,然后用手机去搜索并连接对应的蓝牙设备,用蓝牙抓包器抓取空中包,通过抓包内容我们可以对应蓝牙协议解析如下内容:

f4a7e410-22d3-11ef-91d2-92fbcf53809c.png

图4.蓝牙规范中的连接步骤

f4cbdb72-22d3-11ef-91d2-92fbcf53809c.png

图5.蓝牙规范中的连接时序图

f4f5c6da-22d3-11ef-91d2-92fbcf53809c.png

图6.空中包连接时序图

Step1:当Master处于Page子状态,Slave处于Page Scan子状态,Master发送page message 即ID包;

Step2:当Slave接收到page message后,会进入slave response状态,Slave会发送response(接收到page message以后625us),Slave发送response后,会开始监听来自Master的FHS数据包;

Step3:当Master接收到response以后,Master会进入master response状态,Master会发送FHS数据包(包含了Master的时钟、地址、COD等信息);完成后,Master会监听来自Slave的response;

Step4:Slave接收到来自master的FHS数据包,Slave会回复一个response通知Master接收到了FHS数据包。

Step5:Slave进入CONNECTION状态,Master接收到Slave的response后也会进入CONNECTION状态,然后Master发送一个POLL数据包。

Step6:Slave接收到POLL数据包后,可能回复任何类型的数据包。

以上6步完成后,标志整个的连接过程已经成功并结束,后续会进行链路管理阶段。

f50841de-22d3-11ef-91d2-92fbcf53809c.png

图7.FHS包内容

如果远端设备即Slave端在设置的超时时间内(对应参数Page_Timeout)没有返回Page Response时,则Master会触发Page Timeout事件,即连接失败。

3

设备连接对应的HCI指令

经典蓝牙连接过程中涉及到的HCI指令及相关参数如下:

3.1

HCI_Create_Connection

f584f666-22d3-11ef-91d2-92fbcf53809c.png

3.2

HCI_Read_Page_Timeout

该指令用于读取当前的Page_Timeout 参数;

f5ad2e42-22d3-11ef-91d2-92fbcf53809c.png

3.3

HCI_Write_Page_Timeout

该指令用于设置Page_Timeout 参数;

f5ca4fb8-22d3-11ef-91d2-92fbcf53809c.png

3.4

HCI_Read_Page_Scan_Activity

该指令用于读取Page Scan过程的状态等相关参数;

f5d535b8-22d3-11ef-91d2-92fbcf53809c.png

3.5

HCI_Write_Inquiry_Scan_Activity

该指令用于设置Page Scan的状态等相关参数;

f5de646c-22d3-11ef-91d2-92fbcf53809c.png

3.6

参数 Page_Timeout

f602d4a0-22d3-11ef-91d2-92fbcf53809c.png

3.7

参数 Page_Scan_Interval

f6249158-22d3-11ef-91d2-92fbcf53809c.png

3.8

参数 Page_Scan_Window

f644240a-22d3-11ef-91d2-92fbcf53809c.png

4

综述

设备连接是整个蓝牙技术不可或缺的一部分。该部分的设计会根据产品需求调整Page Scan interval、Page Scan window、Page Scan Type等相关参数以均衡连接速度、功耗、带宽等方面。目前泰凌微电子的TLSR951x和TLSR952x两个系列SoC芯片均支持经典蓝牙技术,其基于自研的蓝牙协议栈,得益于芯片本身具备的超低功耗工作模式,实现了带低功耗的Page和Page Scan模式;同时兼具BT与BLE双模共存,多路BT共存等多种方案,其涵盖了同一设备电话、音乐下的设备连接,多路同时连接等较为复杂的场景设计,为复杂多样的客户产品需求提供了有力支撑。

审核编辑:彭菁

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    455

    文章

    50711

    浏览量

    423098
  • 频率
    +关注

    关注

    4

    文章

    1494

    浏览量

    59209
  • PAGE
    +关注

    关注

    0

    文章

    11

    浏览量

    20180
  • 蓝牙设备
    +关注

    关注

    0

    文章

    39

    浏览量

    6722

原文标题:【技术专栏】泰凌微电子经典蓝牙设备连接介绍

文章出处:【微信号:telink-semi,微信公众号:泰凌微电子】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    CC254x BLE 主从连接过程是怎样的?

    最近,CC254x 在学校BLE 工程文件 SimpleBLEPeripheral.ewp有几个问题:1)连接主从机连接过程一个典型的低功耗蓝牙系统同时包含外设和核心(主机),两者的连接过程
    发表于 03-14 16:04

    CC2541如何连接过程中修改连接间隔?

    CC2541如何连接过程中修改连接间隔?CC2541 连接 APK 传输数据,数据传输完之后,这时修改连接间隔,但是连接间隔不变;必须断开重
    发表于 03-31 16:45

    蓝牙连接过程

    连接设备时,蓝牙可确保可靠的数据传输。需要进行连接才能进行安全的数据传输。本文介绍了蓝牙设备可以
    发表于 09-27 10:49

    我想知道带有BLE的STM32WB是否可以连接经典蓝牙设备

    我想知道带有 BLE 的 STM32WB 是否可以连接经典蓝牙设备,带 BLE 的 STM32WB 可以连接
    发表于 12-15 09:13

    请问ESP32的经典蓝牙的GAP接口能够支持主机设备主动发起询问并连接从机设备吗?

    请问目前(2022.8.22)ESP32的经典蓝牙的GAP接口能够支持主机设备主动发起询问并连接从机设备吗?我查到的ESP32
    发表于 03-09 06:45

    求一个能连接经典蓝牙并且支持配对码确认过程蓝牙模块

    经典蓝牙模块连接问题 我这有一个测量仪器,我不能拆和改装它,它有个内部蓝牙,是支持802.15.1协议的蓝牙,应该是属于
    发表于 06-09 11:17

    网线制作和连接过程介绍

    网线制作和连接过程介绍 局域网就是将单独的微机或终端,利用通信线路相互连接起来,遵循一定的协议,进行信息交换,实现资源
    发表于 01-27 10:16 1006次阅读

    蓝牙技术定位及连接层保护机制

    蓝牙技术的认证与加密服务由连接层提供。认证采用口令--应答方式,在连接过程中,可能需要一次或两次认证,或者无需认证。
    发表于 04-12 19:17 1127次阅读

    蓝牙连接过程中存在安全漏洞,将影响数十亿智能设备

    同时,研究人员也在其中发现了许多的安全漏洞,其中大部分的研究关注于BLE 协议的配对过程,而忽略了其他许多非常重要的部分。近日,普渡大学的研究人员发现蓝牙连接过程中存在安全漏洞,数十亿使用
    的头像 发表于 09-17 15:38 2128次阅读

    蓝牙的配对和连接过程蓝牙的发展介绍说明

    蓝牙技术是当今应用最多的技术之一,采用蓝牙技术,我们可以实现数据的传输以及其它功能。上篇文章中,小编对蓝牙手机的功能和选择要点有所阐述。为增进大家对蓝牙的了解,本文将对
    发表于 01-23 10:34 9483次阅读

    HC05 蓝牙模块 连接 ESP32 经典蓝牙

    概述HC05是一款常用的经典蓝牙模块,某宝有大量销售,主从机一体,而ESP32的蓝牙兼容经典蓝牙和低功耗
    发表于 11-24 12:36 65次下载
    HC05 <b class='flag-5'>蓝牙</b>模块 <b class='flag-5'>连接</b> ESP32 <b class='flag-5'>经典</b><b class='flag-5'>蓝牙</b>

    蓝牙协议版本解析:不同类型的蓝牙协议及其作用

    到2.1:经典蓝牙协议 蓝牙1.0: 首次引入蓝牙技术,支持数据传输速率为1 Mbps,主要应用在耳机和手机等简单设备
    的头像 发表于 12-28 11:17 2197次阅读

    示波器探头如何和设备连接

    示波器探头作为连接被测电路与示波器的重要桥梁,其连接的准确性和稳定性直接影响到测试结果的准确性。本文将详细解析示波器探头与设备连接过程,以
    的头像 发表于 05-20 16:59 1364次阅读

    经典蓝牙的LMP的工作原理解析

    的LMP进行解析,带大家一起了解LMP的工作原理。 1 什么是LMP? LMP是 controller中的一层,用于控制和协商两个设备之间蓝牙连接的所有操作,这包括了逻辑传输和逻辑链路
    的头像 发表于 06-12 09:01 2018次阅读
    <b class='flag-5'>经典</b><b class='flag-5'>蓝牙</b>的LMP的工作原理<b class='flag-5'>解析</b>

    什么是蓝牙芯片?

    蓝牙芯片是一种集成蓝牙功能的电路集合,主要用于短距离无线通信。以下是关于蓝牙芯片的详细解析: 一、定义与功能 蓝牙芯片集成了
    的头像 发表于 07-17 16:49 1414次阅读