蓝牙5速率提升方式

作者&投稿:向路 (若有异议请与网页底部的电邮联系)
~

这篇文章将包含以下几个主题:

1.BLE的实际吞吐量是多少?

2.蓝牙5的新2M PHY用于数据传输?

3.影响/确定数据吞吐量的因素有哪些?

4.如何计算应用程序中的数据吞吐量?

5.如何最大化数据吞吐量?

蓝牙5定义的 LE 2M PHY以及蓝牙4.x协议 LE 1M PHY都称为未编码PHY,因为它们每位数据使用1个符号表示(与使用S=2或S=8的新LE编码PHY相比)。

我们需要明白各大芯片厂商数据手册宣传的速度(1 Mbps和新的2 Mbps)仅仅只是理论值(空中速率),并且在应用程序中吞吐量会被削减。原因有多种,我们将在下面一一介绍。

蓝牙5“2x速度”需要硬件支持,因此老的设备/芯片/模块将不支持蓝牙5 2M PHY(市面已经有手机支持蓝牙5 2M PHY)。要注意,为了实现更高吞吐量,需要两个BLE设备相互都支持LE 2M PHY。

另一个需要明确的是,当使用更高速度的PHY时,实际上功耗可以做的更低(传输相同数量的数据,时间短功耗低)。这是因为减少了芯片工作时间而又没有增加发射功率。反过来这样做改善了与2.4 GHz频谱内的其他无线技术的共存(也是由于减少了无线电工作时间,减少2,4G带宽的占用)。

为什么不可能达到BLE的理论速度?

1 Mbps(LE 1M PHY),2 Mbps(LE 2M PHY),125 kbps和500 kbps(均使用LE编码PHY,S = 8和S = 2)的数据速率是无线电在空中的速率传输数据,但由于以下原因,应用程序吞吐量是达不到该理论值:

1.蓝牙规范限制每个连接间隔的数据包数量

2.数据包之间的帧间间隔(IFS)延迟(150 us)

3.即使没有可用于传输的数据,也需要从设备发送空数据包

4.数据包开销 - 并非数据包中的所有字节都用于有效负载

为了更好地理解这些因素并了解影响应用程序吞吐量的因素,我们必须深入了解数据包格式。 下图显示了LE 1M PHY和2M PHY数据包的外观:

我们感兴趣的部分(真正定义应用程序数据的部分)是ATT Payload。 从图中可以看出,蓝牙低功耗中的每一层都使用了许多额外开销字节。

在4.0和4.1中,最大ATT有效载荷为20个字节。

在4.2和5.0中,称为数据长度扩展(DLE)的新功能允许ATT有效载荷最多可容纳244个字节的数据。

蓝牙5速:使用新的2M PHY实现2倍速

首先了解下蓝牙5中使用新LE 2M PHY的局限性:

1.不能用于主要广播信道(37,38,39)。

2.可用于与数据包在同一通道上发送的辅助“辅助数据包”(37个通道:0-36)。

要了解有关主要和次要广告的更多信息,请参阅我之前的文章【细说BLUETOOTH 5 【2X 数据吞吐量】】.

蓝牙5规格书有说明,LE 1M PHY是强制性的,而LE 2M PHY是可选的,因此,并非所有声称支持蓝牙5的芯片都必须能够处理更高的吞吐量。

LE 2M PHY上可以发生从端广播模式和主端扫描模式,然后使用LE 2M PHY在第二广告信道上进行连接。

用户交互数据从一个设备传输到另一个设备是发生在两个设备的连接阶段。连接的设备可以通过更新PHY来协商使用不同PHY。它可以在建立连接后由从设备或主设备发起,但主设备最终将决定哪个PHY(基于从设备的请求和主设备支持的PHY)。

下面一些因素会影响BLE应用程序的数据吞吐量:

1.使用的PHY(LE 1M vs. LE 2M与LE编码(S = 2或S = 8))

2.连接间隔

3.每个连接间隔的最大数据包数

