您的位置 首页 电路

运用BLE4.2的体系规划:更快、更安全、更节能-第1部分

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

  说到家庭和工业自动化、物联网(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所示为洽谈进程。

  

 

  假如一台不支撑数据长度扩展功用的设备接纳到数据长度的更新恳求时,将会回来一个不知道的回复。该回复将告诉建议恳求的设备另一台设备不支撑DLE,该设备将持续传输契合蓝牙4.1 PDU尺度的数据。也就是说,数据长度扩展支撑向下兼容。

  数据长度扩展在进步吞吐量的一同,也经过削减射频活动时刻然后有助于下降功耗。这是由于在蓝牙4.2中,假如数据尺度大于27字节,所需的接纳/发送数据包更少、射频活动的时刻更短)。比方说,需求传输 135个字节,BLE4.1设备在衔接时需求5个发送/接纳数据包来传输数据;可是BLE4.2设备在传输相同数量的数据时只需一个发送/接纳数据包。在无线运用中,射频通讯耗费了大多数的体系电力。运用DLE,射频通讯活动时刻削减,能够明显延伸电池寿数。

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

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

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

微信扫一扫关注我们

返回顶部