详解MIPI协议

详解MIPI协议目录前言MIPI简介MIPI联盟的MIPIDSI规范MIPI名词解释MIPIDSI分层结构command和video模式D-PHYLane模组Lane全局架构Lane电压和状态DATALANE操作模式时钟LANE低功耗状态高速数据传输高速CLK传输D-PHY总结DSICSI前言MIPI接口的内部非常复杂,如果不是专门去做MIPI接口,没有必要像研究H264一样往深入的去研究。我们知道MIPI协议连接了camera与soc、LCD和soc,作为此间的开发者,我们只需要关注他怎么使用就可以了知识

大家好,又见面了,我是你们的朋友全栈君。

前言

MIPI接口的内部非常复杂,如果不是专门去做MIPI接口,没有必要像研究H264一样往深入的去研究。

我们知道MIPI协议连接了camera与soc、LCD和soc,作为此间的开发者,我们只需要关注他怎么使用就可以了

知识是学不完的,选取我们有需要的即可

MIPI标准文档大全

MIPI简介

MIPI (Mobile Industry Processor Interface) 是2003年由ARM, Nokia, ST ,TI等公司成立的一个联盟,目的是把手机内部的接口如摄像头、显示屏接口、射频/基带接口等标准化,从而减少手机设计的复杂程度和增加设计灵活性。

MIPI联盟下面有不同的WorkGroup,分别定义了一系列的手机内部接口标准,比如

  • 摄像头接口CSI
  • 显示接口DSI
  • 射频接口DigRF
  • 麦克风 /喇叭接口SLIMbus
  • 等等

统一接口标准的好处是手机厂商根据需要可以从市面上灵活选择不同的芯片和模组,更改设计和功能时更加快捷方便。下图是按照 MIPI的规划下一代智能手机的内部架构。
在这里插入图片描述

MIPI联盟的MIPI DSI规范

MIPI名词解释

  • DCS(Display Command Set)
    DSC是用于命令模式显示模块的标准化命令集

  • DBI、DPI(Display Bus Interface,Display Pixel Interface)
    DBI:具有显示控制器和帧缓冲区的显示模块并行接口
    DPI:无显示控制器和帧缓冲区的显示模块并行接口

  • DSI、CSI(Display Serial Interface,Camera Serial Interface)
    DSI:定义了一个位于CPU和显示模组之间的高速串行接口
    CSI:定义了一个位于CPU和摄像模组之间的高速串行接口

  • D-PHY
    提供DSI和CSI的物理层定义

MIPI DSI分层结构

  • PHY 定义了传输媒介,输入/输出电路和和时钟和信号机制。
  • Lane Management层:发送和收集数据流到每条lane。
  • Low Level Protocol层:定义了如何组帧和解析以及错误检测等。
  • Application层:描述高层编码和解析数据流。

在这里插入图片描述

command和video模式

DSI兼容的外设支持Command或Video操作模式,用哪个模式由外设的构架决定

  • Command模式是指采用发送命令和数据到具有显示缓存的控制器。主机通过命令间接的控制外设。Command模式采用双向接口
  • Video模式是指从主机传输到外设采用时实象素流。这种模式只能以高速传输。为减少复杂性和节约成本,只采用Video模式的系统可能只有一个单向数据路径

D-PHY

D-PHY 描述了一同步、高速、低功耗、低代价的PHY

PHY配置包括

  • 一个时钟lane
  • 一个或多个数据线

两路数据线的PHY配置如下
在这里插入图片描述
三个主要的lane类型

  • 单向时钟Lane
  • 单向数据Lane
  • 双向数据Lane

D-PHY的传输模式

  • 低功耗(Low-Power)信号模式(用于控制):10MHz (max)
  • 高速(High-Speed)信号模式(用于高速数据传输):80Mbps ~ 1Gbps/Lane

D-PHY低层协议规定最小数据单位是一个字节

  • 发送数据时必须低位在前,高位在后

D-PHY适用于移动应用

  • DSI:显示串行接口
    一个时钟lane,一个或多个数据lane
  • CSI:摄像串行接口

Lane模组

PHY由D-PHY(Lane模块)组成

D-PHY可能包含

  • 低功耗发送器—Low-Power Transmitter(LP-TX)
  • 低功耗接收器—Low-Power Receiver(LP-RX)
  • 高速发送器—High-Speed Transmitter(HS-TX)
  • 高速接收器—High-Speed Receiver(HS-RX)
  • 低功耗竞争检测器—Low-Power Contention Detector(LP-CD)

