版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、【Word版本下载可任意编辑】 使用BLE 4.2的系统设计:更快、更安全、更节能 提到家庭和工业自动化、物联网(IoT)、可穿戴设备、人机接口设备(HID)众多应用的无线连接协议时,蓝牙一定是。为满足各种应用的需求,蓝牙技术联盟(SIG)对蓝牙规格开展了持续改良。发布4.1版大约一年后, SIG在20*年12月蓝牙发布了蓝牙规范4.2版。新的4.2主要包括三项更新 - 低功耗(LE)数据长度扩展(DLE)、链路层(LL)隐私保护以及安全性加强。这些功能提高了BLE数据带宽、隐私保护和安全性,同时还有助于降低功耗。本系列文章将详细讨论这些功能以及它们如何影响系统性能。 蓝牙低功耗(BLE)协议
2、栈可以分成三个部分: 控制器:协议栈控制器对数据包开展了加密,转换为无线信号发送。在接收时,控制器将对无线信号解码,并重构数据包。 主机:主机由管理两个或多个设备相互通信的各种协议和配置文件(安全管理器、属性协议等)组成。 应用:可使主机和控制器实现一个特定功能的用例。 链路层(LL) 蓝牙4.2的大部分新功能都集中在链路层周围。链路层在建立可靠物理链路和功能中扮演着非常重要的角色,有助于提高BLE协议稳健性和能效。链路层功能包括广播、扫描、创立和维护连接以建立物理链路。在链路层上定义了两个角色:主设备和从设备。 数据长度扩展(DLE) 数据长度扩展能够使两个BLE设备之间的数据传输更快。为了
3、了解DLE功能,请先让我们来看看链路层上的BLE数据包。下列图所示为蓝牙4.0/4.1的链路层数据包构造。 如果我们仔细观察各数据包的开销,将发现存在1个字节的前导、4个字节的访问地址、2个字节的数据头、3个字节的循环冗余检查(CRC)和一个可选的4个字节的消息完整性检查(MIC)。当使用加密时,消息完整性检查(MIC)将与有效负载一起发送。因此,每个包含27个字节数据的加密链路层数据均含有14个字节的开销。现在,让我们来看看蓝牙4.2定义的链路层数据包构造。 相较于旧版本蓝牙规范的27字节,蓝牙4.2中的有效负载量可到达251个字节。每个数据包开销仍然保持不变,即14个字节。然而,该开销现已
4、与多达251个字节相关联,而不是27个字节。这种有效负载的变化提高了吞吐量并减少了处理时间。 图4所示为当数据需要通过蓝牙4.1和蓝牙4.2从一个设备传输至另一个设备时的吞吐量。 在上图中,数据包时间的计算方法如下: 数据包时间= 8 *(前导字节的数量+访问地址字节的数量+头字节的数量+有效负载字节的数量+ MIC字节的数量+ CRC字节的数量)/数据速率 秒 对于接收数据包,不存在有效负载和MIC字节。因此,接收数据包时间为: 发送数据包时间= 8 *(1 + 4 + 2 + 3)/ 106 秒 =80微秒 含27个字节的有效负载的发送数据包时间为: 发送数据包时间= 8 *(1 + 4
5、+ 2 + 27 + 4 + 3)/ 106秒 =328微秒 同样,251个字节的有效负载的发送数据包时间为2120微秒。 另外,如上图所示,随着各发送/接收数据包,存在两个相关的帧间间隔(T_IFS),一个为发送期间,一个为接收期间。如果某个事务的帧数量增加,则该事务的耗时也将成比例地增加。当数据长度功能被启用时,相较于蓝牙4.1,蓝牙4.2在一个帧内打包了更多数据,从而减少了每次事务处理的总时间,并增加了吞吐量(其中,吞吐量 =有效负载尺寸/总时间)。 如上图所示,对于蓝牙4.1链路层,有效负载尺寸为27个字节(216比特)以及该交易的总时间为708微秒,意味着约 298 kbps的理论吞
6、吐量。 而对于4.2链路层,有效负载尺寸为251个字节(20*比特)以及总时间为2500微秒,意味着约 784 kbps的理论吞吐量。因此,相较于蓝牙4.1,蓝牙4.2提供了大约2.6倍的更高吞吐量。 BLE 4.2允许主设备和从设备之间协商数据长度,还允许不对称的发送和接收有效负载量。有效地利用该功能以及选择合适的接收/发送数据长度对于实现吞吐量具有十分重要的意义。 让我们考虑这样一个应用:BLE从设备需要将几千字节传输至主设备、从主设备接收空包并且连接间隔为8.75毫秒。假设在以下设置中协商数据长度(从设备): 情景1 发送 - 251个字节,接收 - 251字节 情景2 发送 - 251
7、个字节,接收 - 27字节 在情景1中,如图5所示,在次接收/发送数据包时,接收有效负载尺寸为0字节以及发送有效负载尺寸为251个字节,耗时2.5毫秒(包括帧间间隔)。第二次接收/发送数据包也是一样的。这两个接收/发送数据包共耗时5毫秒,在此连接间隔内剩下3.85毫秒。在理想情况下,应该在同一连接间隔内存在另一个接收/发送数据包。但是,主设备的调度器不会在此连接间隔内安排另一个接收/发送数据包。这是因为调度器会基于协商的数据长度(本中发送/接收的数据长度均为251)来检查发送/接收数据包是否具有足够的时间。如下图,含有接收和发送有效负载量为251字节的接收和发送数据包需要4.54毫秒。然而,前
8、两个数据包之后的可用时间为3.85毫秒,这导致在本连接间隔内仅2个发送数据包。 在情景2中,在该连接间隔内,调度器仅需要2.64毫秒就可调度一个数据包,因此在8.75毫秒的连接间隔内可以容纳第三个数据包,如图6所示。如下图,相对于1,本将提供高于50%的吞吐量。 尽管PDU尺寸的选择会影响吞吐量,但还存在对其产生影响的其他因素,比方,连接间隔和传输单元(MTU)。 数据长度的扩展可通过任何连接设备的控制器来触发。如果两个设备都支持数据长度的扩展功能,则该设备可发送一个获取更新数据长度的请求,而其他设备将通过其自己的参数来做出响应。图7所示为协商进程。 如果一台不支持数据长度扩展功能的设备接收到
9、数据长度的更新请求时,将会返回一个未知的回复。该回复将通知发起请求的设备另一台设备不支持DLE,该设备将继续传输符合蓝牙4.1 PDU尺寸的数据。也就是说,数据长度扩展支持向下兼容。 数据长度扩展在提高吞吐量的同时,也通过减少射频活动时间从而有助于降低功耗。这是因为在蓝牙4.2中,如果数据尺寸大于27字节,所需的接收/发送数据包更少、射频活动的时间更短)。比方说,需要传输 135个字节,BLE4.1设备在连接时需要5个发送/接收数据包来传输数据;然而BLE4.2设备在传输相同数量的数据时只需一个发送/接收数据包。在无线应用中,射频通信消耗了大多数的系统电力。使用DLE,射频通信活动时间减少,可
10、以显著延长电池寿命。 在本系列文章的部分,我们讨论了蓝牙低功耗(BLE)4.2的数据长度扩展(DLE)和低功耗。在本文中,我们将讨论蓝牙低功耗的隐私保护功能、蓝牙4.2的新增功能以及为何这些变化能够使BLE设备更加保护隐私和节能。 隐私保护是BLE设备防止被不受信任的设备追踪的能力。BLE设备在广播数据包内使用48比特地址,如果该地址被其他设备解码了,那么根据这个地址就可以跟踪该BLE设备的移动。为了保护BLE设备的隐私,受信任的BLE设备将使用共享密钥“身份解析密钥”(Identity Resolving Key, IRK)的共享密钥。两个具有此共享密钥的BLE设备可以相互识别。一台BLE设
11、备先利用该共享密钥生成一个随机的“可解析私有地址”发送出来,另一台设备则采用同一密钥来解析该私有地址。 蓝牙设备地址 蓝牙设备使用48比特的设备地址。设备地址被分类为: 公有设备地址 随机设备地址 1. 公有设备地址:公有设备地址由每台设备的公司ID和公司分配ID组成,遵循IEEE 802-20*标准。公司ID和公司分配ID值均为24比特,构成总数为48比特的地址,如图1所示。 图1:公有设备地址 2. 随机设备地址:顾名思义,随机设备地址是随机生成的地址。随机设备地址分为两种类型: 静态随机地址 私有随机地址 2.1 静态随机地址:静态随机地址可以是出厂前在设备上预先设定好的,也可以在每次开
12、关机循环后更改一个新值。然而,只有设备经过完整的开关机循环后才可以更改此地址。如果在运行期间更改了该地址,存储在对端设备中的地址将失效,并且将不可再使用旧地址开展重新连接。静态随机地址有以下要求: 两个有效位恒为1 所有随机位数值都不能为0 所有随机位数值都不能为1 图2:静态随机地址 私有随机地址分两种类型 - 不可解析私有地址和可解析私有地址。 2.1.1不可解析的私有地址:不可解析的私有地址随机生成,并且每次连接都会发生变化。不可解析的私有地址有以下要求: 两个有效位恒为0 所有随机位数值都不能为0 所有随机位数值都不能为1 该地址不能和静态地址或公有地址相同。 2.1.2可解析私有地址
13、(RPA) 可解析私有地址(RPA)是BLE设备隐私保护的重要支柱。RPA是指使用随机数字和身份解析密钥(IRK)所生成的地址。两个设备在配对期间共享IRK,其存储在设备的内置存储器中。两台配对设备除了共享IRK之外,还共享一个称为身份地址的固定地址。该身份地址可以是公有的或是随机的静态地址类型。因较早开展绑定的设备存有IRK和身份地址,因此能够解析配对设备的私有地址。图3所示为可解析私有地址的格式。 在RPA中,24比特的Hash是IRK和prand的函数。Prand是24比特的数字,它包含22个随机位数值以及2个固定的有效位数值;如图3所示。 图3:可解析私有地址 可解析私有地址的生成:可
14、解析私有地址是与IRK和prand共同生成的。 Prand是随机生成的,有以下要求: prand的两个有效位数值应等于2b01 prand的所有位元数值都不能为0 prand的所有位元数值都不能为1 地址中的Hash部分则是利用prand和设备的128位IRK传递到加密函数“e”生成。此加密函数的输出截断为24个有效位数值,就是Hash数值。 Hash=e(IRK,prand *),截断为24位 *为了使prand的长度与IRK相同,prand增加了104位数值为0的空白位,确保原有的有效位保持不变。 24比特prand和24比特Hash组合生成随机地址。 可解析私有地址的解析: B设备如果具
15、有A设备的IRK,则可以解析该A设备的可解析私有地址。可解析私有地址有24位的prand和24位的Hash。B设备通过A设备的prand和IRK来解析地址。当B设备接收到A设备的可解析私有地址后,会从该地址提取出Hash和prand,利用其生成本地Hash值。本地Hash的生成方式与在地址生成期间的方式完全相同。 本地Hash= e(A设备IRK、prand),截断为24位 如果B设备生成的本地Hash值与从地址中提取的A设备 Hash值匹配,则该地址被成功解析。如果B设备有一个以上对端的IRK,则该设备将为每个存储的IRK重复这一步骤,以确定接收到的可解析私有地址是否与存储的某一个IRK相关
16、,直到IRK中某一个地址匹配成功或者所有地址匹配结束。 B设备在配对过程中收到对端设备的IRK和身份地址后,会将其与本地IRK一起存储在待解析列表中,用于将来解析私有地址。 在蓝牙4.1中,该解析列表保存在主机上,由主机完成地址解析,这意味着在每次收到附有可解析私有地址的广播包时,都需要主机参与解析地址。但在蓝牙4.2中,该解析列表保存在控制器中,由控制器解析私有地址,无需主机干预;而如果主机使用单独的CPU控制,则意味着不需要唤醒设备中的主机,从而降低了整体功耗。即使对于使用相同的CPU执行控制器和主机的设备,因为地址不再需要通过不同的协议层,也可以通过减少解析地址所需的CPU循环次数而降低
17、功耗。此外,在没有主机参与的情况下,地址在链路层解析,可提供更快的连接。当在链路层完成地址解析时,Privacy 1.2也被称为链路层(LL)隐私。 可解析私有地址(RPA)超时 随机私有地址每隔一段时间自动更新,进一步降低了设备被跟踪的可能性。该时间间隔由主机设置,为RPA超时设置计时。当计时过期时,IRK和新的prand将会生成新的RPA。对于Privacy 1.1,RPA的超时时间固定为15分钟。蓝牙4.2中的Privacy 1.2将RPA超时时间减少为1秒,而超时时间可以为11.5小时。蓝牙4.2中RPA不断变化,私有设备难以被跟踪,从而提高了隐私性。 虽然蓝牙4.1和更旧的版本支持可
18、解析私有地址,但由于对连接时间的影响和功耗的影响限制了可用性。在使用RPA时,不能在Privacy1.1中使用诸如设备过滤和定向连接广播这样的功能。 设备过滤 设备过滤是指减少其需要响应的同类设备数量,有助于减少功耗。设备在过滤功能启用时需要响应的那些同类设备地址和地址类型,存储在白名单中。该白名单由主机配置并保持在链路层。配置完成后,链路层用其来过滤对等设备。由于在蓝牙4.1中使用RPA时地址只能由主机解析,因此链路层不能过滤该设备。因此,对于蓝牙4.1,当使用RPA时不支持设备过滤。由于设备需响应每个对端设备,因此增加了私有蓝牙4.1设备的功耗。 在蓝牙4.2中,由于地址解析在链路层完成,即使使用RPA仍然可以过滤设备。现在,不在白名单上的设备不需要主机干预,因此降低了功耗。 定向连接广播 该定向连接广播PDU包含传播器的RPA,也包括想要连接至的设备RPA。这使得两个设备之间的连接变得更快。此外,辅助设备不需要与不打算连接的对等设备共享设备的具体详细信息。当基于蓝牙4.1的中央设备使用具备过滤隐私功能的设备时,定向
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 全员安全意识提升专项行动方案
- 注册会计师税法中企业所得税法税收优惠减免税的适用条件
- 气体公司充装操作准则
- 机械制造厂设备维修制度
- 某钢铁厂热轧工艺操作制度
- 2026中国科学院化学研究所怀柔研究中心招聘备考题库含答案详解(能力提升)
- 2026清华大学出版社校园招聘备考题库带答案详解(培优b卷)
- 2026浙江台州市中医院招聘心电图诊断医生(编外)1人备考题库(含答案详解)
- 2026安徽皖信招聘铁塔阜阳市分公司技术人员2人备考题库及参考答案详解ab卷
- 2026江西鹰潭月湖区民政局招聘工作人员1人备考题库及参考答案详解(新)
- 睡眠监测室工作制度
- 2026四川成都双流区面向社会招聘政府雇员14人备考题库及答案详解(有一套)
- 2026年高中面试创新能力面试题库
- 2025-2030光伏组件回收处理行业现状分析资源利用规划
- 2025-2026学年赣美版(新教材)小学美术三年级下册《美丽建设者》教学课件
- 2026年中国邮政集团有限公司重庆市分公司校园招聘笔试备考题库及答案解析
- GB/Z 151-2026高压直流系统、静止无功补偿装置和柔性交流输电系统用换流器及其阀厅的防火措施
- 流行病学筛检试题及答案
- 2026年上海电机学院单招综合素质考试题库附参考答案详解(达标题)
- 2026年商业地产运营管理协议
- 2026年moldflow铜牌考试试题
评论
0/150
提交评论