前言
对于需要UI的产品来说,都会接触到各种各样的显示接口。接下来的几篇文章我们来整理一下常用的显示接口。
DBI简介
DBI(Display Bus Interface),显示总线接口,因为经常用在MCU上,所以也称MCU接口,DBI接口最大的特点就是LCM自带framebuffer,保存Host端发过来的数据,并由内部的控制芯片不断刷新到LCD上, 也就是说其内部实现了自刷新,Host只要发送一次数据即可, 这帧数据会一直显示在屏幕上。由于不需要主控刷新,所以对主控的要求很低。
DBI是MIPI联盟发布的第一个显示标准,用来规定显示接口。DBI中定义了三类接口:
- A类:基于Motorola 6800总线
- B类:基于Intel 8080总线
- C类:基于SPI/I2C协议
整体框架
DBI接口最大的特点就是LCM自带 framebuffer, 保存着Host端发过来的数据, 并由内部的驱动芯片不断的刷新到LCD上。
接口定义
- A类接口:
符号 |
描述 |
CSX |
片选信号 |
RESX |
复位信号,拉低复位 |
TE |
用作HSYNC和VSYNC信号,可选,有需要才使用 |
D/CX |
指示当前发送的是数据还是命令,拉高表示数据,拉低表示命令 |
R/WX |
指示当前是读还是写 |
E |
E时钟,没进行读写时拉高;如果进行读写则为时钟信号,上升沿读取数据,下降沿写入数据 |
D[15:0] |
数据信号,传输数据或命令 |
- B类接口:
符号 |
描述 |
CSX |
片选信号 |
RESX |
复位信号,拉低复位 |
TE |
用作HSYNC和VSYNC信号,可选,有需要才使用 |
D/CX |
指示当前发送的是数据还是命令,拉高表示数据,拉低表示命令 |
WRX |
下降沿写数据 |
RDX |
上升沿读数据 |
D[15:0] |
数据信号,传输数据或命令 |
- C类接口:
符号 |
描述 |
CSX |
片选信号 |
RESX |
复位信号,拉低复位 |
D/CX |
指示当前发送的是数据还是命令,拉高表示数据,拉低表示命令 。可选 |
SCL |
串行时钟。在上升沿时进行读写 |
DOUT |
输出数据信号(host) |
DIN |
输入数据信号(host) |
SDA |
双向数据信号 |
*总结:DBI可以有1, 2, 8, 9或16根数据信号线。从上面的接口图可以知道,C类接口可以配置为1或2根数据信号线,而A,B类接口可以配置为8,9,16根数据信号线。我们的像素数据就是在这些数据线上进行传输。
具体传输的时序,可以参阅下面的文档:
http://files.chinaaet.com/files/blog/2019/20171113/1000019445-6364618482802389294829448.pdf
总结
DBI接口在单片机上面用得比较多,因为这种接口主要是为内存资源少的主控准备的。