常见的屏幕接口有: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为高(读数据)
WR为高,禁止写
在RD的上升沿,读线上的数据(D[7:0]),假设8位8
080并口
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
评论(0)
您还未登录,请登录后发表或查看评论