4.ATT最大传输单元(ATT MTU)

5.数据长度扩展(DLE)

6.操作类型:写入响应与写入无响应,指示与通知

7.帧间间隔(IFS):后续数据包之间的时间间隔(150 us)

8.传输空包

9.数据包开销 - 并非数据包中的所有字节都用于应用程序有效负载

根据这9点,我们一点一点详细地讨论。

PHY

蓝牙5中基本上有三种PHY:原始的1 Mbps PHY,新的2 Mbps和编码的PHY(S = 2或S = 8)。所使用的PHY将直接影响您可以实现的最大数据吞吐量,因为它确定了通过无线方式发送数据包的实际原始数据速率。

每个连接事件的连接间隔和最大数据包

连接间隔有效地确定在一个连接事件期间可以发送多少数据包。值越高,在一个连接事件中可以发送的数据包越多(某些设备达到某个限制)。

BLE连接间隔和事件

每个连接事件的数据包数量取决于设备和BLE堆栈,因此它受到限制,并且在特定设备上的设备和堆栈版本之间有所不同。此值还取决于设备的操作,因此无线电可能必须处理其他事件,并且每个连接事件发送的数据包数量可能达不到堆栈允许的最大值。例如,iOS和Android之间的数量不同,也会根据设备上运行的操作系统版本而有所不同。

数据长度扩展(DLE)

此功能允许数据包大小保持更大的有效负载(最多251个字节,而禁用时为27个字节)。此功能是在蓝牙规范4.2版中引入的。

ATT最大传输单元(ATT MTU)

ATT MTU确定发送器和接收器可以处理的最大数据量以及它们可以保存在缓冲器中的数据量。

MTU值影响开销数据量(特别是3个字节的ATT头)。允许的最小ATT MTU是27个字节。这允许最多20个字节的ATT有效载荷(3个字节用于ATT报头,4个字节用于L2CAP报头)。

对于MTU值有多高,每个规范没有限制,但使用中的特定堆栈可能有其自身的局限性。例如,如果启用DLE,则最多可以传输251 - 4 = 247个字节(扣除L2CAP标头大小后)。在考虑ATT报头(3个字节)之后,我们留下了244个字节用于实际的ATT有效载荷数据。如果MTU至少为247字节,则MTU将适合一个单独的数据包。如果MTU大于247字节,则MTU将跨越多个分组,导致吞吐量下降(由于分组开销和分组之间的定时)。

有效MTU由客户端和服务器支持的ATT MTU的最小值确定。例如,如果客户端支持100字节的ATT MTU并且服务器响应它支持150字节的ATT MTU,则客户端将决定用于从其上进行连接的ATT MTU是100字节。

操作类型:写入响应与写入无响应,指示与通知

如果需要高吞吐量,那么我们可以使用Write without response或Notifications将数据从客户端传输到服务器以及从服务器传输到客户端。这些操作不需要其他设备确认收到数据并在下一个数据块发送之前做出响应。

帧间间隔(IFS):连续数据包之间的时间延迟(150 us)

从蓝牙规范:

传输空包

如果接收数据的设备没有要发回的数据,则仍需要按照蓝牙规范发送空数据包。

数据包开销

正如我们在数据包格式图中看到的那样,数据包包含一些不计入应用程序数据(ATT数据)的开销数据。基本上,这些字节将消耗部分传输数据速率,而不考虑作为应用程序数据的一部分发送的任何字节。

计算应用程序数据吞吐量

敲黑板,画重点,正如我们之前提到的,有如下些因数会影响数据吞吐量:

1.使用蓝牙版本和PHY

2.DLE:数据长度扩展 - 启用与否

3.ATT MTU值

4.连接间隔

5.每个连接事件的最大数据包数

6.操作(写入响应与写入没有响应,以及通知与指示)

7.帧间间隔(IFS):150微秒

