MIPI UniPro® 统一协议规范 v2.0 1-4完整解读

MIPI UniPro® Specification for Unified Protocol Version 2.0 Full Overview

发布日期:2022 年 2 月 19 日
MIPI 董事会采纳日期:2022 年 6 月 15 日
替代版本:UniPro v1.8
引用规范:M-PHY® v5.0、设备描述块 (DDB) v1.0


一、版本概览与兼容性

1.1 完整版本历史

日期

版本号

说明

2011  年 4 月 28 日

1.40.00

董事会正式采纳版本

2012  年 7 月 31 日

1.41.00

董事会正式采纳版本

2013  年 9 月 30 日

v1.6

董事会正式采纳版本

2015  年 12 月 17 日

v1.61

董事会正式采纳版本

2018  年 1 月 11 日

v1.8

董事会正式采纳版本

2022  年 6 月 15 日

v2.0

董事会正式采纳版本

1.2 向后兼容性

  • ✅ 完全兼容 UniPro v1.8:仅在两者共有的功能集上保证互操作性

  • ❌ 不兼容 UniPro v1.61 及更早版本

  • 部分早期版本中实用性低或过时的功能已被弃用

1.3 v2.0 核心变更

  1. 新增对 M-PHY HS-G5 传输速率的协议支持

  2. 新增可选的数据帧更大有效载荷长度支持,降低高带宽下协议头开销

  3. 弃用 MK2 扩展功能

  4. 为对齐 M-PHY v5.0,标注 PWM-G2 至 PWM-G7 为弃用状态

  5. 实现 Dummy Burst 功能的弃用路径

  6. 改进 FastAuto_Mode,支持可编程的突发关闭延迟

1.4 已知问题

本版本无已知技术问题。


二、重要法律与许可声明

2.1 Intel 许可异议提示

实现者请注意:Intel 曾针对 2006 年 9 月 6 日发布、2007 年 2 月 26 日采纳的 UniPro v0.80.00 规范提出许可异议。

UniPro v0.90.00 在起草时已考虑该异议,并在获批后重编号为 v1.00.00。但 Intel 声明其在 v0.80.00 中提出的必要权利主张同样适用于 v1.00.00 及后续所有版本,且根据 MIPI 章程第 X 条第 1 款,Intel 对这些主张的 MIPI 许可义务已终止。

MIPI 联盟对该声明的准确性和有效性不持任何立场,强烈建议所有考虑实现本标准的成员公司查阅相关原始文件。

2.2 免责声明

本规范按 \"原样\" 提供,在适用法律允许的最大范围内,MIPI 联盟及本规范的作者和开发者不提供任何明示或暗示的保证,包括但不限于适销性、特定用途适用性、准确性、无病毒和无过失保证。

在任何情况下,MIPI 联盟或本规范的作者均不对任何间接、附带、特殊、后果性或惩罚性损害承担责任,包括但不限于利润损失、数据丢失、使用损失或替代商品 / 服务的采购成本。

本规范不构成对任何知识产权的明示或暗示许可。任何使用本规范的许可均需单独获得。


三、规范范围与设计目的

3.1 适用范围

UniPro 规范适用于以下设备类型:

  • 应用处理器、协处理器、调制解调器

  • 存储子系统(包括非易失性内存模块)

  • 显示器、摄像头传感器

  • 3D 图形和多媒体加速器

支持以下数据流量类型:

  • 控制消息

  • 批量数据传输

  • 分组化流媒体

本规范定义内容

  • 设备间数据传输协议

  • 数据包、帧等数据结构

  • 流量控制、错误处理

  • 电源与状态管理

  • 连接服务

  • PHY 适配器层 (L1.5)、数据链路层 (L2)、网络层 (L3)、传输层 (L4) 及设备管理实体 (DME)

本规范不定义内容

  • 电气接口、物理层时序和编码

  • 应用层协议和命令集

图片

