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发明并正式化),现在它被广泛应用于消费市场。为了帮助确保在这些新的低功耗设计中成功实施低功耗蓝牙,测试解决方案必须能够根据蓝牙标准快速且经济高效地进行必要的测试。

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

    关注

    2939

    文章

    47317

    浏览量

    407872
  • 服务器
    +关注

    关注

    13

    文章

    10094

    浏览量

    90883
  • BLE
    BLE
    +关注

    关注

    13

    文章

    745

    浏览量

    66009
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    赋予白色家电新智能!增添Wi-Fi 6、低功耗蓝牙和Matter连接

    Wi-Fi助力实现高带宽和对时间敏感的云端交互,而低功耗蓝牙提供低功耗、短距离的本地通信,用于简化设备入网和控制。单一设备同时集成Wi-
    的头像 发表于 11-12 15:55 160次阅读
    赋予白色家电新智能!增添Wi-Fi 6、<b class='flag-5'>低功耗</b><b class='flag-5'>蓝牙</b>和Matter连接

    低功耗蓝牙定位模块

    感算商城联合知名方案公司推出了可用于可穿戴设备和物联网项目。单面表贴设计和板载蓝牙天线可以极大地促进物联网项目的快速部署。 首次具备无线功能,支持蓝牙 5.0,并能够以低功耗运行。 蓝牙
    发表于 10-23 14:01

    低功耗蓝牙智能门锁应用

    APP、服务器的全方位的解决方案。也可提供BLE蓝牙门锁模块硬件设备,客户的现有传统门锁上,增加我们的低功耗蓝牙模块,通过串口进行通信,手机APP及服务器实现智能化升级,即可实现手机
    发表于 06-25 09:47

    传统蓝牙低功耗蓝牙主要区别

    传统蓝牙即经典蓝牙,能够实现音频传输,可传输较大文件,功耗较大;BLE蓝牙低功耗蓝牙,仅支持数
    发表于 06-18 16:04

    蓝牙低功耗技术与其他无线技术的区别

    蓝牙低功耗技术(以下简称 “Bluetooth LE”)是一种我们生活中用于多种用途的无线通信技术。
    的头像 发表于 06-10 10:56 1486次阅读
    <b class='flag-5'>蓝牙</b><b class='flag-5'>低功耗</b>技术与其他无线技术的区别

    低功耗低功耗前端模块,适用于蓝牙®范围扩展应用 skyworksinc

    电子发烧友网为你提供()低功耗低功耗前端模块,适用于蓝牙®范围扩展应用相关产品参数、数据手册,更有低功耗低功耗前端模块,适用于
    发表于 06-06 18:30
    <b class='flag-5'>低功耗</b>、<b class='flag-5'>低功耗</b>前端模块,适用于<b class='flag-5'>蓝牙</b>®范围扩展应用 skyworksinc

    低功耗低功耗前端模块,适用于蓝牙®信号范围扩展应用 skyworksinc

    电子发烧友网为你提供()低功耗低功耗前端模块,适用于蓝牙®信号范围扩展应用相关产品参数、数据手册,更有低功耗低功耗前端模块,适用于
    发表于 06-06 18:30
    <b class='flag-5'>低功耗</b>、<b class='flag-5'>低功耗</b>前端模块,适用于<b class='flag-5'>蓝牙</b>®信号范围扩展应用 skyworksinc

    低功耗蓝牙模组电动工具类设备上的应用

    随着电动工具智能化的发展,越来越多的电动工具设备上,开始增加低功耗蓝牙模组。 增加这个低功耗蓝牙模组后,可提升用户体验,如通过App调整参数、实时监测状态;优化资产管理,实现工具追踪与
    发表于 05-27 20:10

    低功耗蓝牙网关在智慧工地上的使用

    智慧工地上的,人员管理、定位的解决,一直以来都是一个很重要的方面。 采用低功耗蓝牙网关xGateway-A111 与标签 xbeacon-S 的方式,是一种能够兼顾成本与性能,准确性与便捷性,比较
    发表于 05-27 14:08

    DA16600MOD超低功耗Wi-Fi低功耗蓝牙组合模块数据手册

    DA16600 模块为您的设备添加低功耗 Wi-Fi 和低功耗蓝牙™ (LE) 功能提供了便捷的方式。 低功耗 Wi-Fi DA16200 片上系统(SoC) 和
    的头像 发表于 05-25 16:10 708次阅读
    DA16600MOD超<b class='flag-5'>低功耗</b>Wi-Fi<b class='flag-5'>低功耗</b><b class='flag-5'>蓝牙</b>组合模块数据手册

    蓝牙低功耗模块的原理和应用介绍

    随着物联网技术的快速发展,蓝牙低功耗模块连接各种设备和传输数据方面发挥着重要作用。今天将为您介绍蓝牙低功耗模块的工作原理以及其广泛的应用领
    的头像 发表于 05-21 15:56 904次阅读

    低功耗蓝牙和Thread的优势

    连接,以便能让用户轻松部署下一波的智能家居创新产品。 我们不能低估这种便利性,因为到目前为止,面向终端用户的产品缺乏易用性会阻碍智能家居的预期增长。 低功耗蓝牙和Thread越来越多情况下用作互补协议一起运作,以实现和增强一系
    的头像 发表于 05-12 12:07 533次阅读

    关于低功耗蓝牙连接功耗的评估

    关于低功耗蓝牙连接状态下的功耗评估,推荐一个好用的工具: 对于做低功耗蓝牙开发的小伙伴来说,功耗
    发表于 04-26 17:10

    涂鸦成功突破千米级蓝牙低功耗长距离技术!超强兼容Long Range+传统模式

    BluetoothLELongRange(蓝牙低功耗长距离技术)是蓝牙技术不断演进过程诞生的重要成果,它于
    的头像 发表于 04-23 18:41 1802次阅读
    涂鸦成功突破千米级<b class='flag-5'>蓝牙</b><b class='flag-5'>低功耗</b>长距离技术!超强兼容Long Range+传统模式

    低功耗蓝牙和经典蓝牙,到底怎么选?

    和Bluetooth Smart两者又有什么区别?我的应用到底该选经典蓝牙技术还是低功耗蓝牙技术?这是很多刚接触蓝牙技术的人经常碰到的问题。 首先,
    的头像 发表于 04-07 16:01 1182次阅读
    <b class='flag-5'>低功耗</b><b class='flag-5'>蓝牙</b>和经典<b class='flag-5'>蓝牙</b>,到底怎么选?