目录
8080时序也叫因特尔总线,一般MCU(MPU)模式的LCD上
常见的屏幕接口有:SPI、8080、RGB、MIPI-SDI、LVDS等
8080接口
使用这种接口的屏幕一般是屏幕自带了驱动芯片,比如ILI9488、ILI9341、SSD1963等 。驱动芯片里面自带了显存,MCU只需要把显示数据传给驱动芯片,驱动芯片会把数据保存到显存中,最后再把显存中的数据显示到屏幕上。
信号线
LCD_DB[15:0];数据信号
LCD_RD:读数据信号,低电平有效
LCD_RS:数据/命令信号,高电平时,D[15:0]表示的是数据(RGB像素数据或命令数据),低电平时D[15:0]表示控制命令
LCD_RESET:复位信号,低电平有效
LCD_WR:写数据信号,低电平有效
LCD_CS:片选信号,低电平有效
例如:
优点是:控制简单方便,无需时钟和同步信号,无需MCU提供显存,可省掉SDRAM或者SRAM
缺点是:耗费GRAM,对驱动芯片有要求,所以难以做到大屏(QVGA以上),因为带了驱动芯片,会比RGB接口屏幕贵。
8080时序也叫因特尔总线,一般MCU(MPU)模式的LCD上
Inter总线控制线有4根:
- RD:写使能
- WR:读使能
- DC(RS):数据/命令
- CS:片选
LCD控制及传输数据所需要的管脚:
管脚名称 | 功能描述 |
CS | 片选信号 |
DC(RS) | 数据或者命令管脚(1:数据读写,0:命令读写) |
WR | MCU向LCD写入数据控制线,上升沿有效,写数据时 RD拉高 |
RD | MCU从LCD读数据控制线,上升沿有效,读数据时,WR拉高 |
DB[X:0] | 8/9/16/18bits双向数据总线,一般8位的MCU接口用的比较多 |
RST | 硬件复位LCD信号 |
BL | LCD背光信号 |
IM2/1M1/1M0 | 接口控制,IM2=0,串行, IM2=1 IM1=0,IM0=0,6800/8080 8BIT并行接口; IM1=0,IM0=1,6800/808016bit并行接口;IM1=1,IM0=0,6800/8080 9bit并行接口; IM1=1,IM0=1,6800/8080 18bit并行接口 |
P68 | 6800/8080选择,0表示8080,1表示6800 |
读写数据
读时序图
通用时序图如下:
读数据的过程:
- CS拉低,选中
- DC/RS为高(读数据)
- WR为高,禁止写
- 在RD的上升沿,读线上的数据(D[7:0]),假设8位8080并口
- CS拉高,取消片选
伪代码
LCD_CS = 0; //开始片选
LCD_DC = 1; //读数据
LCD_WR = 1; //禁止写
LCD_RD = 0; //开始读
data = DATAIN();//读取数据
LCD_RD = 1; //结束读
LCD_CS = 1; //结束片选
写时序图
写数据的过程:
- CS拉低,选中
- RD为高,禁止写
- DC/RS为高,(写数据,写命令拉低)
- 在WR的上升沿,是数据写入到驱动IC里面
- CS为高,结束一组数据读取
伪代码
LCD_CS = 0; //开始片选
LCD_RD = 1; //禁止读
LCD_DC = 1; //写数据
DATAOUT(Data); //输出数据 ,先准备好数据,然后上升沿一次性更新到lcd
LCD_WR = 0; //写入开始
LCD_WR = 1; //写入结束
LCD_CS = 0; //结束片选
这里顺便提一下RGB接口
RGB接口
大屏采用较多的接口, 屏幕不带显存,需要MCU准备充足的显存空间(因为RGB565,480*272分辨率的屏幕就需要显存480*272*2 = 255K,一般的MCU都没有这么大的RAM,所以要加外置的SRAM或SDRAM)
信号线
R[7:0]:红色数据
G[7:0]:绿色数据
B[7:0]:蓝色数据
CLK:像素同步时钟信号
HSYNC:水平同步信号
VSYNC:垂直同步信号
DE:数据使能信号
例子
优点是:屏幕便宜。4.3寸、7寸、10.1寸、10.4寸多是这种接口
缺点是:需要MCU带显存,一般需要外挂SRAM或SDRAM