既然提到 了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控制器的更多相关文章

  1. LCD编程_LCD控制器

    CLKVAL : VCLK = HCLK / [(CLKVAL+1) x 2]--------> CLKVAL = HCLK/VCLK/2-1 在这个地方HCLK=100M,那么VLCK等于多少 ...

  2. (转)LCD:LCD常用接口原理篇

    关键词:android LCD TFT TTL(RGB)  LVDS  EDP MIPI  TTL-LVDS  TTL-EDP平台信息:内核:linux2.6/linux3.0系统:android/a ...

  3. LCD与ARM,具体

    一  实验内容简要描写叙述 1.实验目的 学会驱动程序的编写方法,配置S3C2410的LCD驱动,以及在LCD屏上显示包含bmp和jpeg两种格式的图片 2.实验内容  (1)分析S3c2410实验箱 ...

  4. Linux 2440 LCD 控制器【转】

    转自:http://www.cnblogs.com/armlinux/archive/2011/01/14/2396864.html 嵌入式Linux之我行,主要讲述和总结了本人在学习嵌入式linux ...

  5. LCD控制器与驱动器

    这回我再讲讲从 MCU 到 LCD 之间是怎样一个控制流程,即我们的位图数据是怎样显示到 LCD 上的.前面我们了解到 LCD 显示是用动态扫描的方式来实现的,每次显示一整行,在一帧里每行一次扫描一遍 ...

  6. JZ2440 裸机驱动 第13章 LCD控制器(1)

    本章目标  了解LCD显示器的接口及时序: 掌握S3C2410/S3C2440 LCD控制器的使用方法: 了解帧缓冲区的概念,掌握如何设置帧缓冲区来显示图像: 13.1 LCD和LCD控制器 13.1 ...

  7. FL2440驱动添加(3)LCD驱动添加学习笔记

    FL2440 LCD内置控制器,320*240 TFT型LCD. 自我理解总结的两种添加驱动模式: 非platform方式添加驱动: 加载驱动: 1,硬件初始化,申请内存,并作地址映射 2,分配设备号 ...

  8. S3C2440 LCD驱动(FrameBuffer)实例开发<一>(转)

    1. 背景知识 在多媒体的推动下,彩色LCD越来越多地应用到嵌入式系统中,PDA和手机等大多都采用LCD作为显示器材,因此学习LCD的应用很有实际意义! LCD工作的硬件需求:要使一块LCD正常的显示 ...

  9. LCD驱动(FrameBuffer)实例开发讲解

    一.开发环境 主  机:VMWare--Fedora 9 开发板:Mini2440--64MB Nand, Kernel:2.6.30.4 编译器:arm-linux-gcc-4.3.2 二.背景知识 ...

随机推荐

  1. Android 用户登录

    1:服务端代码如下 <?php /** *登录成功就返回 1,否则返回 0 */ $REQUEST_METHOD=$_SERVER['REQUEST_METHOD']; if($REQUEST_ ...

  2. 高性能web

    http://developer.51cto.com/art/201104/255619.htm http://developer.51cto.com/art/201104/254031.htm ht ...

  3. iOS 9之New UIKit for International User Interfaces

    金田 Apple一直是注重用户体验的典范,而此次在UI上面,更是做到极致.此次iOS 9的发布能完全支持阿拉伯语.希伯来语等书写和阅读方式为从右向左的语言环境.不仅仅是简单的基础文本,而是支持将界面翻 ...

  4. Java快速排序

    快速排序: public int Partition(int[] nums, int low, int high) { int pivot = nums[low]; while (low < h ...

  5. Sea.js

    SeaJS与RequireJS最大的区别   执行模块的机制大不一样-----------------------------------由于 RequireJS 是执行的 AMD 规范, 因此所有的 ...

  6. (转)iOS分类和扩展(Categories和Extensions)

    分类(Category)   分类能够做到的事情主要是:即使在你不知道一个类的源码情况下,向这个类添加扩展的方法.   此外,分类能够保证你的实现类和其他的文件区分开. #import “UIView ...

  7. Sequence(组合数学,集合不同元素的个数)

    Sequence [组合数学] 时间限制: 3 Sec  内存限制: 128 MB 提交: 138  解决: 52 [提交][状态][讨论版] 题目描述 在某个夜黑月高的晚上,!!!,原谅我编不下去了 ...

  8. 内嵌cuzySDK的App——礼物购已登陆App store

    内嵌cuzySDK的App——礼物购已登陆App store.每天为你搜罗特别的礼物,可分类挑选礼物,直接连接淘宝购买,做最贴心的小清新礼物助手,欢迎各位亲朋好友去下载体验.@cuzySDK  @re ...

  9. Qt 之容器内的控件全屏

    m_label = new QLabel(); ui->stackedWidget->addWidget(m_label); ui->stackedWidget->setCur ...

  10. 【转】IOS缓存机制详解

    人魔七七:http://www.cnblogs.com/qiqibo/ 为什么要有缓存 应用需要离线工作的主要原因就是改善应用所表现出的性能.将应用内容缓存起来就可以支持离线.我们可以用两种不同的缓存 ...