【图 1:UniPro 规范范围 | Figure 1 Scope of the UniPro Specification】

3.2 设计目的

帮助制造商设计符合 MIPI 联盟标准的主机处理器和外设接口,通过简化不同厂商产品的互连,缩短移动设备的上市时间并降低设计成本。同时,UniPro 的可扩展架构简化了新功能的实现。


四、核心架构概述

UniPro 采用分层架构,大致遵循 ISO OSI 参考模型。

图片

【图 2:UniPro 与 OSI/RM 分层对比 | Figure 2 Comparison of UniPro and OSI/RM Layers】

4.1 分层结构

OSI 层

UniPro 层

核心功能

物理层 (L1)

M-PHY(L1)

物理信号传输(外部规范)

-

PHY  适配器层 (L1.5)

抽象 PHY 差异,提供统一接口

数据链路层 (L2)

数据链路层 (L2)

可靠点到点传输、流量控制、优先级

网络层 (L3)

网络层 (L3)

设备寻址、数据包路由

传输层 (L4)

传输层 (L4)

端到端连接、分段重组、端到端流量控制

会话 / 表示 / 应用层

应用层 (LA)

应用特定协议(外部规范)

-

设备管理实体 (DME)

全栈控制、电源管理、复位、配置

4.2 服务访问点 (SAP)

上层通过服务访问点 (SAP) 使用下层服务,SAP 由多个服务原语组成,抽象了硬件与软件的实现差异。

服务原语命名规范
<层标识符>_<服务原语名>.<原语类型>

  • 层标识符:T (传输)、N (网络)、DL (数据链路)、PA (PHY 适配器)

  • 原语类型:req (请求)、ind (指示)、rsp (响应)、cnf (确认)

UniPro 对外暴露的两个核心 SAP

  1. T_SAP(CPort):应用层数据传输接口

  2. DME_SAP:全栈控制与配置接口

4.3 数据流向

图片

【图 3:单条 UniPro 链路连接两个设备的简化模型 | Figure 3 Simplified Model of a Single UniPro Link Connecting Two Devices】

发送方向:
应用消息 → T_SAP → 传输层 (分段为 T_PDU) → N_SAP → 网络层 (封装为 N_PDU) → DL_SAP → 数据链路层 (封装为 DL_PDU) → PA_SAP → PHY 适配器层 (转换为 PA_PDU) → PHY 层 → 物理介质

接收方向为上述过程的逆序。

4.4 协议数据单元 (PDU)

各层的传输单元定义:

  • 应用层:消息 (Message)

  • 传输层 (L4):段 (Segment, T_PDU)

  • 网络层 (L3):包 (Packet, N_PDU)

  • 数据链路层 (L2):帧 (Frame, DL_PDU)

  • PHY 适配器层 (L1.5):符号 (Symbol, PA_PDU)


五、物理层 (L1) 基础

UniPro v2.0 强制要求芯片间互连使用 M-PHY v5.0 技术。

5.1 M-PHY 核心特性

  • 双工模式:双单工 (Dual Simplex),双向独立通信

  • 信令:低摆幅差分信令

  • 时钟:嵌入式时钟,支持独立参考时钟 (Type-I M-PHY)

  • 工作模式:高速模式 (HS_MODE)、低速模式 (LS_MODE/PWM_MODE)

5.2 数据速率

速率系列

HS 档位

原始比特率

有效比特率 (8b10b 编码)

RATE-A

HS-G1

1.25   Gbps

1.0 Gbps

RATE-A

HS-G2

2.50   Gbps

2.0 Gbps

RATE-A

HS-G3

5.0 Gbps

4.0 Gbps

RATE-A

HS-G4

10.0   Gbps

8.0 Gbps

RATE-A

HS-G5

20.0   Gbps

16.0   Gbps

RATE-B

-

比 RATE-A 高约 17%

同比高约 17%

PWM

PWM-G1

