打印
[技术支持]

细说单片机系统中的lcd接口

[复制链接]
1483|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
两只袜子|  楼主 | 2023-1-9 16:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
LCD 的接口有多种,分类很细,主要看LCD的驱动方式和控制方式。目前彩色LCD的连接方式一般有这么几种:MCU接口(也写成MPU接口的),RGB接口,SPI接口VSYNC接口,MIPI接口、MDDI接口,DSI接口等。
应用比较多的就是MCU接口和RGB接口,本文重点介绍这两种接口。
一、MCU接口
因为主要针对单片机的领域在使用,因此得名,其主要特点是价格便宜。MCU-LCD接口的标准术语是Intel提出的8080总线标准,因此在很多文档中用I80来指MCU-LCD屏。
8080是一种并行接口,别称很多,又叫 DBI(Data Bus interface)数据总线接口, 微处理器MPU接口,MCU接口,CPU接口的,实际上都是一回事。
8080接口是由英特尔设计,是一种并行、异步、半双工通信协议,作用是用于外扩RAM、ROM,后来又将其应用到了LCD接口。
数据位传输有8 位, 9 位, 16 位, 18 位,24 位。也就是数据总线的位宽。
常用的有8位、16位、24位。
优点是:控制简单方便,无需时钟和同步信号。
缺点是:要耗费GRAM ,所以难以做到大屏( 3.8 以上)。
对于 MCU 接口的 LCM,其内部的芯片就叫 LCD 驱动器。主要功能是对主机发来的数据/命令进行变换,变成每个象素的RGB数据,使之在屏上显示出来。这个过程不需要点、行、帧时钟。
LCM:(LCD Module)即LCD显示模组、液晶模块,是指将液晶显示器件,连接件,控制与驱动等外围电路,PCB电路板,背光源,结构件等装配在一起的组件。
GRAM:graphics RAM,即图像寄存器,在驱动TFT——LCD显示的芯片ILI9325中,存储要显示的图像信息。
除了数据线(这里是以16位数据为例),其他就是片选、读、写,数据/命令四个引脚。
其实,除了这些引脚,其实还有一个复位引脚RST,通常使用固定数字010来复位。
以上信号并不一定在具体的电路应用中全部使用,比如,有的电路应用为了节省IO口,把片选和复位信号直接连接固定电平,RDX读信号也不做处理,也是可以的。
从上面的描述可以看出,值得注意的一点:向液晶屏传输的不仅有Data数据,还有命令Command。乍一看,觉得向屏幕只需传输像素颜色数据就行了,不熟练的新手往往会忽略了命令传输需求。
因为所谓与液晶屏通信,实际上还是与液晶屏驱动控制芯片在通信,而数字芯片往往都会有各种配置寄存器(除非功能很简单的芯片比如74系列,555等),也就有了向芯片发送配置命令的需要。
另外需要注意的一点是:使用8080并行接口的LCD驱动芯片,都需要内置GRAM(Graphics RAM), 至少能存储一个屏幕的数据。这是导致使用此接口的屏幕模组一般比使用RGB接口的屏幕模组要贵的原因,RAM还是要成本的。
总的来说:8080接口通过并行总线传输控制命令和数据,并通过往LCM液晶模组自带的GRAM更新数据实现屏幕的刷新。

使用特权

评论回复
沙发
两只袜子|  楼主 | 2023-1-9 16:13 | 只看该作者
二、RGB接口
RGB接口又称DPI(Display Pixel Interface)接口,也是一种并行接口,采用普通的同步、时钟、信号线来传输数据,需搭配SPI或IIC串行总线来传输控制命令使用。

某种程度上,它与8080接口的最大差别就是,RGB接口的数据线与控制线分离,而8080接口是复用的。

另一个不同点是,由于RGB接口是连续传输整屏的像素数据,本身可实现显示数据的刷新,就不再需要GRAM了,这大大的减少了LCM的成本。一般厂家同样尺寸分辨率的LCD模组,RGB接口的相比8080接口的要便宜不少。

RGB模式之所以不需要GRAM的支持,是因为RGB-LCD 的显存是由系统内存充当的,因此其大小只受限于系统内存的大小,这样RGB-LCD 可以做出较大尺寸,象现在 4.3" 只能算入门级,而 MID 中 7",10" 的屏都开始大量使用。

而 MCU-LCD 的设计之初只要考虑单片机的内存较小,因此都是把显存内置在 LCD模块内部。然后软件通过专门显示命令来更新显存, 因此 MCU 屏往往不能做得很大。同时显示更新速度也比 RGB-LCD 慢。 显示数据传输模式也有差别。

