• 3.1 FiRa标准——UCI通用规范(一)


    FiRa UCI通用规范

    FiRa UWB Commmand Interface, 简写为UCI, UWB子系统命令接口。

    定义了UWB子系统(UWB Subsystem,UWBS)和主机之间的一种命令接口通信协议

    UCI规范规定了UWB子系统(UWB Subsystem,UWBS)和主机之间的一种命令接口通信协议。FiRa联盟技术工作组,以本文件为基础,开发相关功能的测试用例以及互操作性测试。

    UCI数据包的最大Payload为255字节。

    术语定义说明
    ERDEVEnhanced Ranging Device as defined in IEEE Std 802.15.4z-2020增强测距设备
    BPRFBase Pulse Repetition Frequency基础脉冲重复频率
    HPRFHigher Pulse Repetition Frequency高脉冲重复频率
    RCMRanging Control Message测距控制信息
    RFRAMERanging frame测距帧

    UCI核心框架

    UCI核心包括以下所需的核心功能:

    • 通过UCI传输命令、响应和通知消息的数据包格式
    • 主机与UWBS之间用于不同操作的命令、响应和通知定义
    • 命令/响应消息交换的流控制机制
    • 所有UCI消息的分段和重组
    • UWBS的重启、初始化和配置
      在这里插入图片描述

    UCI控制消息

    主机使用UCI控制消息来控制和配置UWBS设备。控制消息由命令、响应和通知组成。

    • 命令只允许从主机到UWBS的方向发送
    • 响应和通知只允许从UWBS到主机的方向

    控制消息在UCI控制分组中传输,且UCI支持将控制消息分割成多个包。

    主机可以发送命令来指示UWBS执行特定动作。对于收到的每个命令,UWBS都应当回复一个响应,以确认收到命令。该响应还可以指示命令在UWBS上引起的改变(回复相关状态、参数等)。
    通知只能从UWBS发送到主机,当要传递与命令相关的一些附加信息时可以发送通知。通知也可以独立于任何命令或响应发送,除非另有规定。
    控制消息的有效载荷通过UCI传输,作为控制包的有效载荷。一个控制包包含控制消息有效载荷的全部或部分。主机和UWBS都应能支持有效载荷为MAX_PAYLOAD_SIZE(255)字节的控制消息。
    因此,当通过UCI发送时,控制消息可以被分割成多个控制分组。

    控制消息的流控制

    主机和UWBS可以根据需要在UCI上以任意多的分组发送完整的控制消息。UCI中的控制消息没有基于数据包的流控制。
    以下流控制规则适用于控制消息:

    • 发送命令后,主机在未收到该命令的响应之前不能发送任何命令,或等待超时,可采取措施恢复与UWBS的交换消息的能力
    • 发送命令后,主机应该能够接收响应
    • 发送响应后,UWBS应该准备从主机接收下一个命令
    • 主机应该在任何时刻都可以接收UWBS的通知
    控制消息的异常处理

    主机收到任何命令都应被忽略。
    当收到有错误的控制消息,但控制消息的类型是可以确认的,则应按一下方式处理:

    • 如果控制消息是命令,则UWBS应忽略命令的内容,并发送具有与命令中相同的GID和OID字段值以及STATUS_SYNTAX_ERROR状态值。响应不应包含任何附加字段。
    • 如果控制消息是响应,则主机应忽略响应的内容,并可以自由发送另一条命令。
    • 如果控制消息是通知,主机应忽略该通知。

    UWBS收到未知命令(未知GID或OID)时应当响应一条具有相同GID和OID字段的响应,然后状态字段为STATUS_UNKNOWN_GID/STATUS_UNKNOWN_OID,且没有附加字段。
    主机应忽略所有未知响应或通知(未知GID或OID)。
    控制消息末尾附加的字节应被忽略,不被视为错误。

    数据包格式

    通用包头

    在这里插入图片描述

    消息类型(MT)
    MT字段指示数据包的内容,且应该在规定的3bit字段。信息字段的内容取决于MT字段的值。指定为RFU的MT在接收端应直接丢弃。
    在这里插入图片描述

    数据包边界标志(PBF)
    数据包边界标志用于分段和组包,为1bit字段。

    • 0b0,数据包包含完整的消息,或数据包包含分段消息的最后一段。
    • 0b1,数据包为分段数据,且不是最后一段。

    在主机和UWBS上都应该支持分段和重组功能。

    分段控制消息的一些规则:

    • 对于控制消息的每个段,控制包的报头应该包含相同的MT、GID和OID。
    • 从主控到UWBS:当从主机发送超过MAX_PAYLOAD_SIZE的命令消息到UWBS时,应当使用分段和重组功能。除最后一段外,命令消息的每一段都应包含MAX_PAYLOAD_SIZE字节的载荷。
    • 从UWBS到主控: 当从UWBS发送响应或通知超过MAX_PAYLOAD_SIZE时,也需要使用分段和重组功能。除最后一包数据,其他也都是MAX_PAYLOAD_SIZE 长度。

    通过这样的限制,可以保证在接收的一方,能够有效的进行数据的拼接与重组。

    控制包格式

    在这里插入图片描述

    每个控制分组应具有4个字节的分组报头,且可以具有一个或多个有效载荷,用于承载控制消息有效载荷或控制消息有效载荷的段。
    注意,对于空的控制消息,只有包头被发送。

    分组标识符(Group Identifier,GID)
    UCI支持命令、响应根据其独特的组分类进行。组标识符指示消息的分类,且应包含下列4bit字段。
    从当前的GID来看,包含了:

    • UCI核心组,用于UWBS的复位、状态、能力信息、参数配置、错误信息等。
    • UWB会话配置组,会话相关的信息,状态、数量、配置等。
    • UWB测距会话控制组,测距相关会话信息。
    • 供应商特定的命令组
    • 测试组,测试命令在【FiRa UWB UCI Test规格书】中进行了定义。
    • RFU

    操作码标识符(Opcode Identifier, OID)
    OID指示控制消息的标识,且应该是一个6bit的字段,该字段是组内一组命令、响应消息的唯一标识。

    载荷长度(L),指示当前消息的载荷长度,0到MAX_PAYLOAD_SIZE。

    GIDOID控制消息名描述
    UCI Core Group 0b00000b000000CORE_DEVICE_RESET_CMD
    CORE_DEVICE_RESET_RSP
    请求UWBS复位
    0b000001CORE_DEVICE_STATUS_NTF通知UWBS当前的状态
    暂略
    UWB会话配置组 0b00010b000000SESSION_INIT_CMD
    SESSION_INIT_RSP
    UWB会话创建请求
    0b000001SESSION_DEINIT_CMD
    SESSION_DEINIT_RSP
    请求注销UWBS会话
    其他指令暂略过
    UWB测距会话控制组 0b00100b000000RANGE_START_CMD
    RANGE_START_RSP
    RANGE_DATA_NTF
    激活UWB测距会话,UWBS设备测距会话激活后通知测距结果
    暂略
    0b0011 - 0b10000b000000 - 0b111111RFU保留未来使用
    Vendor Specific Group 0b1001-0b11000b000000 - 0b111111供应商自定义
    Test Group 0b11010b000000 - 0b111111测试组命令在FiRa UWB UCI测试规范中定义
    Vendor Specific Group 0b1110-0b11110b000000 - 0b111111供应商自定义

    注:表格中仅对GID的大类进行了描述,每个GID中的具体命令略过,若需要可参考FiRa官方文件。

    参考文档

    1、FiRa Consortium, UCI Generic Specification v1.1.0-0.9r0.pdf。

  • 相关阅读:
    Spring5从入门到精通(一)
    UI组件库Kendo UI for Vue入门指南 - 如何自定义主题
    DenseNet 浅析
    快速入门Flask微服务架构
    Amazon Lightsail——兼具亚马逊云科技的强大功能与 VPS 的简易性
    [论文笔记]涨点近5%! 以内容中心的检索增强生成可扩展的级联框架:Pistis-RAG
    【ML06】Learning Rate 学习率
    入门力扣自学笔记191 C++ (题目编号:1662)
    AUTOSAR中的Crypto Stack(一)--概述
    C++&QT 作业9
  • 原文地址:https://blog.csdn.net/luo58614013/article/details/132634308