MIPI DSI协议学习【转】

本文转载自:http://www.voidcn.com/blog/LoongEmbedded/article/p-6109759.htmlhtml

1.     MIPI DSIapp

DSI:displayserial interface,显示串行接口。一个时钟lane,一个或多个数据laneide

 

DSI分层结构:优化

 

图1code

 

2.     MIPI DSI协议介绍的数据包格式htm

分为短包和长包,短包4个字节,长包6~65541个字节,无论短包仍是长包,DI(data identifer数据标识符)都是第1个字节。blog

 

2.1   长包格式接口

 

 

图2ci

长包由几部分组成get

(1)  一个32位的包头(PH:packet Header)

由一个8位的DI、一个16位的字数(WC:word count)和一个8位的ECC。其中DI由数据的VC(virtualchannel)和具体应用的负荷数据DT(data type数据累类型)组成。WC指定datapayload中在包头和包尾之间的字节数,不包括包头也不包含包尾。ECC(错误校验码Error Correction Code)能够校验包头中DI与WC一个位错误的状况和能够发现2位错位的状况。

 

在包头的结尾,接收器接着读取data payload block中data payload(WC个字节数的数据)。

(2)  an application-specific datapayload with a variable number of bytes一个字节数可变的,且与具体应用工相关的数据负

(3)  一个16位的包尾(packet footer)

包脚只有一个16位的校验和(checksum)

 

接收器读了Data Payload后,会接着读取在包尾中的Checksum。Checksum

由主处理器(host processor)计算和传输。须要注意的是若是Data Payload为0字节,那么计算出来的Checksum为0xFFFF,若是不计算Checksum,那么包尾由0x0000(2个字节)组成。

 

 

2.2   短包格式

 

图3

短包由3部分组成:

(1)  一个8位的Data ID

(2)  两个(命令或是数据)字节

(3)  一个8位的ECC

没有包尾,短包固定是4个字节长度。

 

2.3   共同的包元素

 

2.3.1       数据标识符字节(data identifierbyte)

任何包的第1个字节是DI字节,它由VC和DT组成,以下图:

 

图4

(1)  VC对应DI[7:6]

VC指定虚拟数据通道,最多表示4个。一个处理器最大可为4个外设(这里指显示屏IC)服务,使用VC,可定位到不一样的外设。虽然这个MIPI DSI协议容许和多个外设通信,但此协议只能用于一个主处理器到一个外设的通信。

 

(2)  DT对应DI[5:0]

指定数据类型,好比0x06,是指DCS READ, no parameters。指定这个包是长包仍是短包和包格式,DT结合WC高通接受器这是个多少字节的长包。这是必要的,由于没有具体包开始和结束的同步码来指示包的开始和结束,这容许包传输任意数据,但仍是须要包头来显示指定包的长度。

 

当接收逻辑倒计时到包尾时,接收器假设下个数据是一个新包的包头或是传输结束。

 

(3)  指定数据类型

2.3.2       ECC(Error Correction code)

ECC能够校验包头中DI与WC一个位错误的状况和能够发现2位错位的状况,主处理器负责计算和传输一个ECC字节,外设支持正向和方向通信的ECC。

 

(1)  ECC的规则

 

图5

第一个24数据位D0~D23包含了完整的DSI包头,因此校验位计算可优化为:

 

图6

 

 

(2)  发送器的ECC产生

 

图7

 

(3)  接收器的ECC产生

 

图8

 

2.3.3        

 

2.4   长包Payload的checksum产生

长包的包头由一个字节的ECC保护,为了检测长包传输的错误,checksum基于数据包的payload部分来计算,须要注意,一个零字节长度payload的长包,其checksuam为0xFFFF。

 

Checksuam只能指示payload一个或多个错误的出现,不像ECC,checksum不能修复错误。因此,checksum计算对单方向的DSI实现没有做用,由于外设没办法报告错误给主处理器。

 

主处理器强制产生和发送checksum

 

(1)  Checksum的发送

 

图9

 

 

(2)  Checksum的产生

 

图10

 

(3)  Checksum产生的例子

 

 

 

图11

 

 

 

图12

相关文章
相关标签/搜索