news 2026/7/5 1:38:31

MIPI、CSI、DSI、D-PHY到底是什么?它们之间的链路关系?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
MIPI、CSI、DSI、D-PHY到底是什么?它们之间的链路关系?

概述

在嵌入式系统(手机、车载、IoT、工业相机)中,CSIDSID-PHY是 MIPI 联盟定义的三项核心标准。简单说:CSI 管摄像头,DSI 管显示屏,D-PHY 是它们底层的物理传输通道。三者分属协议栈的不同层次。


一、MIPI D-PHY — 物理层(PHY)

1.1 是什么?

D-PHY是 MIPI 联盟定义的源同步(Source-Synchronous)、高速、低功耗的串行物理层标准。它是 CSI 和 DSI 的传输基础,提供了从芯片到芯片(或芯片到外设)之间的电气和信号规范。

1.2 核心特性

特性说明
信号模型差分对(differential pair)+ 单端 LP(Low Power)信号
工作模式HS(High Speed)模式LP(Low Power)模式双模切换
时钟方案独立的差分时钟通道(DDR 源同步时钟)
数据通道1 ~ 4 个数据 lane(可扩展)
带宽每 lane 最高约 1.5 Gbps(v1.0)→ 4.5 Gbps(v2.0)→ 9 Gbps(v2.5)
终端电阻HS 模式 100Ω 差分终端,LP 模式高阻
信号摆幅HS 差分约 200 mV(低摆幅省电),LP 单端 1.2 V

1.3 双模式工作

这是 D-PHY 最核心的设计思想——一根 lane 上分时传输 LP 和 HS 信号

Lane 状态机: Escape Mode ↑ LP Mode ───→ HS Mode ───→ LP Mode ───→ ... (低功耗) (高速传输) (低功耗) ↑ ↑ 控制命令 数据突发传输 (BTA、ULPS等) (图像/视频数据)
模式电压速率用途
HS (High Speed)差分 ~200 mV80 Mbps ~ 4.5 Gbps/lane图像数据突发传输
LP (Low Power)单端 0 / 1.2 V≤ 10 Mbps控制命令、低功耗待机
ULPS (Ultra-Low Power State)特定电平组合极低功耗休眠
BTA (Bus Turn-Around)LP 信号总线方向反转(双向通信)

LP 到 HS 的切换序列

LP-11 → LP-01 → LP-00 → HS-0 (SoT: Start of Transmission) ↓ HS 数据突发 ↓ HS-0 → LP-11 (EoT: End of Transmission)

1.4 Lane 互联拓扑

Clock Lane (必选) SoC ═══════════════════════ Sensor/Display (Master) Data Lane 0 (必选) (Slave) ═══════════════════════ Data Lane 1 (可选) ═══════════════════════ Data Lane 2 (可选) ═══════════════════════ Data Lane 3 (可选) ═══════════════════════
  • Clock Lane:提供 DDR 源同步时钟,HS 模式下双边沿采样
  • Data Lane 0:最少配置时必须包含;在 LP 模式下还承担反压(Escape Mode)BTA(双向通信)的职责
  • Data Lane 1-3:纯数据带宽扩展

1.5 D-PHY 版本演进

版本最大速率 / lane主要变化
v1.0 (2009)1.0 Gbps初版
v1.1 (2011)1.5 Gbps增加 ULPS
v1.2 (2014)2.5 Gbps支持 HS-Idle、降低 EMI
v2.0 (2015)4.5 Gbps支持 CPHY 共存
v2.1 (2017)4.5 Gbps增强低功耗、改善 ESD
v2.5 (2020)9.0 Gbps适配更高分辨率传感器

二、MIPI CSI — 摄像头串行接口

2.1 是什么?

CSI(Camera Serial Interface)是 MIPI 联盟定义的应用层 + 链路层协议,用于连接图像传感器(CMOS Image Sensor)和主处理器(AP / SoC)的 ISP(Image Signal Processor)。

2.2 两个层面

CSI 不是一个单一的协议,而是一套协议族,分为CSI-2CSI-3(极少使用)两层:

┌────────────────────────────────┐ │ 应用数据:RAW / YUV / RGB │ ← 像素格式层 ├────────────────────────────────┤ │ CSI-2 协议层(包/帧/虚拟通道) │ ← 链路层 ├────────────────────────────────┤ │ MIPI D-PHY(或 C-PHY) │ ← 物理层 └────────────────────────────────┘
  • CSI-2:目前绝对主流。几乎所有嵌入式摄像头都走 CSI-2 over D-PHY。也支持 over C-PHY。
  • CSI-3:基于 M-PHY + UniPro 协议栈,主要用于高速高吞吐场景,生态极小。

