转载-MIPI_DSI通信接口及协议介绍

1、前言

MIPI_DSI是一种应用于显示技术的串行接口,兼容DPI(显示像素接口,Display Pixel Interface)、DBI(显示总线接口,Display Bus Interface)和DCS(显示命令集,Display Command Set),以串行的方式发送像素信息或指令给外设,还可以从外设中读取状态信息或像素信息,而且在传输过程中享有自己独立的通信协议,包括数据包格式和纠错检错机制,下图所示的是MIPI_DSI接口的简单示意图:

MIPI_DSI具备高速模式和低速模式两种工作模式,全部数据通道都可以用于单向的高速传输,但是只有第一个数据通道才可以用于低速双向传输,从属端的状态信息、像素等格式通过该数据通道返回,时钟通道专用于高速传输数据的过程中传输同步时钟信号,此外,一个主机端可允许同时与多个从属端进行通信。

 

2、MIPI_DSI应用电路

MIPI_DSI是一个应用于接口方面的通信协议,其整体电路工作依据协议所定义的各个层协同工作,其协议分层如下图所示:

各个层的工作方式及原理:

  • 物理层:在接收到低速发送请求时,逻辑电路将待发送的指令或数据串行化,并控制输出高摆幅低功耗电平进行低功耗传送请求,随后将指令或数据串行地加载到通道,接收端则识别传送模式完成串行数据的并行转换,当接收到高速请求后,电路发送高摆幅低功耗电平进行高速传送请求,然后将待发送数据经过串行转换之后驱动差分驱动模块以低摆幅信号在通道上传送,接收端则识别高速模式后正确地检测其同步信号,将高速串行数据完成串并转换成功地接收,除此之外,总线控制权可在主机端与从属端之间交换,发送端发送放弃总线请求,接收端接收请求之后控制总线发起应答,总的过程为TA(turn around)操作,当主机端需要获取从属端接收数据的状况或者读取显示模块的参数或显示数据的时候,主机端发起TA操作,在从属端发送数据完毕之后自动发起TA操作,归还总线控制权。
  • 通道管理层:依据设计所设定N(N最多为4)个数据通道,该层在发送端将需要发送的数据按照通道次序分成N组输送到相应的数据通道,使其经过数据通道同时发送至从属端,在接收端,该层需要做的是将接收到的N组数据组合在一起恢复成原始的数据序列。
  • 协议层:信息传送采用数据包格式,包括长数据包和短数据包,发送数据的时候,将数据按照信息类型及内容进行压包,完成ECC码的生成和CRC码的添加,接收数据的时候,依据ECC码和CRC码就整个数据包进行检错纠错,完成对包头和数据内容的译码并合理输送到应用层中。
  • 应用层:根据应用模块的需要,在发送端对发送的命令和数据进行初步编码转化为MIPI_DSI所规定的格式,而在接收端则将接收的数据还原为应用模块所支持的数据格式及时序要求。

物理层模块详细介绍:

按照D-PHY协议,在整个协议的物理层中,在主机端和从属端之间采用的是同步连接,时钟通道用于传送高速时钟,一个或多个数据通道用于传送低功耗数据信号或高速数据信号,每一个通道都是利用两根互连线实现主机端和从属端的连接,并且支持高速模式和低速ESCAPE模式,在高速模式下,发送端同时驱动该通道仅有的两根互连线,输出低摆幅差分信号,例如200mV,低速模式下,发送端分别驱动互连线,各自输出单端信号,但摆幅相对较大,例如1.2V,两种模式下的互连线电平如下图所示:

互连线两端是驱动单元和接收单元,驱动单元有差分发送模块(HS_TX)和低功耗单端发送模块(LP_TX),接收单元有差分接收模块(HS_RX)、低功耗单端接收模块(LP_RX)。

差分发送模块(HS_TX)以差分信号驱动互连线,高速通道上呈现两种状态:differential-0和differential-1,低功耗单端发送模块(LP_TX)独立地驱动两根互连线,通道上则有四种不同的状态:LP00、LP01、LP10和LP11,协议针对线路电平作了具体的定义并设置了三种工作模式:高速模式、控制模式和ESCAPE模式,如下表所示:

通道默认为控制模式,线路处于STOP状态,当通道需要进入高速模式或ESCAPE模式,发送模式则需驱动线路为LP01或LP10向接收端发送请求,发送完请求序列之后便进行相应工作模式,发送LP11便可退出,结束传送回到STOP控制状态,接收端需要时刻进行LP-RX接收,侦测线路电平明确通道的工作模式。

