原文地址:http://blog.csdn.net/qq160816/article/details/19555957
一、MIPI
MIPI(移动行业处理器接口)是Mobile Industry Processor Interface的缩写。MIPI(移动行业处理器接口)是MIPI联盟发起的为移动应用处理器制定的开放标准。
已经完成和正在计划中的规范如下:
二、MIPI联盟的MIPI DSI规范
1、名词解释
DSI分四层,对应D-PHY、DSI、DCS规范、分层结构图如下:
? PHY 定义了传输媒介,输入/输出电路和和时钟和信号机制。
? Lane Management层:发送和收集数据流到每条lane。
? Low Level Protocol层:定义了如何组帧和解析以及错误检测等。
? Application层:描述高层编码和解析数据流。
3、Command和Video模式
? DSI兼容的外设支持Command或Video操作模式,用哪个模式由外设的构架决定
? Command模式是指采用发送命令和数据到具有显示缓存的控制器。主机通过命令间接的控制外设。Command模式采用双向接口
? Video模式是指从主机传输到外设采用时实象素流。这种模式只能以高速传输。为减少复杂性和节约成本,只采用Video模式的系统可能只有一个单向数据路径
三、D-PHY介绍
1、 D-PHY 描述了一同步、高速、低功耗、低代价的PHY。
?这个状态下,lines处于空状态 (LP-00)
? 时钟Lane的超低功耗状态
?时钟Lane通过LP-11→LP-10→LP-00进入ULPS状态
?通过LP-10 → TWAKEUP →LP-11退出这种状态,最小TWAKEUP时间为1ms
?发送高速串行数据的行为称为高速数据传输或触发(burst)
?时钟应该处于高速模式
?退出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
四、DSI介绍
1、DSI是一种Lane可扩展的接口,1个时钟Lane/1-4个数据Lane
? DSI兼容的外设支持1个或2个基本的操作模式:
? Command Mode(类似于MPU接口)
? Video Mode(类似于RGB接口)- 必须用高速模式传输数据,支持3种格式的数据传输
? ? Non-Burst 同步脉冲模式
? ? Non-Burst 同步事件模式
? ? Burst模式
? 传输模式:
? 高速信号模式(High-Speed signaling mode)
? 低功耗信号模式(Low-Power signaling mode) - 只使用数据lane 0(时钟是由DP,DN异或而来)。
? 帧类型
? 短帧:4 bytes (固定)
? 长帧:6~65541 bytes (可变)
? 两个数据Lane高速传输示例
2、短帧结构
? 帧头部(4个字节)
? 数据标识(DI) 1个字节
? 帧数据- 2个字节 (长度固定为2个字节)
? 错误检测(ECC) 1个字节
? 帧大小
? 长度固定为4个字节
3、长帧结构
? 帧头部(4个字节)
? 数据标识(DI) 1个字节
? 数据计数- 2个字节 (数据填充的个数)
? 错误检测(ECC) 1个字节
?数据填充(0~65535 字节)
? 长度=WC*字节
? 帧尾:校验和(2个字节)
? 帧大小:
? 4 + (0~65535) + 2 = 6 ~ 65541 字节
4、帧数据类型
具体代码在drivers/video/msm/Mipi_dsi.h中
- /* dcs read/write */
- #define DTYPE_DCS_WRITE 0x05 /* short write, 0 parameter */
- #define DTYPE_DCS_WRITE1 0x15 /* short write, 1 parameter */
- #define DTYPE_DCS_READ 0x06 /* read */
- #define DTYPE_DCS_LWRITE 0x39 /* long write */
- /* generic read/write */
- #define DTYPE_GEN_WRITE 0x03 /* short write, 0 parameter */
- #define DTYPE_GEN_WRITE1 0x13 /* short write, 1 parameter */
- #define DTYPE_GEN_WRITE2 0x23 /* short write, 2 parameter */
- #define DTYPE_GEN_LWRITE 0x29 /* long write */
- #define DTYPE_GEN_READ 0x04 /* long read, 0 parameter */
- #define DTYPE_GEN_READ1 0x14 /* long read, 1 parameter */
- #define DTYPE_GEN_READ2 0x24 /* long read, 2 parameter */
- #define DTYPE_TEAR_ON 0x35 /* set tear on */
- #define DTYPE_MAX_PKTSIZE 0x37 /* set max packet size */
- #define DTYPE_NULL_PKT 0x09 /* null packet, no data */
- #define DTYPE_BLANK_PKT 0x19 /* blankiing packet, no data */
- #define DTYPE_CM_ON 0x02 /* color mode off */
- #define DTYPE_CM_OFF 0x12 /* color mode on */
- #define DTYPE_PERIPHERAL_OFF 0x22
- #define DTYPE_PERIPHERAL_ON 0x32
- /*
- * dcs response
- */
- #define DTYPE_ACK_ERR_RESP 0x02
- #define DTYPE_EOT_RESP 0x08 /* end of tx */
- #define DTYPE_GEN_READ1_RESP 0x11 /* 1 parameter, short */
- #define DTYPE_GEN_READ2_RESP 0x12 /* 2 parameter, short */
- #define DTYPE_GEN_LREAD_RESP 0x1a
- #define DTYPE_DCS_LREAD_RESP 0x1c
- #define DTYPE_DCS_READ1_RESP 0x21 /* 1 parameter, short */
- #define DTYPE_DCS_READ2_RESP 0x22 /* 2 parameter, short */
1、MIPI DSI在Low Power模式下的信号测量图
2、MIPI的D-PHY和DSI的传输方式和操作模式
? Video Mode(类似于RGB接口)- 必须用高速模式传输数据