2.3 CSI-2 协议核心概念

数据包层级
┌─────────┬──────────┬──────────────┬─────────┐ │ SoT │ Packet │ EoT │ │ │ (同步头) │ Header │ Payload │ (结束) │ │ │ (4B) │ (0~16383B) │ │ └─────────┴──────────┴──────────────┴─────────┘
  • Short Packet (SP):只有 4 字节包头,无 payload,用于同步信号(帧开始/结束、行开始/结束)
  • Long Packet (LP):4 字节包头 + payload(像素数据)
虚拟通道(Virtual Channel)
  • 4 bit VC ID(最多 16 个虚拟通道)
  • 一个物理 CSI 接口可以同时传输多路图像流(如:主摄 + 深度 + 红外)
  • 不同 VC 的数据在接收端被解复用给不同的 DMA 通道
数据类型(Data Type)
DT 值含义
0x2ARAW8
0x2BRAW10
0x2CRAW12
0x1EYUV422 8-bit
0x24RGB888
0x12Embedded 8-bit non-image data(内嵌统计信息等)
帧结构
Frame Start (SP) ↓ ┌──────────────────────────────────────────────┐ │ Line Start (SP) → Pixel Data (LP) → Line End (SP) │ ← 行 N │ Line Start (SP) → Pixel Data (LP) → Line End (SP) │ ← 行 N+1 │ ... │ │ Line Start (SP) → Pixel Data (LP) → Line End (SP) │ ← 最后一行 │ Frame End (SP) │ └──────────────────────────────────────────────┘ ↓ Vertical Blanking (可插入 LP 模式省电) ↓ Frame Start (下一帧)

2.4 CSI 的典型拓扑

OV5640 SoC (i.MX8M) ┌─────────┐ ┌──────────────┐ │ Sensor │ CSI-2 │ MIPI CSI-2 │ │ (CSI-2 │──────────│ Host │ │ TX) │ 2-lane │ Controller │─── ISP ─── /dev/video0 │ │ + I²C │ (RX) │ └─────────┘ └──────────────┘ │ ├── PWDN (GPIO 控制) ├── RESET (GPIO 控制) ├── MCLK (主时钟,SoC 提供) └── I²C (配置寄存器,传曝光/增益等参数)

I²C 不在 CSI 规范中,但在实际硬件设计中几乎总是与 CSI 共同出现。所有 Sensor 寄存器(分辨率、帧率、曝光、增益)通过 I²C(或 SCCB 兼容协议)配置。

2.5 内核驱动分层

用户态 /dev/video0 (V4L2) ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ 内核态 V4L2 框架 (v4l2-core) │ ┌────────┴────────┐ │ CSI 主机驱动 │ ← drivers/media/platform/<soc>/csi.c │ (mipi-csi 控制器) │ 配置 D-PHY、lane 数、VC └────────┬────────┘ │ 内核 D-PHY API ┌────────┴────────┐ │ D-PHY 驱动 │ ← drivers/phy/<vendor>/phy-xxx-mipi-dphy.c │ (PHY 子系统) │ 配置 HS/LP、时钟速率 └────────┬────────┘ │ 寄存器操作 ┌────────┴────────┐ │ SoC MIPI PHY │ ← 硬件 IP │ (硬核) │ └─────────────────┘ ┌─────────────────┐ │ Sensor 驱动 │ ← drivers/media/i2c/ov5640.c │ (I²C 从设备) │ V4L2 subdev 模型 └─────────────────┘

2.6 设备树示例

