显示屏接口 --- MIPI-DSI 介绍
协议层和链路层属于MIPI DSI Host范畴,物理层属于D-PHY范畴。
数据流和 lane 的关系
物理层协议
物理层规范了传输介质、电气特性、IO电路、和同步机制。通俗地说,就是指定在MIPI协议的最底层物理层,发送端Tx如何拿到上层编码好的数据、转化成怎样的电信号、并通过多少根/组通道以何种形式发送给接收端Rx等等。
CSI和DSI的物理层由专门的工作组负责制定。在目前公布的协议中有三类基于摄像头的物理层接口,分别是D-PHY、C-PHY和M-PHY。其中最为简单基础、使用最广泛的是D-PHY接口,2009年发布D-PHY 1.0版本。
为了提供更高的接口带宽和更好的通道布局灵活性,CSI-2 v1.3引入了C-PHY接口。C-PHY 1.0是MIPI联盟于2014年9月发布的新物理接口,能够兼容之前的D-PHY v1.2版本。
D-PHY和C-PHY都是串行接口,它们解决了并行的接口的很多问题,比如降低了接口功耗,改善了并行难以扩展的问题。物理层协议除了这两者外还有M-PHY——这是一种高速Serdes接口,异步传输,相较于D-PHY有更少的引脚和更高的信号传输速度,在移动端应用的还没有那么广泛,但在车载领域应用较多,此处暂时不做重点讨论。
MIPI CSI 和 MIPI DSI 都是使用同一个物理层协议 D-PHY。
物理层LANE内部结构
物理层D-PHY速度模式
由于Lane有高速和低功耗两种收发器(数据LANE 1/2/3 只有高速收发器,LANE 0 都有),所以D-PHY的物理层支持HS(High Speed)和LP(Low Power)两种工作模式。
HS模式 | LP模式 | |
---|---|---|
传输模式 | 低压差分信号传输 | 单端信号传输 |
信号电平 | 100mV ~ 300mV | 0 ~ 1.2V |
传输速度 | 80Mbps ~ 1Gbps(v1.0)或80Mbps ~ 1.5Gbps(v1.1) | <10Mbps |
功耗 | 大 | 小 |
HS高速模式:用于高速传输数据。电压差200mv,电平状态有差分0(P_L, N_H)和差分1(P_H, N_L)两种
LP低功耗模式:用于传输控制信号。电压差1.2v,电平状态有00(P_L, N_L)、01、10、11四种
传输的最小单元为 1 个字节,采用小端的方式及 LSB first,MSB last
HS 发送器发送的数据, LP 接收器看到的都是 LP00
时钟通道和数据通道均可驱动为低速(LP)或高速(HS)模式
HS告诉模式的时钟下降沿和上升沿都采样数据。
由于 HS 和 LP 有不同的电平状态,
不同的电平状态通过不同的时序组合可以使得LANE进入不同的模式(三种模式之一:High-speed(高速模式)、Control mode(低速模式)、Escape mode(低速模式)),对于CLOCK 和 DATA LANE,它们进入的不同状态又有具体的不同划分(对应上述三种模式的其中部分模式),如下:
CLOCK有三个模式:
低功耗模式LPM (Low Power Mode)
超低功耗模式ULPM(Ultra Low Power Mode)
高速时钟模式HSCM(High Speed Clock Mode)
DATA有三个模式:
Escape Mode
High-Speed Data Transmission
Bus Turnaround Request
链路层工作模式
MIPI DSI的链路层有两种工作模式
视频模式(Video mode)
显示数据流通过显示器的 driver IC 直接显示到 LCD 上,为实时数据。为了降低复杂性和成本,仅在Video模式下运行的系统可以使用单向Data Lane。
链路层为video mode时,物理层只能为HS模式。
video 模式在传输时有三种时序控制模式,根据外围设备的要求决定了使用哪种时序控制模式比较合适,这三种模式为:
Non-Burst Mode with Sync Pulses,使外设能够精确地重建原始视频时序,包括同步脉冲宽度
Non-Burst Mode with Sync Events,与上述类似,但不需要精确重建同步脉冲宽度,因此会使用单个 Sync Event
Burst mode,RGB数据传输被压缩,其余时间均为LP11模式,以降低功耗
精确的重建时序:就是通过 DSI 传输后的数据,在对端可以精确的还原成 DPI 的时序
命令模式(Command mode)
Command模式是指读写显示模块寄存器或RAM的操作。数据先更新到ram中再由ram刷新到lcd上。<1>这种模式需要显示器的driver ic带ram,平台无数据更新时,显示内容就由ram更新到lcd上,节省功耗。<2>1/2 or 1/3 ram(ram大小为一帧的1/2 1/3)可以实现平台较小的数据输入,输出较高分辨率的效果,平台方压缩显示数据,driver IC解压数据并显示到lcd上。
Command模式操作需要一个双向Data Lane。
链路层为command mode时,物理层可以为HS模式,也可以为LP模式。
显示模块初始化配置寄存器,在命令模式。