1. 使用lcd 一般需要一个控制器和驱动器,控制器需要初始化以产生正确的时序,驱动器一般是和lcd基板制作在一起。

LCD 控制器结构图:

  REGBANK 表示调色板

  LCDDMA 表示DMA通道

2. lcd控制器相关时序图如下

VSPW 表示 VSYNC 的脉冲宽度为 (VSPW+1) 个 HSYNC 信号。

VBPD  表示经过 (VBPD+1) 个 HSYNC 信号,数据行有效

VFPD  表示(VFPD + 1) 个无效行

HSPW 表示 HSYNC 的脉冲宽度为 (HSPW+1) 个 VCLK 信号。

HBPD 表示经过 (HBPD+1) 个 VCLK 信号,像素数据有效

HFPD 表示(HFPD + 1) 个无效像素

3. lcd 显示芯片时序图

4. VCLK 的获得

设置时钟来源为 HCLK=133MHz ,又由计算公式

而从 3 中可以得到VCLK的典型值为 9MHz ,HCLK = 133 MHz ,所以 CLKVAL_F =  13.77 约为 14。

5. lcd 接口信号设置,以上时序图可总结如下:

6. 初始化代码:

S3C6410 手册上的初始化流程如下所示:

代码:

/*lcd 信号计算分配*/
#define VSPW 9
#define VBPD 1
#define LINEVAL 271
#define VFPD 1 #define HSPW 40
#define HBPD 1
#define HOZVAL 479
#define HFPD 1 /*计算分配视口数据*/
#define LeftTopX 0
#define LeftTopY 0 #define RightBotX 479
#define RightBotY 271 /*分配帧缓存地址*/
#define FRAME_BUFFER void lcd_init(void)
{
/* 1. 查阅硬件电路原理图,设置相关GPIO引脚用于LCD */
GPICON = 0xaaaaaaaa; /* gpi0~gpi15用作lcd_vd[0~15] */
GPJCON = 0xaaaaaa; /* gpj0~gpi11用作lcd_vd[16~23]和VDEN/VSYNC/HSYNC/VCLK */ GPFCON &= ~(0x3<<);
GPFCON |= (<<); /* GPF14 output用作背光使能信号 CLKOUT*/ // GPECON &= ~(0xf);
// GPECON |= (0x1); /* GPE0用作LCD的on/off信号 */ /* 2. 初始化6410的display controller
* 2.1 hsync,vsync,vclk,vden的极性和时间参数
* 2.2 行数、列数(分辨率),象素颜色的格式
* 2.3 分配显存(frame buffer),写入display controller
*/ MIFPCON &= ~(<<); /* Normal mode SEL_BYPASS[3]=0*/ SPCON &= ~(0x3); /**/
SPCON |= 0x1; /*LCD_SEL = 01 设置为RGB I/F style */ VIDCON0 &= ~((<<) | (<<) | (0xff<<) | (<<)); /* RGB I/F, RGB Parallel format, */
VIDCON0 |= ((<<) | (<<) ); /* vclk== HCLK / (CLKVAL+1) = 133/15 = 9MHz */ VIDCON1 &= ~((<<) | (<<)); /* 在vclk的下降沿获取数据 ,VDEN 高电平*/
VIDCON1 |= ((<<) | (<<)); /* HSYNC高电平有效, VSYNC高电平有效 */ VIDTCON0 = (VBPD << ) | (VFPD << ) | (VSPW << ); /*设置LCD信号的值*/
VIDTCON1 = (HBPD << ) | (HFPD << ) | (HSPW << );
VIDTCON2 = (LINEVAL << ) | (HOZVAL << ); WINCON0 &= ~(0xf << );
WINCON0 |= (0xb<<); /* unpacked 24 BPP (non-palletized R:8-G:8-B:8 ) */ VIDOSD0A = (LeftTopX<<) | (LeftTopY << );/*视口位置设置*/
VIDOSD0B = (RightBotX<<) | (RightBotY << );
VIDOSD0C = (LINEVAL + ) * (HOZVAL + ); /* WINDOWS'0 size is 272 * 480 (word)*/ VIDW00ADD0B0 = FRAME_BUFFER; /*帧缓存起始地址*/
VIDW00ADD1B0 = (((HOZVAL + )* + ) * (LINEVAL + )) & (0xffffff);/*帧缓存大小*/ /* 帧缓存与视口设置
*VBASEL = VBASEU + (LINEWIDTH+OFFSIZE) x (LINEVAL+1)
* = 0 + (480*4 + 0) * 272
* =
* 4 表示一个像素32位,即 4 个字节
*/ }

