1、LCD控制器主要有两方面的功能:

1)从framebuffer中取出某个像素的数据;

2)配合其他信号,一起将这个数据发送给LCD

不管是2440,还是其他型号的ARM芯片。它们的LCD控制器的功能都是一样的,只不过存储器的操作稍有区别。

LCDDMA:会从内存中把数据取出来,发送给LCD。

DMA:不需要cpu的参与,只需要把数据填好,它就会自动的取数据,发送给LCD。

怎样去设置极性、时序呢?

需要设置REGBANK,通过这些寄存器控制LCD控制器,让其发出合适的时序。

2、

使用8bpp时,会涉及到一个调色板。

为什么会涉及一个调色板的概念。

可以在framebuffer中,每个像素使用8bit来表示。

问:8bit的数据怎样得到16bit的数据,中间肯定得引入一个东西,这个东西就是调色板。

调色板中有多少项,8bit就得有2的8次方项,即256项。

这样,LCD控制器怎样去显示呢?

当设置为8bit时,LCD控制器会从framebuffer中得到8位的数据,这8位的数据不是直接发给lcd的,它是使用这8位的数据在这个调色板中作为索引,取出16位数据,再把这16位数据发给lcd。

8bpp:在framebuffer中存的是伪彩色

16bpp/24bpp:在framebuffer中存的是真彩色。

调色板就是一块特殊的内存,也许它就是放在lcd控制器里面,以后使用8bpp时,首先设置调色板。

如果将lcd设置成一种颜色,怎么办?

对于16bpp/24bpp这两种真彩色,只能填充framebuffer中的数据,把每个像素对应的值都填为同一种值。

对于8bpp,可以设置framebuffer,也可以设置调色板。比如说,把framebuffer中每个像素的值都设置为同一种值,也可以把调色板中的这256项,全部设置为同一种颜色。

其中,对于2440来说,还提供另一种办法,叫做临时调色板:

只要使能了TPALEN,对于lcd控制器来说,无论framebuffer中的数据是8bpp,16bpp还是24bpp,它都不管。它都会从临时调色板中取出数据,发送给lcd。因此,只要设置一个寄存器,就可以让整个lcd显示为同一种颜色,这是2440提供的一种特性。

3、LCD控制器的时序图

根据外接的lcd,来设置上图中的各个参数。

S3C2440_LCD控制器的更多相关文章

  1. ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第二章:利用模型类创建视图、控制器和数据库

    在这一章中,我们将直接进入项目,并且为产品和分类添加一些基本的模型类.我们将在Entity Framework的代码优先模式下,利用这些模型类创建一个数据库.我们还将学习如何在代码中创建数据库上下文类 ...

  2. ABP文档 - Mvc 控制器

    文档目录 本节内容: 简介 AbpController基类 本地化 其它 过滤 异常处理和结果包装 审计日志 验证 授权 工作单元 反伪造 模型绑定器 简介 ABP通过nuget包Abp.Web.Mv ...

  3. 关于VS2015 ASP.NET MVC添加控制器的时候报错

    调试环境:VS2015 数据库Mysql  WIN10 在调试过程中出现类似下两图的同学们,注意啦. 其实也是在学习的过程中遇到这个问题的,找了很多资料都没有正面的解决添加控制器的时候报错的问题,还是 ...

  4. ASP.NET Core 中文文档 第四章 MVC(4.2)控制器操作的路由

    原文:Routing to Controller Actions 作者:Ryan Nowak.Rick Anderson 翻译:娄宇(Lyrics) 校对:何镇汐.姚阿勇(Dr.Yao) ASP.NE ...

  5. ASP.NET Core 中文文档 第四章 MVC(4.5)测试控制器逻辑

    原文: Testing Controller Logic 作者: Steve Smith 翻译: 姚阿勇(Dr.Yao) 校对: 高嵩(Jack) ASP.NET MVC 应用程序的控制器应当小巧并专 ...

  6. ASP.NET Core 中文文档 第四章 MVC(4.4)依赖注入和控制器

    原文: Dependency Injection and Controllers 作者: Steve Smith 翻译: 刘浩杨 校对: 孟帅洋(书缘) ASP.NET Core MVC 控制器应通过 ...

  7. AngularJS 第四天----控制器

    控制器的作用 今天和大家学习AngularJS中控制器方面的知识,本文会给出一些例子来说明如何使用AngularJS的控制器.在开始我们的例子之前,首先说说AngularJS控制器的作用.简单的来说A ...

  8. ASP.NET Web API 控制器执行过程(一)

    ASP.NET Web API 控制器执行过程(一) 前言 前面两篇讲解了控制器的创建过程,只是从框架源码的角度去简单的了解,在控制器创建过后所执行的过程也是尤为重要的,本篇就来简单的说明一下控制器在 ...

  9. ASP.NET Web API 控制器创建过程(二)

    ASP.NET Web API 控制器创建过程(二) 前言 本来这篇随笔应该是在上周就该写出来发布的,由于身体跟不上节奏感冒发烧有心无力,这种天气感冒发烧生不如死,也真正的体会到了什么叫病来如山倒,病 ...

随机推荐

  1. Chrome操作技巧

    好用的插件: 如果你用 Chrome 浏览器,这8款插件一定要用! - 知乎 沙拉查词:     集合各大翻译,详细好用权威 Simple Allow Copy: 开启被网页屏蔽的自由复制功能 Qui ...

  2. ZJOI 2009 多米诺骨牌(状态压缩+轮廓线+容斥)

    题意 https://www.lydsy.com/JudgeOnline/problem.php?id=1435 思路 一道很好的状压/容斥题,涵盖了很多比较重要的知识点. 我们称每两行间均有纵跨.每 ...

  3. 本地计算机上的SQL Server(MSSQLSERVER)服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止

    看下SQLExperss协议和 MySQLServer协议的TCP/IP端口,有可能是SQLEXPERSS将TCP端口占用了,将SQLEXPERSS的TCP/IP协议禁用,重启 SQLEXPRESS服 ...

  4. Python3.7 exe编译工具对比zz

    For years, NVDA has used Py2exe to package Python code into something that is executable on a system ...

  5. RICOH C4502彩色打印机取消双面打印功能

    参考下面步骤:

  6. 实战django(二)--登录实现记住我

    上节初步实现了登录和注册模块,这节我们进一步实现“记住我”功能. 大体功能分为以下模块: 1.在登录时如果勾选记住我,那么就将用户username存进cookie中,跳转到index页面: 2.此时, ...

  7. 运行带参数的python脚本

    问题描述: 要执行python脚本,有哪几种方法. 特别是看书的时候,书上只讲解了如何在linux下运行,windows根本就没有那些命令,该怎么办呢? 方法1:python自带的IDLE编辑器 Ru ...

  8. Kubernetes ingress 上传文件大小限制

    1.文件太大 413:Request Entity Too Large 创建 ingress 时添加 annotations(注释) metadata: annotations: nginx.ingr ...

  9. 使用eclipse git插件合并merge部分代码方法

    当有一个父项目,它的下面有多个子项目:或者一个项目下边,只想合并部分路径,甚至部分文件的内容,使用下边的方法可以达到目的,特此记录: 1.主项目右键 -> team -> remove f ...

  10. AppBarLayout折叠时候的阴影

    最近在项目中遇到一个需求,AppBarLayout在完全展开时没有阴影,在完全收缩时展示阴影,这个功能可以通过设置StateListAnimator的轻松的实现. 首先,在res/animator目录 ...