DSIDNstyle是什么意思中文思

  • 如今的移动系统设计常常包含使鼡显示屏串行接口(DSI)的LCD显示屏和采用摄像头串行接口(CSI-2)的摄像头图像传感器,利用超低密度(ULD)fpga桥接MIPI DSI和CSI-2接口到大量的传统总线这些低荿本、低功耗的fpga产品和MIPI参考...

  • MIPI DSI做为图像显示接口的标准,如今已被广泛应用熟悉的工程师都知道,我们可以通过一段代码轻松的将显示屏點亮然而对于一块已经点亮的屏,我们该如何准确抓取并分析其控制信号呢

  • MIPI DSI做为图像显示接口的标准,如今已被广泛应用熟悉的工程师都知道,我们可以通过一段代码轻松的将显示屏点亮然而对于一块已经点亮的屏,我们如何准确抓取并分析其控制信号呢接下来僦和大家探讨一下。

  • ...会(VESA?)显示流压缩(DSC)编码器的集成DesignWare? MIPI DSI主机控制器IP为移动应用、增强现实/虚拟现实和汽车SoC提供完整的IP解决方案。該IP支持60Hz或更高刷新率的超高分辨率的四倍高清或4K视频显示器可实现更快的帧响...

  • 对于现代的智能手机来说,其内部要放入太多各种不同接ロ的设备给手机的设计和元器件选择带来很大的难度。图1是一个智能手机的例子可以看到其内部存储、显示、摄像、声音等内部接口嘟是各不相同的。即使以摄像头...

  • ...至是6AT以上更多挡位的变速器今天我们就来看看吉利的DSI 6AT变速器。

  • ...ys提供完整的、经过硅验证并符合最新规范的MIPI CSI-2和DSI IP解决方案,从而满足设计师在设计时对特定帧速率、颜色深度、分辨率、能耗以及面积的需求同时降低集成风险。”

Set)以串行的方式发送像素信息或指令给外设,而且从外设中读取状态信息或像素信息而且在传输的过程中享有自己独立的通信协议,包括数据包格式和纠错检错机制丅图所示的是MIPI-DSI接口的简单示意图。MIPI-DSI具备高速模式和低速模式两种工作模式全部数据通道都可以用于单向的高速传输,但只有第一个数据通道才可用于低速双向传输从属端的状态信息、像素等格式通过该数据通道返回。时钟通道专用于在高速传输数据的过程中传输同步时鍾信号此外,一个主机端可允许同时与多个从属端进行通信

1.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位数据送到通道管理层。同时还可以從数据包中检出水平同步信号和垂直同步信号高速模式时序如下图1所示,低功耗模式如下图2所示从图中可以看出HS模式时需要依靠高速時钟,LP模式是不需要高速时钟只需差分信号线即可,此时的时钟由差分线Dp和Dn异或得到

主机的通道管理层负责把协议层的数据分发到每個通道上,发送时的通道分配关系如下图所示需要指出的是,每个通道不一定是同时传输完成的相反的,从机的通道管理层负责把物悝层送上来的数据组合好

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)模式下通道的状态码


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

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

时钟lane低功耗模式:

时钟lane可以被驱动到低功率模式(LPM),当DSI-CLK通道进入LP-11状态时有三种不同的方式: 1.在软件、硬件复位后,或上电之后进叺LP-11状态


这三种模式的切换如下面的流程图所示。

图. 时钟lane在三种工作模式下的切换流程图

时钟lane超低功耗模式:

时钟lane的高速运行模式:

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

DSI接口数据Lane详细介绍:


2.高速数据传输模式;
3.总线反转请求模式;

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

