0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

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

3天内不再提示

低功耗蓝牙在低功耗设计中的应用

星星科技指导员 来源:嵌入式计算设计 作者:Monika Chaurasia 2022-06-24 11:26 次阅读

物联网已经存在了一段时间,但目前引起关注的原因是传感器的价格大幅下降以及几乎无处不在的连接性。根据 IDC 最近的报告,全球物联网技术支出将在 2022 年达到 1.2 吨,在 2017-2022 年的预测期内实现 13.6% 的复合年增长率。蓝牙技术广泛用于各种智能应用中的物联网,使用 2400.0 至 2483.5 MHz 的未经许可的工业、科学和医疗 (ISM) 频段中的短波长无线电传输进行短距离(最长 100m)的连接。

蓝牙设备以多种模式从一台设备与另一台设备通信——

- 单播:源向多个目标发送和接收消息,建立一对一的设备通信。

- 广播:源将消息发送到多个目的地,建立一对多的设备通信。

- 多播(网格):建立多对多设备通信的多个源和目标。

BLE 由蓝牙特别兴趣小组 (SIG) 销售。蓝牙 SIG 管理认证过程,任何使用蓝牙无线技术的产品都需要遵循该过程。所有这些产品都必须通过蓝牙 SIG 认证并满足蓝牙许可协议和规范的要求。SIG 拥有如下所示的徽标和“蓝牙”一词。

蓝牙协议和测试

BLE 的集成级测试涉及广告数据的验证、握手过程(启动通信和协商传输参数)、连接过程、绑定过程、数据包数据格式。这可以通过两种方式实现:

1. 连接任何作为Master的BLE设备,验证服务和数据交换

2. 使用 Sniffer 应用程序进行通信之间的“间谍”

每个蓝牙设备都有一个唯一的 MAC 地址和时钟。Master 控制时钟和跳频。

各个层的源和目标扮演着不同的角色,需要对 UUT(被测单元——一个蓝牙设备作为扫描器,另一个作为广告商)进行彻底验证,这在本博客中进行了讨论。以下是每一层的源和目标的同义词:

pYYBAGK1Lx2AFwaJAABPefXGlD4927.png

链路层

链路层是物理层和 L2CAP 层之间的层。它主要起到广告、建立连接和发现服务的作用。下面的状态图描述了链路层的工作流。

pYYBAGK1LyWAEB7BAAEGV0evtlc523.png

待机:默认状态

广告:设备在三个广告通道(其余37个为数据通道)中定期发送广告事件,如下图所示。

poYBAGK1Ly6ALGhOAAPyLkqR_Ic226.png

扫描

有两种不同的扫描模式:

- 被动扫描——控制器只支持数据接收,不支持传输。

- 主动扫描 – 传输扫描请求。扫描器发出 SCAN_REQ 数据包,广告商以 SCAN_RSP 数据包响应。

发起

Scanner 根据广告数据选择合适的广告商。如果广告商发出连接机会的信号,则扫描器可以向广告商发送连接请求。一旦 CONNECT_REQ 数据包被发送,scanner 就会成为 Initiator

联系

一旦成功建立连接,两个设备都处于“连接”状态。发起者成为主人,广告者成为奴隶。它们定期交换数据包,称为连接事件(此连接是握手,数据交换仅在握手成功后发生)。BLE 连接维护一个 Piconet 网络结构,其中单个主机与称为 pico 的从机协调连接事件。应用程序中的数据传输速率从 200 到 2,100 kbps 不等。

BLE 数据包构成了链路层的基本构建块。BLE数据包数据格式大致可以分为以下几种:

pYYBAGK1LzaAWac0AADaJ7-2_Qg284.png

BLE 有两种类型的数据包:

• 广告包——查找并连接到附近的设备

• 数据包——两个连接设备之间的数据传输

以下是根据协议数据单元 (PDU) 的不同广告数据包类型:

poYBAGK1Lz2AV_yQAACkcDEd_U4621.png

按照以下链接中的步骤设置 Nordic BLE Sniffer 和 Wireshark 设置以进行数据包捕获:

nRF_Sniffer_UserGuide_v2.2

