第1卷目录
- 1 概述(Overview)
- 1.1 范围(Scope)
- 2 参考文档(References)
- 2.1 文档(Documents)
- 2.2 缩略语、首字母缩略词与术语(Abbreviations, Acronyms and Terms)
- 3 约定(Conventions)
- 4 UCI 核心框架(UCI Core Framework)
- 4.1 概述(Overview)
- 4.2 UCI 架构(UCI Architecture)
- 4.3 UCI 控制消息(UCI Control Messages)
- 4.3.1 控制消息的流控
- 4.3.2 控制消息的异常处理
- 4.4 UCI 数据消息(UCI Data Messages)
- 4.4.1 UCI 数据消息的流控
- 4.5 包格式(Packet Formats)
- 4.5.1 公共包头(Common Packet Header)
- 4.5.2 控制包格式
- 4.5.3 UCI 数据包格式
- 4.5.4 测试用控制消息格式
- 4.5.5 分段与重组
- 5 UWBS 设备状态机(UWBS Device State Machine)
- 5.1 DEVICE_STATE_READY 状态
- 5.2 DEVICE_STATE_ACTIVE 状态
- 5.3 DEVICE_STATE_ERROR 状态
- 6 UCI 核心控制消息(UCI Core Control Messages)
- 6.1 UWBS 初始化
- 6.1.1 UCI 版本处理
- 6.2 UWBS 能力信息
- 6.3 UWBS 配置
- 6.3.1 设置配置
- 6.3.2 获取配置
- 6.4 设备状态通知
- 6.5 UWBS 设备复位
- 6.6 通用错误
1 概述(Overview)
本文档规定了超宽带命令接口(UWB Command Interface, UCI)的 FiRa 通信协议,该接口是 UWB 子系统(UWB Subsystem, UWBS)与主机(Host)之间的逻辑接口。UCI 由参与超宽带(Ultra-Wideband, UWB)测距会话的设备使用。UCI 也被 FiRa 认证计划用作 FiRa 设备(FiRa Device)与 FiRa 测试设备之间的接口,以执行物理层(Physical Layer, PHY)、介质访问控制(Medium Access Control, MAC)和链路层(Link Layer, LL)的一致性与互操作性测试。本文档分为以下几个部分:
- UCI 核心框架(UCI Core Framework)
- UWBS 设备状态机(UWBS Device State Machine)
- UCI 核心控制消息(UCI Core Control Messages)
- UWB 会话管理(UWB Session Management)
本文档可与 [MAC]、[PHY]、[LL] 和 [SUS_API] 结合,以构成 FiRa 设备的 UWBS。
2 参考文档(References)
2.1 文档(Documents)
参考文档(Documents)
CORE_GET_DEVICE_INFO_CMD
| 引用标识(Reference) | 描述(Description) |
|---|---|
| CSML | FiRa® 通用服务与管理层(Common Service & Management Layer, CSML)技术规范(Technical Specification),v1.0.0。FiRa 联盟(FiRa Consortium, Inc.),2022 年 4 月。可从 https://groups.firaconsortium.org/wg/members/document/folder/96 和 https://firaconsortium.org/resource-hub/specifications 获取。 |
| EXT_UCI_CCC_DK | 针对 CCC 数字钥匙 UWB 特性的 FiRa® 超宽带命令接口(UCI)技术规范扩展(Extension to the FiRa® UWB Command Interface (UCI) Technical Specification for CCC Digital Key UWB Feature),v1.0.0。FiRa 联盟(FiRa Consortium, Inc.),2024 年 12 月。可从 https://groups.firaconsortium.org/wg/members/document/folder/96 和 https://firaconsortium.org/resource-hub/specifications 获取。 |
| IEEE_802_15_4_2020 | IEEE Std 802.15.4-2020——低速率无线网络标准(Standard for Low-Rate Wireless Networks)。电气与电子工程师协会(Institute of Electrical and Electronics Engineers, IEEE),2020 年。取自 https://standards.ieee.org/standard/802_15_4-2020.html。 |
| IEEE_802_15_4z_2020 | IEEE Std 802.15.4z-2020——低速率无线网络标准——修正案 1:增强型超宽带(UWB)物理层(PHY)及相关测距技术(Amendment 1: Enhanced Ultra Wideband (UWB) Physical Layers (PHYs) and Associated Ranging Techniques)。电气与电子工程师协会(IEEE),2020 年。取自 https://standards.ieee.org/standard/802_15_4z-2020.html。 |
| LL | FiRa® 链路层(Link Layer, LL)技术规范 v4.0.0。FiRa 联盟(FiRa Consortium, Inc.),2025 年 11 月。可从 https://groups.firaconsortium.org/wg/members/document/folder/96 和 https://firaconsortium.org/resource-hub/specifications 获取。 |
| MAC | FiRa® 介质访问控制(Medium Access Control, MAC)技术规范 v4.0.0。FiRa 联盟(FiRa Consortium, Inc.),2025 年 11 月。可从 https://groups.firaconsortium.org/wg/members/document/folder/96 和 https://firaconsortium.org/resource-hub/specifications 获取。 |
| PHY | FiRa® 物理层(Physical Layer, PHY)技术规范 v4.0.0。FiRa 联盟(FiRa Consortium, Inc.),2025 年 11 月。可从 https://groups.firaconsortium.org/wg/members/document/folder/96 和 https://firaconsortium.org/resource-hub/specifications 获取。 |
| RFC_2119 | 用于表示 RFC 中要求级别的关键词(Key words for use in RFCs to Indicate Requirement Levels)。RFC 2119。Bradner, S.,1997 年。取自 https://www.ietf.org/rfc/rfc2119.txt。 |
| SUS_API | FiRa® 安全 UWB 服务(Secure UWB Service, SUS)API 技术规范(API Technical Specification),v4.0.0。FiRa 联盟(FiRa Consortium, Inc.),2025 年 11 月。可从 https://groups.firaconsortium.org/wg/members/document/folder/96 和 https://firaconsortium.org/resource-hub/specifications 获取。 |
| UCI-EXT | FiRa® 超宽带命令接口(UCI)测试扩展(UCI Extension for Testing),v4.0.0。FiRa 联盟(FiRa Consortium, Inc.),2025 年 11 月。可从 https://groups.firaconsortium.org/wg/members/document/folder/96 和 https://firaconsortium.org/resource-hub/specifications 获取。 |
| USB_VCOM | FiRa® USB 虚拟通信(Virtual Communication, VCOM)技术要求(Technical Requirements),v4.0.0。FiRa 联盟(FiRa Consortium, Inc.),2025 年 11 月。可从 https://groups.firaconsortium.org/wg/members/document/folder/96 和 https://firaconsortium.org/resource-hub/specifications 获取。 |
2.2 缩略语、首字母缩略词与术语(Abbreviations, Acronyms and Terms)
以下缩略语、首字母缩略词和术语适用于本文档。
表 1 - 首字母缩略词与缩略语(Acronyms and Abbreviations)
| 缩略语或首字母缩略词(Abbreviations or Acronym) | 定义(Definition) |
|---|---|
| aDS-TWR | 替代型双边双向测距(Alternative Double-Sided Two-Way Ranging) |
| AoA | 到达角(Angle of Arrival) |
| APP | 应用(Application) |
| BPRF | 基础脉冲重复频率(Base Pulse Repetition Frequency) |
| CAP | 竞争访问期(Contention Access Period) |
| CCC | 车联网联盟(Car Connectivity Consortium) |
| CFO | 时钟频率偏移(Clock Frequency Offset) |
| CFP | 无竞争期(Contention Free Period) |
| CL | 无连接(Connection-less) |
| CM | 控制消息(Control Message) |
| CMD | 命令消息(Command Message) |
| CO | 面向连接(Connection-oriented) |
| DL-TDoA | 下行到达时间差(Downlink Time Difference of Arrival) |
| DS-TWR | 双边双向测距(Double-Sided Two-Way Ranging) |
| DTM | DL-TDoA 消息(DL-TDoA Message) |
| DTPCM | 数据传输协议控制消息(Data Transfer Protocol Control Message) |
| DTPML | 数据传输协议管理列表(Data Transfer Protocol Management List) |
| eSS-TWR | 增强型单边双向测距(Enhanced Single-Sided Two-Way Ranging) |
| FCS | 帧校验序列(Frame Check Sequence) |
| FoM | 品质因数(Figure of Merit) |
| GID | 组标识符(Group Identifier) |
| HPRF | 高脉冲重复频率(Higher Pulse Repetition Frequency) |
| HUS | 混合 UWB 调度(Hybrid UWB Scheduling) |
| kbps | 千比特每秒(Kilobits per second) |
| LL | 链路层(Link Layer) |
| LoS | 视距(Line of Sight) |
| lsb | 最低有效位(least significant bit) |
| LSB | 最低有效字节(Least Significant Byte) |
| MAC | 介质访问控制(Medium Access Control) |
| MRM | 测量报告消息(Measurement Report Message) |
| ms | 毫秒(millisecond) |
| msb | 最高有效位(most significant bit) |
| MSB | 最高有效字节(Most Significant Byte) |
| MT | 消息类型(Message Type) |
| NLoS | 非视距(Non-Line of Sight) |
| ns | 纳秒(Nano second) |
| O2M | 一对多(One-to-many) |
| O2O | 一对一(One-to-one) |
| OID | 操作码标识符(Opcode Identifier) |
| OWR | 单向测距(One-Way Ranging) |
| PBF | 数据包边界标志(Packet Boundary Flag) |
| PDU | 协议数据单元(Protocol Data Unit) |
| PHR | PHY 头部(PHY Header) |
| PHY | 物理层(Physical Layer) |
| PRF | 脉冲重复频率(Pulse Repetition Frequency) |
| PSDU | PHY 服务数据单元(PHY service Data Unit) |
| RCM | 测距控制消息(Ranging Control Message) |
| RCP | 测距控制阶段(Ranging Control Phase) |
| RDML | 测距设备管理列表(Ranging Device Management List) |
| RFRAME | 测距帧(Ranging frame) |
| RFU | 保留供将来使用(Reserved for Future Use) |
| RIM | 测距发起消息(Ranging Initiation Message) |
| RR | 测距轮(Ranging Round) |
| RRML | 测距轮管理列表(Ranging Round Management List) |
| RRRM | 测距结果报告消息(Ranging Result Report Message) |
| RSP | 响应消息(Response Message) |
| RSTU | 测距调度时间单元(Ranging Scheduling Time Unit) |
| SFD | 帧起始定界符(Start of Frame Delimiter) |
| SP0 | STS 数据包配置 0(STS Packet Configuration 0) |
| SP1 | STS 数据包配置 1(STS Packet Configuration 1) |
| SP3 | STS 数据包配置 3(STS Packet Configuration 3) |
| SS-TWR | 单边双向测距(Single-Sided Two-Way Ranging) |
| STS | 加扰时间戳序列(Scrambled Timestamp Sequence) |
| TDoA | 到达时间差(Time Difference of Arrival) |
| TWR | 双向测距(Two-Way Ranging) |
| UCI | UWB 命令接口(UWB Command Interface) |
| UL | 上层(Upper Layer) |
| UL-TDoA | 上行到达时间差(Uplink Time Difference of Arrival) |
| UTM | 上行 TDoA 消息(Uplink TDoA Message) |
| UWB | 超宽带(Ultra-wideband) |
| UWBS | UWB 子系统(UWB Subsystem) |
表 2 - 术语(Terms)
| 术语(Term) | 定义(Definition) |
|---|---|
| 应用数据(Application Data) | 由应用创建和管理,并在同一应用的两个实例之间交换的数据。 |
| Aliro UWB 读取器(Aliro UWB Reader) | Aliro 规范(链接)中定义的读取器(Reader)。 |
| Aliro UWB 用户设备(Aliro UWB User Device) | Aliro 规范(链接)中定义的用户设备(User Device)。 |
| 旁路(Bypass) | 无任何 LL 传输服务支持的应用数据交换。 |
| 时钟频率偏移(Clock Frequency Offset) | 发射机与接收机参考振荡器频率之间的差值,以 ppm 为单位。当发射机振荡器的工作频率高于接收机振荡器时,该值应为正值;当发射机振荡器的工作频率低于接收机振荡器时,该值应为负值(参见 [PHY] 第 6.9.1.6.2 节)。 |
| 命令(Command) | 由主机发送给 UWBS 的 UCI 消息。 |
| 无连接(Connection-less) | 一种 LL 传输服务,增加最少的协议复杂度以实现无确认的数据交换。 |
| 面向连接(Connection-oriented) | 一种 LL 传输服务,确保按序递交和带确认的数据交换。 |
| 受控器(Controlee) | 一种 FiRa 设备,使用由控制器(Controller)通过控制消息配置的测距功能。参见 [MAC] 第 5.1.2 章。 |
| 控制器(Controller) | 一种 FiRa 设备,通过发送控制消息(Control Message, CM)来定义和控制测距功能。参见 [MAC] 第 5.1.1 章。 |
| DT 锚点(DT-Anchor) | 一种 FiRa 设备,发送下行 TDoA 消息(Downlink TDoA Message, DTM),DT 标签(DT-Tag)可基于 TDoA 定位利用这些消息来计算其位置。 |
| 最终 DTM(Final DTM) | 发起方 DT 锚点(Initiator DT-Anchor)在接收到来自响应方 DT 锚点(Responder DT-Anchor)的一个或多个响应 DTM(Response DTM)后发送的 UWB 消息。 |
| FiRa 核心技术规范(FiRa Core Specifications) | 定义 FiRa 协议栈下层的一组技术规范,这些下层通常在硬件中实现,具体包括:
|
| FiRa 设备(FiRa Device) | [IEEE_802_15_4_2020] 中定义的增强型测距设备(Enhanced Ranging Device)。 |
| 主机(Host) | 负责对 UWB 子系统(UWBS)进行总体管理和控制的执行环境,包括对 UWB 子系统的管理(例如初始化、配置、电源管理等)。 |
| 发起方(Initiator) | 一种 FiRa 设备,通过发送第一个 RFRAME(即测距发起消息(Ranging Initiation Message, RIM))来发起测距交互。 |
| 发起方 DT 锚点(Initiator DT-Anchor) | 通过发送轮询 DTM(Poll DTM)来发起 TDoA 测距轮的 DT 锚点,它可以调度其响应方 DT 锚点的发送时间。 |
| 通知(Notification) | 由 UWBS 异步发送给主机的 UCI 消息。 |
| 轮询 DTM(Poll DTM) | 由发起方 DT 锚点发送以发起 TDoA 测距轮的 UWB 消息。 |
| 测距刻度(Ranging Ticks) | 通常用于测距飞行时间(ToF)和 TDoA 估计的时间戳刻度(tick)。每个刻度约表示 15.65 ps,即 499.2 MHz 码片周期的 2⁻⁷。 |
| 响应方(Responder) | 一种 FiRa 设备,响应从发起方接收到的测距发起消息(RIM)。 |
| 响应(Response) | 由 UWBS 发送给主机以响应某个命令的 UCI 消息。 |
| 响应 DTM(Response DTM) | 由响应方 DT 锚点作为对轮询 DTM 的响应而发送的 UWB 消息。 |
| 响应方 DT 锚点(Responder DT-Anchor) | 在已调度的测距时隙中以响应 DTM 响应其发起方 DT 锚点的 DT 锚点。 |
| RFU | 保留供将来使用(Reserved for Future Use)。 |
| 会话句柄(Session Handle) | 由 UWBS 生成的唯一编号,用于标识 UWB 会话。在主机与 UWBS 之间任何特定于会话的 UCI 消息中,主机和 UWBS 使用会话句柄作为某个 UWB 会话的引用。 |
| 子会话 ID(Sub-session ID) | 由控制器分配给参与一对多(one-to-many)UWB 会话的受控器的 32 位随机整数。 |
| UCI | 主机与 UWB 子系统(UWBS)之间的逻辑接口。 |
| UCI 控制消息(UCI Control Message) | 在主机与 UWBS 之间发送的 UCI 命令、响应或通知消息。 |
| UCI 数据消息(UCI Data Message) | 用于向 UWBS 传输应用数据的 UCI 消息。 |
| UCI 数据包(UCI Data Packet) | 用于承载 UCI 数据消息的 UCI 数据包。 |
| UCI 消息(UCI Message) | 承载在一个或多个 UCI 数据包中的 UCI 控制消息或 UCI 数据消息。 |
| UCI 传输(UCI Transport) | 在主机与 UWBS 之间承载 UCI 数据包的逻辑通信协议。 |
| UWB 命令接口(UWB Command Interface) | 主机与 UWBS 之间的逻辑接口。 |
| UWB 启动时间(UWB Initiation Time) | UWBS 准备好发送或接收 UWB 消息时的 UWBS 时间。 |
| UWB 子系统(UWB Subsystem, UWBS) | 实现 FiRa 核心技术规范的硬件组件。 |
| UWBS 时间(UWBS Time) | UWBS 的绝对时间。 |
3 约定(Conventions)
本文档中的关键词 MUST(必须)、MUST NOT(禁止)、REQUIRED(要求)、SHALL(应)、SHALL NOT(不应)、SHOULD(宜)、SHOULD NOT(不宜)、RECOMMENDED(推荐)、MAY(可)和 OPTIONAL(可选)应按照 [RFC_2119] 中的描述进行解释。
在本文档中,一些术语以每个单词首字母大写、其余小写的形式印刷(例如 Sequence Number)。这些单词的任何小写用法均具有通常的技术英语含义。
应遵循以下编码约定。
- 每个八位位组(octet)由位 b0 到 b7 表示,其中 b7 是最高有效位(most significant bit, msb),b0 是最低有效位(least significant bit, lsb)。在所有表示法中,最左边的位是 msb。当在单个表格条目中描述更多位时,编号应从最低有效位(b0)开始。在每个八位位组内,msb 在时间上最先发送。
- 所有数字均通过 UCI 传输以小端(Little Endian)格式发送和接收,这意味着最低有效八位位组(即小端格式中编号为 0 的八位位组)在时间上最先发送。
- 八位位组数组必须从八位位组 0 开始,按递增顺序逐八位位组发送。
- 本文档对数字使用以下表示法:
- 数字以十进制(nnn)、二进制(0bnnn)或十六进制(0xnnn;使用大写字母)表示法表示,并标明位数。例如,
0b001是值为 1 的 3 位二进制数,0x001是值为 1 的 3 位十六进制数。除非另有明确定义,否则字段中编码的数字为有符号或无符号整数。其他格式(例如包含浮点数的字段)在适用的字段定义中说明。 - 除非在字段定义中另有说明,否则字段中的值应被视为无符号值。
- 二进制值不应有分隔符。
示例:
0b11110101
- 小于或等于 4 个八位位组的十六进制值不应有分隔符。大于 4 个八位位组的十六进制值,若可提高可读性,可使用
_(下划线)作为分隔符。示例:
0xF50xF1F2F3F40xF1F2F3F4F5F6F7F8或0xF1F2F3F4_F5F6F7F8
Octet [x]指八位位组数组中索引 x 处的值。Octet [m: n]指值的范围。{x, y, z ..}表示任一可能的值。
- 数字以十进制(nnn)、二进制(0bnnn)或十六进制(0xnnn;使用大写字母)表示法表示,并标明位数。例如,
在本文档中,对于定义为保留供将来使用(Reserved for Future Use, RFU)的字段或值,适用以下规则:
- 对于包含部分八位位组或位被定义为 RFU 的字段的 UCI 消息,发送方应将这些八位位组或位设置为本文档中指定的值;如果未给出值,则应设置为零。
- 对于包含部分八位位组或位被定义为 RFU 的字段的 UCI 消息,除非另有明确说明,否则接收方应忽略这些八位位组或位,并应对整个消息中其他任何字段保持相同的解释。
标记为 "Assigned"(已分配)的参数值表示该值已针对特定的未来用例进行了分配,其用法将在未来版本中规定。
4 UCI 核心框架(UCI Core Framework)
4.1 概述(Overview)
UCI 核心框架包含以下必需的核心功能。
- 用于通过 UCI 传输命令(Command)、响应(Response)和通知(Notification)消息的包格式。
- 用于主机(Host)与 UWB 子系统(UWBS, UWB Subsystem)之间各种操作的命令、响应和通知的定义。
- 用于命令/响应消息交换的流控(Flow Control)机制。
- 所有 UCI 消息的分段与重组(Segmentation and Reassembly)(见第 4.5.5 节)。
- UWBS 的复位、初始化和配置。
4.2 UCI 架构(UCI Architecture)
下图概述了支持 UWB 的设备的参考架构。在本节中,UCI 被视为逻辑传输层;本规范不涉及物理接口信号处理。
图 1 - UCI 架构(UCI architecture)
源文档第 20 页
4.3 UCI 控制消息(UCI Control Messages)
主机使用 UCI 控制消息(Control Message)来控制和配置 UWBS 设备。控制消息由命令、响应和通知组成。命令仅允许沿主机到 UWBS 的方向发送,而响应和通知仅允许沿相反方向发送。控制消息在 UCI 控制包(Control Packet)中传输,并且 UCI 支持将控制消息分段为多个包(Packet)。
图 2 - 控制消息交换(Control Message Exchange)
源文档第 21 页
主机可以发送命令以指示 UWBS 执行特定操作。对于收到的每个命令,UWBS 应以响应进行答复,以确认收到该命令。响应还可以指示该命令在 UWBS 处所引起的变化。通知仅应从 UWBS 发送到主机。可以发送通知以传递与命令相关的附加信息。除非另有说明,通知也可以独立于任何命令或响应进行发送。
控制消息的载荷(payload)作为控制包的载荷通过 UCI 传输进行发送。控制包包含完整的控制消息载荷或控制消息载荷的一个分段。MAX_CTRL_PACKET_PAYLOAD_SIZE 为 255 个 octet(八位组)。
4.3.1 控制消息的流控(Flow Control for Control Messages)
主机和 UWBS 可以通过 UCI 传输以所需数量的包来发送完整的控制消息。UCI 中对控制消息没有基于包的流控。
以下流控规则适用于控制消息:
- 在发送命令之后,主机在收到该命令的响应之前不应发送任何命令。如果在两秒内未收到响应,主机应恢复与 UWBS 交换消息的能力。
- 在发送命令之后,主机应能够接收响应。
- 在发送响应之后,UWBS 应准备好接收来自主机的下一个命令。
- 主机应能够在任何时候接收来自 UWBS 的通知。
4.3.2 控制消息的异常处理(Exception Handling for Control Messages)
本节中的规则定义了接收方对错误控制消息应执行的异常处理。主机收到的任何命令都应被忽略。
对于能够确定控制消息类型但包含错误的控制消息,应按如下方式处理:
- 如果控制消息是命令,则 UWBS 应忽略该命令的内容,并发送一个响应,该响应具有与该命令相同的组标识符(
GID, Group Identifier)和操作码标识符(OID, Opcode Identifier)字段值,并带有一个指示错误的状态(Status)值(例如STATUS_SYNTAX_ERROR)。 - 如果控制消息是响应,则主机应忽略该响应的内容,并且可以自由地发送另一个命令。
- 如果控制消息是通知,则主机应忽略该通知。
UWBS 应对未知命令(未知的 GID 或 OID)作出响应,发送一个具有与该命令相同 GID 和 OID 字段值的响应,后跟一个状态字段,其值分别为 STATUS_UNKNOWN_GID/STATUS_UNKNOWN_OID,并且不附带任何附加字段。
主机应忽略任何未知的响应或通知(未知的 GID 或 OID)。
控制消息末尾的附加 octet 应被忽略,并且不应被视为错误。
4.4 UCI 数据消息(UCI Data Messages)
UCI 用作从主机到 UWBS 或从 UWBS 到主机进行数据传输的传输信道。UWBS 应通过 MAX_DATA_PACKET_PAYLOAD_SIZE 能力参数(capability parameter)提供有关其能够接收或发送的最大 UCI 数据包载荷大小的信息。见第 8.6 节。
在发送时,主机将应用数据(Application Data)封装到如图 5 所示的 UCI 数据消息 DATA_MESSAGE_SND/LL_DATA_MESSAGE_SND 中。然后,该 UCI 数据消息作为一个 UCI 数据包的载荷传输到 UWBS(见图 3),或者被分段为多个发往 UWBS 的 UCI 数据包。UWBS 应接收并重组该 UCI 数据消息的各分段,并将应用数据转发到下层(见图 4)。将 UCI 数据消息分段为用于 UCI 传输的 UCI 数据包,并不对 UWBS 如何通过空中接口(over the air)传输应用数据作出预设。
当 UWBS 通过空中接口接收到应用数据时,UWBS 将其封装到 UCI 数据消息 DATA_MESSAGE_RCV/LL_DATA_MESSAGE_RCV 中,该消息作为一个 UCI 数据包的载荷或多个发往主机的 UCI 数据包传输到主机。主机应在将该 UCI 数据消息暴露给上层之前,接收并重组其所有 UCI 数据包。
主机应支持由 UWBS 传输的任何 UCI 数据消息大小。在任何时候,从主机发送到 UWBS 的最大 UCI 数据消息大小都不应超过 UWBS 所报告的 MAX_DATA_MESSAGE_SIZE 能力参数的值。
主机不应交错发送不同 UCI 数据消息的 UCI 数据包:即在前一个 UCI 数据消息完整地发送到 UWBS 之前,不应发送新的 UCI 数据消息。
图 3 - 应用数据 UCI 传输非分段情形(Application Data UCI transport non-segmented case)
源文档第 23 页
图 4 - 应用数据 UCI 传输分段情形(Application Data UCI transport segmented case)
源文档第 24 页
图 5 - UCI 数据消息(UCI Data Messages)
源文档第 25 页
4.4.1 UCI 数据消息的流控(Flow Control for UCI Data Messages)
为从主机发送到 UWBS 的数据定义了基于信用(credit)的数据流控机制,并使用信用通知来同步从主机到 UWBS 的应用数据传输。信用针对每个会话(session)单独跟踪。基于信用的流控机制适用于 UCI 数据消息。
流控规则适用于 UCI 数据消息:
- 当一个或多个会话处于活动状态(
SESSION_STATE_ACTIVE)时,主机应能够在任何时候接收来自 UWBS 的 UCI 数据消息。 - 如果某个会话的会话状态为活动(
SESSION_STATE_ACTIVE),则主机可以为该会话向 UWBS 发送 UCI 数据消息。 - 对从主机发送到 UWBS 的 UCI 数据消息的处理应以同步方式完成。在为给定会话发送了一个 UCI 数据包之后,主机在收到
SESSION_DATA_CREDIT_NTF之前,不应再为同一会话向 UWBS 发送任何新的 UCI 数据包。 - 对于某个会话,如果 UWBS 已通知主机其没有用于接收该会话的 UCI 数据包的信用,则主机不应向 UWBS 发送任何 UCI 数据包。在这种情况下,主机应等待,直到 UWBS 发送另一个指示该会话有可用信用的通知之后,再为该会话向 UWBS 发送任何额外的 UCI 数据包。主机仍然可以为另一个有可用信用的会话向 UWBS 发送 UCI 数据包。
4.5 包格式(Packet Formats)
4.5.1 公共包头(Common Packet Header)
图 6 - UCI 核心包格式(UCI Core packet format)
源文档第 26 页
所有包都具有公共包头,如图 6 所示,由消息类型(MT, Message Type)字段和包边界标志(PBF, Packet Boundary Flag)字段组成。
Message Type (MT)
MT 字段指示包的内容,应为 3 位字段,包含表 3 中所列的值之一。Information 字段的内容取决于 MT 字段的值。接收到被指定为 RFU 的 MT 的接收方应丢弃该包。
表 3 - MT 取值(MT Values)
| MT | 描述(Description) |
|---|---|
0b000 | UCI 数据包(见第 4.5.3 节) |
0b001 | 控制包 – 以命令消息作为 Information |
0b010 | 控制包 – 以响应消息作为 Information |
0b011 | 控制包 – 以通知消息作为 Information |
0b100 | 保留用于测试 |
0b101 | 保留用于测试 |
0b110 – 0b111 | RFU |
Packet Boundary Flag (PBF)
包边界标志(PBF)用于分段与重组,应为 1 位字段,包含表 4 中所列的值之一。
表 4 - PBF 取值(PBF Values)
| PBF | 描述(Description) |
|---|---|
0b0 | 该包包含完整消息,或该包包含分段消息的最后一个分段 |
0b1 | 该包包含消息的某个分段,且该分段不是最后一个分段 |
以下规则适用于包中的 PBF:
- 如果包包含完整消息,则
PBF应设置为0b0。 - 如果包包含分段消息的最后一个分段,则
PBF应设置为0b0。 - 如果包不包含分段消息的最后一个分段,则
PBF应设置为0b1。
4.5.2 控制包格式(Format of Control Packets)
图 7 - UCI 控制包格式(UCI Control packet format)
源文档第 27 页
每个控制包应具有一个 4 octet 的包头(Packet Header),并且可以具有一个或多个载荷 octet,用于承载控制消息载荷或控制消息载荷的一个分段。
Message Type (MT)
有关 MT 字段的详情,参见表 3。
Packet Boundary Flag (PBF)
有关 PBF 字段的详情,参见表 4。
Group Identifier (GID)
UCI 命令、响应和通知根据它们各自所属的组进行分类。组标识符(GID)指示消息的分类,应为 4 位字段,包含表 70 中所列的值之一。
Opcode Identifier (OID)
操作码标识符(OID)指示控制消息的标识,应为 6 位字段,是组内一组命令、响应消息的唯一标识。OID 的值连同表 70 中所描述的相应控制消息的定义一起定义。
Payload Length (L)
载荷长度(Payload Length)应指示 UCI 包载荷中存在的 octet 数量。载荷长度字段应为 8 位字段,包含从 0 到 MAX_CTRL_PACKET_PAYLOAD_SIZE 的值。
4.5.3 UCI 数据包格式(Format of UCI Data Packets)
图 8 - UCI 数据包格式(UCI Data packet format)
源文档第 28 页
每个 UCI 数据包应具有一个 4 octet 的包头,并且应具有附加的载荷,用于承载 UCI 数据消息载荷或 UCI 数据消息载荷的一个分段。
Message Type (MT)
有关 MT 字段的详情,参见表 3。
Packet Boundary Flag (PBF)
有关 PBF 字段的详情,参见表 4。
Data Packet Format (DPF)
数据包格式(DPF, Data Packet Format)指示 UCI 数据包的方向,即从主机到 UWBS 或从 UWBS 到主机。
表 5 - DPF 取值(DPF Values)
| DPF | 描述(Description) |
|---|---|
0b0000 | RFU |
0b0001 | 数据包格式(DATA_MESSAGE_SND):主机使用旁路 LL 模式(Bypass LL Mode)向 UWBS 发送应用数据 |
0b0010 | 数据包格式(DATA_MESSAGE_RCV):主机使用旁路 LL 模式从 UWBS 接收应用数据 |
0b0011 | 逻辑链路数据包格式(LL_DATA_MESSAGE_SND):主机使用逻辑链路模式(Logical Link Mode)向 UWBS 发送应用数据 |
0b0100 | 逻辑链路数据包格式(LL_DATA_MESSAGE_RCV):主机使用逻辑链路模式从 UWBS 接收应用数据 |
0b0101 – 0b1111 | RFU |
Payload Length (L)
载荷长度应指示 UCI 包载荷中存在的 octet 数量。载荷长度字段应为 16 位字段,包含从 0 到 MAX_DATA_PACKET_PAYLOAD_SIZE 的值,其中第一个 octet 为最低有效字节(LSB, Least Significant Byte),第二个 octet 为最高有效字节(MSB, Most Significant Byte)。
4.5.4 测试用控制消息格式(Format of Control Message for Testing)
图 9 - 测试用 UCI 控制消息格式(UCI Control Message Format for Testing)
源文档第 29 页
在使用 MT 值 0b100 或 0b101 时,应使用上述控制消息格式。有关该控制消息用法的更多详情,参见 [USB_VCOM]。
4.5.5 分段与重组(Segmentation and Reassembly)
分段与重组功能应同时由主机和 UWBS 支持。以下规则适用于分段:
- 每个分段的包头都应包含相同的
MT。 - 仅针对控制消息:每个分段的包头都应包含相同的
GID和OID值。 - 当消息(即"UCI 控制消息"或"UCI 数据消息")的大小大于最大包载荷长度(即对于 UCI 控制消息为
MAX_CTRL_PACKET_PAYLOAD_SIZE,或对于 UCI 数据消息为MAX_DATA_PACKET_PAYLOAD_SIZE)时,应使用分段与重组功能。
5 UWBS 设备状态机(UWBS Device State Machine)