物理层采用1对源同步的差分时钟线和4对差分数据线来进行数据传输,时钟为高速时钟通道,以DDR(双边沿采样)的方式进行高速数据传输,由主机发送至从机,Lane0在HS(高速)模式时为单向数据通道,速度最大为1Gbps,在LP(低功耗)模式时为双向数据通道,速度最大为10Mbps,主要用于传送命令参数以进一步降低功耗,Lane1~Lane3为高速单向数据通道,每条Lane最大提供1Gbps的带宽,由主机发送至从机,物理层可能包含低功耗发送器(LP-TX)、低功耗接收器(LP-RX)、高速发送器(HS-TX)、高速接收器(HS-RX),物理层传输的都是差分信号,LP模式电压摆幅为0-1.2V,此时功耗较小,HS模式时电压摆幅为100mv-300mv,此时速度较快,功耗较大。

主机与从机之间是以同步方式进行数据传输的,并且是DDR模式,即双边沿触发,这样可以在时钟频率不变的情况下将数据传输,速率提高一倍,更加有效地利用带宽资源,主机的物理层将通道管理层分发下来的数据串行地转换成差分信号送到数据线上,同时产生差分时钟,每个数据通道是并行发送的,最多为4个通道,最小为1个通道,根据带宽需要而定,从机的物理层负责从差分串行比特流中捕获0或1,即Dp比Dn高时为1,Dn比Dp高时为0,然后组成8位数据送到通道管理层,同时还可以从数据包中检出水平同步信号和垂直同步信号。

高速模式时序如下图所示:

低功耗传输模式时序如下图所示:

通道管理层详细介绍:

主机的通道管理层负责把协议层的数据分发到每个通道上,发送时的通道分配关系如下图所示:

需要指出的是,每个通道不一定是同时传输完成的,相反的,从机的通道管理层负责把物理层送上来的数据组合好。

协议层详细介绍:

DSI协议是一个基于数据包传送的通信协议,主机端和显示模块之间传送的命令和数据基本上都以数据包格式进行,DSI所定义的数据包有两种:短数据包(short packet)和长数据包(long packet),如下图所示:

短数据包主要用于传输命令、读写寄存器,长数据包主要用于传输大量图像数据或部分控制命令,长数据包长度为6~65541字节,包括4byte数据包头、0~65535byte有效数据、2byte数据包尾,短数据包长度为4byte,只有数据包头,发送数据的时候,主机的协议层将根据协议进行打包,并生成ECC和CRC添加到数据包里面,相反的,从机的协议层负责把接收到的数据包根据ECC和CRC对数据包进行纠错,并且把有用的数据提取出来送到应用层。

应用层详细介绍:

应用层模块直接连接到显示模块,负责与显示模块的通信,按照协议要求,接口电路支持命令模式和视频模式,命令模式则是经过接口转换之后主机端依然得以"命令+参数"格式对显示模块进行读写操作,而视频模式下,主机端可以直接将显示数据写入显示模块,无需命令操作,实时显示视频,该模块在设计的过程中应支持命令模式和视频模式。

 

阅读芯片Spec笔记:

显示串行接口标准定义了主处理器和外围设备之间的协议,遵守MIPI联盟移动设备接口的标准。

DSI标准建立在现有的DPI(显示像素接口)和DBI(显示总线接口)标准上,采用MIPI联盟标准中定义的像素格式和命令集。

使用DSI接口的外设支持两种基本操作模式:命令模式和视频模式,使用哪种模式取决于外设的体系结构和能力,模式定义反映了DSI用于显示互连的主要用途,但并不是限制DSI在其他应用中操作,通常,LCD外设既可以进行命令模式操作,也可以进行视频模式的操作。

一些支持视频模式的显示模块还包括命令模式操作的简化形式,其中显示模块可以从很小的帧缓冲器中刷新其屏幕,并且可以将与主处理器的接口(DSI)关闭以降低功耗。

命令模式指的是主要采取向显示控制器的外围设备(例如显示模块)发送命令,显示控制器可能包含本地寄存器和帧缓冲器,系统可以使用命令写入和读取寄存器,主处理器可以通过向显示控制器发送命令和参数来间接控制外设的能力,主处理器还可以读取显示模块状态信息,命令模式操作需要使用双向接口。

视频模式是指从主机处理器向外设采用实时像素流的形式传输显示数据,在正常操作中,显示模块依靠主机处理器以足够的带宽提供图像数据以避免显示图像中的闪烁或其它可见伪像,视频信息只能使用高速模式进行传输,一些视频模式架构可能包括一个简单的时序控制器和小帧缓冲区,用于在待机或低功耗模式下保持屏幕图像的显示,这允许关闭DSI接口以减少功耗,为了降低复杂性和成本,视频模式的运行可能会仅使用单向传输路径。