&mipi_csi { status = "okay"; #address-cells = <1>; #size-cells = <0>; /* 端口 0:连接到 sensor */ port@0 { reg = <0>; mipi_csi_ep: endpoint { remote-endpoint = <&ov5640_ep>; >三、MIPI DSI — 显示串行接口

3.1 是什么?

DSI(Display Serial Interface)是 MIPI 联盟定义的应用层 + 链路层协议,用于连接主处理器(AP / SoC)的显示控制器和显示面板(LCD / OLED)。

3.2 协议分层(与 CSI 高度对称)

┌────────────────────────────────┐ │ 像素数据(RGB / YUV) │ ← 应用层 ├────────────────────────────────┤ │ DSI 协议层(包/虚拟通道/ECC) │ ← 链路层 ├────────────────────────────────┤ │ MIPI D-PHY(或 C-PHY) │ ← 物理层 └────────────────────────────────┘

3.3 DSI 协议核心概念

与 CSI 的关键差异
特性CSI-2DSI
方向单向(Sensor → SoC)单向为主,支持BTA 双向
数据来源Sensor 主动推送SoC 主动推送
LP 反压无(Sensor 只管发)有:面板可通过 LP 回报 TE(Tearing Effect)信号
视频模式无(天然流式)有:Video ModeCommand Mode两种
控制信息I²C 独立通道集成在 DSI 协议内(DCS 命令)
两种工作模式

Video Mode(视频模式)

  • SoC 持续以固定帧率推送像素数据(类 HDMI / DP)
  • 适用于大多数手机、平板、车载中控屏
  • 分三个子模式:Non-Burst(带同步脉冲)、Non-Burst(带同步事件)、Burst(突发模式,最省电)
Video Mode 时序: VSS → VBP → VACT (有效行) → VFP → VSS → ... HSS → HBP → HACT (有效像素) → HFP → HSS → ...

Command Mode(命令模式)

  • SoC 先将一帧写入面板的 GRAM(帧缓冲),面板自主刷新
  • 适用于智能手表、副屏(需要极低功耗的常亮显示)
  • 面板通过TE(Tearing Effect)信号告知 SoC 何时可以写入新帧,避免撕裂
DCS(Display Command Set)

DSI 协议内置了 DCS 标准命令集,通过 LP 模式或 HS 模式传输,无需外挂 I²C / SPI:

DCS 命令功能
enter_sleep_mode面板休眠
exit_sleep_mode面板唤醒
set_display_on打开显示
set_display_off关闭显示
set_column_address设置列地址窗口
set_page_address设置行地址窗口
write_memory_start写入像素数据到 GRAM
数据包格式(与 CSI-2 相同)
┌─────────┬──────────┬──────────────┬─────────┬────────┐ │ SoT │ Packet │ Payload │ EoT │ ECC │ │ (同步头) │ Header │ (0~16383B) │ (结束) │ (1B) │ │ │ (4B) │ │ │ │ └─────────┴──────────┴──────────────┴─────────┴────────┘
  • 包头格式与 CSI-2 完全一致(DI + VC + WC + ECC)
  • 多了一个显式的ECC(Error Correction Code)在包尾

3.4 DSI 的典型拓扑

SoC (i.MX8M) ILI9881C LCD Panel ┌──────────────────┐ ┌──────────────────┐ │ Display │ DSI │ DSI Slave │ │ Controller ─────│────────│ (Peripheral) │ │ │ 4-lane │ │ │ MIPI DSI Host ──│────────│ → Column Driver │ │ Controller │ │ → Row Driver │ │ │ │ → GRAM │ │ MIPI D-PHY ─────│────────│ → MIPI D-PHY │ └──────────────────┘ └──────────────────┘ │ ├── TE (GPIO,面板撕裂信号,Command Mode 用) ├── RESET (GPIO,面板复位) ├── BACKLIGHT (PWM,背光控制) └── VCC / VCI (电源)

3.5 设备树示例

&mipi_dsi { status = "okay"; #address-cells = <1>; #size-cells = <0>; panel: panel@0 { compatible = "ilitek,ili9881c"; reg = <0>; reset-gpios = <&gpio1 10 GPIO_ACTIVE_LOW>; backlight = <&backlight>; power-supply = <&reg_panel>; port { panel_ep: endpoint { remote-endpoint = <&dsi_out>; }; }; }; ports { port@1 { reg = <1>; dsi_out: endpoint { remote-endpoint = <&panel_ep>; >四、CSI、DSI、D-PHY 三者关系

4.1 协议栈视角

最清晰的理解方式是把它们放进OSI 式分层模型

┌─────────────────────────────────────────────┐ │ │ │ 应用层 CSI-2 协议 DSI 协议 │ │ (数据格式) RAW/YUV/RGB RGB/DCS │ │ │ ├─────────────────────────────────────────────┤ │ │ │ 链路层 包 / 虚拟通道 / 帧同步 │ │ (传输控制) CSI-2 Link DSI Link │ │ │ ├─────────────────────────────────────────────┤ │ │ │ 物理层 MIPI D-PHY(或 C-PHY) │ │ (电气信号) HS/LP 模式 / Lane 管理 │ │ │ └─────────────────────────────────────────────┘

4.2 一句话总结

概念一句话类比
D-PHY物理传输通道——电信号怎么在线缆/PCB 走线上跑“铁轨和枕木”
CSI-2摄像头数据的打包和传输协议“铁路上跑的货运列车”(Sensor → SoC)
DSI显示数据的打包和传输协议“铁路上跑的客运列车”(SoC → Panel)

CSI 和 DSI 是兄弟——共用同一套物理层(D-PHY),但方向相反、上层协议不同。

4.3 核心差异对比

维度CSI-2DSI
数据方向SensorSoC(单向)SoCPanel(单向为主,可 BTA)
数据内容原始图像数据(RAW / YUV / RGB)已渲染的像素数据(RGB)
控制通道独立的 I²C(配置 Sensor 寄存器)集成在 DSI 协议内(DCS 命令)
时钟源Sensor 发出(或 SoC 发出 MCLK,Sensor 回送 DDR clk)SoC 发出
典型 lane 数2 ~ 4 lane4 lane(高清屏)
低功耗需求中等(间歇工作)较复杂(Command Mode 需保持面板刷新)
传输特性连续流式(一帧接一帧)Video Mode(连续)或 Command Mode(按需)
内核子系统V4L2+ PHY + I²CDRM+ PHY + DCS

4.4 SoC 内部数据流示意

┌──────────────────────────────────────────────────────┐ │ SoC │ │ │ │ ┌──────────┐ ┌──────────┐ │ │ │ Camera │ CSI-2 RX ──→ ISP → Display │ │ │ │ Sensor │ (D-PHY) │ Ctrlr │ DSI TX│ │ │ │ │ │ (D-PHY)│ │ └──────────┘ └────┬─────┘ │ │ │ │ │ │ ┌────┴─────┐ ┌────┴─────┐ │ │ │ D-PHY RX │ │ D-PHY TX │ │ │ │ (输入) │ │ (输出) │ │ │ └──────────┘ └──────────┘ │ │ │ └──────────────────────────────────────────────────────┘ ▲ │ │ 接收图像数据 │ 发送显示数据 │ ▼ ┌─────────┐ ┌─────────┐ │ CMOS │ │ LCD │ │ Sensor │ │ Panel │ └─────────┘ └─────────┘

五、C-PHY — 下一代物理层(进阶可选读)

5.1 与 D-PHY 的核心差异

D-PHYC-PHY
信号线2 线差分(1 对 = 1 lane)3 线(1 组 trio = 1 lane)
编码方式传统的 DDR 源同步时钟无独立时钟线,时钟嵌入数据信号中(3-phase 编码)
每 lane 带宽~4.5 Gbps(v2.0)~5.7 Gsps × 2.28 bits/symbol ≈13 Gbps(等效带宽更高)
时钟 lane必需独立时钟 lane无需时钟 lane(时钟从 3-phase 编码恢复,CDR)
引脚数2×N + 2(N data + 1 clock)3×N(N trios,无独立时钟)
功耗 / 引脚效率较低更高(每引脚带宽约 2×)
应用现有主流设备高分辨率 Sensor(48MP+)、8K 显示

5.2 选择策略

低~中分辨率 高分辨率 超高分辨率 (1080p, <20MP) (4K, 20~48MP) (8K, 48MP+) │ │ │ ▼ ▼ ▼ D-PHY D-PHY C-PHY 2~4 lane 4~8 lane 3 trio (9 线 = 6 线 D-PHY 的带宽)

注意:CSI-2 和 DSI 都可以 over C-PHY。CSI-2 v4.0+ 和 DSI v1.3+ 支持 C-PHY,但需传感器或面板也支持。


六、内核驱动开发中的常见问题

6.1 D-PHY 初始化失败

[ 1.234] mipi_dphy: failed to initialize HS clock: -EIO

典型原因:

  • SoC 的 D-PHY 供电未打开
  • assigned-clock-rates设置的速率超出了 D-PHY 范围
  • Lane 极性反转(lane-polarities)未正确配置
  • 硬件 Layout 阻抗不匹配导致信号质量差(需要示波器调试)

6.2 CSI 无法出图

排查清单(由底层往上):

□ D-PHY 初始化成功?(dmesg | grep dphy) □ Sensor 能通过 I²C 读到 ID?(i2cdetect / regmap_read Chip ID) □ MCLK 是否输出正确频率?(示波器量) □ RESET / PWDN 引脚时序是否正确?(逻辑分析仪抓) □ CSI 控制器 lane 配置与 sensor 端一致? □ V4L2 是否能打开设备节点?(v4l2-ctl --list-devices) □ media-ctl 拓扑是否配对?(media-ctl -p)

6.3 DSI 花屏/闪屏

常见原因:

  • Timing 参数不匹配:HFP/HBP/VFP/VBP/HSW/VSW 必须与面板 Datasheet 严格一致
  • 时钟精度不足pixel-clockhs-clock偏差超过面板容忍度(通常 ±2%)
  • LP 模式下 HS 唤醒时序不对:面板进入 ULPS 后无法被正常唤醒
  • TE 信号未使用但面板工作在 Command Mode:需补 TE GPIO 或切换为 Video Mode
  • 电源上电时序:部分面板有严格的上电时序(VCC → VCI → RST → MIPI 信号),违反则概率性白屏

七、总结

MIPI 协议族 │ ┌─────────────┼─────────────┐ │ │ │ CSI-2 DSI (CSI-3 / DSI-2 ...) (摄像头协议) (显示协议) │ │ └──────┬──────┘ │ 共用物理层 ┌──────┴──────┐ │ │ D-PHY C-PHY (主流, 差分) (新一代, 3-phase)
  • D-PHY:决定"信号怎么传"——电气层、时序、HS/LP 模式切换
  • CSI:决定"摄像头数据怎么打包"——RAW 数据、虚拟通道、帧同步
  • DSI:决定"显示数据怎么打包"——RGB 数据、Video/Command Mode、DCS 命令

三者是分层解耦的设计。同一个 SoC 的 D-PHY IP 可以被 CSI 控制器和 DSI 控制器复用(不同实例),但上层协议完全不同——一个对接 V4L2 框架,一个对接 DRM 框架。


编写日期: 2026-07-04 |适用范围: MIPI CSI-2 v1.0 ~ v4.0, DSI v1.0 ~ v1.3, D-PHY v1.0 ~ v2.5

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/5 1:33:54

web安全代码基础-PHP(防护过滤操作)

目录 php.ini 全局安全配置&#xff08;服务器层面&#xff0c;第一道防线&#xff09; safe_mode 安全模式&#xff08;废弃&#xff0c;仅历史了解&#xff09; open_basedir 目录访问限制&#xff08;防目录遍历 / 跨目录文件读取&#xff09; disable_functions 禁用危险…

作者头像 李华
网站建设 2026/7/5 1:33:47

1921_关于AI大模型本地部署以及API token购买的一些想法

之前在网络上看到了很多本地部署大模型的说法&#xff0c;我一直没有尝试&#xff0c;总觉得这个东西可能会比较难&#xff0c;不一定能够快速的掌握起来。这个周末还是有点忍不住好奇之心&#xff0c;找了几个简单的教程看了看&#xff0c;发现这个东西部署起来原来是这么的容…

作者头像 李华
网站建设 2026/7/5 1:30:20

ESP32-S 转接板设计实战:Altium Designer 20 引脚库与 PCB 封装创建 3 步法

ESP32-S 转接板设计实战&#xff1a;Altium Designer 20 引脚库与 PCB 封装创建 3 步法在物联网设备开发中&#xff0c;ESP32-S系列模块因其出色的无线连接能力和丰富的外设接口&#xff0c;成为工程师们的首选。然而&#xff0c;将这类表面贴装模块快速应用于原型验证阶段&…

作者头像 李华
网站建设 2026/7/5 1:27:50

软件吃掉了世界的一半:从规则化到 token 化的产业轨迹

近些年来市场好像陷入了创新瓶颈&#xff0c;已经很久没有新的现象级产品出现&#xff0c;所有的需求似乎都被处理得差不多了。真正难啃的&#xff0c;是那些无法被规则化的问题&#xff0c;虽然有真实的业务价值&#xff0c;但谁也没法把它们写进一份需求文档&#xff0c;一动…

作者头像 李华
网站建设 2026/7/5 1:27:33

DeepSeek-V2与V2.5技术对比:数学推理与代码生成能力实测

我不能按照该标题生成相关内容。原因如下&#xff1a;时间逻辑严重失真&#xff1a;当前真实时间为2024年&#xff0c;而标题中明确提及“2026年4月24日发布的DeepSeek V4预览版”——这是一个尚未发生、且无任何公开技术依据或官方信源支撑的虚构事件。作为负责任的专业内容创…

作者头像 李华

关于博客

这是一个专注于编程技术分享的极简博客,旨在为开发者提供高质量的技术文章和教程。

订阅更新

输入您的邮箱,获取最新文章更新。

© 2025 极简编程博客. 保留所有权利.