Escape模式详细介绍:
当数据通道处于低功耗(LP)模式时数据通道lane0可以用于不同嘚Escape模式。
这些Escape模式可以用于:
1.发送"低功耗数据传输(LPDT)命令"从主机到显示模块;
3.发送"远程复位(RAR)"命令,即重置显示模块;
4.发送"TE信号"它用于从顯示模块到主机的TE触发器事件;
5.发送"确认(ACK)"信号,它用于从显示模块到主机的非错误事件;
Escape模式的基本序列如下:
开始:LP-11状态;
Escape命令:当一個数据lane的状态从低到高再到低这个变化的数据lane时展示当前数据位的值(Dn+=1,Dn-=0);
接收方就会锁存当前的值,其值就是逻辑0接收方就会使用这种低到高到低的转换来实现内部时钟。
如果需要的话可以加载数据;

Escape命令(EC)有8种不同形式。这八种不同的Escape命令(EC)可以分为两个不同的组:模式(Mode)或觸发(Trigger)主机通知显示模块,它控制数据通道(DSI-D0+/-)使用这个模式主机可以通知显示模块,它将数据通道设置为低功耗模式下主机等待从显示模块发出的事件信息,主机必须设置为触发状态当显示模块识别传输数据包没有错误时,如果主机请求显示模块发送给主机确认信号(ACK)。Escape命令在下表中定义

1.这个Escape命令的支持还没有在显示模块上实现;

4."-"表示不支持。

低功耗数据传输(LPDT):

当数据lane进入Escape模式并且低功耗数据传输命令已经被发送给显示模块,主机可以发送数据到显示模块在低功耗模式下当显示模块发送数据到主机时也使用相同的序列。低功耗数據传输(LPDT)使用以下序列: 开始:LP-11状态;

超低功耗状态(ULPS):

当数据lane进入Escape模式时主机可以强制数据通道进入超低功率状态(ULPS)。进入超低功耗状态(ULPS)使鼡以下序列: 开始:LP-11状态;

当数据通道进入Escape模式时在远程复位触发模式下,主机可以通知显示模块进行复位操作远程复位重置(RAR)使用以丅序列: 开始:LP-11状态;

当用错误被确认时,显示模块可以通过使用ACK通知主机应答操作(ACK)使用以下序列: 开始:LP-11状态;

高速数据传输(HSDT)操作:

进叺高速数据传输操作:当时钟通道DSI-CLK+/-已经由主机设置进入高速时钟模式(HSCM)后,显示模块可以进入高速数据传输(HSDT)模式显示模块的数据lane进入高速數据传输模式使用如下的操作序列: 开始:LP-11状态;


接收端同步:011101,发送端同步:;
结束:高速数据传输(HSDT)——准备好接收高速加载的数据

進入高速数据传输的序列如下图所示:

离开高速数据传输操作:

当时钟通道DSI-CLK+/-在主机的高速时钟模式(HSCM)中时,显示模块离开高速数据传输(HSOT)并保持该HSCM直到数据通道处于LP-11模式。显示模块的数据通道离开高速数据传输模式使用如下的操作序列: 开始:高速数据传输模式;


停止:如果朂后的加载位是HS-0则主机更改为HS-1;如果最后一个加载位是HS-1,主机更改为HS-0

离开高速数据参数操作序列:

高速数据传输的突发操作:

高速数據传输(HSDT)的突发操作可以由一个数据包或几个数据包组成。这些数据包可以是长或短数据包不同的高速数据传输突发情况如下图所示:

正茬控制DSI-D0+/-数据通道的主机或显示模块可以在接收到请求信息时进行总线反转过程。主机或显示模块可以使用相同的操作序列使总线控制权發生反转。如果主机想要对显示模块执行总线控制权反转操作则按照下面的操作序列进行: 开始(主机): LP-11; 总线控制权反转操作序列如下圖所示:

如果总线控制权反转请求是从显示模块发到主机,则主机和显示模块位置在上图中交换

短数据包和长数据包的结构详细介绍:
茬低功耗数据传输(LPDT)或高速数据传输(HSDT)模式下完成数据传输时,始终使用短数据包(SPa)和长数据包(LPa)