lcd 控制器的更多相关文章

  1. S5PV210的LCD控制器详解

    1.FIMD结构框图 (1)Samsung的s5pv210的LCD控制器叫做FIMD(也叫显示控制器).Display controller(显示控制器)包括用于将图像数据从相机接口控制器的本 地总线 ...

  2. ARM 之LCD和LCD控制器

    既然提到 了LCD那么我们首先必须要了解的就是他的种类,CD(liquid crystal  display), 即液晶显示器,是这一种采用了液晶控制透光度计数来实现色彩的显示器,他与传统的CRT显示 ...

  3. JZ2440 裸机驱动 第13章 LCD控制器(2)

    13.2 TFT LCD显示实例 13.2.1 程序设计     本实例的目的是从串口输出一个菜单,从中选择各种方法进行测试,比如画线. 画圆.显示单色.使用调色板等. 13.2.2代码详解     ...

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

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

  5. Linux 2440 LCD 控制器【转】

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

  6. LCD控制器与帧率、刷新率的关系分析

    源:LCD控制器与帧率.刷新率的关系分析 LCM之Fmark功能 && LCD控制器同LCD驱动器的差别 && 帧率与刷新率的关系 && OLED背光

  7. 【STM32H7教程】第50章 STM32H7的LCD控制器LTDC基础知识和HAL库API

    完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第50章       STM32H7的LCD控制器LTDC基础 ...

  8. LCD控制器与驱动器

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

  9. LCD编程_LCD控制器

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

随机推荐

  1. redis的哨兵集群,redis-cluster

    #主从同步redis主从优先1.保证数据安全,主从机器两份数据一主多从2.读写分离,缓解主库压力主redis,可读可写slave身份,只读   缺点1.手动主从切换假如主库挂了,得手动切换master ...

  2. uva-10720-贪心

    题意:对于一个简单图(不存在平行边和自旋边),输入所有的点的度,问,能不能变成一个简单图. 解题思路: 可图化定理.https://blog.csdn.net/shuangde800/article/ ...

  3. Implement a deployment tool such as Ansible, Chef, Puppet, or Salt to automate deployment and management of the production environment

    Implement a deployment tool such as Ansible, Chef, Puppet, or Salt to automate deployment and manage ...

  4. 36.scrapy框架采集全球玻璃网数据

    1.采集目标地址 https://www.glass.cn/gongying/sellindex.aspx 网站比较简单,没什么大的需要注意的问题.2.通过分析测试 https://www.glass ...

  5. 【其他】SAS key 获得办法【转载】

    小弟偶然得到了一个利用google得到SID的方法,经本人测试(9.4 64位)得到的SID可以用到2015年12月,从此之后再也不用改时间了.为了让更多的人看见,设定了回复可见.所有内容免费.路过的 ...

  6. 为啥我做的RFM模型被人说做错了,我错哪了?

    本文转自知乎 作者:接地气的陈老师 ————————————————————————————————————————————————————— 有同学问:“为啥我做的RFM模型被客户/业务部门批斗,说 ...

  7. 代码:jquery小效果—— 吸顶

    吸顶: 可以防止滚屏过程中,代码被多次调用 <script src="http://cdn.bootcss.com/jquery/1.11.1/jquery.min.js"& ...

  8. 38.纯 CSS 创作阶梯文字特效

    原文地址:https://segmentfault.com/a/1190000015107942 HTML code: <div class="container"> ...

  9. tomcat gzip

    ----------- HTTP 压缩可以大大提高浏览网站的速度,它的原理是,在客户端请求网页后,从服务器端将网页文件压缩,再下载到客户端,由客户端的浏览器负责解压缩并浏览.相对于普通的浏览过程HTM ...

  10. Python Requests库网络爬取全代码

    #爬取京东商品全代码 import requestsurl = "http://item.jd.com/2967929.html"try: r = requests.get(url ...