欢迎关注创芯英才网搜索芯片人才及职位
来源:EETOP编译自allaboutcircuits
什么是通信协议?
随着时间的推移,计算已经从独立系统发展为连接形成网络的计算机(图 1)。
图 1. 局域网 (LAN) 中连接的计算机的简化图。
通信网络支持共享计算,许多用户或终端可以访问同一计算机系统。在特定场景下,共享计算可以让一个中央系统处理首当其冲的工作,并将其结果分发给缺乏该能力的多个用户。
通信网络也用于分散计算,其中许多计算机可以作为对等点一起工作。这些网络有助于将数据从一个点传输到另一个点。
需要注意的重要一点是,为了使网络中的不同设备能够有效地通信或共享数据,它们必须使用共同的语言。这就是通信协议发挥作用的地方。
图 2.协议的概念视图,它是一种允许不同设备进行通信的通用语言。
通信协议是严格定义交换信息的设备的硬件和软件应如何执行每个通信功能的规则手册。
在通信协议(又名规则手册)中,您会找到以下内容的规则:
通信协议基于多种因素,包括要交换的信息的特征、通信媒介以及将使用它的设备的功能。
从协议到标准
通信协议可以通过标准化过程成为标准。标准是商定或广泛采用的协议,无论制造商如何,都必须遵守。它们允许生产相关产品的不同公司遵守相同的协议,因此它们的设备可以进行通信。
这就是为什么您可以将一家公司的蓝牙耳机连接到另一家公司的手机的原因。这些产品的制造商虽然不同,但都遵循标准化的通信协议,在本例中为蓝牙。
除了蓝牙之外,还有一些其他流行的通信标准:
接下来我们谈谈BLE。
什么是低功耗蓝牙?
蓝牙的核心是一种使用无线电波作为通信媒介的短距离连接技术。该技术的第一个标准或规范称为Bluetooth Classic。它的主要设计目的是取代线缆并在手机和其他便携式设备之间提供无线连接。
BLE 作为蓝牙 4.0 规范的一部分于 2010 年推出,针对超低功耗应用进行了优化。由于在超低功耗应用中的使用,BLE 服务于需要无线网络功能的电池供电设备市场。在BLE 出现之前,这些类型的设备很难支持互连,因为它们消耗了太多电池电量。
下面,我们将介绍BLE的一些优化功能,以实现超低功耗目标。
低功耗蓝牙省电功能
1. BLE的无线传输
启用BLE 的设备的无线传输仅在必要时唤醒以节省电量。当设备想要发送或收听数据时,LE radio会打开以快速执行必要的任务,然后断开连接。LE radio的这种操作不同于蓝牙经典radio,后者的无线传输大部分时间都处于打开状态,并且连接会保持数小时或数天。
由于 LE radio是间断连接的,所以它适用于设备不时发送小数据包的应用,范围从每秒一次到每隔几天一次。例如,健身追踪器中的心率监测器可以收集所有心率数据,并每小时将其发送到您的智能手机一次。或者温度传感器,如果温度非常高或非常低,它才会被触发以发送温度读数。
2. LE 的无线连接时间更短
由于可用于连接的 RF 通道数量减少,Bluetooth LE 消耗的能量更少,从而导致更快的连接速度和更少的扫描时间。Bluetooth Classic 有 32 个 RF 通道,可用于在设备之间建立连接,而 Bluetooth LE 只有三个。
此外,想要被发现的 BLE 设备会在 RF37、RF38 和 RF39 通道(称为主要广告通道)上发送信号。
当一个设备想要找到其他设备时,它会在主要广播通道上侦听广播数据包。由于只有三个主要广播频道,LE 无线不必扫描那么多频道,醒着的时间也更少,因此使用的能量更少。
3. LE 无线传输使用更小的数据包
Bluetooth LE 数据包比 Bluetooth Classic 数据包小得多。较小的数据包大小在编码和解码时需要较少的计算开销。这也降低了功耗。
4. 电池放电是脉冲式的
电池的特性之一是它的放电方式会影响其容量。电池容量是在特定条件下可以从电池中提取的能量。电池的恒定电流放电会缩短其寿命。另一方面,脉冲放电(其中放电之间有空闲时间)有助于使电池尽可能接近其标称容量。这被称为电池恢复效应。
Bluetooth LE 利用了这种恢复效应。使用 BLE 的数据传输是在周期性的短突发中完成的,随后是空闲周期。在这些闲置期间,电池可以恢复,这有助于延长电池的使用寿命。
5. 低功耗蓝牙协议是一种非对称设计
LE 协议使用非对称设计来向想要连接的设备发布任务。资源最受限的设备做的工作最少。对于要连接的设备,一个必须扮演中心角色,另一个扮演外围角色。中央设备通常具有更强的处理能力和电池电量,如智能手机。另一方面,外围设备通常是处理能力较低且能源资源有限的设备,如健身追踪器、心率监测器等。
低功耗蓝牙协议栈
协议栈(或协议套件或协议体系结构)是一组或一组子协议,它们协同工作以实现连接在网络中的两台或多台计算机之间的完整通信。协议栈中的每个子协议称为一个层或级别。Bluetooth LE 协议栈使用分而治之的方法。这意味着整体通信任务在层之间进行了划分,每个协议层负责特定的通信功能。
图 3 显示了一个LE协议栈及其协议层的例子。
图 3.低功耗蓝牙堆栈。图片由Bluetooth SIG提供
表 1 总结了 LE 协议栈各层的主要功能。
BLE 设备通信的两种主要方式
支持 BLE 的设备可以通过以下两种方式之一进行通信:
1.无连接通信:它将其数据广播到任何监听设备
2.面向连接的通信:它与另一个设备形成专用连接,并使用客户端-服务器机制与其进行通信
图 4 显示了这两种通信方式的概览。
图 4. BLE 设备通信的不同方式。图片由瑞萨电子提供
无连接通信
想要参与无连接通信的 LE 设备被赋予 GAP 层定义的两个角色。一台设备必须是广播者,另一台设备必须是监听者。
设备的 GAP 角色控制着设备的链路层,而链路层又控制着设备的 LE 无线电。
例如,图 5 中的图像显示我的手机作为监听者拾取了两个广播信标的数据包:
图 5.拾取设备。
BLE 中无连接通信的常见应用包括信标和广播其读数的物联网 (IoT) 传感器。
面向连接的通信
在面向连接的通信中,您必须清楚两个主要概念:设备发现和连接设备之间的客户端-服务器关系。
设备发现和连接设置
需要注意的一点是BLE中称为配置文件的任何内容都可以针对特定用例控制和协调堆栈的其他层。在这方面,GAP控制链路层和PHY层(LE无线电)应如何运行,以便BLE设备发现和建立连接。
想要参与面向连接的通信的 LE 设备被赋予由 GAP 层定义的两个角色。一个设备必须是中央设备,另一个设备必须是外围设备。。
第 4步:在初始状态下,LE无线电向外围设备发送连接请求数据包。如果外围设备接受连接请求,则连接建立。
客户端-服务器关系
连接设置完成后,通用属性配置文件执行三个主要功能:它使用 ATT 协议来构建将要交换的数据。它定义了一个包含服务和特性的层次结构,以文件文件夹的方式排列数据。这种安排数据的方式使其易于存储和访问。
它还定义了连接设备交互方式的客户端-服务器关系。GATT 为连接的设备定义了两个角色:一个设备将是客户端,另一个将是服务器。
服务器:充当容纳数据变量的数据库。服务器使用 ATT 协议的属性数据类型存储数据。服务器上的数据按照 GATT 的定义分层组织。可以根据访问权限访问服务器的数据。一些数据既可读又可写。有些可能只是可读的。
客户端:连接到服务器后,客户端通常会请求访问存储在服务器上的数据(属性)。客户端可以根据访问权限读取和/或写入服务器的属性。
BLE 设备面向连接的应用示例:
带有传感器的睡眠追踪器可以检测我们睡觉时发生的生理变化。跟踪器连接到您的智能手机以共享读数。跟踪器充当服务器。智能手机作为客户端,读取存储在跟踪器中的数据。
蓝牙 SIG(特别兴趣小组)
什么是蓝牙 SIG?Bluetooth SIG 是一个独立的非盈利组织,负责定义蓝牙标准。Bluetooth SIG 不是公司或合作。它不制造或销售蓝牙产品。
相反,它有四个主要职责。这些都是:
推广蓝牙技术
Bluetooth SIG 于 1998 年成立,当时只有五个创始成。它们是爱立信、英特尔、IBM、诺基亚和东芝。多年来,Bluetooth SIG 组织已发展到拥有超过 16,000 家成员公司。
Bluetooth SIG 为希望加入的公司提供两个会员级别,即采用者会员级别和准会员级别(表 2)。
表 2. Bluetooth SIG 成员详细信息。
最后,Bluetooth SIG 拥有 7 家拥有发起人级别会员资格的成员公司。其中包括所有创始公司,以及苹果和微软。
高效协议和企业协作
在我们日益互联的世界中,低功耗蓝牙已成为重要的通信超低功耗应用。正如我们所见,它需要高效的协议设计和公司之间的协作,才能使BLE 或任何通信标准真正产生重大的市场影响。