以下是可以使用 Wireshark 数据包分析器验证的测试用例:

1. 验证外围设备是否发布广告明文

2. 验证外设在广告和未连接时的广告算法。(广告算法包括广告事件的数量和它们之间的持续时间)

3. 验证握手过程中外围设备的广告算法

4.验证UUT配对绑定后的广告事件

通用访问配置文件 (GAP)

GAP 定义了设备角色、广告模式和绑定程序。安全管理器,GAP 的一部分,可以根据系统的安全需求进行设计。“配对”和“绑定”过程通过 GAP 进行控制:

-配对:

中央和外围设备交换加密的密钥,经过身份验证和接受以建立连接。

-粘合:

配对过程中的信息存储在设备上,因此配对过程不会重复,并且只要设备在附近,就会建立重新连接。

三种主要的配对方法是:

1. Just Works – 加密密钥在中央和外围设备之间共享。

2. 密钥显示——随机密钥在一台设备上生成,其他需要输入。

3. 带外——这支持另一个 BLE 无线电来共享密钥。

使用与上面相同的设置,以下是可以使用 Wireshark 数据包捕获验证的测试用例:

1. 在数据包级别验证密钥交换配对过程。

2. 验证广告跳序列。

poYBAGK1L0eAJ7HEAADgkmuPbWs217.png

通用属性配置文件 (GATT)

蓝牙设备充当 GATT 服务器或客户端。GATT 标识层次结构以组织服务和特征等属性。属性是分组数据和 UUID(通用唯一标识符),因为 16 字节分配给每个属性。GATT Attribute 的层次结构可以在下图中理解:

poYBAGK1L0-AcV9pAADjE_ts0xM501.png

服务包括完成特定功能所需的数据集合。特征包含用户数据。下面的流程图显示了客户端和服务器之间的数据包通信:

pYYBAGK1L1eAW9R-AADzIKNrFNE219.png

按照以下链接安装 nRF Connect Emulator App:

nrFconnect 应用程序

以下是可以使用 nRF Connect 应用程序验证的测试用例:

1. 建立连接后验证可用于发现的服务。

2. 验证可用的服务,如设备信息服务 (UUID 0x180a) 以获取制造商详细信息、硬件、固件和软件字符串数据、通用访问配置文件 (UUID 0x01800)、通用属性配置文件 (UUID 0x1801)。

3. 验证自定义服务(如下图所示的未知服务)是否可用。

4. 验证服务的特性以及为读取、写入等特性启用的属性。

5. 使用数据读取和写入功能验证发送和接收的定义数据。

poYBAGK1L1-AMiJhAAMV3uNrjVw604.png

结论:

随着4.0版本支持的低功耗蓝牙(BLE)的出现,由于消费市场对低能耗和低功耗的需求(BLE由Bluetooth SIG发明并正式化),现在它被广泛应用于消费市场。为了帮助确保在这些新的低功耗设计中成功实施低功耗蓝牙,测试解决方案必须能够根据蓝牙标准快速且经济高效地进行必要的测试。

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

    关注

    2865

    文章

    41524

    浏览量

    358076
  • 服务器
    +关注

    关注

    12

    文章

    8080

    浏览量

    82427
  • BLE
    BLE
    +关注

    关注

    12

    文章

    607

    浏览量

    58795
收藏 人收藏

    评论

    相关推荐

    低功耗蓝牙技术的特点 低功耗蓝牙如何实现低功耗

    低功耗蓝牙技术是一种优化的蓝牙技术,专为满足低功耗需求而设计。它通过采用一系列节能措施和技术,实现了更低的功耗消耗,延长了设备的续航时间。
    的头像 发表于 02-07 16:49 702次阅读

    低功耗蓝牙技术发展势头强劲

    今天要跟大家讨论的是低功耗蓝牙技术(BLE)。就字面意思来说,与经典的蓝牙技术相比,低功耗蓝牙技术胜在
    的头像 发表于 01-20 10:32 860次阅读

    stm低功耗单片机推荐

    Semiconductor的nRF51822是一款基于ARM Cortex-M0内核的低功耗单片机。它具有多种低功耗模式,如系统OFF模式、断电模式和睡眠模式。由于其低功耗特性,它在蓝牙
    的头像 发表于 01-08 14:43 415次阅读

    一文读懂低功耗蓝牙的应用

    蓝牙技术联盟于2010年推出了蓝牙4.0规范,其中低功耗蓝牙的出现满足了小型电池供电设备进行低功耗无线连接的需求,因此得到广泛应用。本文章将
    的头像 发表于 12-28 08:24 401次阅读
    一文读懂<b class='flag-5'>低功耗</b><b class='flag-5'>蓝牙</b>的应用

    【应用笔记】STM32WB 低功耗蓝牙无线接口

    低功耗蓝牙是由蓝牙技术联盟(Bluetooth SIG)设计和销售的无线个人局域网技术,该技术面向医疗保健、健身、信标、安全和家庭娱乐行业的创新应用。与标准蓝牙相比,
    发表于 12-12 16:30 1次下载

    蓝牙低功耗系统的开发

    电子发烧友网站提供《蓝牙低功耗系统的开发.pdf》资料免费下载
    发表于 11-10 16:16 2次下载
    <b class='flag-5'>蓝牙</b><b class='flag-5'>低功耗</b>系统的开发

    FSMs低功耗设计

    低功耗设计是当下的需要!这篇文章:低功耗设计方法论的必要性让我们深入了解了现代设计的意图和对功耗感知的需求。在低功耗方法标签下的时钟门控和电源门控的后续文章中,讨论了一些SoC
    的头像 发表于 10-17 10:41 334次阅读
    FSMs<b class='flag-5'>低功耗</b>设计

    海凌科BLE低功耗蓝牙模块物联网应用

    低功耗蓝牙(Bluetooth Low Energy、低功耗蓝牙,俗称BLE,以前称为Bluetooth Smart )一般来说是指支持蓝牙
    的头像 发表于 10-16 10:12 644次阅读
    海凌科BLE<b class='flag-5'>低功耗</b><b class='flag-5'>蓝牙</b>模块物联网应用

    使用STM32CubeMX和X_CubeBLE例程开发基于STM32的低功耗蓝牙应用

    蓝牙4.0技术简介• 蓝牙无线技术是使用范围最广泛的全球短距离无线标准之一,全新的蓝牙4.0版本将三种蓝牙技术(传统蓝牙、高速
    发表于 09-08 06:02

    低功耗蓝牙协议栈 API 参考手册:基础 Rev.1.19

    低功耗蓝牙协议栈 API 参考手册:基础 Rev.1.19
    发表于 07-07 19:18 1次下载
    <b class='flag-5'>低功耗</b><b class='flag-5'>蓝牙</b>协议栈 API 参考手册:基础 Rev.1.19

    低功耗蓝牙协议栈介绍

    低功耗蓝牙协议栈介绍
    发表于 07-04 19:32 2次下载
    <b class='flag-5'>低功耗</b><b class='flag-5'>蓝牙</b>协议栈介绍

    低功耗蓝牙芯片

    PHY6222 超低功耗蓝牙芯片 是一款低功耗蓝牙芯片,主要应用在数据传输的产品领域。例如,车载蓝牙、手环、医疗、
    发表于 06-27 17:30

    使用低功耗蓝牙进行位置分析

    电子发烧友网站提供《使用低功耗蓝牙进行位置分析.zip》资料免费下载
    发表于 06-15 11:38 0次下载
    使用<b class='flag-5'>低功耗</b><b class='flag-5'>蓝牙</b>进行位置分析

    有可以进行mesh组网的低功耗蓝牙模块么?

    有可以进行mesh组网的低功耗蓝牙模块么?这种低功耗蓝牙模块组网支持多少个节点?是低功耗蓝牙模块
    发表于 05-09 17:16

    低功耗蓝牙技术在工业4.0中的应用

    工业4.0是物联网技术的重要应用领域,低功耗蓝牙是物联网技术中不可或缺的一部分。在工业4.0中,低功耗蓝牙以其低功耗、高效能、低成本等优势,
    的头像 发表于 04-23 09:34 444次阅读