3-9 Mbps

2.4-7.2   Mbps

注:UniPro v2.0 已弃用 PWM-G2 至 PWM-G7

5.3 多车道支持

  • 每个方向最多支持 4 条数据车道

  • 双向车道数可不同

  • 带宽随车道数线性扩展

  • 自动车道发现与重映射,支持任意物理布线拓扑

5.4 电源状态

M-PHY 状态

UniPro 抽象状态

说明

UNPOWERED

OFF_STATE

未上电,无法自主恢复

HIBERN8

HIBERNATE_STATE

深度低功耗,可通过带内信号唤醒

PWM-BURST

SLOW_STATE

低速通信模式

HS-BURST

FAST_STATE

高速通信模式

STALL/SLEEP

SLEEP_STATE

空闲低功耗,自动切换


六、PHY 适配器层 (L1.5)

L1.5 是 UniPro 与底层 PHY 之间的适配层,核心作用是抽象 PHY 技术差异,为上层提供统一接口。

6.1 核心功能

  • 多车道数据分发与合并

  • 车道间偏斜补偿 (Deskew)

  • 数据加扰与解扰

  • 电源模式控制

  • 链路启动与初始化

  • 自动能力发现

  • PHY 测试支持

6.2 17 位符号定义

L1.5 使用 17 位符号作为基本传输单元:

  • 第 16 位:控制 / 数据标志位 (1 = 控制符号,0 = 数据符号)

  • 第 15-0 位:有效载荷

图片

【图 4:17 位 PHY 适配器层符号示例 | Figure 4 17-bit PHY Adapter Layer Symbol Example】

6.3 PHY 适配器控制协议 (PACP)

PACP 是 L1.5 内部的控制协议,用于两端 L1.5 实体之间的通信。

图片

【图 5:PACP 帧结构 | Figure 5 PACP Frame Structure】

PACP 主要用途

  • 电源模式变更与确认

  • 链路能力自动交换

  • 对端属性读写

  • M-PHY 测试控制

  • 链路复位

6.4 电源模式

应用层只能设置电源模式,不能直接控制电源状态:

  • Fast_Mode:强制高速状态

  • Slow_Mode:强制低速状态

  • FastAuto_Mode:高速 + 自动休眠(v2.0 新增可编程突发关闭延迟)

  • SlowAuto_Mode:低速 + 自动休眠

  • Hibernate_Mode:深度休眠

  • Off_Mode:关闭


七、数据链路层 (L2)

数据链路层负责提供可靠的点到点链路传输,并实现流量多路复用和优先级仲裁。

7.1 数据帧结构

数据帧由 1 个符号的头、最多 580 个符号的有效载荷和 2 个符号的尾 (含 CRC-16 校验) 组成。

图片

【图 6:偶数个有效载荷字节的数据帧示例 | Figure 6 Example Data Frame with an Even Number of Payload Bytes】
 

图片

【图 7:奇数个有效载荷字节的数据帧示例 | Figure 7 Example Data Frame with an Odd Number of Payload Bytes】

7.2 控制帧

  • AFC 帧:确认与流量控制帧,用于确认数据帧接收并更新发送方信用值

  • NAC 帧:否定确认帧,用于通知发送方传输错误并触发重传

图片

【图 8:AFC 帧结构 | Figure 8 AFC Frame Structure】
 

图片

【图 9:NAC 控制帧结构 | Figure 9 NAC Control Frame Structure】

7.3 核心机制

  1. 错误重传:基于帧序号和超时机制,支持组确认 (Group Acknowledgement)

  2. 信用制流量控制:接收方通过 AFC 帧告知发送方可用缓冲区大小,防止溢出

  3. 流量类与优先级:支持 TC0 (低优先级) 和 TC1 (高优先级) 两个流量类,控制帧优先级最高

  4. 帧预抢占:高优先级帧可以中断正在传输的低优先级帧,传输完成后恢复


