news 2026/10/27 11:54:37

MIPI D-PHY 理解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
MIPI D-PHY 理解

文章目录

    • 1. 背景
    • 2. 概念介绍
      • 2.1 HS 模式 和 LP 模式
      • 2.2 连续模式时钟和非连续模式时钟
    • 3. 长短包
      • 3.1 数据格式
      • 3.2 数据类型 (DI)
    • 4. 波形图示

1. 背景

嵌入式领域中,很多高速、大数据通常都会使用mipi接口进行传输,如sensor、毫米波雷达等,mipi 协议包含D-PHY 和 C-PHY 架构,其中D-PHY使用1对源同步差分时钟和多对差分数据线进行数据传输,采用双边沿DDR进行数据采样。C-PHY不同于传统差分信号线,它采用三根信号线之间的差分作为信号判断,实现更高带宽的数据传输。本文主要进行记录D-PHY调试中相关的理解。

2. 概念介绍

2.1 HS 模式 和 LP 模式

通道支持高速(HS)和低功耗(LP)两种工作模式。HS模式以低压差分信号传输高数据速率,而LP模式则以单端信号实现低功耗。HS 模式下采用低压差分信号,功耗较大,但是可以传输很高的数据速率(数据速率为 80M~4.5Gbps),支持 100mV 到 300mV 的电压范围;LP 模式下采用单端信号,数据速率很低(<10Mbps),但是相应的功耗也很低,支持0V到1.2V信号电平。

上图中HS模式就是方波的 低脉冲期间,需要将低脉冲放大看,就可以看到低脉冲上的摆动了,见上面的第二张图。

2.2 连续模式时钟和非连续模式时钟

连续模式时钟全部工作在 HS 模式,非连续模式就是上图中情况,会在不发数据的时候,clk 进入 LP 模式。

使用示波器测到的 连续模式下 clk 波形如下:

ps : 关于波形是类正弦波,非方波,搜索了一下,大致是说,硬件电路会把高频谐波部分削除,以及电路中交流耦合电容(如 100 nF)隔离直流,使信号在零附近摆动,进一步削弱方波的“平顶”特征,使其看起来像正弦波。

3. 长短包

3.1 数据格式

  • 短包:ST+SP(32bit)+ET
  • 长包:ST+PH(32bit)+DATA+PF(16bit)+ET
    包之间必须通过LPS间隔,具体为上一包恢复LP11,再LP11-LP01-LP00进入下一包。
  • SOT:Start-of-Transmission,传输起始,8bit序列00011101 (0x1d)。
  • EOT:End-of-Transmission,传输结束,为最后一个数据 bit 的取反。

SOT 是进入高速 (HS) 模式后必须发送的第一个字节,用于同步接收器。

短包:SoT + 32 位数据 + EOT(最后一位取反)
长包:SoT + 包头 + 数据 + 包尾 + EOT(最后一位取反)

  • PH:packet head,长包的包头,32bit。
    具体包括:DI 8bit(2bit虚拟通道+6bit数据类型);WC 16bit,指示后续数据byte数;ECC 8bit(实际6bit,高2bit补0)为DI+WC 24bit的校验值。
  • SP:short packet,短包32bit,结构和PH基本一样,区别在短包不接数据,所以中间16bit不是byte数而是附带信息, 通常为帧号。

  • 长包形式为PH+DATA+PF,其中:
    • DATA:packet data数据,以Byte为单位。
    • PF:packet footer包尾,内容为checksum ,即packet data部分的CRC校验值。

      这里截取sensor 手册内容展示包结构:

3.2 数据类型 (DI)

其低6bit为数据类型编码, 高2bit 用于VC 通道号标识,用于区分不同的类型的图像数据。

Data TypeDescription
0x00 to 0x07Synchronization Short Packet Data Types
0x08 to 0x0FGeneric Short Packet Data Types
0x10 to 0x17Generic Long Packet Data Types
0x18 to 0x1FYUV Data
0x20 to 0x27RGB Data
0x28 to 0x2FRAW Data
0x30 to 0x37User Defined Byte-based Data
0x38 to 0x3FReserved

a)列举短包常用数据类型,帧起始FS、帧结束FE、行起始LS、行结束LE,协议要求必须有帧标识包,可以没有行标识包。

Data TypeDescription
0x00Frame Start Code
0x01Frame End Code
0x02Line Start Code (Optional)
0x03Line End Code (Optional)

b)长包数据类型主要包括RGB、YUV、RAW类型,以RAW灰度为例列举,RAW后数字指每个像素点的bit数,其他可以参照手册。

Data TypeDescription
0x28RAW6
0x29RAW7
0x2ARAW8
0x2BRAW10
0x2CRAW12
0x2DRAW14