蓝牙版本和PHY确定原始数据传输速率。例如,如果我们使用蓝牙版本4.2和LE 1M PHY,则传输速率为1 Mbps。另一方面,如果我们使用蓝牙5 S = 8的 LE编码PHY,则数据速率降至125 kbps。

DLE,ATT MTU,连接间隔,每个连接间隔的最大数据包数,操作和IFS都是用于实际数据传输时间。

数据包格式在传输的数据量是实际应用程序数据方面起着重要作用。 LE 1M PHY和LE 2M PHY都具有类似的数据包格式。 LE编码PHY具有明显不同的数据包格式,因此我们将分别查看这两种情况。

LE 1M PHY和LE 2M PHY计算

返回参考LE未编码PHY的数据包格式:

针对不同PHY,数据开销略有不同。 对于1M PHY,前导码是1字节,而对于2M PHY,前导码是2字节。 MIC字段是可选字段,仅用于加密连接。 为简单起见,我们只考虑未加密的连接 - 对于加密的情况,它只是增加了4个字节的开销。

对于LE编码PHY,数据包格式如下所示(来自蓝牙5.0规范第6卷,第B部分,第2.2节):

计算吞吐量的步骤(以Mbps为单位):

为简单起见,我们做假设如下:

1.未启用加密(数据包中不包含MIC字段)。

2.我们感兴趣的是单方向的吞吐量(例如Master to Slave),所以我们假设另一个方向只传输空数据包。

3.写入时,对方无需响应(No Ack)。

步骤:

确定正在使用的PHY并记下原始数据传输速率

例如。 对于1M PHY - > 1 Mbps,对于编码PHY和S = 8 - > 125 kbps

确定从接收器发送一个数据包和空包的时间。

可以发送一个数据包的时间包括以下内容:

Data_Packet_Time =发送空包的时间+ IFS +发送实际数据包+ IFS的时间。

空包传输时间可以如下计算:传输空包的时间=空包大小/原始数据速率

空包将包含以下字段:前导 + 访问地址(access address)+ LL头+ CRC。

对于1M PHY,前导将为1字节,因此空包的总大小= 1 + 4 + 2 + 3字节= 10字节=80位。

(对于2M PHY,空数据包的大小将为88位,因为Premable是2个字节而不是1个字节)。基于此,传输空1M PHY数据包的时间将是:

传输空数据包的时间=空数据包大小/原始数据速率= 80位/ 1兆位/秒= 80微秒数据包将包含数据包格式图中列出的所有字段,但MIC字段除外(加密禁用)。传输数据包的时间=数据包size / raw data rate如果我们启用了DLE并且ATT MTU等于一个数据包中允许的最大字节数:247个字节,那么我们可以将数据包大小计算为:

数据包大小= 1 + 4 + 2 + 4 + 247 + 3字节= 265字节= 265 8位= 2088 bit

发送数据包的时间= 2088位/ 1 Mbps = 2,088us

Data_Packet_Time =发送空包的时间+ IFS +发送实际数据包的时间+ IFS = 80 + 2 150 + 2088 = 2,468us

为了比较,在2M PHY的情况下,它将是:

Data_Packet_Time =发送空包的时间+ IFS +发送实际数据包的时间+ IFS = 88/2 + 2 150 +(2 + 4 + 2 + 4 + 247 + 3) 8/2 = 1,392us

当启用DLE并且ATT MTU设置为小于247时,会产生更多开销(因为现在大于ATT MTU的数据被分成更多数据包)。例如,假设我们将ATT MTU设置为158,那么为了传输244个字节的应用程序数据,我们需要两个数据包而不是一个,导致吞吐量因字节开销增加而增加而增加数据包之间的IFS。

在另一种情况下,我们可以禁用DLE(有效负载大小最多27个字节)和ATT MTU大于27个字节。在这里,这也将导致需要为相同数量的数据发送更多数据包,从而导致吞吐量下降。

注意:用于计算上面使用的数据和空数据包大小的方法可以用于计算LE编码PHY。

确定在一个连接间隔期间可以传输多少数据包