八、网络层 (L3)

网络层负责设备寻址和数据包路由,为未来支持网络拓扑奠定基础。

8.1 数据包类型

  • 短头包:1 字节头 + 有效载荷,用于面向连接的数据传输,是最常用的类型

  • 长头包:保留用于未来扩展,通过 \&#34;长头陷阱\&#34; 机制交由软件处理

图片

【图 10:封装在 L2 数据帧中的短头包示例 | Figure 10 Example Short Header Packet Encapsulated within an L2 Data Frame】

8.2 设备寻址

  • 支持最多 128 个设备的网络

  • 设备 ID (DeviceID) 在网络内唯一

  • 可在设计时分配或网络初始化时分配


九、传输层 (L4)

传输层是 UniPro 最高的数据传输层,提供端到端的面向连接服务。

9.1 核心概念

  • CPort (连接端口):L4 的服务访问点,每个 CPort 对应一个连接

  • 连接:两个 CPort 之间的双向逻辑通信通道

  • 分段与重组:将任意长度的应用消息分割为段,在接收端重组

9.2 段结构

短头段由 1 字节头 + 最多 1144 字节有效载荷组成(不支持扩展时为 272 字节)。

图片

【图 11:L2 帧中短头包内的短头段示例 | Figure 11 Example of a Short Header Segment in a Short Header Packet in an L2 Frame】

9.3 核心机制

  1. 端到端流量控制 (E2E FC):基于信用制,确保发送方不会超过接收方 CPort 的缓冲区容量

  2. 按序交付:同一连接上的数据按发送顺序交付

  3. 受控段丢弃 (CSD) 与 CPort 安全阀 (CSV):防止单个连接的拥塞影响整个系统

  4. 内置测试功能:包含流量发生器 (TstSrc) 和流量分析器 (TstDst),用于链路自测试


十、设备管理实体 (DME)

DME 是 UniPro 的控制中心,与所有协议层交互,负责全栈的管理、配置和控制。

10.1 核心功能

  • 所有层属性的读写访问

  • 电源模式变更控制

  • 冷复位、温复位和端点复位

  • 休眠与唤醒控制

  • 启动与引导流程

  • QoS 监控

  • 版本信息管理

10.2 属性系统

属性是 DME 控制各层的基本单元,分为:

  • 静态属性:描述设备能力,设计时定义

  • 动态属性:反映当前协议栈状态,只读

  • 可配置属性:可通过 DME 修改,控制协议行为


十一、支持的拓扑结构

11.1 点到点链路

当前版本仅支持点到点链路拓扑,这是实现最高数据速率的必要条件。一个主机处理器可以通过多条独立的 UniPro 链路连接多个外设。

图片

【图 12:点到点配置示例 | Figure 12 Point-to-Point Configuration Example】

11.2 UniPro 网络

未来版本将支持交换机设备,实现真正的网络拓扑,允许多个设备通过单个交换机互连,减少布线复杂度。

图片

【图 13:UniPro 网络配置示例 | Figure 13 UniPro Network Configuration Example】


十二、关键术语与缩写表

缩写

英文全称

中文译名

UniPro

Unified   Protocol

统一协议

M-PHY

Mobile   PHY

移动物理层

DME

Device   Management Entity

设备管理实体

SAP

Service   Access Point

服务访问点

CPort

Connection   Port

连接端口

PDU

Protocol   Data Unit

协议数据单元

SDU

Service   Data Unit

服务数据单元

PACP

PHY   Adapter Control Protocol

PHY  适配器控制协议

AFC

Acknowledgment   and Flow Control

确认与流量控制

NAC

Negative   Acknowledgment Control

否定确认控制

E2E FC

End-to-End   Flow Control

端到端流量控制

QoS

Quality   of Service

服务质量

MTU

Maximum   Transfer Unit

最大传输单元

CRC

Cyclic   Redundancy Check

循环冗余校验

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值