引脚配置:

主处理器与显示模块之间的通信可以分为两个不同的级别:

  • 接口级别:低级别通信
  • 数据包级别:高级别通信

接口级别通信详细介绍:

显示模块使用DSI接口定义的数据和时钟通道差分信号对的形式,这两种差分信号对都可以工作在低功耗(LP)或高速(HS)模式,低功耗模式意味着在单端模式下使用差分对的每一条信号线,并禁用接收端的差分对,可以在低功耗模式下工作,高速模式意味着差分信号线不是在单端模式下使用,当需要将信息从主机传输到显示模块时,在每个模式中都使用不同的模式和协议,反之亦然,下面定义了高速(HS)和低功耗(LP)模式下通道的状态码:

注释:

1、当lane处于高速(HS)模式时,每条lane的低功率接收器(LP-Rx)都会检查LP-00状态码;

2、如果每条lane的低功率接收器(LP-Rx)识别LP-11状态码时,则lane返回到LP-11模式状态,也就是控制模式。

DSI-CLK Lanes详细介绍:

时钟lane可以工作在三种不同的功率模式:低功耗模式(LPM)、超低功耗模式(ULPM)或高速时钟模式(HSCM),当进入或退出低功耗模式(LPM)或超低功耗模式(ULPM)时,时钟lane处于单端模式(LP低功耗),这些进入和退出协议在单端模式中使用时钟lane来生成进入或退出时钟序列。

时钟lane在不同的功耗模式的原理流程图如下所示:

时钟lane低功耗模式:

时钟lane可以被驱动到低功耗模式(LPM),当DSI-CLK通道进入LP-11状态时,有三种不同的方式:

  • 在软件、硬件复位后或上电之后进入LP-11状态
  • 在时钟lane退出超低功耗模式后(ULPM,LP-00状态码)=>LP-10=>LP-11(LPM),这个序列如下所示:

  • 在时钟lane退出高速时钟模式(HSCM,HS-0或HS-1状态码)=>HS-0=>LP-11(LPM),这个序列和所有三种模式的改变如下所示:

时钟lane超低功耗模式:

时钟lane可以被驱动到超低功耗模式(ULPM),当DSI-CLK通道进入LP-00状态码时,进入超低功耗模式唯一的途径是从低功耗模式(LPM,LP-11状态码)=>LP-10=>LP-00(ULPM),这个序列如下所示:

模式转换如下图所示:

时钟lane的高速运行模式:

时钟lane可以被驱动到高速时钟模式(HSCM),DSI-CLK通道开始在HS-0和HS-1状态码之间工作,进入高速时钟模式唯一可能性是从低功耗模式(LPM,LP-11状态码)=>LP-01=>LP-00=>HS-0=>HS-0/1(HSCM),时序图如下所示:

模式转换如下所示:

高速时钟(DSI-CLK+/-)是在高速数据通道DSI-Dn+/-lane发送数据之前启动的,高速数据发送停止后,高速时钟会继续计时一段时间,高速时钟时序图如下:

DSI接口数据lane详细介绍:

DSI的数据lane0可以工作在不同的模式,如下:

  • Escape模式
  • 高速数据传输模式
  • 总线反转请求模式

这些模式及其进入状态码在下表中定义:

Escape模式详细介绍:

当数据通道处于低功耗(LP)模式时,数据通道lane0可以用于不同的Escape模式,这些Escape模式可以用于:

  • 发送"低功耗数据传输(LPDT)命令",从主机到显示模块
  • 驱动数据lane工作于"超低功耗(ULPS)"模式
  • 发送"远程复位(RAR)"命令,即重置显示模块
  • 发送"TE信号",它用于从显示模块到主机的TE触发器事件
  • 发送"确认(ACK)"信号,它用于从显示模块到主机的非错误事件

Escape模式的基本序列如下:

开始:LP-11状态

Escape模式进入序列:LP-11=>LP-10=>LP-00=>LP-01=>LP-00

Escape命令:当一个数据lane的状态从低到高再到低,这个变化的数据lane是展示当前数据位的值(Dn+=1,Dn-=0)

退出Escape模式:LP-00=>LP-10=>LP-11

结束:LP-11

一般的Escape模式序列如下图所示:

 

 

本文转载于:

https://blog.csdn.net/caihaitao2000/article/details/80224976

posted @ 2022-03-15 21:26  liangliangge  阅读(6290)  评论(0编辑  收藏  举报