前一篇文章讲过,这种计算并不总是纯粹的数学计算 - 需要考虑使用的堆栈和设备的限制。在蓝牙芯片供应商的SDK中,通常在其文档中会列出最大值。iOS和Android的最大值随操作系统版本而变化,所以要弄清楚并不容易。

一旦计算出最大值,就可以计算出适合所选连接间隔的最大理论数据包数。例如,如果我们的连接间隔为7.5毫秒(规范允许的最低值),则对于上面的示例(使用1M PHY,启用DLE):

每个连接间隔的最大数据包数= [连接间隔/ Data_Packet_Time],其中[]舍入到最大整数(整数)。

每个连接间隔的最大数据包数= [7.5 1,000微秒/ 2,468微秒] = 3个数据包

通常,这个数字是不现实的,因为在连续的连接事件上发送的数据包之间存在时间延迟。因此,对于我们的示例,我们将使用2个数据包而不是3个数据包。

一旦我们计算出每个连接间隔可以传输的最大数据包数,我们就可以计算出数据吞吐量:

数据吞吐量 = 每个连接间隔的数据/连接间隔 = 每个连接间隔的数据包数量每个数据包/连接间隔的数据大小

= 2 244 8位/7.5毫秒= 520,533位/秒〜= 508kbps

大家会认为,连接间隔越小,速率肯定更高,然,并不是。

下面就根据真实测试数据和计算理论值一一对比。

如有需要理论测试值计算推导的朋友,可以后台跟我联系。

总结:

路由器,蓝牙,手机wifi等2.4G的设备干扰,测试设备主从之间的距离,设备之间存在障碍等因数都会影响测试结果。上面列出的测试值和理论值,可能实际环境中的测量数据吞吐量不一致。干扰和传输/接收错误会影响数据吞吐量(重试,数据丢失和连接事件关闭会导致吞吐量降低)。 但本文详细分析了所有和速率相关的因素,在实际使用中,大家可以自由DIY




现在微整形的技术越来越高超,你知道牙齿矫正都有哪些方法吗?
3、轻微牙齿矫正 由于在青少年儿童时牙齿修复的速率较成人更快,因此牙齿矫正越快做就越好。尽管成人也可开展此项手术治疗,可是相对性的医治的时间也会提升,并且治疗效果并无法做到青少年儿童时那般好。针对轻微牙齿不好看者可挑选牙齿代偿性挪动来掩盖牙齿骨骼生长的问题。一般情形下,手术后维持越好,牙齿...

关于牙齿矫正问题。
牙齿矫正主要是先期的设计,和托槽粘合占了整个疗程的80%。2个月就调整整齐的,劝你一句,这速率过快,原理就像弹簧,施力过大的,弹簧就跳的高。也就是说你牙齿不齐反弹的几率会高。最好还是稳妥些好。其实只要是想整齐,有些不计后果的医生甚至答应患者半年就可以排齐牙齿。这是不妥的。至于你想...

我的门牙已经逐渐向右偏了,右边紧挨门牙旁边的牙齿已经挤进去了,目前...
这个需要你具体到医院咨询才能明确告知你。如果你之前就做过矫正,现在复发的话,看看能不能用活动矫治器来纠正。如果你之前没有做过矫正,并且你的牙还没有替换玩,那你可以多吃点耐嚼,有嚼劲的东西看看,骨头长大的话,牙齿能自己做些细微调整。如果上述两条都不符合你的情况,那可能就得到院做...

一提到口腔衰老,人们会想到牙齿松动和脱落,那么口腔衰老有哪些表现呢...
也需要查验看一下是否有产生牙齿周边机构变病。温馨提醒 当有以上8个病症时要到医院做口腔查验,找到其缘故,随后目的性医治。与此同时搞好口腔清理和环境卫生,把握正确的刷牙方式,要充分医治牙龈面龋,防止抽烟饮酒,操纵甜品摄取,宜多吃营养元素食材来提升牙齿抗龋工作能力。