图 10 - UWBS 状态转换(UWBS State Transition)
源文档第 30 页
主机(Host)应维护 UWBS 设备状态(UWBS Device State)。从一个状态到另一个状态的每一次转换都伴随着相应的 UCI 命令(Command)、响应(Response)或通知(Notification),因此主机和 UWBS 都能够始终明确地知晓当前的 UWBS 设备状态。当不存在活动会话(active session)时,设备状态应从 DEVICE_STATE_ACTIVE 转换到 DEVICE_STATE_READY。当至少一个 UWB 会话被激活(即 UWB 会话从 SESSION_STATE_IDLE 转换到 SESSION_STATE_ACTIVE)时,UWBS 应从 DEVICE_STATE_READY 设备状态转换到 DEVICE_STATE_ACTIVE 设备状态。
在 UWBS 上电之后,有可能发生 UWBS 无法正确启动的情况。在这种情况下,它会进入 DEVICE_STATE_ERROR 状态。
5.1 状态 DEVICE_STATE_READY(State DEVICE_STATE_READY)
该状态是 UWBS 上电后或收到主机发来的 CORE_DEVICE_RESET_CMD 后的第一个状态。在该状态下,UWBS 可以接受所有 UCI 命令。一旦至少一个 UWB 会话被转换到活动状态(即开始测距),UWBS 就应立即转换到 DEVICE_STATE_ACTIVE 设备状态。在 DEVICE_STATE_READY 设备状态下,UWBS 可以进入低功耗模式(low power mode)。当 LOW_POWER_MODE 配置被使能时,UWBS 何时进入低功耗模式由具体实现决定。在所有会话都从 SESSION_STATE_ACTIVE 转换到 SESSION_STATE_IDLE 状态之后,UWBS 应被设置为 DEVICE_STATE_READY 设备状态。
5.2 状态 DEVICE_STATE_ACTIVE(State DEVICE_STATE_ACTIVE)
如果至少一个 UWB 会话处于 SESSION_STATE_ACTIVE 会话状态,UWBS 应从 DEVICE_STATE_READY 转换到 DEVICE_STATE_ACTIVE 设备状态。在该状态下,UWBS 可以接受 UWB 会话配置命令。如果不存在活动的 UWB 会话,即没有 UWB 会话处于 SESSION_STATE_ACTIVE 会话状态,那么 UWBS 应转换到 DEVICE_STATE_READY 设备状态。当第一个会话在发送会话状态通知之前被激活时,UWBS 应被设置为 DEVICE_STATE_ACTIVE 设备状态。
在该状态下,UWBS 应接受除核心控制命令(core control command)之外的所有命令,但有以下例外。
- UWBS 应接受处于任何设备状态下的
CORE_DEVICE_RESET_CMD和CORE_GET_CONFIG_CMD命令
5.3 状态 DEVICE_STATE_ERROR(State DEVICE_STATE_ERROR)
如果遇到任何不可恢复的错误,UWBS 可以转换到 DEVICE_STATE_ERROR 设备状态。主机应发出 CORE_DEVICE_RESET_CMD 命令来复位 UWBS,或者如果 CORE_DEVICE_RESET_CMD 命令没有被 UWBS 响应,则主机应对 UWBS 执行断电再上电(power cycling)。
6 UCI 核心控制消息(UCI Core Control Messages)
以下描述属于 UCI 核心(UCI Core)部分的命令、响应和通知。除了 CORE_DEVICE_RESET_CMD 命令和 CORE_GET_CONFIG_CMD 之外,核心控制消息仅在 DEVICE_STATE_READY 设备状态下被接受。CORE_DEVICE_RESET_CMD 和 CORE_GET_CONFIG_CMD 在任何 UWBS 设备状态下都被接受。
当 UWBS 处于 DEVICE_STATE_ACTIVE 设备状态时,除了 CORE_DEVICE_RESET_CMD 和 CORE_GET_CONFIG_CMD 之外,UWBS 应拒绝所有核心控制消息。
6.1 UWBS 初始化(Initialization of UWBS)
初始化过程由厂商(vendor)具体规定,并且一旦 UWBS 已上电并完成初始化,主机应通过 CORE_DEVICE_STATE_NTF 通知得到告知,其中设备状态被设置为 DEVICE_STATE_READY。在主机收到设备状态被设置为 DEVICE_STATE_READY 的 CORE_DEVICE_STATE_NTF 通知之前,主机不应发送任何命令。
主机应发送 CORE_GET_DEVICE_INFO_CMD 来检索设备信息,例如(UCI 版本及其他厂商特定信息)。UWBS 应以下文所示的 CORE_GET_DEVICE_INFO_RSP 进行响应,其中包含所有设备信息。
表 6 - 获取设备信息的控制消息(Control Messages to get the Device Information)
| 载荷字段(Payload Field(s)) | 长度(Length) | 取值/描述(Value/Description) |
|---|---|---|
| Command | 0 | 从 UWBS 获取设备信息数据 |
CORE_GET_DEVICE_INFO_RSP
| 载荷字段(Payload Field(s)) | 长度(Length) | 取值/描述(Value/Description) |
|---|---|---|
| Status | 1 Octet | 各种状态值参见表 71。 如果 status 不是 STATUS_OK,主机应忽略下面的其他参数。 |
| UCI Version | 2 Octets | FiRa® UWB Command Interface (UCI) Technical Specification 版本。 Octet [0]:主版本号(Major number) Octet [1]:次版本号和修订版本号(Minor and Maintenance number) Octet [1] 的 b0-b3 表示修订版本(Maintenance version),Octet [1] 的 b4-b7 表示规范的次版本(Minor version)。 示例:主版本号 1、次版本号 2 和修订版本号 1,在 UCI 传输层报告为 0x01 0x21。实现本版本规范的 UWBS 应将主版本(Major Version)设置为 4,即 Octet [0] 为 0x04,并将次版本和修订版本各设置为 0,即 Octet [1] 为 0x00。 |
| MAC Version | 2 Octets | [MAC] 版本。 Octet [0]:主版本号(Major number) Octet [1]:次版本号和修订版本号(Minor and Maintenance number) Octet [1] 的 b0-b3 表示修订版本(Maintenance version),Octet [1] 的 b4-b7 表示规范的次版本(Minor version)。 示例:主版本号 1、次版本号 2 和修订版本号 1,在 UCI 传输层报告为 0x01 0x21。 |
| PHY Version | 2 Octets | [PHY] 版本。 Octet [0]:主版本号(Major number) Octet [1]:次版本号和修订版本号(Minor and Maintenance number) Octet [1] 的 b0-b3 表示修订版本(Maintenance version),Octet [1] 的 b4-b7 表示规范的次版本(Minor version)。 示例:主版本号 1、次版本号 2 和修订版本号 1,在 UCI 传输层报告为 0x01 0x21。 |
| UCI Extension Version | 2 Octets | [UCI-EXT] 版本。 Octet [0]:主版本号(Major number) Octet [1]:次版本号和修订版本号(Minor and Maintenance number) Octet [1] 的 b0-b3 表示修订版本(Maintenance version),Octet [1] 的 b4-b7 表示规范的次版本(Minor version)。 示例:主版本号 1、次版本号 2 和修订版本号 1,在 UCI 传输层报告为 0x01 0x21。 |
| Vendor Specific Information Length | 1 Octet | 厂商特定信息(vendor specific information)的长度。 |
| Vendor Specific Information | n Octets | 该字段包含 UWBS 厂商特定信息,例如以厂商特定模式编码的芯片版本(chip version)、芯片变体(chip variant)。 |
6.1.1 UCI 版本处理(UCI Version treatment)
主机可以支持不同的 UCI 版本,并可以选择最适合 UWBS 所报告的 UCI 版本的版本。
主机应将在 CORE_GET_DEVICE_INFO_RSP 中收到的 UWBS UCI 通用版本(UCI Generic Version)与其自身的 UCI 通用版本进行比较。如果主机的主版本和次版本与 UWBS 的 UCI 通用版本匹配,那么主机可以使用所有可用命令。如果主版本匹配但存在次版本不匹配,那么主机应继续通信,并且不应使用高于 UWBS 所报告次版本的命令、RFU 值或 RFU 字段。
主机版本 Y.0 应与 UWBS 版本 Y.x 通信,其中 Y ϵ {2,3,4, …} 且 x ϵ {0, 1, 2,…, 9}。
主机版本 Y.x(其中 x 大于 0)应与 UWBS 版本 Y.(x-n) 通信,其中 n ϵ {0, 1, …, x-1}(带有不使用 RFU 的约束,如上所述)。
如果主机不支持 UWBS 所报告的较低主版本,主机版本 Y.x 应停止通信。主机应继续与报告较高主版本号的 UWBS 通信。
主机与 UWBS 之间 2.0 以上的 UCI 版本将向后兼容(见下表)。
表 7 - UCI 版本控制与主机-UWBS 互操作性(UCI Versioning and Host-UWBS interoperability)
互操作性(Interoperability)
| HOST UCI Version | UWBS UCI Version | |||
|---|---|---|---|---|
| 1.x | 2.0 | 3.0 | 4.x | |
| 1.x | N/A | NO | NO | NO |
| 2.0 | NO | YES | YES | YES |
| 3.0 | NO | YES | YES | YES |
| 4.x | NO | YES | YES | YES |
表 7 图例:
YES:主机与 UWBS 之间互操作NO:主机与 UWBS 之间不互操作N/A:不适用于本 UCI 版本控制
6.2 UWBS 能力信息(UWBS Capability Information)
主机应使用 CORE_GET_CAPS_INFO_CMD 命令来获取 UWBS 的能力。UWBS 设备能力参数定义在表 72 中。主机应使用能力信息在与 UWBS 通信之前了解 UWBS 的能力。
表 8 - 查询设备能力的控制消息(Control Messages to Query Device Capability)
CORE_GET_CAPS_INFO_CMD
| 载荷字段(Payload Field(s)) | 长度(Length) | 取值/描述(Value/Description) |
|---|---|---|
| Command | 0 | 从 UWBS 获取能力数据 |
CORE_GET_CAPS_INFO_RSP
| 载荷字段(Payload Field(s)) | 长度(Length) | 取值/描述(Value/Description) |
|---|---|---|
| Status | 1 Octet | 各种状态值参见表 72。 |
| No of Capability Parameters | 1 Octet | 后续能力参数(TLV)的数量(m),其中 m 是 UWBS 报告的能力参数数量。 |
| Capability Parameters | (N+2) * m Octets | 以 TLV 形式表示的能力参数。 Type(T) = 1 octet Length(L) = 1 octet(N) Value(V) = 具有 N 个 octet 的参数值 能力参数详情参见表 72。 |
6.3 UWBS 配置(UWBS Configuration)
设备配置参数(Device Configuration Parameters)是与 UWBS 相关的设备特定配置参数,这些参数应在主机创建 UWBS 设备中的第一个会话之前由主机进行设置。表 67 包含所有参数的列表,并且所有参数都具有默认值。
CORE_SET_CONFIG_CMD/CORE_GET_CONFIG_CMD 命令用于设置和获取设备配置参数。
6.3.1 设置配置(Setting the Configuration)
这些控制消息用于在 UWBS 上设置配置参数。
表 9 - 用于设置设备配置的控制消息(Control Messages for Setting Device Configurations)
CORE_SET_CONFIG_CMD
| 载荷字段(Payload Field(s)) | 长度(Length) | 取值/描述(Value/Description) |
|---|---|---|
| Number of Parameters | 1 Octet | 后续参数(TLV)的数量(n)。 下面每个参数均为 TLV 结构。 |
| Parameter [1..n] | (m+2)*n Octets | |
| Type | 1 Octet | 配置参数的标识符。 ID 列表参见表 67。 |
| Length | 1 Octet | Value(m) 的长度。 如果 Length 等于 0x00,则省略 Value 字段,并且 UWBS 应将该配置参数设置为其默认值。 |
| Value | m Octets | 配置参数的值。 |
CORE_SET_CONFIG_RSP
| 载荷字段(Payload Field(s)) | 长度(Length) | 取值/描述(Value/Description) |
|---|---|---|
| Status | 1 Octet | 各种状态值参见表 71。 |
| Number of Parameters | 1 Octet | 后续 Parameter ID 字段的数量(n)。 如果 status 为 STATUS_OK,则该值应为 0x00 并且不列出任何 Parameter ID。如果 status 为除 STATUS_OK 之外的值,则该值应指示后续 Parameter ID 字段的数量(n)。 |
| Parameter [1..n] | 2*n Octets | |
| ID | 1 Octet | 无效配置参数的标识符。 ID 列表参见表 67。 |
| Status | 1 Octet | STATUS_INVALID_PARAM/STATUS_INVALID_RANGE |
UWBS 中的所有设备配置参数都被设置为表 67 中的默认值,但主机可以使用 CORE_SET_CONFIG_CMD 来更改这些值。UWBS 应以 CORE_SET_CONFIG_RSP 进行响应,并通过设置 Status 来指示这些配置参数的设置是否成功。STATUS_OK 的 Status 应指示 UWBS 中所有配置参数都已被设置为这些新值。
如果主机尝试设置一个在 UWBS 中不可用的参数,UWBS 应以 CORE_SET_CONFIG_RSP 进行响应,将 Status 字段设置为 STATUS_INVALID_PARAM 并包含一个或多个无效的 Parameter ID。所有其他配置参数应已在 UWBS 中被设置为新值。
如果 CORE_SET_CONFIG_CMD 命令的载荷大于 MAX_CTRL_PACKET_PAYLOAD_SIZE,则适用第 4.5 节中定义的规则。
6.3.2 检索配置(Retrieve the Configuration)
这些控制消息由主机用于检索 UWBS 的当前配置参数。
表 10 - 用于检索设备配置的控制消息(Control Messages for Retrieving Device Configurations)
CORE_GET_CONFIG_CMD
| 载荷字段(Payload Field(s)) | 长度(Length) | 取值/描述(Value/Description) |
|---|---|---|
| Number of Parameters | 1 Octet | 后续 Parameter ID 字段的数量(n)。 |
| Parameter ID [1..n] | 1*n Octets | 配置参数的标识符。 ID 列表参见表 67。 |
CORE_GET_CONFIG_RSP
| 载荷字段(Payload Field(s)) | 长度(Length) | 取值/描述(Value/Description) |
|---|---|---|
| Status | 1 Octet | 各种状态值参见表 71。 |
| Number of Parameters | 1 Octet | 后续以 TLV 表示的参数数量(n)。 |
| Parameter [1..n] | (m+2)*n Octets | |
| Type | 1 Octet | 配置参数的标识符。 ID 列表参见表 67。 |
| Length | 1 Octet | Value(m) 的长度。 如果 Length 等于 0x00,则省略 Value 字段。 |
| Value | m Octets | 配置参数的值。 |
主机可以使用 CORE_GET_CONFIG_CMD 来检索 UWBS 的当前配置参数。如果 UWBS 能够响应所有请求的参数,UWBS 应以 Status 为 STATUS_OK 的 CORE_GET_CONFIG_RSP 进行响应。
STATUS_OK 的情况下,Parameter 值可以为"空",因此可以具有 0x00 的 Length 并且没有 Value 字段(例如,如果该 Parameter 的默认值为"空")。如果主机尝试检索任何在 UWBS 中不可用的参数,UWBS 应以 Status 字段为 STATUS_INVALID_PARAM 的 CORE_GET_CONFIG_RSP 进行响应,其中包含每个不可用的设备配置参数 Type,且其 Length 字段为零。在这种情况下,CORE_GET_CONFIG_RSP 不应包含 UWBS 中任何可用的参数。
STATUS_INVALID_PARAM)适用于主机尝试检索 UWBS 完全不支持的设备配置参数的情形。CORE_GET_CONFIG_CMD 中请求的其他参数是可用的,并且主机可以发起另一个 CORE_GET_CONFIG_CMD 来检索这些参数。6.4 设备状态通知(Device State Notification)
每当 UWBS 状态发生更新时,UWBS 应通过发送 CORE_DEVICE_STATE_NTF 来通知主机。可能的设备状态值如下表所示。
主机可以通过使用命令 CORE_GET_CONFIG_CMD 来主动获取 UWBS 的设备状态。该命令可由主机在任何 UWBS 设备状态下使用。
表 11 - 设备状态通知(Device State Notification)
CORE_DEVICE_STATE_NTF
| 载荷字段(Payload Field(s)) | 长度(Length) | 取值/描述(Value/Description) |
|---|---|---|
| Device State | 1 Octet | UWBS 设备状态。参见表 12。 |
表 12 - 设备状态值(Device State Values)
CORE_DEVICE_RESET_CMD
| 值(Value) | 状态/描述(State/Description) |
|---|---|
0x00 | RFU |
0x01 | DEVICE_STATE_READY – UWBS 已初始化,可接受 UWB 会话 |
0x02 | DEVICE_STATE_ACTIVE – UWBS 正忙于 UWB 会话 |
0x03 - 0x7F | RFU |
0x80 – 0xFE | 厂商特定(Vendor specific) |
0xFF | DEVICE_STATE_ERROR – UWBS 内部发生错误 |
6.5 UWBS 设备复位(UWBS Device Reset)
这些控制消息用于复位 UWBS。CORE_DEVICE_RESET_CMD 由主机发出以复位 UWBS,此时所有会话上下文被去初始化/销毁,内部状态被重新初始化。
该命令可在 UWBS 上电之后的任何时间发出。如果主机发送 CORE_DEVICE_RESET_CMD,主机应忽略除 CORE_DEVICE_RESET_RSP 之外的所有消息。
一旦主机收到 CORE_DEVICE_RESET_RSP,主机在收到设备状态为 DEVICE_STATE_READY 的 CORE_DEVICE_STATE_NTF 之前不应发送任何其他命令。
带有复位配置(Reset Config)"UWBS reset"的 CORE_DEVICE_RESET_CMD 命令表示所有进行中的会话被作废(invalidated),随后是设备特定的复位操作。
在收到 CORE_DEVICE_RESET_CMD 时,UWBS 应以 Status 设置为 STATUS_OK 的 CORE_DEVICE_RESET_RSP 进行响应,并开始其复位过程。在复位过程完成后,UWBS 应发送设备状态被设置为 DEVICE_STATE_READY 的 CORE_DEVICE_STATE_NTF,以指示 UWBS 已被复位。
表 13 - 用于复位 UWBS 的控制消息(Control Messages to Reset the UWBS)
| 载荷字段(Payload Field(s)) | 长度(Length) | 取值/描述(Value/Description) |
|---|---|---|
| Reset config | 1 Octet | 0x00 = UWBS reset。0x01-0xFF = RFU |
CORE_DEVICE_RESET_RSP
| 载荷字段(Payload Field(s)) | 长度(Length) | 取值/描述(Value/Description) |
|---|---|---|
| Status | 1 Octet | STATUS_OK各种状态值参见表 71。 |
6.6 通用错误(Generic Error)
该通知用于告知主机通用错误情况。该通知用于当错误无法使用响应消息中的错误状态进行通知时的错误情形。
为通知通用错误情况,UWBS 应向主机发送 CORE_GENERIC_ERROR_NTF,其中 Status 码标识错误情形。
主机在收到 Status 设置为 STATUS_UCI_MESSAGE_RETRY 的 CORE_GENERIC_ERROR_NTF 通知时,应重传相同的 UCI 消息。
表 14 - 用于通用错误的控制消息(Control Message for Generic Error)
CORE_GENERIC_ERROR_NTF
| 载荷字段(Payload Field(s)) | 长度(Length) | 取值/描述(Value/Description) |
|---|---|---|
| Status | 1 Octet | 参见表 71。 |