您的位置 首页 知识

运用BLE 4.2的体系规划:更快、更安全、更节能

提到家庭和工业自动化、物联网(IoT)、可穿戴设备、人机接口设备(HID)众多应用的无线连接协议时,蓝牙一定是首选。为满足各种应用的需求,蓝牙技术联盟

说到家庭和工业自动化、物联网(IoT)、可穿戴设备、人机接口设备(HID)很多运用的无线衔接协议时,蓝牙一定是首选。为满意各种运用的需求,蓝牙技能联盟(SIG)对蓝牙标准进行了继续改善。发布4.1版大约一年后, SIG在2014年12月蓝牙发布了蓝牙标准4.2版。新的4.2首要包含三项更新 – 低功耗(LE)数据长度扩展(DLE)、链路层(LL)隐私保护以及安全性加强。这些功用进步了BLE数据带宽、隐私保护和安全性,一同还有助于下降功耗。本系列文章将具体评论这些功用以及它们怎么影响体系功用。

蓝牙低功耗(BLE)协议栈能够分红三个部分:

操控器:协议栈操控器对数据包进行了加密,转换为无线信号发送。在接纳时,操控器将对无线信号解码,并重构数据包。

主机:主机由办理两个或多个设备彼此通讯的各种协议和配置文件(安全办理器、特点协议等)组成。

运用:可使主机和操控器完成一个特定功用的用例。

链路层(LL)

蓝牙4.2的大部分新功用都会集在链路层周围。链路层在树立牢靠物理链路和功用中扮演着非常重要的人物,有助于进步BLE协议稳健性和能效。链路层功用包含播送、扫描、创建和保护衔接以树立物理链路。在链路层上界说了两个人物:主设备和从设备。

数据长度扩展(DLE)

数据长度扩展能够使两个BLE设备之间的数据传输更快。为了了解DLE功用,请先让咱们来看看链路层上的BLE数据包。下图所示为蓝牙4.0/4.1的链路层数据包结构。

假如咱们仔细观察各数据包的开支,将发现存在1个字节的前导、4个字节的拜访地址、2个字节的数据头、3个字节的循环冗余查看(CRC)和一个可选的4个字节的音讯完整性查看(MIC)。当运用加密时,音讯完整性查看(MIC)将与有用负载一同发送。因而,每个包含27个字节数据的加密链路层数据均含有14个字节的开支。现在,让咱们来看看蓝牙4.2界说的链路层数据包结构。

相较于旧版本蓝牙标准的27字节,蓝牙4.2中的有用负载量可到达251个字节。每个数据包开支依然坚持不变,即14个字节。可是,该开支现已与多达251个字节相关联,而不是27个字节。这种最小有用负载的改变进步了吞吐量并减少了处理时刻。

图4所示为当数据需求经过蓝牙4.1和蓝牙4.2从一个设备传输至另一个设备时的吞吐量。

在上图中,数据包时刻的计算方法如下:

数据包时刻= 8 *(前导字节的数量+拜访地址字节的数量+头字节的数量+有用负载字节的数量+ MIC字节的数量+ CRC字节的数量)/数据速率 秒

关于接纳数据包,不存在有用负载和MIC字节。因而,接纳数据包时刻为:

发送数据包时刻= 8 *(1 + 4 + 2 + 3)/ 106 秒

=80微秒

含27个字节的有用负载的发送数据包时刻为:

发送数据包时刻= 8 *(1 + 4 + 2 + 27 + 4 + 3)/ 106秒

=328微秒

相同,251个字节的有用负载的发送数据包时刻为2120微秒。

别的,如上图所示,跟着各发送/接纳数据包,存在两个相关的帧间距离(T_IFS),一个为发送期间,一个为接纳期间。假如某个业务的帧数量添加,则该业务的耗时也将成份额地添加。当数据长度功用被启用时,相较于蓝牙4.1,蓝牙4.2在一个帧内打包了更多数据,然后减少了每次业务处理的总时刻,并添加了吞吐量(其间,吞吐量 =有用负载尺度/总时刻)。

如上图所示,关于蓝牙4.1链路层,最大有用负载尺度为27个字节(216比特)以及该买卖的总时刻为708微秒,意味着约 298 kbps的理论吞吐量。

而关于4.2链路层,最大有用负载尺度为251个字节(2008比特)以及总时刻为2500微秒,意味着约 784 kbps的理论吞吐量。因而,相较于蓝牙4.1,蓝牙4.2供给了大约2.6倍的更高吞吐量。

BLE 4.2答应主设备和从设备之间洽谈数据长度,还答应不对称的发送和接纳有用负载量。有用地使用该功用以及挑选适宜的接纳/发送数据长度关于完成最大吞吐量具有十分重要的含义。

让咱们考虑这样一个运用:BLE从设备需求将几千字节传输至主设备、从主设备接纳空包而且衔接距离为8.75毫秒。假设在以下设置中洽谈数据长度(从设备):

情形1 – 发送 – 251个字节,接纳 – 251字节

情形2 – 发送 – 251个字节,接纳 – 27字节

在情形1中,如图5所示,在第一次接纳/发送数据包时,接纳有用负载尺度为0字节以及发送有用负载尺度为251个字节,耗时2.5毫秒(包含帧间距离)。第2次接纳/发送数据包也是相同的。这两个接纳/发送数据包共耗时5毫秒,在此衔接距离内剩余3.85毫秒。在抱负情况下,应该在同一衔接距离内存在另一个接纳/发送数据包。可是,主设备的调度器不会在此衔接距离内组织另一个接纳/发送数据包。这是由于调度器会根据洽谈的数据长度(本事例中发送/接纳的数据长度均为251)来查看发送/接纳数据包是否具有满足的时刻。如图所示,含有接纳和发送有用负载量为251字节的接纳和发送数据包需求4.54毫秒。可是,前两个数据包之后的可用时刻为3.85毫秒,这导致在本衔接距离内仅2个发送数据包。

在情形2中,在该衔接距离内,调度器仅需求2.64毫秒就可调度一个数据包,因而在8.75毫秒的衔接距离内能够包容第三个数据包,如图6所示。如图所示,相关于事例1,本事例将供给高于50%的吞吐量。

虽然PDU尺度的挑选会影响吞吐量,但还存在对其产生影响的其他要素,比方,衔接距离和最大传输单元(MTU)。

数据长度的扩展可经过任何衔接设备的操控器来触发。假如两个设备都支撑数据长度的扩展功用,则该设备可发送一个获取更新数据长度的恳求,而其他设备将经过其自己的参数来做出呼应。图7所示为洽谈进程。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/zhishi/146212.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部