在UWB的系统设计中,由于UWB收发功耗较高,通常采用带外信号来进行相关辅助通信,这样,一方面可以减少系统的整体功耗,另一方面,从UWB应用角度减少了UWB信道的占用,这样在定位应用中可以获得更高的设备容量。在FiRa标准中,通过“Out-of-Band”(OOB)信号方法建立和控制UWB测距、BLE profile和协议栈。
FiRa蓝牙OOB信号交互的参考技术规范: FiRa CSML Specification(FiRa联盟公共服务和管理层技术规格)。
FiRa蓝牙OOB要求
FiRa 蓝牙OOB连接器应支持蓝牙核心规范 4.2 中低功耗核心配置,并提供以下详细信息:
- 控制器部分:
- PHY支持(物理层支持,按照蓝牙核心规范 4.2)
- LE LL支持(低功耗 链路层支持,根据蓝牙核心规范 4.2)
- 主机部分:
- L2CAP 支持(根据蓝牙核心规范4.2)
- GAP 支持(根据 FiRa CSML [1] 和 FiRa Profile 规范至少有一个 GAP 外围或中心角色 + 根据第 0 卷部分的所有适用的强制性功能B,第 4.4 节 [4])
- 支持 ATT 和 GATT(根据 FiRa CSML [1] 和 FiRa Profile 规范至少有一个服务器/客户端角色 + 根据第0 卷第 B 部分第 4.4 节的所有适用的强制性功能[ 4])
使用蓝牙安全管理器层及其功能(例如 L2CAP 上的安全管理器通道、配对、绑定)是最佳选择onal 用于 FiRa 带外连接器。
这意味着,FiRa 设备可以在蓝牙核心规范 4.2 第 3 卷 H 部分第 2.3.1 节 [4] 中定义的“无安全要求”类别中运行蓝牙 LE 连接。
可以在更高的安全等级(包括绑定和配对机制)内操作,由于这些操作属于蓝牙规范的范围,不再此描述。
FiRa蓝牙OOB Stack框架如下:
- FiRa蓝牙特性在基础的蓝牙核心规范之上,增加了FiRa 主连接器和从连接器的服务,将在后续的规范讲解中介绍。
- 此外,FiRa CSML规范和FiRa 配置规范定义了FiRa相关的数据模型、FiRa安全通道以及FiRa APDU定义。
GAP和GATT角色
由于蓝牙层的不对称特性,需要为每个设备分配角色。
一般来说,有能耗限制的设备(如电池供电设备)应该被配置为GAP外设,因为它比GAP中心设备使用更少的能量。
FIRa配置文件规范根据其服务特定要求分配每个设备的角色,至少一个强制的角色。
- FiRa主连接器(CP),GAP外设,GATT Server
- FiRa从连接器(CS),GAT Central,GATT Client
当然,根据上表的配置,FiRa设备也可以配置其他可选的配置,从图中可以看到,一共有4种情形,这几种情况将在后续的文章中进行介绍。
知识补充
上图为BLE的基础框架,分为:控制器、主机和应用程序几个部分。
- 控制器,分为PHY与链路层
- Host,包括L2CAP、ATT、GATT、SM以及GAP组成。其中L2CAP对ATT层和SM层的数据进行分包重组形成标准的BLE数据包发送给LL层,反之接收LL层数据包重组传输当上层。
- 应用程序(Application),主要开发Service和Characteristic,根据API接口定义需要的特征和服务,FiRa就是在此定义了自己的服务规范。