ARM 之LCD和LCD控制器
既然提到 了LCD那么我们首先必须要了解的就是他的种类,CD(liquid crystal display), 即液晶显示器,是这一种采用了液晶控制透光度计数来实现色彩的显示器,他与传统的CRT显示器相比有很多优点:轻薄,能耗低,辐射小等,市场 占有率越来越大,LCD有很多类型:STN,TFT,LTPS TFT,OLED等,各有优缺点。
一、 S3C2410,2440LCD控制器介绍
1: S3C2410,2440LCD控制器提供了驱动STNLCD TFTLCD所需要的所有信号, REGBANK是LCD控制器的寄存器组,含有17个寄存器及一块256X16的调色板内存,用来设置二线参数。
2: LCDCDMA则是CD控制器专用的DMA通道,可以自动的从系统总线上( system bus)上读取到图像数据,这样在显示上就不需要CPU的干涉。LCDCDMA有两个FIFO(FIFOH,FIFOL), 其中FIFOH容量为16个字(一个字4个字节)FIFOL容量为12额字。当我们使用“双扫”的到时候呢,FIFOH FIFOL 分别用于传输上半屏,下半屏的数据. 当使用“单扫"的话,只用到FIFOH。当FIFO 为空或者其中的数据已经减少到设定的阀值时,LCDCDMA自动的发起DMA传输,从内存中获得图像数据。
3: VIDPRCS将LCDCDMA中的数据组合成特定的格式,(比如4位单扫,4位双扫,8位单扫)然后从VD[23:0]发送给LCD屏幕。
4: TIMEGEN 和LPC3600负责产生LCD屏幕所需要的控制时序。

二、显示器上的数据的组织格式、
对于我们看到的屏幕的一幅图像,他到底是如何形成的呢?
首先,一幅图像就是一帧,一帧呢又是有很多行,一行呢又是有很多像素组成,一个像素的颜色呢又是有很多位的数据来表示的,提到了像素吧,这里简单说下,如果是单色显示,一个像素就使用一位来表示,即1BPP;对于256色显示器,每个像素就要使用8位表示2^8=256;即8BPP.
接下来就是我们的屏幕扫描形式,很简单就是”Z“形扫描,HSYNC:"表示跳到最左边的时候了"。VSYNC:表示跳到最上边时候了。
ARM 之LCD和LCD控制器的更多相关文章
- LCD编程_LCD控制器
CLKVAL : VCLK = HCLK / [(CLKVAL+1) x 2]--------> CLKVAL = HCLK/VCLK/2-1 在这个地方HCLK=100M,那么VLCK等于多少 ...
- (转)LCD:LCD常用接口原理篇
关键词:android LCD TFT TTL(RGB) LVDS EDP MIPI TTL-LVDS TTL-EDP平台信息:内核:linux2.6/linux3.0系统:android/a ...
- LCD与ARM,具体
一 实验内容简要描写叙述 1.实验目的 学会驱动程序的编写方法,配置S3C2410的LCD驱动,以及在LCD屏上显示包含bmp和jpeg两种格式的图片 2.实验内容 (1)分析S3c2410实验箱 ...
- Linux 2440 LCD 控制器【转】
转自:http://www.cnblogs.com/armlinux/archive/2011/01/14/2396864.html 嵌入式Linux之我行,主要讲述和总结了本人在学习嵌入式linux ...
- LCD控制器与驱动器
这回我再讲讲从 MCU 到 LCD 之间是怎样一个控制流程,即我们的位图数据是怎样显示到 LCD 上的.前面我们了解到 LCD 显示是用动态扫描的方式来实现的,每次显示一整行,在一帧里每行一次扫描一遍 ...
- JZ2440 裸机驱动 第13章 LCD控制器(1)
本章目标 了解LCD显示器的接口及时序: 掌握S3C2410/S3C2440 LCD控制器的使用方法: 了解帧缓冲区的概念,掌握如何设置帧缓冲区来显示图像: 13.1 LCD和LCD控制器 13.1 ...
- FL2440驱动添加(3)LCD驱动添加学习笔记
FL2440 LCD内置控制器,320*240 TFT型LCD. 自我理解总结的两种添加驱动模式: 非platform方式添加驱动: 加载驱动: 1,硬件初始化,申请内存,并作地址映射 2,分配设备号 ...
- S3C2440 LCD驱动(FrameBuffer)实例开发<一>(转)
1. 背景知识 在多媒体的推动下,彩色LCD越来越多地应用到嵌入式系统中,PDA和手机等大多都采用LCD作为显示器材,因此学习LCD的应用很有实际意义! LCD工作的硬件需求:要使一块LCD正常的显示 ...
- LCD驱动(FrameBuffer)实例开发讲解
一.开发环境 主 机:VMWare--Fedora 9 开发板:Mini2440--64MB Nand, Kernel:2.6.30.4 编译器:arm-linux-gcc-4.3.2 二.背景知识 ...
随机推荐
- 转:VC++获取屏幕大小第一篇 像素大小GetSystemMetrics
VC++获取屏幕大小第一篇 像素大小 GetSystemMetrics>和<VC++获取屏幕大小第二篇物理大小GetDeviceCaps 上>和<VC++获取屏幕大小第三篇物理 ...
- startActivityForResult案例
Info:startActivty 与 startActivityForResult区别 (1):startActivity 启动了其他Activity之后不会再回调过来,此时启动者与被启动者在启动后 ...
- 使用activeMQ实现jms
一:jms介绍 jms说白了就是java message service,是J2EE规范的一部分,跟jdbc差不多,sun只提供了接口,由各个厂商(provider)来进行具体的实现, ...
- Android录音服务
MediaRecorder Mediarecorder=new MediaRecorder();//创建一个MediaRecorder对象 Mediarecorder.setAudioSource(M ...
- [转]The culture name list in C#
Culture Names [C#] This example shows how to get all culture names in the .NET Framework. Use static ...
- 浅谈zygote服务中的设计思路
zygote服务是Android启动和服务APK的核心服务,每个APK都是通过zygote启动,今日阅读它的源码学习到一个不错的设计思路. 首先看看一个APK通过zygote的启动流程: 按照一般的设 ...
- css样式:列表
css code: /*系统自带的*/ ul li{ list-style-style: disc; } /*自定义图标*/ ul li{ list-style-image: url("im ...
- (转)20 个大大节省你时间的 HTML5 开发工具
Rendera 如果你希望有个环境可以测试.浏览和体验各种不同的 CSS/HTML 和 JavaScript 代码,Rendera 为你提供了实时的运行结果.类似 RunJS. Patternizer ...
- uva 10626 - Buying Coke(记忆化搜索)
题目链接:10626 - Buying Coke 题目大意:给出要买可乐的数量, 以及1元,5元和10元硬币的数量, 每瓶可乐8元,每次照钱会按照最少硬币的方式找回, 问如何投币可使得投入的硬币数最少 ...
- SPOJ 416 - Divisibility by 15(贪心)
糟烂的代码啊... 这个题目思路很简单——末位只可能为0和5,所有数字的和肯定被3整除 没有0和5的肯定不行 否则,把所有数字求和 如果被3整除,则从大到小输出 如果除3余1,则按以下顺序——删1: ...