Edit online

功能描述

23 Aug 2024
Read time: 5 minute(s)

DSI 介绍

DSI 发送接收接口关系图展示了 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。



1. DSI 发送接收接口关系图

DSI 信号电平



2. DSI 信号电平
DSI 信号电平图示中可以看出,DSI 通过驱动电平来决定信号对的状态。
  • HS 模式的信号为差分对,高速传输。HS 模式只有 HS-0,HS-1 两种电平状态

  • LP 模式则独立驱动两个信号线,低速传输,低功耗。LP 模式有 LP-00、LP-01、LP-10 和 LP-11 四种电平状态。

1. DSI 电平信号关系表
信号状态 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 数据包分为长包和短包结构。
  1. 长包结构下,一个长包数据包括 32 位包头,即 8 位 Data ID、16 位 WC、8 位 ECC。0-65535 个字节数据。以及 16 位 checksum,一个长包长度为 6-65541 字节。



    3. 长包结构
    • SOT – Start of Transmission

    • ECC – Error-Correcting Code

    • EOT – End of Transmission

  2. 短包结构下,一个短包数据包括 8 位 ID、2 字节数据,8 位 ECC。



    4. 短包结构
    其中 Data ID 组成为:
    • VC: Virtual Channel ID

    • DT: Data Type



    5. Data ID

多通道数据分配

DSI 根据应用不同使用一至四对数据信号通道。

在 PHY 和更高功能块之间的层可支持多通道操作,在以下不同角色中,该层的功能如下:
  • 作为发送者:该层在 N 个通道上分配一系列数据字节,其中每个通道是一个独立的接口。数据分配图中,串行数据由 byte0 开始依次从 Lane 0 到 Lane N 分配 。

  • 作为接收者:反之。



6. 数据分配

Command 模式

Command 模式是指 DSI 主设备采取发送命令和数据的形式控制从设备显示器。具体功能关系如下:
  • DSI 从设备显示器存在本地寄存器和压缩或未压缩的帧缓冲器。

  • DSI 主设备使用命令模式对寄存器和帧缓冲器进行写入和读取数据。

  • DSI 处理器通过向显示器发送命令、参数和数据,间接控制外设显示器的活动。处理器还可以读取显示设备的状态或者帧缓冲器里的内容。

注:

DSI 从设备显示器可以在某些场景应用中关闭 DSI 接口传输减少功耗。

Command 模式操作需要双向接口。与 video 模式相比,command 模式传输视频像素数据没有太多的时序限制,只需 dpivsync_edpiwms 来限制连续的像素流数据。假设数据包长度配置(EDPI CMD 大小寄存器中的 SIZE)为 6 个像素数据,每个像素占 24 位:
  1. dpivsync_edpiwms 拉高后,当接收到六个像素数据时,WMS(write memory start,0x2C)命令写入 FIFO。

  2. 之后,每六个像素数据都产生一个 WMC(write memory continue,0x3C)命令,直到 dpivsync_edpiwms 拉低

  3. 若最后 dpivsync_edpiwms 拉低时像素数据不足六个,则以剩余数据长度发送。



7. command 模式

Video 模式

Video 模式是指 DSI 主设备到 DSI 从设备显示器的传输采取实时像素流的形式进行,包括以下两个模式:
  • 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)在时间上的位置是最重要的,因为这直接影响显示面板的视觉效果。

带 Sync Pulse 的 Non-burst Mode:

此模式目标是通过 DSI 串行通信准确地传送 DPI 类型的时序信息,包括匹配的 DPI 像素传输速率,以及同步脉冲等时序的宽度。

因此使用发送同步脉冲的开始和结束的分组来定义同步周期,如下 。

其中相关的 type:VSS(0x01)、VSE(0x11)、HSS(0x21)、HSE(0x31)。显示为 HAS、HBP 和 HFP 的周期由消隐包填充,计算长度以匹配外围显示设备的数据表指定周期,处于这些时间段,DSI 置于 LP-11 状态以节省功耗。



8. sync pulse 模式

带 Event 的 Mode:

此模式是带 Pulse 模式的简化,仅传输每个同步脉冲的开始,如下 。

从设备显示器可以根据需要将接收的每个同步时序包重新生成同步脉冲。



9. sync event 模式
Burst Mode:

此模式中,像素数据包可以使用时间压缩在较短的时间内完成传输,这可以降低 DSI 的总体功耗,并且为链路上任何方向的其他数据传输提供更大的时间块,如下 。



10. burst 模式

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 相比没有特定的定时要求,所以优先考虑视频流数据包,然后再考虑通用接口数据包。