汽车数字钥匙设计07:UWB测距之PrePoll配置参数

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

其中Pre-PollFinal-Data是SP0数据帧,是带参数的。

Poll、Response0-N、Final是SP3数据帧,是不带参数的。

本文重点讲解下Pre-Poll携带的5个参数,具体如下表。

UWB MAC Message

UWB MAC Message ID

Patameters

Pre-POLL

1

UWB_Session_ID,
Poll_STS_Index,
Ranging_Block,
Hop_Flag,
Round_Index

假设UWB测距芯片为NCJ29D5,为进行UWB测距,需结合一个主控MCU芯片,完成对UWB测距流程的控制。MCU与NCJ29D5之间采用SPI通信,如下图。双方采用UCI接口(可详见NCJ29D5 UCI说明文档)进行通信。

参数1: UWB_Session_ID

参数名称

长度(bytes)

取值范围

描述

UWB_Session_ID

4

0 –0xFFFFFFFF

ID of the UWB ranging session.

关于该参数我的理解是启动测距时,由主控MCU控制随机产生,通过UCI命令SESSION_INIT_CMD创建一个UWB测距session。后面关于该测距session的控制基本都得通过该session id来控制。

NCJ29D5可以同时建立多个测距session,此session id可用来区分不同的测距session,每一个session id对应的各自的UWB配置参数。

参数2: Poll_STS_Index

参数名称

长度(bytes)

取值范围

描述

Poll_STS_Index

4

0 –0xFFFFFFFF

STS index of the succeeding POLL message.

UWB数据帧有SP0帧和SP3帧,其中SP3数据帧中就有包含STS_Index字段,如下图:

STS_Index参数对于安全测距操作起着重要作用。

每个slot包含有一个SP3帧,无论该slot是否被使用,都需要对测距块中的每个slot进行变更。CCC中描述的基本规则是采用每个slot递增的方式,如下图:

具体可详见CCC规范20.6章节,有专门描述了STS index的相关要求。

参数3: Ranging_Block

参数名称

长度(bytes)

取值范围

描述

Ranging_Block

2

0 –0xFFFF

Session’s Index of current ranging block.

当前测距session的block索引。

启动UWB测距时,要配置一个对应的Ranging session。

如下图每个Ranging session里可能会有多个Ranging Block,每个Ranging Block里可能会有多个Round。每一个Round对应的就是之前说一个UWB测距交互流程(Pre-Poll->Poll->Response0-N->Final->Final Data)。每个Round里会有多个Slot,用来“放置”Pre-Poll、Poll、Response0-N、Final、Final Data等UWB帧。

参数4: Round_Index

参数名称

长度(bytes)

取值范围

描述

Round_Index

2

0 –0xFFFF

The ranging round index for the current ranging block as set from the ranging exchange in the previous ranging block.

当前UWB测距采用哪个round_index进行UWB测距。如上描述,每个Ranging block里可能有多个Round,该参数用于配置当前UWB测距的Round index信息。每次UWB测距的Round可能是静态不变的,也可能是动态变化的,具体详见下个参数Hop_Flag。

参数5: Hop_Flag

参数名称

长度(bytes)

取值范围

描述

Hop_Flag

1

0:No Hopping

1:Hopping

Hop flag for current ranging block as set from the ranging exchange in the previous ranging block

For no hopping configuration this field is always 0

For continuous hopping configuration this field is always 1

若Hop_Flag设置为0,则表示设置为“no hopping”,这表示initiator每次都会使用相同的ranging round来进行UWB测距。

若Hop_Flag设置为1,则表示设置为“hopping”,这表示initiator每次测距使用的的ranging round可能会变化。

Hopping方式又分为两种:

第一种,是continuous hopping,即每次测距使用不同的ranging round。

第二种,是adaptive hopping,如果Initiator认为该round是干净无干扰的,则不进行hopping;如果Initiator认为该round存在干扰,则进行hopping.

具体可详见CCC规范20.4章节,有专门描述了Hopping Flag的相关要求。

微信号:耐思时刻           

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

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值