蓝牙4.0协议详解

蓝牙4.0协议详解,第1张

蓝牙v4.0与以前的版本有根本区别,因为它以两个协议为基础,而非一个协议。 这带来了一些需要蓝牙Smart品牌解决的问题”Svein-Egil Nielsen解释说。

虽然蓝牙技术联盟(SIG)在很多事情上都备受指责,但是在消费者中成功树立蓝牙品牌却无可非议。早在2008年进行的一项独立调查发现,85%的消费者“认识了无线技术”, 今天这个数字很可能会更高。

随着蓝牙v4.0的推出,技术联盟面临着一个新的挑战,就是准确解释这项技术是什么。 跟以往版本不一样,蓝牙v4.0架构采用了两类不同的无线电技术和协议。一种类型可以与以往版本通信,而另一种则不可以。

从用户所关注的互 *** 性到工程人员所需,技术联盟的答案是,新品牌可帮助消费者在市场上找到所需产品。蓝牙Smart和蓝牙Smart Ready品牌背后所采用的蓝牙v4.0技术正在被广泛应用。

蓝牙4.0BLE介绍

蓝牙4.0支持的角色有:

广播者(BroadCaster)——广告发送者,不是可连接的设备

观察者(Observer)——扫描广告,不能够启动连接

外围设备(Peripheral)——广告发送者,是可连接的设备,在单一链路层连接时作为一个从机

中央设备(Center)——扫描广告启动连接,在单一或者多链路层连接时作为主机,支持三个同时连接

广播者跟观察者配对使用不能建立连接。应用:温度传感器跟温度显示器

中央设备跟外围设备可以进行连接、配对、数据通信。应用:手表跟手机。

BLE连接的过程:

1、外围设备发送具体的广告数据让任何中央设备知道他是一个可连接的设备,广告内容包含设备地址,还可以包含一些额外的额数据,比如设备名称、服务ID等。

2、中央设备(Center)接收到广告后发送一个搜索请求给外围设备(Peripheral),外围设备(Peripheral)返回扫描响应给中央设备(Center)。这样中央设备就知道这是一个可连接的设备。

3、中央设备可以发送一个建立连接的请求给外围设备。进行配对连接,必要时进行绑定 *** 作(连接可以被从机或者主机任一方终止)。

配对(Pairing):建立连接,配对完成后可以进行数据通信。

绑定(Banding): 将配对信息记录下来,如设备地址,这样下次连接时就不需要再次配对的过程(快速连接)。

蓝牙低功耗:

低耗能蓝牙技只用 3 个 信道做广播信道,允许毫秒级快速建立连接,效率远高于传统蓝牙的 32 个信道方式。

少的数据频道和宽频道间隔:传统蓝牙有 79 个数据信道,频道间隔 是 1MHz;低耗能蓝牙有 40 个数据信道,频 道间隔是 2MHz。

传统蓝牙的工作峰值电流一般是 35mA,睡眠状态电流是 0.01mA。

而低耗能蓝牙的工作峰值电流是小于 15mA,睡眠状态电流是 0.004mA

还可以软件设置以下三个参数来降低功耗。

连接间隔:当设备建立连接时,即使没有数据的收发,两设备仍然会通过交换链路层数据来维持连接,连接间隔就是两个连接事件之间的时间间隔。设置范围(7.5ms - 4s)。

从机延迟: 从机可以跳过若干连接事件继续休眠节省功耗。

管理超时:两个成功连接事件之间最大的允许间隔。如果超出这个时间就认为设备断开连接。设置范围(100ms--32s)

蓝牙4.0BLE协议与协议栈的关系

协议定义的是一系列的通信标准,通信双方需要共同按照这一标准进行正常的数据收发。

协议栈是协议的具体实现形式,通俗的理解为用代码实现的函数库,以便于开发人员调用。

蓝牙4.0BLE协议栈就是将各个层定义的协议都集合在一起,以函数的形式实现,并提供一些应用层API,供用户调用。

注意:虽然协议是统一的,但是协议的具体实现形式是变化的,即不同厂商提供的协议栈是有区别的,例如:函数名称和参数列表可能有区别,选择协议栈以后,需要学习具体的例子,查看厂商提供的Demo演示程序、说明文档(通常,实现协议栈的厂商会提供一些API手册供用户查询)来学习各个函数的使用方式,进而快速地使用协议栈进行应用程序的开发工作。

如何使用蓝牙4.0BLE协议栈

既然蓝牙4.0BLE协议栈已经实现了蓝牙4.0BLE协议,那么用户就可以使用协议栈提供的API进行应用程序的开发,在开发过程中不必过多的关注蓝牙4.0BLE协议的具体实现细节,只需要关注一个核心的问题:应用程序数据从哪里来到哪里去。

至于调用协议栈中函数后,如何初始化应用进行数据发送等工作,蓝牙4.0BLE协议栈已经完成了所需要的初始化。

如果开发过程中确实需要或者是想要了解蓝牙4.0BLE协议,可以查看SIG提供的标准协议规范。

深入理解蓝牙4.0BLE协议栈 协议栈概述

我们以TI的CC254X系列BLE芯片为例来深入了解下蓝牙4.0BLE协议栈。TI的蓝牙4.0BLE协议栈包含两部分:主机和控制器。主机和控制器的分离要追溯到蓝牙BR/EDR设备时期,控制器和主机通常会分开实现。

协议栈的实现方式采用分层的思想,控制器部分包括:物理层、链路层、主机控制接口层;主机部分包括:逻辑链路控制及自适应协议层、安全管理层、属性协议层、通用访问配置文件层、通用属性配置文件层;上层可以调用下层提供的函数来实现需要的功能。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2658021.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-13
下一篇 2022-08-13

发表评论

登录后才能评论

评论列表(0条)

保存