MIPI DSI介绍

MIPI DSI屏幕驱动实验

MIPI DSI屏幕目前广泛应用于手机、平板产品中,尤其是高清屏幕目前都是采用MIPI DSI接口,比如1080P、2K级的屏幕。MIPI DSI接口使用更少的线数,驱动更高分辨率的屏幕。

MIPI联盟简介

MIPI即移动产业处理器接口,是Mobile Industry Processor Interface缩写。

MIPI官方网址:Interface Specifications for Mobile Products | MIPI Allliance

MIPI联盟主要是为了移动处理器定制标准接口和规范,开发的接口广泛用于处理器、相机、显示屏、基带调制解调器等设备。比如:

MIPI DSI(显示屏接口)

MIPI CSI(摄像头接口)

MIPI I3C

MIPI RFFE(射频前端控制接口)

MIPI SPMI(系统电源管理接口)

等等。

屏幕,应用层有DSC, 协议层主要有DSI, 物理层有A-PHY/C-PHY/D-PHY。

摄像头,应用层有CCS, 协议层主要有CSI-2/CSI-3, 物理层有A-PHY/C-PHY/D-PHY。

D-PHY: 目前最多的使用接口,不管是摄像头还是屏幕,D-PHY接口为1/2/4lane(lane可以理解为通道,即1/2/4通道,每个通道2条差分线),外加一对时钟线,数据线和时钟线都是差分线,为电流驱动型,不同版本的D-PHY速度不同,其中V1.2版本的D-PHY单lane的速率最高可达2.5Gbps(使用deskew标准)。

C-PHY: 随着屏幕和摄像头的分辨率和帧率越来越高,D-PHY的带宽越来越不够用。C-PHY就应用而生,C-PHY接口是1/2/3 Trio, 每个Trio有3根线,最高9根线,没有专用的时钟线。

A-PHY: 主要是为自动驾驶汽车而生,汽车的屏幕和摄像头等分布分散,到主控的距离一般比较长。但是D-PHY和C-PHY的距离太短,最多不超过15CM,显示不适合车载领域。A-PHY用于长距离、超高速的汽车应用中,比如ADAS/自动驾驶系统(ADS)/车载信息娱乐系统(IVI)和其他环绕传感器。

M-PHY: 目前主要用于USF存储中。

MIPI DSI概述

DSI全称是Display Serial Interface, 是主控和显示器之间的串行连接接口。

MIPI DSI 分层

应用层:将要显示的数据打包进数据流中,下层会处理并发送应用层的数据流。

协议层:在原始数据的基础上添加ECC和校验和等数据。选择要发送的数据格式并给原始数据添加包头和包尾。

通道管理层:将打包好的数据分配到具体的通道上。

物理层:完成MIPI DSI数据在具体电路上的发送和接收。

MIPI DSI 物理层和D-PHY

D-PHY是一个源同步、高速、低功耗、低开销的PHY,特别适合移动领域。

D-PHY提供了一个同步通信接口来连接主机和外设,在实际使用中提供一对时钟线以及一对或多对信号线。时钟线是单向的,由主控产生,发送给设备。数据线根据配置可以有1~4lane,只有Data0这组数据线可以单向也可以双向,其它组都是单向的。

数据链路分为HS模式和LP模式。HS模式用来输出高速数据,比如屏幕像素数据。LP模式用来传输低俗的异步信号,一般是配置指令,屏幕的配置参数等。HS模式下每个数据通道速率为80~1500Mbps, 如果使用deskew标准,可以到2500Mbps, 最新版本的D-PHY支持的速率更高!LP模式下最高10Mbps。

D-PHY信号电平

Lane分为HS和LP两种模式,其中HS采用低压差分信号,传输速度高,但功耗大,信号电压幅度100mv~300mv, 中心电平200mv。LP模式下采用单端驱动,功耗小,速率低(<10Mbps), 信号电压幅度0~1.2v。在LP模式下只使用Lane0也就是数据通道0,不需要时钟信号,通信过程的时钟信号通过Lane0两个差分线异或得到,而且是双向通信。

数据Lane三种工作模式

D-PHY协议规定,通过Lane的不同状态转换有三种模式:控制模式、高速模式和Escape模式。

高速模式

高速模式用于传输实际的屏幕像素数据,采用Bursts传输方式。高速数据传输起始于STOP状态(LP-11),结束于STOP状态(LP-11)。

当数据传输请求发出后,数据Lane退出STOP模式进入到高速模式,顺序是:LP-11->LP-01->LP-00。然后发出一个SOT序列,SOT后跟着实际的负载数据,当负载数据传输结束后会紧跟一个EOT序列,数据线直接进入到STOP模式。

Escape模式

Escape模式是运行在LP状态下的特殊模式,在此模式下可以实现一些特殊的功能,我们给屏幕发送配置信息就需要运行在Escape模式下。数据线进入Escape模式的方式为:LP11->LP10->LP-00->LP01->LP00。退出Escape模式的方式为:LP00->LP10->LP11, 也就是最后会进入到STOP模式。

对于数据Lanes, 进入Escape模式以后,应该紧接着发送一个8bit的命令来表示接下来要做的操作。

在Escape模式下有3个可选指令:LPDT(Low-Power Data Trasmission)、ULPS(Ultra-Low Power State)和Remote-Trigger(主要做复位操作)。

LPDT命令

LPDT命令序列为:11100001,注意低bit先发送,所以对应十六进制就是0x87。我们在初始化MIPI屏幕的时候发送的初始化序列就需要用LPDT命令,LPDT命令序列后紧跟着就是要发送的数据。

ULPS命令

ULPS命令就是让Lane进入超低功耗模式。序列为:00011110,注意先发送低bit,所以对应十六进制就是0x78。

Remote-Trigger命令

此命令主要用于远程复位。序列为:01100010,注意低bit先发送,所以对应十六进制是0x46。

video和command模式

command模式

command模式一般针对屏端含有buffer的MCU屏幕,当画面有变化的时候,DSI Host端将数据发给屏幕,主控只有在画面需要更改的时候发送像素数据,画面不变化的时候屏幕驱动芯片从自己内部buffer里面提取数据显示,command模式下需要双向数据接口,一般此种模式的屏幕尺寸和分辨率不大,一般用于低端屏领域。

video模式

video模式屏端没有framebuffer, 需要主控一直发送数据给屏幕,和RGB接口屏类似。但是MIPI DSI没有专用的信号线发送同步信息,比如VSYNC、HSYNC等,所以这些控制信号和RGB图像数据已报文的形式在MIPI数据线上传输。

长短数据包

短数据包

固定4个字节,包括ECC。断包一般用于Command模式下发送命令和参数,但在实际中,video模式也用短包发送命令参数信息。

1个字节DI + 2字节数据 + 1字节ECC

长数据包

通过2个字节的WC指定负载长度,具体负载长度是0~65535字节,因此一个长数据包最多有65541个字节。

1个字节DI + 2个字节的WC + 1个字节的ECC + 65535个字节负载 + 2个字节校验和 = 65541字节

DI字节组成

bit7:6 这2bit表示虚拟通道

bit5:0 这6bit表示后面发送的负载数据类型

  • 41
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值