透明牙套的概述
透明牙套升高后牙的速率较快,由于前牙及前磨牙区的透明牙套,使磨牙区无咬合接触,致使上下磨牙相对升高,两个月左右即可使上下磨牙1.5mm左右的间隙消失。重度深覆颌病例半年左右基本矫正,其速率不慢于一般的固定矫正器。透明牙套作为保持器,一定要覆盖全牙列,如果遗留最后磨牙则可使磨牙升高,致使前牙...

30岁矫牙要多久
如果不拔牙只片切,1个月能关闭1mm的间隙,2~3个月就可以看到效果;但如果拔牙,则需要7~9个月。第三阶段:调整咬合。小范围精细调整牙齿尖窝关系,让牙齿咬合关系更紧密,提高咀嚼效率。矫治时间5~9个月。第四阶段:保持阶段。一般须佩戴保持器2~3年,但若牙齿错位严重,建议终身佩戴。

牙齿突出有哪些常见类型? 牙齿突出怎么矫正?
进而做到群众认可的牙齿美容实际效果。根据以上的详细介绍是否早已知道牙齿突出可以根据什么方法开展矫正了,如果是挑选美容冠的话一定要挑选一家有品质保证的整形美容医院开展,那样才不容易发生所有的出现意外情况。手术后可以吃一些维他命e,来填补人体里边所需,推动创口的修复速率。

牙是怎么长出来的
出世的小宝宝在最初的一段时间内人体的生长发育速率全是人眼由此可见的,如出牙、行走、讲话、断奶后等,但有的父母发觉自己小宝宝很早长出了一颗牙。那麼,牙是怎么长出去的呢?门牙的生长发育是一个悠长的全过程。最先在牙槽里会产生一个牙套,医药学上称之为牙胚。这一牙胚生长发育到一定水平之后...

骁龙855相对于骁龙845提升多少?
4、GPU方面 高通骁龙845处理器跑分为12万+,而高通骁龙855处理器跑分为14万+骁龙 855 将 GPU 升级为 Adreno 640,相比 Adreno 630 提升了 20% 关于5G方面 骁龙 855 内部集成了 X24 LTE 调制解调器,支持最高 2Gbps 的下行速率。5、骁龙855集成GPU型号为Adreno 640,这一组数据是来自骁龙855 PK ...

透明牙套要戴多久
透明牙套要戴多久每天的佩戴隐形牙套的时间要求20个小时以上,这样可以保障牙齿矫正的效果,缩短正规牙齿矫正的时间。在一天生活中,像吃饭、刷牙等时候可以去下隐形牙套,其它时间都建议戴上牙套。希望大家能够严格遵守。 概述透明牙套升高后牙的速率较快,由于前牙及前磨牙区的透明牙套,使磨牙区无咬合接触...

颍州区13751345016: 蓝牙5.0跟蓝牙4.2的区别? -
丁钧洛沃: 蓝牙5.0和4.2区别在于传输效率、传输距离、广播模式信息容量和功耗.蓝牙5.0相对于蓝牙4.2: 1、传输效率提高了2倍 Bluetooth 5把目前的传输速度提高了2倍. 蓝牙4.2最大通讯速度为1Mbps,而蓝牙5.0通讯速度最高为2Mbps.更快的传输...

颍州区13751345016: 我在用电脑连接手机蓝牙上网速度只有20k 怎样提高网速! -
丁钧洛沃: 无线信号通过手机再传送到电脑上,会经过几次的衰减,如果原本无线信号较弱的话,电脑通过手机连接到的无线网络可能就会比较慢了.一般也没有什么更好的方式,把手机位置离笔记本稍微近一些看看吧.