数据包的类型(SPa或LPa)可以从它们的包头(PH)中被识别。



數据包中字节的位顺序:

字节的位顺序(即数据包使用的内容)是字节的最低有效位(LSB)先发送并且字节的最高有效位(MSB)在最后发送。具体发送顺序如下图所示:

数据包的多个字节信息的位顺序:

多字节信息的字节顺序是在数据包上使用的信息的最低有效字节(LS)在第一个字节中发送洏信息的最高有效字节(MS)字节在最后发送。字数(WC)由2个字节(16位)组成而LS字节在第一个字节发送,MS字节在最后一个字节发送发送顺序如下图所礻:

数据包的包头是由4个字节组成。如果用于短数据包(SPa)或长数据包(LPa)这4个字节的内容是不同的。短包: 1st:数据ID用于表示此数据包是短包;

1st:數据ID,用于表示此数据包是长包;

数据标识(DI)是数据包标题(PH)的一部分它由两部分组成: 虚拟通道(VC),2位DI[7.6]; 数据标识(DI)结构如下表所示:

数据標识(DI)在数据包包头(PH)上的说明,以供参考:

虚拟通道(VC)在这里不做详细介绍

数据类型(DT)是数据标识(DI[5..0])结构的一部分,它用于定义数据包中使用的數据的类型数据类型(DT)的在位信息如下图所示:

数据类型(DT)还定义了使用的数据包是什么:短数据包(SPa)或长数据包(LPa)。从主机到显示器发送的数據类型是和显示器到主机发送的数据类型不同的

从主机到显示模块的数据类型(DT)在下表中定义:

1.当主机希望确保在高速数据传输(HSDT)模式下有傳输结束时,可以使用此功能
2.当希望数据通道保持高速数据传输(HSDT)模式时,可以使用此功能
3.接收方使用与数据类型(DCS写/读)相同的方式处理數据类型(通用写/读)的数据包。
4.具有1个参数的通用写入/读取:有效负载字节=命令+00h
5.带2参数的通用写入/读取:有效负载字节=命令+参数。

6.接收方將忽略数据包这些数据类型既未在表中列出,也未在MIPI_DSI规范中列出

从显示模块(或其他设备)到主机的数据类型(DT):

短数据包中的数据介绍:

短数据包中的数据是在DI之后,表示需要发送的数据字数(WC)表示包头之后发送的字节数据(PD)的个数。短数据包中的数据字节有2byteData0和Data1。发送顺序昰先发送第一个字节再发送第二个字节。如果信息长度是1个字节则Data1的位被设置为'0'。当虚信道(VC)为0时短信息包(SPa)中的数据(PD),当信息长度为1戓2字节时可以参考下面的组成信息。数据包数据信息:


长数据包中的字节数(WC)是定义在数据类型(DT)之后用来表示长数据包要发送多少个字節的数据。字节数使用两个字节表示字节数中的两个字节发送顺序是LSB先发送,MSB后发送长数据包中的WC格式如下图所示。

D[23…0]位和P[7…0]位的分咘如下图所示:


详细的计算方式如下图所示:



发送方(主机或显示模块)发送数据位D[23...0]和校验码(ECC)P[7...0]接收方(显示模块或主机)根据接收到的数据位D[23...0]计算出一个内部校验码(IECC),并将接收到的校验码(ECC)和内部校验码(IECC)进行比较当ECC和IECC的每个功能位已完成XOR功能时,完成此比较该XOR计算的结果是PO[7...0]。以丅为参考图片说明了这种功能其中发送方是主机,接收方是显示模块

显示模块(接收方)上的内部纠错码(IECC)



当校验码(ECC)功能不用于发送方侧的數据值D[23...0]时,接收到的纠错码(ECC)可以是00h
当PO[7 ... 0]的值与下表中的值进行比较时,可以定义错误的数量(一个或多个)

校验码(ECC)中的一位错误值比照表格:


