功能描述
DSI 介绍
-
仅 DSI_data0 信号对为双向,其余为单向
-
DSI_data0 仅在低速模式 (Low-power mode, LP) 下允许双向。
-
DSI 主设备,即 DSI 模块,可进行 LP 发送、LP 接收以及高速模式发送 (High-speed mode, HS)
-
DSI 从设备,即显示器,可进行 LP 接收、LP 发送以及 HS 接收。
-
DSI 主设备可以发送像素数据或者命令给 DSI 从设备,也可以读取从设备状态或者像素信息,接口遵循 DPI-2 以及 DBI-2。
DSI 信号电平
-
HS 模式的信号为差分对,高速传输。HS 模式只有 HS-0,HS-1 两种电平状态
-
LP 模式则独立驱动两个信号线,低速传输,低功耗。LP 模式有 LP-00、LP-01、LP-10 和 LP-11 四种电平状态。
信号状态 | DP(差分对正极) | DN(差分对负极) |
---|---|---|
HS-0 | HS 低 | HS 高 |
HS-1 | HS 高 | HS 低 |
LP-00 | LP 低 | LP 低 |
LP-01 | LP 低 | LP 高 |
LP-10 | LP 高 | LP 低 |
LP-11 | LP 高 | LP 高 |
数据包结构
多通道数据分配
DSI 根据应用不同使用一至四对数据信号通道。
-
作为发送者:该层在 N 个通道上分配一系列数据字节,其中每个通道是一个独立的接口。数据分配图中,串行数据由 byte0 开始依次从 Lane 0 到 Lane N 分配 。
-
作为接收者:反之。
Command 模式
-
DSI 从设备显示器存在本地寄存器和压缩或未压缩的帧缓冲器。
-
DSI 主设备使用命令模式对寄存器和帧缓冲器进行写入和读取数据。
-
DSI 处理器通过向显示器发送命令、参数和数据,间接控制外设显示器的活动。处理器还可以读取显示设备的状态或者帧缓冲器里的内容。
DSI 从设备显示器可以在某些场景应用中关闭 DSI 接口传输减少功耗。
-
dpivsync_edpiwms 拉高后,当接收到六个像素数据时,WMS(write memory start,0x2C)命令写入 FIFO。
-
之后,每六个像素数据都产生一个 WMC(write memory continue,0x3C)命令,直到 dpivsync_edpiwms 拉低
-
若最后 dpivsync_edpiwms 拉低时像素数据不足六个,则以剩余数据长度发送。
Video 模式
-
Burst Mode
-
Non-burst Mode:又分为 Sync Pulse 和带 Sync Event 两种
正常操作中,从设备显示器依赖于 DSI 主设备以足够的带宽提供图像数据以避免显示图像中的闪烁或其他可见异常。
Video 模式中数据传输只能用 HS 模式传输。一些 video 模式架构显示器可以包括简单的定时控制器和部分帧缓冲器,用于在待机或低功耗下保持部分屏幕或低分辨率图像模式,因此 DSI 接口可以关闭以减少功耗。
Video 模式传输像素数据存在一定的时序要求,传输数据包中关于时序成分的定义如下:
-
VSS:DSI Sync Event Packet,V Sync Start
-
VSE:DSI Sync Event Packet,V Sync End
-
BLLP:DSI Packet,非像素数据包传输或者 LP 模式传输包括 BTA(Bus Turn Around)操作时间段
-
HSS:DSI Sync Event Packet,H Sync Start
-
HSA:DSI Blanking Packet,Horizontal Sync Active 或者 LP 模式
-
HSE:DSI Sync Event Packet,H Sync End
-
HFP:DSI Blanking Packet,Horizontal Front Porch 或者 LP 模式
-
HBP:DSI Blanking Packet,Horizontal Back Porch 或者 LP 模式
-
RGB:DSI Packet,任意的像素流数据或者空包
-
LPM:LP 模式包括 BTA
-
对于所有的时序,一帧的第一行以 VSS 开始,其他行则以 VSE 或者 HSS 开始。
-
时序同步包(例如 VSS 和 HSS)在时间上的位置是最重要的,因为这直接影响显示面板的视觉效果。
此模式目标是通过 DSI 串行通信准确地传送 DPI 类型的时序信息,包括匹配的 DPI 像素传输速率,以及同步脉冲等时序的宽度。
因此使用发送同步脉冲的开始和结束的分组来定义同步周期,如下 。
其中相关的 type:VSS(0x01)、VSE(0x11)、HSS(0x21)、HSE(0x31)。显示为 HAS、HBP 和 HFP 的周期由消隐包填充,计算长度以匹配外围显示设备的数据表指定周期,处于这些时间段,DSI 置于 LP-11 状态以节省功耗。
带 Event 的 Mode:
此模式是带 Pulse 模式的简化,仅传输每个同步脉冲的开始,如下 。
从设备显示器可以根据需要将接收的每个同步时序包重新生成同步脉冲。
此模式中,像素数据包可以使用时间压缩在较短的时间内完成传输,这可以降低 DSI 的总体功耗,并且为链路上任何方向的其他数据传输提供更大的时间块,如下 。
APB Slave Generic Interface
Video 模式以及 command 模式的像素数据通过 eDPI 接口传输,此外 DSI 模块存在 APB GEN 接口传输通用信息,例如应用于显示屏的初始化配置,LP-RX 等。
DSI 模块支持 MIPI 规范的读写命令数据包的传输,这些数据包是使用 APB 寄存器访问构建的。
GEN_PD_CFG 寄存器基于操作有两个不同的功能,当发送命令模式数据包时,写入该寄存器的数据作为有效数据发送。当进行读取操作时,则该寄存器内容为读取数据。
GEN_PH_CFG 寄存器包含命令模式包头类型 (Data Type) 以及头数据字长,写此寄存器则触发数据包的传输,这意味着在长包的传输中,长包数据需提前写进 GEN_PD_CFG。
可通过 GEN 接口传输的有效数据包类型如下:
-
Generic Write Short Packet 0 Parameters(0x03)
-
Generic Write Short Packet 1 Parameters(0x13)
-
Generic Write Short Packet 2 Parameters(0x23)
-
Generic Read Short Packet 0 Parameters(0x04)
-
Generic Read Short Packet 1 Parameters(0x14)
-
Generic Read Short Packet 2 Parameters(0x24)
-
Maximum Read Packet Configuration(0x37)
-
Generic Long Write Packet(0x29)
-
DCS Write Short Packet 0 Parameters(0x05)
-
DCS Write Short Packet 1 Parameters(0x15)
-
DCS Read Short Packet 0 Parameters(0x06)
-
DCS Write Long Packet(0x39)
CMD PKT 状态寄存器显示相关联的 FIFO 状态。
Virtual Channels
使用 channels,当显示器具有不同的 channels 标志时,系统可以同时寻址多个显示器。
当 mode 使用虚拟通道时,可以使用 GEN 接口在传输视频流数据时发出命令,这样就可以通过正在进行的视频流传输中发送命令,寻址不同的虚拟通道,从而启用具有多个显示器的接口。
在 mode 期间,视频流传输具有最大优先级,因此来自 GEN 接口的传输仅在视频流传输中存在可用时间时才进行。
当 mode 使用虚拟通道时,可以使用 GEN 接口在 command mode 传输时发出更多的命令,这也解决了具有不同虚拟通道的多个显示器的问题。
因为在 mode 下,与 mode 相比没有特定的定时要求,所以优先考虑视频流数据包,然后再考虑通用接口数据包。