立即注册
查看: 778|回复: 0

汇顶科技GR551x BLE Stack用户指南

已绑定手机
已实名认证
发表于 2022-2-18 10:25:38 | 显示全部楼层 |阅读模式 来自 广东省深圳市
本文档主要介绍了GR551x低功耗蓝牙(Bluetooth Low Energy,BLE)协议栈各层的基本功能,概念以及Application如何使用协议栈提供的API与协议栈进行交互等,旨在帮助开发者更好地使用BLE协议栈中各层的API。

1、简介
GR551x低功耗蓝牙(Bluetooth Low Energy,BLE)软件架构由应用层(Application/Profile)、软件开发工具包(SDK)、低功耗蓝牙协议栈(BLE Protocol Stack)组成,如图 1-1所示。
1.jpg
在该软件架构中,应用层通过SDK提供的接口实现与BLE协议栈的交互。开发者可调用BLE协议栈的GAP、GATT、SM、L2CAP的API。
本文档主要介绍这几层的基本功能、概念以及User App与协议栈的交互流程。为帮助开发者快速了解BLE Stack,GR551x系列SDK为各层还提供了代码示例(SDK_Folder\projects\ble\ble_basic_example \,SDK_Folder为用户当前所使用的GR551x系列SDK的根目录)。

2、通用访问规范(GAP)
通用访问规范GAP(Generic Access Profile)定义了蓝牙设备之间如何发现以及建立安全/非安全连接。
2.1 GAP角色
GAP定义了四种设备角色:广播者(Broadcaster)、观察者(Observer)、中央设备(Central)、以及外围设备(Peripheral),如图 2-1所示
2.jpg
• 广播者(Broadcaster):以广播事件向外发送广播数据,可以在没有接收机的条件下工作。
• 观察者(Observer):从广播者设备那里接收到广播数据,可以在没有发射机的条件下工作。
• 中央设备(Central):向另一个设备发起物理连接,链路层从发起态转换为连接态。必须同时具备接收机和发射机。
• 外围设备(Peripheral):接收另一个设备发起的物理连接,链路层从广播态转换为连接态。必须同时具备接收机和发射机。

2.2 GAP访问模式和设备流程
GAP提供多种访问模式和设备流程,包括:设备发现,连接建立,连接终止,设备参数配置等。
3.jpg
基于给设备设定的角色,图 2-2展示了链路层各种状态间的转换关系,各状态描述如下:
• 就绪态(Standby State):设备上电后处于初始的待机状态。
• 广播态(Advertising State):设备向外广播特定的数据,以便让发起连接的设备发现这一广播设备。广播数据中包含广播地址及其他广播信息(比如设备名称等)。
• 扫描态(Scanning State):设备接收广播数据,并向可扫描广播设备发送扫描请求。广播设备收到扫描请求后会回复一个扫描响应数据。这个过程被称作设备发现(Device Discovery)。
• 发起态(Initiating State):进入发起态的设备必须指定一个想要对其发起连接的对端设备地址。如果收到的广播包中的广播者地址跟指定的对端地址匹配,发起态设备将向广播设备发送一个连接请求。连接请求数据包中包含一些指定的连接参数信息(具体参考2.3.2 连接参数介绍)。
• 连接态(Connection State):连接建立的时候,处于广播态的设备将作为Slave转至连接态,处于发起态的设备将作为Master转至为连接态。

2.3 连接
2.3.1 连接事件
连接事件(Connection Event)是指主设备和从设备之间相互发送数据包的过程。 如图 2-3所示,连接事件被一个个的连接间隔分开。从主设备发送数据包开始,每个连接事件可以持续进行,直至主设备或从设备停止响应。在连接事件之外,主从设备之间不发送任何数据包。
4.jpg
2.3.2 连接参数介绍
发起态设备发送的连接请求数据包中包含连接参数信息,并且连接建立之后双方设备也可对连接参数进行修改。
各连接参数具体描述如下:
• 连接间隔(Connection Interval)
连接间隔决定了主设备和从设备的交互间隔,它是指在一个连接事件的开始到下一个连接事件的开始的时间间隔。该参数的单位为1.25 ms,范围是6 ~ 3200,即7.5 ms ~ 4s。
• 从设备延迟(Slave Latency)
从设备延迟用来指明从设备(外围设备)可以忽略的连接事件的个数。允许从设备在没有数据要发的情况下,跳过一定数目的连接事件,在这些连接事件中不必回复主设备的包,这样就能更加节约功耗。但从设备可以忽略的连接事件个数不应超过设置的“从设备延迟”参数的值。该参数的范围为:0 ~ 499。
• 监控超时(Supervision Timeout)
这个超时时间是指两次成功的连接事件之间的最大可允许的时间。如果在这段时间内都没有一个成功的连接事件,主从设备会断开当前连接。该参数的单位是10ms,范围是10~3200,即100ms~32s。
这三个连接参数在不同的配置情况下,将对通信速率和功耗产生影响:
• 连接间隔缩短,主设备和从设备通信更加频繁,缩短数据发送周期,增加功耗。
• 连接间隔增长,主设备和从设备通信频率降低,增长数据发送周期,降低功耗。
• 如果从设备延迟设置为0,每次连接事件中都需要回复主设备的包,将提高数据发送速度,增加功耗。

2.3.3 连接参数更新
连接建立时,主设备通过连接请求数据包发送连接参数。当连接活跃了一段时间后,连接参数可能不再适用于当前应用。为此,主设备可向从设备发送连接参数更新请求(Connection Parameter Update Request),也可直接通知从设备更新参数而不需要进行协商。
另外,从设备可能会根据APP的需要在连接的过程中去更新连接参数,从而向主设备发送连接参数更新请求。对于蓝牙4.1兼容设备,这个请求由链路层来处理;对于蓝牙4.0设备,则由L2CAP层来处理。低功耗蓝牙协议栈会自动选择更新的方法。
无论是由主设备发起的连接参数更新请求还是从设备发起的连接参数更新请求,都只能由主设备发起连接参数更新通知来应用新的连接参数。

更多详细内容请下载附件查看
2022-2-18 10:25 上传
文件大小:
1.18 MB
下载次数:
7
本地下载

16RD supports Paypal , Payment is calculated at the exchange rate of the day. Unable to download please contact 18902843661 (WhatsApp OR wechat number)

关于一牛网在微软浏览器(Microsoft Edge、IE浏览器)警报通告&解决方案!(无法下载直接更换浏览器即可)

*附件为作者发布,与本站无关,如有侵权,请联系客服删除


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

合作/建议

TEL: 19168984579

工作时间:
周一到周五 9:00-11:30 13:30-19:30
  • 扫一扫关注公众号
  • 扫一扫打开小程序
Copyright © 2013-2024 一牛网 版权所有 All Rights Reserved. 帮助中心|隐私声明|联系我们|手机版|粤ICP备13053961号|营业执照|EDI证
在本版发帖搜索
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表