汽车数字钥匙设计05:UWB测距之蓝牙时间同步

如之前文章描述,进行UWB测距时,手机(Initiator)与车端各锚点(Responders)需交互Pre-Poll、Poll、Response0-N、Final、Final-Data等信息。

 

那什么时候开始交互呢?手机发送了,车端锚点一定能接收到吗?手机与车端锚点是怎么同步的呢?

CCC规范中有专门的章节19.4进行了详细的描述,下面简单介绍总结下。

1、是否可以不同步?

在比较简单的UWB测距应用场景上,理论上是可以不进行时间同步的,但是这会加大车端锚点的功耗

如果没有时间同步,则车端的锚点,需要一直打开UWB接收,否则手机端发出Pre-Poll等命令时,则车端各锚点无法收到,故无法完成测距。假设车端各锚点一直打开UWB接收,则车端的功耗会加大。

CCC中写明手机端的时间同步是强制要求的。车端各锚点考虑到时延与节能,也是强烈建议要进行时间同步。

2、怎么同步?

根据对CCC规范的解读,我觉得可以总结为如下三种同步方式:

  1. 方式一:Out of band同步,手机通过BLE与车端主锚点进行同步;
  2. 方式二:In band同步,手机通过UWB数据包与车端所有锚点进行同步;
  3. 方式三:vehicle internal同步,主锚点通过车端总线(如CAN、LIN)与从锚点进行同步;

方式一Out of band同步主要在测距启动前,采用BLE进行手机与主锚点的粗略同步

方式二In band同步主要在测距过程中,由UWB芯片自动进行精确同步

方式三vehicle internal同步主要在测距启动前,进行车端内部各锚点的同步

三种方式各有其用途,在UWB测距过程中需结合使用,本文主要描述方式一Out of band同步。即采用BLE进行UWB测距的时间同步。

汽车数字钥匙设计05:UWB测距之蓝牙时间同步_第1张图片

图1 UWB测距的时间同步

3、BLE时间同步

CCC规范中描述了两种BLE同步procedure。

Procedure 0:在蓝牙连接时,进行时间同步;

Procedure 1:由车端主锚点触发进行时间同步;

在实际UWB测距使用过程中,两种同步流程可以单独使用,也可以结合一起使用。

3.1、Procedure 0

Procedure 0这个流程是在蓝牙连接建立时,手机和车端主锚点各自捕捉自己蓝牙连接中Event Counter=0的LL message,通过该时刻进行时间同步,如下图2的两个红色圆圈。具体可详见图3及图4的蓝牙抓包示例。

之后由手机发出同步报文,将UWBDeviceTime0 ,DeviceEventCount0...等相关参数发送给车端主锚点。

汽车数字钥匙设计05:UWB测距之蓝牙时间同步_第2张图片

图2 Prcedure 0时间同步

汽车数字钥匙设计05:UWB测距之蓝牙时间同步_第3张图片

图3  Master蓝牙抓包示例

汽车数字钥匙设计05:UWB测距之蓝牙时间同步_第4张图片

 图4  Slaver蓝牙抓包示例

 3.2、Procedure 1

Procedure 1 这个流程是在UWB测距前,由车端主锚点发起Set PHY请求,之后手机端与车端主锚点各自捕捉LL_PHY_UPDATE_IND时刻,如下图5的两个红色圆圈。具体可详见图6的蓝牙抓包示例。

之后由手机发出同步报文,将UWBDeviceTime1 ,DeviceEventCount1...等相关参数发送给车端主锚点。

汽车数字钥匙设计05:UWB测距之蓝牙时间同步_第5张图片

图5 Prcedure 1时间同步

汽车数字钥匙设计05:UWB测距之蓝牙时间同步_第6张图片

 图6 SetPHY同步流程蓝牙抓包

备注:上面的蓝牙抓包数据流中,Master是车端主锚点、Slaver是Initiator(钥匙等智能设备)。

微信号:耐思时刻           

## 一起每天进步一点点 ##

汽车数字钥匙设计05:UWB测距之蓝牙时间同步_第7张图片

你可能感兴趣的:(CCC,数字钥匙,汽车,软件工程)