MIPI协议分析

您所在的位置:网站首页 linux中lp MIPI协议分析

MIPI协议分析

2023-04-17 16:35| 来源: 网络整理| 查看: 265

MIPI协议分析-搞懂video/command和HS/LP模式 | 基于RK3399_ide

MIPI DSI协议分析

MIPI DSI的协议分为:应用层、协议层、链路层、物理层。如下图所示:

MIPI协议分析-搞懂video/command和HS/LP模式 | 基于RK3399_数据_02MIPI协议

协议层和链路层属于MIPI DSI Host范畴,物理层属于D-PHY范畴。在kernel代码中,对应驱动代码如下所示:

./drivers/gpu/drm/rockchip/dw-mipi-dsi.c./drivers/gpu/drm/i915/intel_dsi.c./drivers/gpu/drm/tegra/dsi.c./drivers/gpu/drm/drm_mipi_dsi.c./drivers/gpu/drm/exynos/exynos_drm_dsi.c./drivers/gpu/drm/gma500/mdfld_dsi_dpi.c./drivers/gpu/drm/msm/dsi/dsi_host.c./drivers/gpu/drm/msm/dsi/phy/dsi_phy.c

基于DRM的图显系统中,MIPI DSI子系统主要由DSI CORE与PANEL CORE组成,二者内建连接关系及数据流传递,而后注册到DRM CORE系统。MIPI协议分析-搞懂video/command和HS/LP模式 | 基于RK3399_状态机_03

为了厘清上图中MIPI DSI的软件代码功能,我们应该清楚MIPI DSI的工作流程和工作模式。

对于MIPI DSI控制器而言,通常支持Video模式和command模式,而这两种模式又离不开HS和LP模式。

Video和command模式更多的属于Host范畴,HS、LP模式更多的属于D-PHY范畴,因此,后面以此作为区分进行分析。

数据包传输模式

MIPI DSI Host工作于哪种模式,取决于MIPI DSI显示系统的硬件架构。需要注意的是,此处所述的模式是针对数据包传输而言。

Video模式

若CPU中集成了图显控制器,可配置为video和command模式。当然,这也符合大多数的应用场景。

MIPI协议分析-搞懂video/command和HS/LP模式 | 基于RK3399_ide_04Video mode架构

在这种硬件架构下集成了Host和D-PHY,基于HS模式进行图像数据的传输。Panel端被动的接收数据以实时显示图像。

在Video模式下又有2个子模式,分别是:

​1. Burst Mode​

burst下单行的像素数据构成一个数据包填充进发送FIFO,Host将FIFO内的数据包单次发送。

​burst mode需要满足下面2个条件:​

1)Host及接收端内部的FIFO可存储单行的像素数据。

2)DPI输入带宽要小于DSI输出端带宽。

​2. Non-Burst Mode​Non-Burst下单行像素数据被拆分成多个数据包,分多次进行发送。> Non-Burst Mode with Sync Pulses> Non-Burst Mode with Sync Events

对于Non-burst下的两种子模式的区别在于是否发送HSE,如下图所示:

MIPI协议分析-搞懂video/command和HS/LP模式 | 基于RK3399_ide_05

通常来说,burst mode是video模式下的首选,因为在该种模式下,Host可以以很短的时间发送完数据包,以使得链路可以有更多的时间处于LP模式,达到了降低系统功耗的目的,如下图红色虚线框内所示:

MIPI协议分析-搞懂video/command和HS/LP模式 | 基于RK3399_状态机_06burst mod

command模式

假设CPU内部没有集成图显控制器,那么Host是工作于command mode的,因为这种模式下需要一个双向的数据通信接口,所以,在这种模式下只能使用lane0。假设Host支持video mode,可能也会支持command mode。但这不是此章节所述重点。

MIPI协议分析-搞懂video/command和HS/LP模式 | 基于RK3399_ide_07command mode架构

在这种模式下,CPU端负责发送更新图像数据的命令。在这种模式下基于DBI接口,在MCU领域可能会见到这种架构。如下图所示:

MIPI协议分析-搞懂video/command和HS/LP模式 | 基于RK3399_ide_08Command mode架构举例

物理层lane模式

lane模式属于物理层D-PHY范畴的概念,当lane处于不同模式下时,其功耗是不一样的。HS mode功耗高,但此时传输的是图像像素数据,需要快速性、实时性。当处于LP mode时功耗低,但同样因为其时钟受限,它能传输的数据速率也低。

下文中会涉及到lane模式切换时各状态机的含义,因此,先将状态机编码贴出来。

MIPI协议分析-搞懂video/command和HS/LP模式 | 基于RK3399_ide_09各状态含义

HS模式

在HS模式下,信号采用差分结构,差分信号电压摆幅约为 200mV。

当工作于HS mode时数据以burst模式进行发送,数据传输的开始和结束均为控制模式,每个lane通道同时发送数据,但可能不同时结束。

MIPI协议分析-搞懂video/command和HS/LP模式 | 基于RK3399_ide_10HS模式下时钟和数据lane的状态机

LP模式

LP是MIPI DSI的一种低功耗模式,在该模式下可以基于很低的时钟速率发送数据和指令,也可以增加一些额外的命令码以触发特定的行为动作。

LP模式包括控制和脱离两种子模式。当初始化结束后,D-PHY工作于默认的控制模式,因此,这部分不做细讲。

通过发送特定的命令码使数据通道进入到Escape模式,当检测到最后一个编码00之后则进入Escape模式;而在之前收到11则退出当前Escape进入流程。进入到Escape模式的序列码如下:

# LP(Lower Power)LP-11, LP-10, LP-00, LP-01, LP-00

进入到Escape模式后,通常会伴随1个8bit的命令。常用的命令码如下表所示:

MIPI协议分析-搞懂video/command和HS/LP模式 | 基于RK3399_ide_11命令码

基于Escape模式进入序列码以及Escape模式下的复位操作,其时序图概况如下:

MIPI协议分析-搞懂video/command和HS/LP模式 | 基于RK3399_状态机_12Escape模式下的复位操作

基于以上介绍,数据lane模式切换的状态机如下图所示:

MIPI协议分析-搞懂video/command和HS/LP模式 | 基于RK3399_状态机_13HS/LP模式状态机



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3