三个主要的lane种类

  • 单向时钟Lane
    • Master:HS-TX, LP-TX
    • Slave:HS-RX, LP-RX
  • 单向数据Lane
    • Master:HS-TX, LP-TX
    • Slave:HS-RX, LP-RX
    -双向数据Lane
    • Master, Slave:HS-TX, LP-TX, HS-RX, LP-RX, LP-CD

Lane 全局架构

在这里插入图片描述

Lane电压和状态

两个LP-TX独立、单端的驱动一组Lane的两条线路
四种可能的低压Lane状态

  • LP-00
  • LP-01
  • LP-10
  • LP-11

一个HS-TX差分地驱动一组Lane
两种可能的高速Lane状态

  • HS-0
  • HS-1

在HS传输的时候,LP接收器在数据线上执行LP-00

线路电压

  • LP:0~1.2V
  • HS:100~300mV(电泳200mv)

Lane状态

  • LP-00,LP-01,LP-10,LP-11(单端)
  • HS-0,HS-1(差分)

在这里插入图片描述

DATA LANE操作模式

数据Lane的三种操作模式

  • Escape mode
  • High-Speed(Burst) mode,
  • Control mode

从控制模式的停止状态开始的可能事件有

  • Escape mode request (LP-11→LP-10→LP-00→LP-01→LP-00)
  • High-Speed mode request (LP-11→LP-01→LP-00)
  • Turnaround request (LP-11→LP-10→LP-00→LP-10→LP-00)

Escape mode是数据Lane在LP状态下的一种特殊操作

  • 在这种模式下,可以进入一些额外的功能:LPDT, ULPS, Trigger
  • 数据Lane进入Escape mode模式通过LP-11→LP-10→LP-00→LP-01→LP-00
  • 一旦进入Escape mode模式,发送端必须发送1个8-bit的命令来响应请求的动作
  • Escape mode 使用Spaced-One-Hot Encoding

超低功耗状态(Ultra-Low Power State)

  • 这个状态下,lines处于空状态 (LP-00)

时钟Lane的超低功耗状态

  • 时钟Lane通过LP-11→LP-10→LP-00进入ULPS状态
  • 通过LP-10 → TWAKEUP →LP-11退出这种状态,最小TWAKEUP时间为1ms

高速数据传输

  • 发送高速串行数据的行为称为高速数据传输或触发(burst)
  • 全部Lanes门同步开始,结束的时间可能不同。
  • 时钟应该处于高速模式

各模操作式下的传输过程

  • 进入Escape模式的过程 :LP-11→LP-10→LP-00→LP-01→LP-00→Entry Code → LPD (10MHz)
  • 退出Escape模式的过程:LP-10→LP-11
  • 进入高速模式的过程:LP-11→LP-01→LP-00→SoT(00011101) → HSD (80Mbps ~ 1Gbps)
  • 退出高速模式的过程:EoT→LP-11
  • 控制模式 – BTA 传输过程:LP-11→LP-10→LP-00→LP-10→LP-00
  • 控制模式 – BTA 接收过程:LP-00→LP-10→LP-11

状态转换关系图
在这里插入图片描述
Escape Mode图示
在这里插入图片描述

时钟LANE低功耗状态

一条时钟Lane可以通过LP-11 -> LP-10 -> LP-00进入低功耗模式ULPS(Ultra-Low Power Status)

退出低功耗模式,通过一个长度为TWAKEUP-的1标记作为停止状态,如下

  • LP-10 ->TWAKEUP->LP-11
  • TWAKEUP的最小值是1ms
    在这里插入图片描述

高速数据传输

发送高速串行数据的行为被称作HS传输或burst

传输开始的流程如下

  • LP-11 -> LP-01 ->LP-00 -> SoT(0001_1101)
  • 数据高速传输(HS Data Transmission Burst)
  • 所有Lane将同步开启,但可能在不同时间结束
  • 时钟Lane将会在高速模式,向从机侧提供DDR时钟

结束的流程如下

  • 在最后一个有效负载数据之后马上切换成差分状态
  • 并将此状态保持THS-TRAIL时间

高速CLK传输

在CKL传输和低功耗模式间切换时钟Lane

  • 时钟通道是主通道通向从通道的单向通道
  • 在HS模式,时钟Lane提供低振幅差分DDR时钟信号
  • 时钟burst总是通过一个HS-0状态开启和结束
  • 时钟burst总是包含偶数个转换

时序图如下
在这里插入图片描述

D-PHY总结

Lane模组,Lane状态,Lane电压
Lane模组:LP-TX,LP-RX,HS-TX,HS-RX,LP-CD
Lane状态:LP-00,LP-01,LP-10,LP-11,HS-0,HS-1
Line Levels(typical):LP:0-1.2V,HS:100-300mV(Swing:200mV)


