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. Session原理

    详情移步:https://www.jianshu.com/p/2b7c10291aad

  2. if 判断语句

    if 条件:if语句块当条件成立的时候会执行if语句块, 如果条件不成立. 不执行语句块的内容 例: money = int(input("请输入你兜里的钱:")) # 300 i ...

  3. 【Selenium-WebDriver自学】Selenium-IDE调试(四)

    ==================================================================================================== ...

  4. Python-第三方模块requests快速入手

    首先确认一下 Requests 已经安装 Requests 是最新的版本 如果没有安装requests,请按照下面的方式安装 安装requests window和Linux环境下都可以输入 $ pip ...

  5. MySQL Developer

    1.The mysql Client Program 2.Data Types 3.Joins 4.Subqueries 5.Views 6.StoredRoutine . 1.Client/Serv ...

  6. [UGUI]图文混排(四):插入图片

    参考链接: http://www.cnblogs.com/leoin2012/p/7162099.html 0.图片标签和图片类 标签格式:<icon name=*** w=1 h=1 n=** ...

  7. 学生管理系统.c

    直接贴代码了 另有:python调用c程序的实现 #define _CRT_SECURE_NO_WARNINGS #include<iostream> using namespace st ...

  8. [Android] android.util.Log

    android.util.Log常用的方法有以下5个:Log.v() Log.d() Log.i()  Log.w() 以及 Log.e() .根据首字母对应VERBOSE,DEBUG,INFO, W ...

  9. CentOS之——CentOS7安装iptables防火墙

    转载请注明出处:http://blog.csdn.net/l1028386804/article/details/50779761 CentOS7默认的防火墙不是iptables,而是firewall ...

  10. Tomcat 之session 持久化1

    Tomcat 之session 持久化原理 几个概念: Manager 接口,其实就是指的是对  其Sesison 的管理, 其默认实现是StandardManager (内部没有任何Store对象实 ...