RGB 屏只需显存组织好数据。 启动显示后, LCD-DMA 会自动把显存中的数据通过 RGB 接口送到LCM 。而 MCU 屏则需要发送画点的命令来修改 MCU 内部的 RAM (即不能直接写MCU 屏的 RAM )。

RGB显示速度明显比MCU快,而且播放视频方面,MCU-LCD也比较慢。

对于 RGB 接口的 LCM ,主机输出的直接是每个象素的RGB数据,不需要进行变换(GAMMA 校正等除外),对于这种接口,需要在主机部分有个LCD控制器,以产生RGB数据和点、行、帧同步信号。

大屏较多采用RGB模式,数据位传输也有16 位、18 位、24 位之分。

连线一般有: VSYNC、HSYNC、DOTCLK、CS、RESET ,有的也需要 RS,剩下就是数据线。

LCD的接口技术从电平角度来讲本质上都是TTL信号。
LCD控制器硬件接口是TTL电平的,LCD这边硬件接口也是TTL电平的。所以他们俩本来是可以直接对接的,手机、平板、开发板都是这样直接对接的(一般用软排线连接)。
TTL电平的缺陷就是不能传递太远,如果LCD屏幕和主板控制器太远(1米甚至更远)就不能直接TTL连接了,要进行转换。

彩色TFT液晶屏主要有2种接口:
1、TTL接口(RGB颜色接口)
2、LVDS接口(将RGB颜色打包成差分信号传输)。

TTL接口主要用于12.1寸一下的小尺寸TFT屏,接口线多,传输距离短;
LVDS接口主要用于8寸以上的大尺寸TFT屏,接口传输距离长,线的数量少。

大屏采用较多的模式LVDS,控制脚是VSYNC,HSYNC,VDEN,VCLK。 S3C2440最高支持24个数据脚,数据脚是VD[23-0]。

CPU或显卡发出的图像数据是TTL信号(0-5V、0-3.3V、0-2.5V、或0-1.8V),LCD本身接收的也是TTL信号,由于TTL信号在高速率的长距离传输时性能不佳,抗干扰能力比较差,后来又提出了多种传输模式,比如LVDS、TDMS、GVIF、P&D、DVI和DFP等。他们实际上只是将CPU或显卡发出的TTL信号编码成各种信号以传输,在LCD那边将接收到的信号进行解码得到TTL信号。

但是不管采用何种传输模式,本质的TTL信号是一样的。

使用特权

评论回复
板凳
chenjun89| | 2023-1-9 19:27 | 只看该作者
通过内存存储接口来控制LCD,效率更高。

使用特权

评论回复
地板
tpgf| | 2023-2-5 09:59 | 只看该作者
MCU接口方式:显示数据写入DDRAM,常用于静止图片显示。

  RGB接口方式:显示数据不写入DDRAM,直接写屏,速度快,常用于显示视频或动画用。

使用特权

评论回复
5
八层楼| | 2023-2-5 10:09 | 只看该作者
    MCU接口的LCD的Driver IC都带GRAM,Driver IC作为MCU的一片协处理器,接受MCU发过来的Command/Data,可以相对独立的工作。

使用特权

评论回复
6
观海| | 2023-2-5 10:18 | 只看该作者
对于MCU接口的LCM(LCD Module),其内部的芯片就叫LCD驱动器。主要功能是对主机发过的数据/命令,进行变换,变成每个象素的RGB数据,使之在屏上显示出来。这个过程不需要点、行、帧时钟。

使用特权

评论回复
7
guanjiaer| | 2023-2-5 11:08 | 只看该作者
  M6800模式支持可选择的总线宽度8/9/16/18-bit(默认为8位),其实际设计思想是与I80的思想是一样的,主要区别就是该模式的总线控制读写信号组合在一个引脚上(/WR),而增加了一个锁存信号(E)数据位传输有8位,9位,16位和18位

使用特权

评论回复
8
heimaojingzhang| | 2023-2-5 11:16 | 只看该作者
MCU-LCD屏它与RGB-LCD屏主要区别在于显存的位置

使用特权

评论回复
9
keaibukelian| | 2023-2-5 11:23 | 只看该作者
  对于RGB接口的LCM,主机输出的直接是每个象素的RGB数据,不需要进行变换(GAMMA校正等除外),对于这种接口,需要在主机部分有个LCD控制器,以产生RGB数据和点、行、帧同步信号

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2039

主题

7368

帖子

10

粉丝