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 核心变更
-
新增对 M-PHY HS-G5 传输速率的协议支持
-
新增可选的数据帧更大有效载荷长度支持,降低高带宽下协议头开销
-
弃用 MK2 扩展功能
-
为对齐 M-PHY v5.0,标注 PWM-G2 至 PWM-G7 为弃用状态
-
实现 Dummy Burst 功能的弃用路径
-
改进 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:
-
T_SAP(CPort):应用层数据传输接口
-
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 核心机制
-
错误重传:基于帧序号和超时机制,支持组确认 (Group Acknowledgement)
-
信用制流量控制:接收方通过 AFC 帧告知发送方可用缓冲区大小,防止溢出
-
流量类与优先级:支持 TC0 (低优先级) 和 TC1 (高优先级) 两个流量类,控制帧优先级最高
-
帧预抢占:高优先级帧可以中断正在传输的低优先级帧,传输完成后恢复
八、网络层 (L3)
网络层负责设备寻址和数据包路由,为未来支持网络拓扑奠定基础。
8.1 数据包类型
-
短头包:1 字节头 + 有效载荷,用于面向连接的数据传输,是最常用的类型
-
长头包:保留用于未来扩展,通过 \"长头陷阱\" 机制交由软件处理

【图 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 核心机制
-
端到端流量控制 (E2E FC):基于信用制,确保发送方不会超过接收方 CPort 的缓冲区容量
-
按序交付:同一连接上的数据按发送顺序交付
-
受控段丢弃 (CSD) 与 CPort 安全阀 (CSV):防止单个连接的拥塞影响整个系统
-
内置测试功能:包含流量发生器 (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 |
循环冗余校验 |
135

被折叠的 条评论
为什么被折叠?