颍州区13751345016: 蓝牙3.0传输模式和支持蓝牙2.1+EDR+A2DP那个好 -
丁钧洛沃: 蓝牙2.1是蓝牙版本,EDR是增加型传输数据速率的英文缩写,这样的蓝牙设备能达到3Mbps的传输速率.A2DP是高级音频分配协议的缩写,支持该协议的蓝牙设备可以支持利用该蓝牙设备传输高级音频信号,就是可以用蓝牙听歌,并且是立体声的 .蓝牙3.0根据802.11适配层协议应用了Wi-Fi技术,极大提高了传输速度.这样,蓝牙3.0设备将能通过Wi-Fi连接到其它设备进行数据传输,是蓝牙2.0的八倍

颍州区13751345016: 蓝牙5发布后在哪些技术上做到了提升? -
丁钧洛沃: 主要在以下方面有显著提升:1、更快的传输速度(2Mbps,是4.2LE版本的两倍)2、更远的有效距离(有效距离是上一版4倍,理论上可达300米)3、导航功能(添加更多的导航功能,结合wifi可以实现精度小于1米的室内定位)4、物联网功能(更低的功耗和更高的性能)5、升级硬件(很可能要求升级到新的芯片,否则无法享用其新的性能)6、更多的传输功能(能够增加更多的数据传输功能,可以通过蓝牙5.0创建更复杂的连接系统,比如Beacon或位置服务)7、更低的功耗(在第四条已经说过了,我估计是为了召唤神龙才勉强加上的)

颍州区13751345016: 蓝牙4.0和4.1有什么区别 -
丁钧洛沃: 蓝牙4.0和4.1的区别: 1.蓝牙4.0标准最重要的特性是省电,随着蓝牙技术由手机、游戏、耳机、便携电脑和汽车等传统应用领域向物联网、医疗等新领域的扩展,蓝牙设备对低功耗的要求会越来越高; 2.蓝牙4.1改善了数据传输,迎合可穿戴设...

颍州区13751345016: 硬碰硬对比,小米盒子3增强版和荣耀盒子pro哪个好 -
丁钧洛沃: 一 配置性能对比:在现在这个拼颜值的年代,找对象找工作要拼颜值,在电视盒子的红海市场中,一些颜值较高的产品也十分讨喜,就小米盒子3增强版和荣耀盒子pro两个盒子而言,其实外观都差不多,但是在整体性和比如设备散热这样的设...

颍州区13751345016: 蓝牙4.1和4.0的区别? -
丁钧洛沃: 主要有以下几种区别:1、目的:如果说蓝牙 4.0主打的是省电特性的话,那么此次升级蓝牙4.1应当是IOT(全联网),也就是把所有设备都联网的意思,改善数据传输,迎合可穿戴设备需求.2、传输速率:蓝牙4.1在蓝牙4.0 LE基础上进行了升...

颍州区13751345016: 蓝牙技术4.0和4.1有什么不同吗? -
丁钧洛沃: 1、蓝牙4.0比蓝牙4.1省电 随着蓝牙技术由手机、游戏、耳机、便携电脑和汽车等传统应用领域向物联网、医疗等新领域的扩展,对低功耗的要求会越来越高.作为蓝牙3.0+HS规范的升级版,蓝牙4.0专门面向对成本和功耗都有较高要求的无线方...

颍州区13751345016: 如何通过Bluetooth5提高低功耗蓝牙的连接范围 -
丁钧洛沃: 麦芽为您解惑.楼主,您好.这个现象是典型的蓝牙耳机没有进入配对状态.一般大家都会认为打开蓝牙耳机之后,手机就能搜索到蓝牙耳机,并且成功与之连接,其实,这些都是谬论.蓝牙耳机必须进入一个特殊的状态:配对状态,手机才...

颍州区13751345016: 北通K1手游键盘用的那个蓝牙5技术有啥用啊? -
丁钧洛沃: 在这个键盘之前,所有的游戏外设都使用的是蓝牙4或者蓝牙4.2的技术,由于这两个都是12年的技术,所有在传输速度上很慢,玩家会有延迟的感觉.而蓝牙5是最新技术,传输速度是蓝牙4的好几倍,所以玩家会感觉到操作非常流畅,不会再有延迟的感觉了,对于游戏玩家来说非常重要

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网