UFS UniPro

14 篇文章 ¥59.90 ¥99.00

一、架构

MIPI Unified Protocol (UniPro)为UFS传输出提供数据传输能力,其架构如下:

二、UniPro传输协议接口(UniPro数据面)

1、UniPro通过提供CPorts作为虚拟接口给上层应用和协议层提供一下数据传输服务:

T_CO_DATA.req( MessageFragment, EOM)

 UniPro服务端进行发送数据请求,注意UFS请求消息最后需要有EOM(EndOfMessage)flag

T_CO_DATA.cnf_L( L4CPortResultCode )

 由 UniPro 发送,用于报告消息(片段)传输请求的结果

T_CO_DATA.ind( MessageFragment, EOM, SOM, MsgStatus )

 由 UniPro 发送,用于向服务用户传送收到的消息(片段)

 附带SOM(StartOfMessage)通知UniPro服务端这是第一个消息片段,EOM通知UniPro服务端这是最后一个消息片段;

T_CO_DATA.rsp_L( )

<think>好的,用户现在想了解UFSUniPro层传输单位及命令格式。根据之前的对话,用户已经对UFS的分层结构有了一定了解,特别是应用层、传输层、数据链路层和物理层。现在他们深入到UniPro层,也就是UIC层,属于MIPI UniPro协议部分。 首先,我需要回顾之前提供的引用内容。引用[1]提到UniPro作为服务交付子系统,为UTP层提供传输能力,控制平面交互使用设备管理实体服务原语。引用[3]指出UniPro报文可以任意大小,但受T_MTU限制,且接收和发送的报文不同,可能不带EOM flag。同时,用户之前的问题中提到了物理层的帧结构,这可能与UniPro层的传输单位有关联。 用户的问题集中在传输单位和命令格式上,需要明确UniPro层的传输单位是什么,以及相关的数据结构和控制命令。根据引用,UniPro层的传输单位是报文(Packet),而报文会被切片成更小的传输单元(如PhyADAPT层的帧)。需要解释报文的结构,包括头部、载荷和校验部分,以及分片机制。 另外,用户提到了命令格式,但UniPro层本身属于传输层,可能不直接处理应用层的命令,而是负责封装和传输UTP层的UPIU。因此,需要说明UniPro如何将UPIU封装成报文,以及控制平面的命令,如设备管理原语(DME)的格式。 还需要注意用户之前的问题中提到的重叠命令不允许,这可能影响传输层的处理机制,但UniPro层主要负责可靠传输,所以需要提到错误检测和流控机制,如CRC校验和ARQ重传。 最后,要确保回答结构清晰,分点说明传输单位和命令格式,结合引用中的信息,特别是T_MTU限制、报文分片、控制平面交互等,并生成相关问题帮助用户深入理解。</think>根据UFS协议架构及MIPI UniPro层的技术规范,UniPro层的传输单位和命令格式设计如下: --- ### 一、UniPro层传输单位 #### 1. **基本传输单元:报文(Packet)** - 报文是UniPro层的核心传输单位,支持**可变长度**结构,但受制于**T_MTU(Transport Maximum Transmission Unit)**限制[^3] - **分层处理**: $$ \text{UTP层UPIU} \xrightarrow{封装} \text{UniPro报文} \xrightarrow{分片} \text{PhyADAPT层帧} $$ - **关键限制**: - 单个报文最大长度由链路层配置决定 - 超过T_MTU的报文需分片传输(例如1KB报文分片为多个256B物理帧) #### 2. **报文结构** ```plaintext +----------------+----------------+----------------+----------------+ | 头部 (32位) | 扩展头(可选) | 有效载荷 | CRC校验码 | | - 路由控制字段 | - QoS参数 | (UTP UPIU内容) | (32位循环冗余码)| | - 优先级标识 | - 流控制标记 | | | +----------------+----------------+----------------+----------------+ ``` - **分片机制**:报文在物理层会被拆分为**256B物理帧**,接收端重组报文[^3] --- ### 二、UniPro控制平面命令格式 #### 1. **设备管理实体(DME)命令** 用于链路初始化与配置,格式为: $$ \text{DME_CMD_TYPE(4B)} \mid \text{PAYLOAD(0-64B)} \mid \text{STATUS_CODE(2B)} $$ - **典型命令**: - `DME_LINKSTARTUP`:启动链路训练 - `DME_PWRMODE`:切换功耗模式 #### 2. **服务访问点(SAP)接口** 通过**T_CO_SAP**接口与UTP层交互,服务原语包含: ```plaintext +----------+----------+---------------------+ | 原语类型 | 参数长度 | 参数域(动态长度) | | (1B) | (1B) | (N*4B对齐) | +----------+----------+---------------------+ ``` - 示例:`CPort连接请求`原语包含CPort ID和QoS参数[^1] --- ### 三、关键特性 1. **传输可靠性**: - **CRC32校验**:每个报文尾部附加校验码 - **ARQ重传**:通过滑动窗口协议实现丢包重传 2. **流控制**: - 基于信用值的流量控制机制 - 支持多优先级数据通道 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

picaso77

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值