操作模式
escape模式进入流程:LP-11 -> LP-10 -> LP-00 -> LP-01 -> LP-00 -> Entry Code -> LPD(10MHz)
escape模式退出流程:LP-10 -> LP-11

高速模式进入流程:LP-11 -> LP-01 -> LP-00 -> SoT(0001 1101) -> HSD(80Mbps - 1Gbps)
高速模式退出流程:EoT -> LP-11

控制模式BTA传输进入流程:LP-11 -> LP-01 ->LP-00 -> LP-10 -> LP-00
控制模式BTA接收进入流程:LP-00 -> LP-10 -> LP-11


系统状态模式

  • 低功耗模式(Low-Power Mode)
  • 高速模式(High-Speed Mode)
  • 超低功耗模式(Ultra-Low Power Mode)

故障检测

  • 连接检测—Contention Detection(LP-CD)
  • 看门狗计时器
  • 序列错误检测(错误报告)

全局操作定时参数

  • 时钟通道计时,数据通道计时
  • 其他的计时器—初始化、BTA、从ULPS唤醒

电气特性

  • HS-RX,LP-RX,LP-TX,LP-CD,引脚特训,时钟信号,时钟计时器
  • DC和AC特性

DSI

IDisplay Serial Interface
DSI:定义了一个位于CPU和显示模组之间的高速串行接口

CSI

Camera Serial Interface
CSI:定义了一个位于CPU和摄像模组之间的高速串行接口

现在事无巨细的完全整理出来对我而言没有什么意义,剩下内容待更

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/130451.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 数学速算法_小学初中高中 数学奥数教材及习题讲解(共42册PDF)

    数学速算法_小学初中高中 数学奥数教材及习题讲解(共42册PDF)学习勤育儿|爱自己在育儿的道路上,家长和孩子一同成长;慢慢陪孩子走,把我们的时间浪费在孩子身上,是世间最有价值的浪费!资源介绍奥数对青少年的脑力锻炼有着一定的作用,可以通过奥数对思维和逻辑进行锻炼,对学生起到的并不仅仅是数学方面的作用,通常比普通数学要深奥些。奥数相对比较深,数学奥林匹克活动的蓬勃发展,极大地激发了广大少年儿童学习数学的兴趣,成为引导少年积极向上,主动探索…

  • RDP漏洞_一啥后门

    RDP漏洞_一啥后门RDPshift后门漏洞在win7开机过程中,强制关闭计算机,再次开机会出现修复,点启动修复当它无法修复时会弹出下面的框发送和不发送,这里有查看问题详细信息的按钮点击该按钮可以看到有一些信息在信息最下面有个隐私声明的地址打开这个地址会看到是一个记事本文件,在记事本文件中有文件打开功能这样我们就进入看到了主机的所有文件,可以进行一些列的工作这里的D盘实际是主机的C盘此时它会有一个本地的记事本,可以通过它打开TXT文件。打开Windows->System32文件夹,在文件

  • spidermonkey php,javascript SpiderMonkey中的函数序列化如何进行_基础知识[通俗易懂]

    spidermonkey php,javascript SpiderMonkey中的函数序列化如何进行_基础知识[通俗易懂]在Javascript中,函数可以很容易的被序列化(字符串化),也就是得到函数的源码.但其实这个操作的内部实现(引擎实现)并不是你想象的那么简单.SpiderMonkey中一共使用过两种函数序列化的技术:一种是利用反编译器(decompiler)将函数编译后的字节码反编译成源码字符串,另一种是在将函数编译成字节码之前就把函数源码压缩并存储下来,用到的时候再解压还原.如何进行函数序列化在Spider…

    2022年10月10日
  • int与Integer,long与Long的区别以及装箱与拆箱的理解

    int与Integer,long与Long的区别以及装箱与拆箱的理解

  • 查看sqlite_sqlite数据库手机版

    查看sqlite_sqlite数据库手机版这是什么用于SQLite的数据库浏览器(DB4S)是一种高质量,可视化的开源工具,用于创建,设计和编辑与SQLite兼容的数据库文件。DB4S适用于想要创建,搜索和编辑数据库的用户和开发人员。DB4S使用熟悉的类似电子表格的界面,并且不必学习复杂的SQL命令。控件和向导可供用户使用:创建并压缩数据库文件 创建,定义,修改和删除表 创建,定义和删除索引 浏览,编辑,添加和删除记录 搜索记录 导入和导出记录为文本 从CSV文件导入和导出表格 从/到SQL转储文件导入和导出数据库

  • python 时间序列预测 —— prophet

    python 时间序列预测 —— prophetpropehet实战:交通流量预测

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号