总结一下使用过的几类LCD屏特点

1、MCU屏
一般MCU屏都会自带显存,接口为16位的80并口,相当于支持RGB565模式,
8080是通过"读使能(RE)"和"写使能(WE)"两条控制线进行读写操作。


关键管脚说明
RESET脚,复位LCD 
RS      寄存器选择,置1为写数据,置0为写命令,1表示选择命令寄存器,0表示选择数据寄存器
CS      片选信号
RD      置0表示读数据
WR      置0 表示写数据


数据线一般常用有8和16位,根据实际模块IM0确定


MCU接口的LCD的Driver IC都带GRAM,Driver IC作为MCU的一片协处理器,接受MCU发过来的Command/Data,
可以相对独立的工作。对于MCU接口的LCM(LCD Module),其内部的芯片就叫LCD驱动器。主要功能是对
主机发过的数据/命令,进行变换,变成每个象素的RGB数据,使之在屏上显示出来。这个过程不需要点
、行、帧时钟。


不同的Driver IC带的GRAM大小不一样,如ILI9341的显存总大小为240*320*18/8=172800,根据Driver IC
所支持的最大分别率和最大数据位数来决定。


MCU-LCD的设计之初只要考虑单片机的内存较小,因此都是把显存内置在LCD模块内部.然后软件通过专门显
示命令来更新显存,因此MCU屏往往不能做得很大。


控制MCU屏一般有两种方式
1)模拟io方式 
这种方式全部控制脚和数据管脚都直接接到普通IO,通过读写IO来控制屏,这种方式适用所有类型的单片机,
但是由于需要多次读写IO操作来进行数据和命令传送,所有该方式会比较慢,适用于低分辨率的屏(320*240
以下),所以使用的时候尽量精简读写屏函数或者直接使用寄存器。


2)FSMC方式
       LCD之所以用FSMC驱动原因,是LCD控制时序满足FSMC的其中一个时序(FSMC可以设置成LCD控制时序),
这样以访问外部存储器的方式达到LCD控制过程。这样做的好处只有一个,那就是更快,FSMC用硬件来完成访问,如
果不用的话,那你大可根据LCD控制时序来用程序控制LCD。显然硬件访问会比你软件模拟时序更快。
所以该方式会比模拟io方式速度快(可以达到8Mbyte的速度),如以单刷屏为例320*240每秒在60帧左右,800*480每秒
在12帧左右。但该方式需要使用的单片机硬件支持。


2、RGB屏
RGB屏一般有以下信号线:
1)R[0:7]  红色数据线,一般为8位
2)G[0:7] 绿色数据线,一般为8位
3)B[0:7]  蓝色数据线,一般为8位
4)DE 数据使能线
5)VS      垂直同步信号线
  6)HS      水平同步信号线
  7)DCLK    像素时钟信号线
  
  这种屏一般用于高分辨率(超过800*480)的场合,本身不带显存,而MCU内部也没有那么大的存储空间,
  所以需要依靠外部SDRAM来存放显示的数据
  
  驱动设计关键点 
  #define HSPW      10   //水平同步宽度参考驱动IC规格书
#define VSPW      2//垂直同步宽度参考驱动IC规格书
#define HBPD      10//水平后廊参考驱动IC规格书
#define VBPD      15//垂直后廊参考驱动IC规格书
#define HFPD      40//水平前廊参考驱动IC规格书
#define VFPD      15//垂直前廊参考驱动IC规格书


#define HORIZONTAL 320//面板宽度,单位:像素  
#define VERTICAL   480//面板高度,单位:像素  


像素时钟,参考屏的规格书或驱动IC规格书设定


3、MIPI屏
MIPI屏适用于高速显示场合,如手机屏。
MIPI屏一般有以下特点
1、1-4对差分数据线
2、1对差分时钟线
3、lane0即第一对差分线,支持高低速模式,低速模式(10MHZ左右)用于配置屏的
参数,高速模式(可支持达800MHZ)用于数据传输。


驱动设计关键点
1、配置好差分数据线对数   参考屏规格书
2、配置好时钟的频率       参考屏规格书
3、写入正确的初始化参数   需要屏厂商提供
4、注意配置屏的参数时需要进入低速模式,配置完成后,退出低速模式
5、一般屏都不带显存,所以使用video mode进行显示 
     注:如果要在单片机上面使用mipi屏,一般需要添加rgb转mipi的ic如ssd2828,当然目前st也推出了一款stm32f469单片机支持mipi屏,但分辨率
不高。

你可能感兴趣的:(STM32开发)