4. 波形图示

MIPI D-PHY 在高速模式下采用 LSB 优先(LSB first) 的传输顺序, 即先传输一个Byte 的 bit0,采集端先收到的也是 bit0。

  • 短包
    波形中可以看到完整流程,白色标注为具体时序阶段。

重点关注下图中HS驱动部分,数据lane双边沿输出,时钟和数据lane错半个相位。第1个红框为SoT序列00011101,第2个红框为数据,然后EoT是前最后1bit的反转。

数据先发低位,可以看到4lane数据为0x0、0x1、0x0、0x1a,其中:
[7:0]=0,指示虚拟通道0,数据类型为FS,帧开始。
[23:8]=1,指示帧号为1。
[31:24]=0x1a,为ECC校验值。

  • 长包

长包的完整流程和短包相似,主要区别在HS部分,第1个红框为SoT序列先不看,后面可以看到lane0、1传输3Byte,lane2、3传输2Byte,共计10Byte,构成是包头4Byte+数据4byte+校验2Byte。

包头4Byte,第2红框列,0x2a对应数据类型RAW8,0x00 以及0x04 组合的16bit wc 值 0x0004 对应数据长度4Byte,0x33对应ECC。
数据4Byte,第3红框列,对应数据4Byte分别为0x1、0x2、0x3、0x4。
校验2Byte,第4红框列,组合起来是0xc66e,为0x04030201的CRC值。

ps: LSB 先行,采集的时间上是从左往右(bit0 --> bit7)。

参考:

  1. MIPI CSI-2 (2)HS模式 传输详解和波形图
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/27 9:32:19

GPT-SoVITS学习率调度策略优化

GPT-SoVITS学习率调度策略优化 在当前个性化语音合成技术迅猛发展的背景下&#xff0c;如何用极少量语音数据实现高保真音色克隆&#xff0c;已成为AI音频领域的核心挑战之一。GPT-SoVITS作为开源社区中少样本语音合成的标杆框架&#xff0c;凭借其“GPT SoVITS”的混合架构&…

作者头像 李华
网站建设 2026/10/27 9:32:29

Audacity终极音频编辑指南:如何用免费软件打造专业音效

还在为音频编辑软件的复杂操作而头疼吗&#xff1f;想要一款既专业又免费的音频处理工具来提升你的创作效率&#xff1f;Audacity作为开源音频编辑器的标杆&#xff0c;为你提供了从基础录音到高级混音的全方位解决方案。这款跨平台音频编辑软件不仅功能强大&#xff0c;而且完…

作者头像 李华
网站建设 2026/10/27 9:32:21

如何快速解决UE5.4游戏USMAP生成失败:RE-UE4SS完整指南

如何快速解决UE5.4游戏USMAP生成失败&#xff1a;RE-UE4SS完整指南 【免费下载链接】RE-UE4SS Injectable LUA scripting system, SDK generator, live property editor and other dumping utilities for UE4/5 games 项目地址: https://gitcode.com/gh_mirrors/re/RE-UE4SS …

作者头像 李华
网站建设 2026/10/26 18:44:51

高效转换:Ofd2Pdf专业指南助你5分钟搞定OFD转PDF

高效转换&#xff1a;Ofd2Pdf专业指南助你5分钟搞定OFD转PDF 【免费下载链接】Ofd2Pdf Convert OFD files to PDF files. 项目地址: https://gitcode.com/gh_mirrors/ofd/Ofd2Pdf 还在为OFD文件无法直接打印或分享而烦恼吗&#xff1f;Ofd2Pdf这款专业工具正是为你量身打…

作者头像 李华
网站建设 2026/10/27 9:32:30

LabelLLM:解锁AI数据标注的3大效率革命,告别重复劳动时代

LabelLLM&#xff1a;解锁AI数据标注的3大效率革命&#xff0c;告别重复劳动时代 【免费下载链接】LabelLLM 项目地址: https://gitcode.com/gh_mirrors/la/LabelLLM 还在为海量数据标注而头疼吗&#xff1f;当你面对成千上万的文本、代码或对话数据需要人工标注时&…

作者头像 李华
网站建设 2026/10/16 9:22:55

Java-Wechaty终极指南:快速构建企业级微信机器人的完整方案

Java-Wechaty终极指南&#xff1a;快速构建企业级微信机器人的完整方案 【免费下载链接】java-wechaty Java Wechaty is a Conversational SDK for Chatbot Makers Written in Kotlin 项目地址: https://gitcode.com/gh_mirrors/ja/java-wechaty 在当今数字化时代&#…

作者头像 李华