LCD控制器与驱动器
这回我再讲讲从 MCU 到 LCD 之间是怎样一个控制流程,即我们的位图数据是怎样显示到 LCD 上的。前面我们了解到 LCD 显示是用动态扫描的方式来实现的,每次显示一整行,在一帧里每行一次扫描一遍,这样要有电路来控制行和列上的输出电压,这种电路就是 LCD 驱动器;而驱动器的输出又跟图像及 LCD 的工作方式是相关的,驱动器需要接受从图像转换来的控制信号,从而改变行/列上的输出电压,将工作方式及图像位图转换成控制信号的电路就是控制器。控制器 从 MCU 接收位图数据,然后把它转换成控制信号提供给驱动器。对于小分辨率的 LCD,驱动器和控制器通常是直接集成在一个 IC 上的,而大尺寸的 LCD,驱动器和控制器则是分开的,并且一般行驱动器和列驱动器也是分开的。那么控制器和驱动器之间到底是怎样连接的呢?我们来看看下图:
此主题相关图片如下:
YD 是帧同步信号,LP 是行同步信号,DATA 是列驱动的数据总线,用来传送列上的输出数据(0 或 1),XCLK 是移位时钟,每跳变一次时 DATA 上传送一次数据,DOFF#是关闭输出信号。以 640x480 的单色屏为例,640 个列输出,对应 640 个位的输出, 80 字节,即也就是每行扫描,列上需要的数据为 80 字节。假设列驱动器使用 8 位数据线,那么 80 字节需要 80 个 XCLK 时钟。这些信号,均由控制器驱动,仍以 640x480 的单色显示为例,驱动器为 8 位总线,则每帧开始时控制器连续输出 80 个 XCLK,并将第一行的数据输出,列控制器在每个 XCLK 时将数据锁存,然后控制器在 YD 上输出一个脉冲,行驱动器复位,准备从第一行输出,控制器在 LP 上输出一个脉冲,列驱动器复位,将刚才锁存的数据输出,同时行驱动器也从第一行输出,于是第一行便显示了,接着控制器再输出第二行的数据,然后再输出一个 LP,于是第二行便显示,依次类推,直到第 480 行后又输出一个 YD 回到第一行,即开始了第二帧的扫描。由此可见,驱动器的输出,完全由控制器的时序和数据决定。对于控制器和驱动器分离的系统,驱动器无法得知当前的显示特 性,如单色还是灰度或者彩色,颜色深度是多少等等,所以在这样的系统上,灰度/彩色只能用 FRC 的方式来实现,因此一般单独的通用控制器,工作频率都相当高。达到几十兆,对于像电脑显示屏这样的大尺寸,甚至达到几百兆。
最新文章
- JAVA的界面(Swing)
- wpf中手风琴控件Accordion编辑模板后控件不正常。
- 键盘ctrl+shift不能切换输入法
- 使用CSS创建有图标的网站导航菜单
- OpenNMS界面图 .
- maven3.0
- Ionic 测试针对Andorid平台
- DEDE首页调用{dede:field.content/}
- Sql Server专题三:SQL操作与技巧
- zepto的源代码注释(转)
- CSS3特效----制作3D旋转照片展示区
- 使用spark-streaming实时读取Kafka数据统计结果存入MySQL
- 设计模式(三)装饰者模式Decorator
- Android自定义View的套路
- LOJ6001 - 「网络流 24 题」太空飞行计划
- Android简易实战教程--第十话《模仿腾讯手机助手小火箭发射详解》
- Intellij IDEA 代码格式化/保存时自动格式化
- oracle报错 ORA-02290: 违反检查约束条件问题
- linux驱动编写之阻塞与非阻塞
- RabbitMQ 内存控制 硬盘控制