| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> 蓝牙 - 关于5.0版本的一些解释 -> 正文阅读 |
|
[嵌入式]蓝牙 - 关于5.0版本的一些解释 |
一旦你剥去所有的炒作和公关语言,蓝牙5的真相是什么? 它更快吗?它有更好的传输距离吗?让我解释一下。
蓝牙是那些我们现在认为司空见惯的技术之一。自1990年代中期问世以来,它已成为一项基本的无线技术,不仅适用于智能手机,而且适用于平板电脑、笔记本电脑、台式机等。
蓝牙有两种类型:"经典 "和 "低功耗"。前者是使我们的无线键盘和鼠标,以及无线耳机和扬声器得以实现的蓝牙。后者,即蓝牙低功耗(BLE)使用的功率要小得多,是为医疗保健、健身和信标等领域设计的。这就是为什么像Fitbit Charge 2这样的可穿戴设备使用BLE而不是蓝牙经典。
2016年夏天,蓝牙特别兴趣小组(Bluetooth SIG)宣布了蓝牙5,之后不久,我做了一个关于蓝牙5的解释视频。 从那时起,新的规范已经正式发布,该技术开始出现在开发板和消费小工具中,最引人注目的是Galaxy S8。
由于蓝牙5可能会在未来几年内成为事实上的蓝牙版本,我认为现在测试一下它,了解它的传输距离和速度的真相很有必要。为了做到这一点,我从北欧半导体公司获得了两块蓝牙5 nRF52840开发板。这两块板子带有蓝牙5协议栈和一个时钟频率为64MHz的32位ARM Cortex-M4F微控制器。
这基本上意味着你可以为板子写C程序来测试蓝牙5,这就是我所做的。为了节省时间,我从北欧公司提供的蓝牙吞吐量程序的例子开始,然后根据我的特殊需要对其进行调整。
这些板子支持三种类型的蓝牙连接。BLE 4.x、蓝牙5 2 Mbps和蓝牙5 Coded(长距离通信)。第一种连接符合当前的蓝牙低功耗规格书,也就是BLE 4.x。它被称为BLE 1 Mbps连接,因为这是在添加任何协议开销之前的最低水平或最底层的大致速度。
第二种是蓝牙5新带来的的更快的通信速度。 在最低水平下,它的额定速率是2Mbps。第三种是为蓝牙5引入的一种新的特殊连接,其目的是提供长距离蓝牙连接,但比特率较低。换句话说:距离优先而不是速度。
速度加倍
蓝牙5将
带宽增加一倍的方式是将传输速度增加一倍。因此,以前一个数据包(实际上价值251字节)是在设定的时间帧内(2120微秒)发送。现在,通过蓝牙5,同样的数据可以在1060微秒内发送。然而,你并没有完全得到双倍的数据速率,因为帧间空间--即两个连续数据包之间的时间间隔--与蓝牙4保持一致。 这意味着数据的发送速度更快,但数据包之间的间隙并没有缩短。当你做数学计算时,这意味着蓝牙5实际上比BLE 4.2快1.7倍左右。
蓝牙5实际上比BLE 4.2快约1.7倍。
编码和前向纠错(Coded and Forward Error Correction)
蓝牙5提供了一种特殊的连接,是为长距离通信而设计的。因此,这不是用于蓝牙扬声器或将你的智能手表与你的智能手机同步,而是用于物联网。 物联网的力量是能够将廉价的模块放置在建筑中(无论是住宅还是工业)或在开放空间(公园或农田),并收集数据。这些数据可以是任何东西,从温度或湿度,到运动探测器或交通监视器。这种可能性是无穷无尽的。但问题是,这些传感器需要有电源,它们需要将数据发送到中央枢纽或网关。如果设备被插入主电源,那么电源就不是问题,也许设备会使用Wi-Fi进行通信。但对主电源和Wi-Fi覆盖的要求限制了这类设备的范围和潜力。
这就是蓝牙5长距离的作用。首先,由于该设备使用蓝牙,它不一定需要主电源。其次,它不需要结合Wi-Fi,甚至不需要Wi-Fi覆盖。相反,这些传感器可以放置在只有电池供电的地方,使用蓝牙5长距离(Bluetooth 5 Long Range)与网关通信。
但是,如何才能在不增加功耗的情况下增加范围呢?一种方法是降低数据速率。这基本上意味着,在相同的电源水平下,发送的每一位数据都会消耗更多的能量。第二个技巧是使用纠错。
为了使连接可靠,它必须确保当一个数字被发送时,另一端也能收到相同的数字。如果一个 "1 "在某处被改成了 "0",就是一个巨大错误。
蓝牙5使用基于汉明码(Hamming codes)的强大纠错系统,汉明码是理查德-汉明(Richard Hamming)在20世纪50年代发明的纠错码系列。它被称为前向纠错(FEC / Forward Error Correction),这个系统将单个数字 "1 "或 "0 "替换成多个数字来组成一个字(word)。
让我们举一个非常简单的例子,不过不是一个在现实世界中有实际使用的例子,但它是一个很好的说明。一个系统可以不传送 "0",而是传送 "0000",不传送 "1",而是传送 "1111"。这显然会比较慢,但它提供了一些弹性。如果信息在途中被破坏,比如说被破坏成'0001',那么你可以确信它实际上是'0000'。
同样,如果它从'1111'被改成'1011',那么你仍然可以确定它本来是'1'。然而,如果收到'1010',那么很明显有两个比特被改变了,但是是'0000'被改变为'1010'还是'1111'被改变为'1010'?好消息是,有一整个计算机科学领域致力于研究检测传输中错误的最佳方法,并研究如何纠正错误。
真实世界
为了在现实世界中测试蓝牙5,我拿着我的两块北欧半导体开发板,在不同的情况下测试吞吐速度。首先,我测试了我家周围的吞吐量。一块板子一直连接到我的电脑上,而另一块板子则被移到不同的房间里,越移越远。在第二个测试中,我把我的整个装置带到了当地的一个购物中心,测试了可能的距离,特别是使用蓝牙5长距离(Bluetooth 5 Long Range)(即Coded)的工作距离。
房间测试
这是我的房子的一个非常基本的布局:
左下角的蓝色圆圈代表发送器(与我的电脑相连),而蓝色的星星代表房子周围不同的接收器位置和墙壁的大致位置。我家的墙是用石膏板(或干墙)覆盖的简单隔断墙。你会发现,较厚的墙壁、混凝土或砖墙,以及有铁制品的墙壁,会改变信号的传播方式。
当板子相邻时,我能够使用蓝牙5获得1337 Kbps的吞吐量(即每秒1337千比特,相当于每秒167千字节),蓝牙4.2获得746 Kbps。下面是一个表格,说明当我把板子越移越远时,比特率是如何变化的:
如果你看一下上表中的数据,你会注意到几件事。首先,蓝牙5在每种情况下都比蓝牙4快。Good! 其次,对于较近的距离,蓝牙5的速度明显比BLE 4.2快:1125 Kbps对672 Kbps的点1,900 Kbps对629 Kbps的点2。
随着距离的增加,与BLE 4.2相比,普通蓝牙5的优势就会减弱。
第三,吞吐量随着距离的增加而下降。最后,随着距离的增加,与BLE 4.2相比,蓝牙5的好处减少了(目前忽略了长距离模式)。
你可能期望第2点和第4点的吞吐量是一样的,但显然它们不是。我的猜测是,家具的数量和所述家具的布局是不同的。当然,到2号点的信号比到4号点的信号有较少的障碍物路径。
购物中心测试
我的下一个测试没有上面的家庭测试那么科学,我真的建议你观看视频来了解这些测试是如何进行的。由于我是在购物中心,我无法拿出卷尺开始计算距离,但是我学到了一些重要的东西。
蓝牙在没有障碍物(墙壁、家具等)的情况下效果最好--在美食广场,这基本上是一个有桌子和椅子的大型室内开放空间,蓝牙的性能令人印象深刻。我的吞吐量超过450Kbps,240Kbps,取决于距离。
金属是最坏的--当尝试从购物中心内部到外部的测试时,虽然我有视线穿过大窗户,但性能很差。我把这归因于窗户的大型金属框架和其他金属元素,包括家具。
使用蓝牙5长距离(编码),我成功地连接了100多米--我觉得如果我更努力地寻找理想的条件,情况会更好。
使用蓝牙5长距离(编码),在数据传输率下降的情况下,我实现了超过100米的连接。
总结
从我的测试中可以看出,蓝牙5已经兑现了其更高吞吐量的承诺。当两个设备在几米范围内时,速度可能超过1000Kbps,在信号覆盖范围的一半左右,蓝牙5仍然比BLE 4.2快。在范围的最边缘,速度差异明显下降,根据我读到的一些数学计算,蓝牙5的理论范围(使用2 Mbps连接类型)实际上比BLE 4.2短。然而,蓝牙5确实引入了新的长距离(编码)连接类型,提供更大的范围,但吞吐量较小。
值得注意的是,在蓝牙5中,对2 Mbps和编码连接的支持是可选的。 唯一强制的连接是蓝牙4中的1 Mbps连接速度,然而,即使蓝牙5的设置只支持1 Mbps的连接速度,它仍然需要支持新的协议元素,比如更大的广播容量(从31字节增加到255字节)。
长距离(编码)连接的可能性是令人感兴趣的,肯定会有很多物联网和家庭自动化应用。我希望进入我们智能手机的蓝牙5堆栈将包括蓝牙5的所有优点,而不是没有2 Mbps连接类型或编码连接的削减版。
现在你已经看到了蓝牙5的作用,你对在即将到来的智能手机中看到它感到兴奋吗?在物联网和智能家居设备中呢?
总结
从我的测试中可以看出,蓝牙5已经兑现了其更高吞吐量的承诺。当两个设备在几米范围内时,速度可能超过1000Kbps,在信号覆盖范围的一半左右,蓝牙5仍然比BLE 4.2快。在范围的最边缘,速度差异明显下降,根据我读到的一些数学计算,蓝牙5的理论范围(使用2 Mbps连接类型)实际上比BLE 4.2短。然而,蓝牙5确实引入了新的长距离(Long Range)(编码Coded)连接类型,提供更大的范围,但吞吐量较小。
值得注意的是,在蓝牙5中,对2 Mbps和编码连接的支持是可选的。 唯一强制的连接是蓝牙4中的1 Mbps连接速度,然而,即使蓝牙5的设置只支持1 Mbps的连接速度,它仍然需要支持新的协议元素,比如更大的广播容量(从31字节增加到255字节)。
长距离(编码)连接的可能性是令人感兴趣的,肯定会有很多物联网和家庭自动化应用。我希望我们智能手机配备的蓝牙5堆栈将包括蓝牙5的所有优点,而不是没有2 Mbps连接类型或编码连接的削减版。
现在你已经看到了蓝牙5的作用,你对在即将到来的智能手机中看到它感到兴奋吗?在物联网和智能家居设备中呢?
参考:
|
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 6:53:17- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |