在 MIPI 协议族种,之前晒了 DPI,和 DPI 对应的是 DBI;
MIPI DBI 的全称为 Display Bus Interface,是用于主机到显示设备的的一种数据传输标准;显示设备的话,分为很多种不同的类型,有的显示设备本身内部不带 Framebuffer,那么就需要主机不停的给显示设备送数据;还有的显示设备,它内部集成了 Framebuffer,主机只需要发送一帧的数据过去,然后主机就可以休息了,显示设备控制芯片那端的 Framebuffer 会自动的按照刷新率往显示上送;
DBI 的主要使用场景,是显示设备有 Framebuffer 的情况;
与 DPI 不同,MIPI DBI 存在 3 种实现,分别叫做 Type A、Type B、Type C;
1、Type A
MIPI DBI Type A 的硬件实现如下:
左边是我们的 CPU 的 DBI 控制器,右边是显示设备的控制器;
右边上面是供电口,暂时不管他,没有在本次讨论范围之内;
它的信号定义如下所示:
Symbol | Name | I/O | Descriptions |
CSX | 片选 | O | 在 Fixed E 模式下,主机在 CSX 上升沿读数据,在 CSX 下降沿写数据 在 Clocked E 模式下,当 CSX 为低电平的时候,代表这个显示设备被选中 |
R/WX | 读写信号 | O | 当 R/WX 为低电平时,表示写数据 当 R/WX 为高电平时,表示读数据 |
E | E Clock | O | 在 Fixed E 模式下,这个信号被一直拉高; 在 Clocked E 模式下,主机在 E 上升沿读数据,在 E 下降沿写数据 |
D[x:0](x=7/8/15) | 数据 | I/O | 数据信号 |
D/CX | Data/Cmd | O | 当 D/CX 为高电平的时候,代表 D[x:0] 传输的是 Data 当 D/CX 为低电平的时候,代表 D[X:0] 传输的是 Command |
RESX | 复位 | O | 当 RESX 为低电平的时候,代表让 Display Module 处于复位模式 |
TE | Tearing Effect | I | 可选信号,Tearing Effect; |
我们可以看到,在 Type A 里面还分了两种情况,Fixed E 和 Clocked E;
1.1、Type A 写
写的时候,可以是写数据,也可以是 Command;
Type A 的 Fixed E 模式下的写如下:
Type A 的 Clocked E 模式下的写如下:
1.2、Type A 读
针对读,同样的,分为了 Clocked E 和 Fixed E;
加上其他的信号的话,Type A 的读写时序如下:
1.3、Type A-Fixed E 模式下的 Write 时序
1.4、Type A-Clocked E 模式下的 Write 时序
1.5、Type A-Fixed E 模式下的 Read 时序
1.6、Type A-Clocked E 模式下的 Read 时序
这里有一个疑惑的地方,读时序中,第一个数据是 Invalid Data 的,但是 DBI-2 标准中并未对此做出解释,这里,那我认为一个读出的数据,是不可靠的;SPEC 规定第一个数据直接丢弃?
2、Type B
Type B 的结构如下所示:
左边是我们的 CPU 的 DBI 控制器,右边是显示设备的控制器;
右边上面是供电口,暂时不管他,没有在本次讨论范围之内;
它的信号定义如下所示:
Symbol | Name | I/O | Descriptions |
CSX | 片选 | O | 当 CSX 为低电平的时候,代表这个显示设备被选中 |
RDX | 读信号 | O | 在上升沿读数据 |
WRX | 写信号 | O | 在下降沿写数据 |
D[x:0](x=7/8/15) | 数据 | I/O | 数据信号 |
D/CX | Data/Cmd | O | 当 D/CX 为高电平的时候,代表 D[x:0] 传输的是 Data 当 D/CX 为低电平的时候,代表 D[X:0] 传输的是 Command |
RESX | 复位 | O | 当 RESX 为低电平的时候,代表让 Display Module 处于复位模式 |
TE | Tearing Effect | I | Tearing Effect; |
针对 Type B,它和 A 不一样,没有 Clocked E 和 Fixed E 的说法;
2.1、Type B 写
2.2、Type B 读
2.3、Type B Write 时序
2.4、Type B Read 时序
同样,看到的第一个是 Invaild Data;
3、Type C
Type C 的类型如下所示:
左边是我们的 CPU 的 DBI 控制器,右边是显示设备的控制器;
右边上面是供电口,暂时不管他,没有在本次讨论范围之内;
它的信号定义如下所示:
Symbol | Name | I/O | Descriptions |
CSX | 片选 | O | 当 CSX 为低电平的时候,代表这个显示设备被选中 |
SCL | 串行时钟 | O | 在时钟上升沿读写数据 |
DOUT | 输出数据 | O | 数据输出端口 |
DIN | 输入数据 | I | 数据输入端口 |
SDA | 数据 | I/O | 数据双向传输端口 |
D/CX | Data/Cmd | O | 当 D/CX 为高电平的时候,代表 D[x:0] 传输的是 Data 当 D/CX 为低电平的时候,代表 D[X:0] 传输的是 Command |
RESX | 复位 | O | 当 RESX 为低电平的时候,代表让 Display Module 处于复位模式 |
Type C 的参考 DBI 的 SPEC