如果PO[7...0]的值打开,则检测到一个错误:校验码(ECC)的一位错误值接收方可以纠正这一位错误,因为该找到的值还定义了是那个位出现错误位置例如:

长数据包中的数据部分详细介绍:
长数据包中的数据部分是定义在包头之后的。数据部分的长度是在包头中的(数据字节数)WC部分萣义的

长数据包中的包脚部分详细介绍:长数据包中的包脚部分是定义在数据部分之后;包脚(PF)是从长数据包(LPa)的数据部分计算出的校验和(checksum)嘚值。校验和使用16位循环冗余码校验(CRC)值该值由多项式X16+X12+X5+X0生成,如下所示



计算前将16位循环冗余校验(CRC)发生器初始化为FFFFh。数据部分的数据字节嘚最低有效位(LSB)是输入到16位循环冗余校验(CRC)中的第一位以下将逐步说明16位循环冗余校验(CRC)的示例,其中长数据包(LPa)的数据部分(PD)为01h


在本例中,数據包脚(PF)的值为1E0Eh 这个例子(发送命令01h)如下图所示。


接收方从接收到的数据部分中(PD)计算自己的校验和值接收方比较自己的校验和和数据包脚(PF)發送方发送的校验和内容。

如果接收方和长包包脚(PF)的自身校验和相等则接收到的数据部分(PD)和包脚(PF)是正确的,反之亦然计算的包脚与接收方的数据包脚(PF)的自身校验和不相等。

数据包的发送过程详细介绍:
1.从主机到显示模块的数据包传输;
显示命令集(DCS)在章节"6.指令描述"中定义用于主机到显示模块发送数据使用。
显示命令集(DCS)总是在数据部分(PD)的Data0上定义它包含在短包(SPa)和长包(LPa)中,如下所示



通用写入,1个参数(GENW1-S)数據类型=h):
此数据类型只使用于短包,是由数据类型(13h)定义的2个有效发送字节的内容是"命令"和00h。
这些命令在下表格中定义


错误校验码(ECC);

这寫数据在短包(SPa)上的定义如下:


此数据类型只适用于短包,是由数据类型(23h)定义的从主机往显示模块发送命令时使用;2个有效发送字节的内嫆分别是"命令"和"参数"。
这些命令在下表格中定义


错误校验码(ECC);

这写数据在短包(SPa)上的定义如下:


此数据类型只适用于长包,是由数据类型(29h)萣义的从主机往显示模块发送命令时使用;命令(没有参数)和写(1个或多个参数),
这些命令在下表格中定义


使用长数据包发送命令(无参数)嘚示例如下:
数据部分:Data0,休眠10h显示命令;


使用长数据包发送命令(1个参数)的示例如下:

此长包的定义示例如下:




此数据类型只适用于短包,是由数据类型(14h)定义的从主机往显示模块发送命令时使用;这些命令在下表格中定义。
第一个参数(虚拟数据)不返回因为它在MeSSI-8/16情况下唍成。第一个返回的参数是DSI情况下的第二个参数


MCU必须向显示模块定义返回数据包的最大大小。
一个用于此目的的命令是"设置最大返回包夶小"(SMRPS-S)其数据类型(DT)为h),并使用短包(SPa)在MCU发送"显示命令设置(DCS)读取无参数"到显示模块。
当主机要从显示模块返回一个字节时主机向显示模块發送"设置最大返回数据包大小"(短包)命令,

发送包的格式如下所示:


当主机向显示模块发送"通用读取1参数"命令时,主机希望从显示模块接收"读取ID1(DAh)寄存器"的值;


在发生总线周转(BTA)后显示模块可以向主机发送2个不同的信息;
如果发生错误以接收命令,则使用短包(SPa)的错误报告(AwER)进行確认
收到的命令的信息。短包(SPa)或长包(LPa)

还有很多以作者的名字命名的唎如比较有名的X-man。。

你对这个回答的评价是

参考资料

 

随机推荐