蓝牙信道探测技术,作为一种新的安全和精确测距手段,自其正式发布以来,预示着蓝牙应用的边界将进一步拓宽。这项技术将在多个领域扮演关键角色,包括但不限于数字钥匙、“Find My”定位服务、智能家居以及工业自动化等。接下来,本文将聚焦于信道探测的Profile协议,进一步揭示其工作原理和应用潜力。
RAP
RAP(Ranging Profile)作为专注于测距功能的Profile层协议,其设计核心在于高效、安全地实现蓝牙设备间的精确测距。该协议明确划分了两个核心角色:Ranging Responder(RRSP)与Ranging Requester(RREQ)。
Ranging Responder(RRSP):测距响应者,它是实施测距服务(RAS)并将测距结果传输给RREQ的设备。例如,在蓝牙汽车解锁系统中,汽车门锁可以作为RRSP。
Ranging Requester(RREQ):测距请求者,作为RAS的客户端,向RRSP请求测距结果。例如,在蓝牙汽车解锁系统中,用户的手机可以作为RREQ。
测距工作流程
1. 信道探测流程启动
信道探测的发起者(Initiator)和反射者(Reflector)在其控制器(Controller)中运行信道探测流程。该流程由多个信道探测事件(CS Event)、子事件(CS Subevent)和步骤(Step)组成。
信道探测流程定义了两台设备间通信和交换射频信号的时间和频率。这些射频信号交换的目的是在发起者设备和反射者设备间传输基于相位的测距(Phase-based Ranging,简称PBR)数据或基于往返时间(Round-trip Time,简称RTT)的测距数据。
2. 测距数据收集
在信道探测流程运行时或完成时,RAS服务器设备的主机(Host)将从其本地控制器接收每一个信道探测子事件中的测距数据。这些测距数据包括基于相位的测距数据和基于往返时间的测距数据。
3. 测距数据发送
RAS服务器设备应根据信道探测协议向RAS客户端设备发送测距数据。每个信道探测流程可产生最多约5kB的测距数据。
4. 距离计算
RAS 客户端收到信道探测流程中所有的测距数据。Distance Measurement Application 收集到RAS客户端的测距数据,结合本地控制器的测距数据,计算出当前信道探测流程的距离值。
RAS
RAS定义与功能
RAS(Ranging Service)是一个通用属性配置文件(GATT)服务,旨在通过RAS服务器端(RAS Server)向RAS客户端(RAS Client)提供测距数据,它定义了测距数据的传输方式、格式和协议,确保测距数据能够准确、可靠地传输给上层应用。
如下图,信道探测的双方设备在Controller层交互了信道探测子事件(CS Subevent),并将测距数据传递上来。RAS服务器端获得信道探测子事件结果信息,包含对于信道探测子事件的解析结果。之后,RAS服务器端将该结果通过RAS协议,传递给RAS客户端,由RAS客户端计算出距离。
RAS测距模式
RAS通过低功耗蓝牙实现传输,可选两种测距数据交换模式:实时测距数据模式(Real-time Ranging Data mode)和按需测距数据模式(On-demand Ranging Data mode)。
1. 按需测距数据模式(On-demand Ranging Data mode)
按需模式需要RAS客户端主动向RAS 服务器端发起请求来获取测距数据。RAS 服务器端在接收到请求后,才会发送信道探测数据给RAS客户端。
以RAS Server准备发送一个含有6个Channel Sounding Subevents的信道探测流程数据为例,当RAS Server收到Controller的全部6个Subevents之后,需要先发一个Ranging Data Ready indication通知Client已经有数据准备好。等RAS Server收到Client发出的Get Ranging Data command之后,RAS Server才开始通过On-demand Ranging Data notifications发送信道探测距离数据。
在所有要发的数据发送完成后,RAS Server会以Complete Ranging Data response通知Client已经发送完成,Client会发送ACK Ranging Data command做确认,RAS Server做一个Response,整个按需模式发送Ranging Data的流程结束。之后RAS Server可以基于同样的流程准备下一个信道探测流程数据的发送。
这种模式适用于对测距数据需求不连续或仅在特定时刻需要的场景,如按需查询位置信息等。
2. 实时测距数据模式(Real-time Ranging Data mode)
在这种模式下,RAS 服务器端不需要等待RAS客户端的请求。一旦RAS服务器端接收到信道探测数据,它会立即将这些测距数据发送给RAS客户端。
下图中RAS Server准备发送一个含有6个Channel Sounding Subevents的信道探测流程数据。从图中可以看到,实时测距数据模式下,都是从RAS Server端直接发出的notification包,RAS Server并没有等到从Client端接收Get Ranging Data command包之后再发送。
这种模式适用于需要连续、实时测距信息的场景,如实时定位、追踪等。
RAS服务的灵活性
RAS服务作为一个独立的蓝牙应用服务,不依赖任何其他蓝牙服务,并具备唯一的服务UUID,便于其他设备发现与连接。该服务内嵌了关键的属性值,这些值专为实时测距数据模式和按需测距数据模式两种模式的数据交互而设计。这两种模式赋予了RAS服务高度的灵活性,使其能够轻松适应多样化的应用需求,为蓝牙设备间的精确测距提供了坚实的技术支撑。
在实际部署中,开发者可以依据特定的应用场景,自由选择最合适的RAS测距模式。例如,在需要持续监测距离变化的场合,实时测距数据模式将是不二之选;而在仅当需要时才获取测距数据的场景下,按需测距数据模式则更有效。通过这种灵活的选择,开发者可以实现更高的测距性能和效果,从而满足各种应用场景的需求。
结语
RAP与RAS协议为蓝牙测距应用注入了强大的动力,它支持两种测距数据交互模式:“实时测距数据模式”与“按需测距数据模式”。其中协议规定,“按需测距数据模式”是RAS的必备特性,一旦数据丢失,系统能够迅速定位并重新传输,从而保障了测距的准确性和可靠性。
随着科技的进步,测距与定位技术已日益融入我们的日常生活。越来越多的蓝牙应用正在结合精确距离测量功能,如室内导航系统、物联网设备间的距离感知等,这些应用极大地丰富了我们的生活体验。
当前,泰凌基于TLSR922x系列芯片提供了一套完整的蓝牙信道探测方案。该方案不仅实现了链路层距离数据的交互,还打通了链路层与Profile层,通过RAS协议高效传递测距数据,从而计算出实际的距离。在接下来的篇章中,我们将为读者呈现这套方案,让用户可以更直观地感受泰凌的测距方案。