第13章 LCD驱动参数的配置与编译.ppt

上传人:夺命阿水 文档编号:681120 上传时间:2023-10-12 格式:PPT 页数:20 大小:225.50KB
返回 下载 相关 举报
第13章 LCD驱动参数的配置与编译.ppt_第1页
第1页 / 共20页
第13章 LCD驱动参数的配置与编译.ppt_第2页
第2页 / 共20页
第13章 LCD驱动参数的配置与编译.ppt_第3页
第3页 / 共20页
第13章 LCD驱动参数的配置与编译.ppt_第4页
第4页 / 共20页
第13章 LCD驱动参数的配置与编译.ppt_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《第13章 LCD驱动参数的配置与编译.ppt》由会员分享,可在线阅读,更多相关《第13章 LCD驱动参数的配置与编译.ppt(20页珍藏版)》请在课桌文档上搜索。

1、第13章 LCD驱动参数的配置与编译,本章重点,液晶显示器种类。S3C2410内置LCD控制器。支持LCD的内核定制与内核移植,本章内容,13.1 LCD概述 13.2 S3C2410内置LCD控制器13.3 LCD驱动程序环境配置,13.1 LCD概述,电视机所采用 CRT(阴极射线管)有着体积大、重量重、尺寸受限等缺点。随着电子科技发展,这使得开发新一代显示器技术变得更有其必要!新一代显示器讲求几个重点:平面直角,画面显示不变形、轻薄短小耗能少,携带方便且同时要与现有影像信号技术兼容。目前谈论到超薄型显示器技术,最普及当是 TFT LCD 应用了,举凡数字相机、笔记型计算机、PDA 等,需

2、要显示复杂信息电子产品通通少不了它。,13.1 LCD概述,13.1.1 液晶显示器原理描述液晶物理性质,必须先了解一般固态晶体具有方向性,而液态晶体这种特殊物质,不但具有一般固体晶体方向性外,同时又具有液体流动性。改变固态晶体方向必须旋转整个晶体,改变液态晶体就不用那幺麻烦,它方向性可经由电场或磁场来控制。改变液晶方向视液晶成分而有所不同,有液晶和电场平行时位能较低,所以当外加电场时会朝着电场方向转动,相对,也有液晶是对应电场垂直时位能较低。由于液晶对于外加力量(电场或磁场敏感),从而呈现了方向性效果,也导致了当光线入射液晶中时,必然会按照液晶分子排列方式行进,产生了自然偏转现像。电子产品中

3、所用液晶显示器,就是是利用液晶光电效应,藉由外部电压控制,再透过液晶分子折射特性,以及对光线旋转能力来获得亮暗情况,进而达到显像目。电源关闭时,液晶具有偏光效果,可将入射光线转弯,穿过极栅,呈现亮色;电源开启时液晶不具有偏光功能,因此光线不能通过极栅呈现暗色,13.1 LCD概述,13.1.2 液晶显示器种类利用液晶制成显示器称为液晶显示器,英文称 LCD(Liquid Crystal Display)。其种类可分为依驱动方式之静态驱动(Static)、单纯矩阵驱动(Simple Matrix)以及主动矩阵驱动(Active Matrix)三种。而其中,单纯矩阵型又是俗称被动式(Passive

4、),可分为扭转向列型(TN)和超扭转式向列型(STN)两种;而主动矩阵型则以薄膜式晶体管型(TFT)为目前主流。,13.2 S3C2410内置LCD控制器,一块LCD屏显示图像,不但需要LCD驱动器,还需要有相应LCD控制器。通常LCD驱动器会以COF/COG形式与LCD 玻璃基板制做在一起,而LCD控制器则有外部电路来实现。而S3C2410内部已经集成了LCD控制器,因此可以很方便地去控制各种类型LCD屏,例如:STN和TFT屏。由于TFT屏将是今后应用主流,因此,重点围绕TFT屏控制来进行。1、S3C2410 LCD控制器特性:STN屏支持3种扫描方式:4bit单扫、4位双扫和8位单扫支持

5、单色、4级灰度和16级灰度屏支持256色和4096色彩色STN屏(CSTN)支持分辩率为640*480、320*240、160*160以及其它规格多种LCDTFT屏支持单色、4级灰度、256色调色板显示模式支持64K和16M色非调色板显示模式支持分辩率为640*480,320*240及其它多种规格LCD,13.2 S3C2410内置LCD控制器,2、TFT屏与S3C2410内部LCD控制器对于控制TFT屏来说,除了要给它送视频资料(VD23:0)以外,还有以下一些信号是必不可少,分别是:VSYNC(VFRAME):帧同步信号HSYNC(VLINE):行同步信号VCLK:像数时钟信号VDEN(V

6、M):数据有效标志信号在图13-1中,REGBANK 是LCD控制器寄存器组,用来对LCD控制器各项参数进行设置。而 LCDCDMA 则是LCD控制器专用DMA信道,负责将视频资料从系统总线(System Bus)上取来,通过 VIDPRCS 从VD23:0发送给LCD屏。同时 TIMEGEN 和 LPC3600 负责产生 LCD屏所需要控制时序,例如VSYNC、HSYNC、VCLK、VDEN,然后从 VIDEO MUX 送给LCD屏。,13.2 S3C2410内置LCD控制器,VFRAME:LCD 控制器和 LCD 驱动器之间的帧同步信号。该信号告诉 LCD屏的新的一帧开始了。LCD 控制器

7、在一个完整帧显示完成后立即插入一个VFRAME 信号,开始新一帧的显示;VLINE:LCD控制器和 LCD驱动器之间的线同步脉冲信号,该信号用于 LCD驱动器将水平线(行)移位寄存器的内容传送给 LCD 屏显示。LCD 控制器在整个水平线(整行)数据移入 LCD驱动器后,插入一个 VLINE 信号;VCLK:LCD控制器和 LCD驱动器之间的像素时钟信号,由 LCD控制器送出的数据在 VCLK的上升沿处送出,在 VCLK的下降沿处被 LCD驱动器采样;VM:LCD驱动器的 AC 信号。VM 信号被 LCD驱动器用于改变行和列的电压极性,从而控制像素点的显示或熄灭。VM 信号可以与每个帧同步,也

8、可以与可变数量的 VLINE 信号同步。,13.2 S3C2410内置LCD控制器,3、数据线:也就是我们说的 RGB 信号线,S3C2410芯片手册上都有详细的说明。4、要注意一下LCD的电源电压,对于手持设备来说一般都为5V或3.3V,或同时支持 5V和3.3V,如果LCD的需要的电源电压是 5V,那就要注意了,S3C2410 的逻辑输出电压只有3.3V,此时一定要把S3C2410的逻辑输出电压提高到5V。5、图-所示的是把3.3V逻辑电压转变成 5V逻辑电压电路图(此图由华恒公司提供)。6、屏的控制信号直接与 S3C2410 的控制信号相接就可以了。7、另外S3C2410到 LCD屏的连

9、线还要超过0.5米,过长会造成一些错误。,13.3 LCD驱动程序环境配置,LCD 驱动程序环境配置过程为:1)下载软件。2)内核移植与内核配置使内核支持FrameBuffer。3)修改mach-smdk2410.c文件。4)编译内核并生成内核镜像文件。5)模块加载。6)编写程序代码。7)测试。在Linux 2.6 中,内核已经很好地支持了LCD,因此,驱动并不需要自己重新编写,只要进行适当的修改就可以驱动相应的LCD了。,13.3 LCD驱动程序环境配置,下面以2.6.22.5内核为例,进行LCD驱动移植。(1)从以下地址下载交叉编译工具http:/#tar xjvf arm-linux-g

10、cc-3.4.1.tar.bz2(4)内核配置 操作步骤步骤1:解压缩linux-2.6.22.5内核包。rootlocalhost embedded#tar xjvf linux-2.6.22.5.tar.bz2步骤2:进入linux-2.6.22.5目录。rootlocalhost embedded#cd linux-2.6.22.5,13.3 LCD驱动程序环境配置,步骤3:修改Makefile文件。rootlocalhost linux-2.6.22.5#vi Makefile将下面两行ARCH?=$(SUBARCH)CROSS_COMPILE?=修改为ARCH?=armCROSS_C

11、OMPILE?=/usr/local/arm/3.4.1/bin/arm-linux-步骤4:在linux-2.6.22.5目录下输入命令:rootlocalhost linux-2.6.22.5#make s3c2410_defconfig menuconfig,13.3 LCD驱动程序环境配置,步骤5:修改配置。由于使用了s3c2410_defconfig参数,所以大部分选项都已经预配置完成,只要修改以下配置:Floating point emulation-*FastFPE math emulation(EXPERIMENTAL)Device Drivers-Graphics suppo

12、rt-*Bootup logo-以上两个选项需要选中。另外查看以下配置,要想驱动LCD必须保证这些选项。Device Drivers-Graphics support-Support for frame buffer devices*Enable firmware EDID S3C2410 LCD framebuffer support,13.3 LCD驱动程序环境配置,步骤6:修改显示图像的大小、像素等参数。rootlocalhost linux-2.6.22.5#vi arch/arm/mach-s3c2440/mach-smdk2440.c#include#include.ucon=UC

13、ON,.ulcon=ULCON,.ufcon=UFCON,;/*LCD的初始化参数,包括寄存器的初始值,LCD的长宽等*/static struct s3c2410fb_mach_info smdk2410_lcd_cfg _initdata=,13.3 LCD驱动程序环境配置,.regs=/*寄存器初始值*/.lcdcon1=S3C2410_LCDCON1_TFT16BPP|S3C2410_LCDCON1_TFT|S3C2410_LCDCON1_CLKVAL(0 x04),.lcdcon2=S3C2410_LCDCON2_VBPD(7)|S3C2410_LCDCON2_LINEVAL(319

14、)|S3C2410_LCDCON2_VFPD(6)|S3C2410_LCDCON2_VSPW(3),.lcdcon3=S3C2410_LCDCON3_HBPD(19)|S3C2410_LCDCON3_HOZVAL(239)|S3C2410_LCDCON3_HFPD(7),.lcdcon4=S3C2410_LCDCON4_MVAL(0)|S3C2410_LCDCON4_HSPW(3),13.3 LCD驱动程序环境配置,.lpcsel=(0 xCE6)&7)|14,.type=S3C2410_LCDCON1_TFT16BPP,/*显示形式*/.width=240,/*长*/.height=320,

15、/*宽*/.xres=/*坐标信息,水平方向*/.min=240,.max=240,.defval=240,.yres=/*坐标信息,竖直方向*/.min=320,.max=320,.defval=320,13.3 LCD驱动程序环境配置,.bpp=/*像素信息*/.min=16,.max=16,.defval=16,;static void _init smdk2410_init(void)s3c24xx_fb_set_platdata(,13.3 LCD驱动程序环境配置,.lcdcon5=S3C2410_LCDCON5_FRM565|S3C2410_LCDCON5_INVVLINE|S3C

16、2410_LCDCON5_INVVFRAME|S3C2410_LCDCON5_PWREN|S3C2410_LCDCON5_HWSWP,#if 0.gpccon=0 xaa940659,.gpccon_mask=0 xffffffff,.gpcup=0 x0000ffff,.gpcup_mask=0 xffffffff,.gpdcon=0 xaa84aaa0,.gpdcon_mask=0 xffffffff,.gpdup=0 x0000faff,.gpdup_mask=0 xffffffff,#endif,13.3 LCD驱动程序环境配置,步骤7:重新编译内核并生成内核镜像zImage。root

17、localhost linux-2.6.22.5#make zImage步骤8:复制内核镜像zImage到/tftpboot/目录中。rootlocalhost linux-2.6.22.5#cp arch/arm/boot/zImage/tftpboot/步骤9:下载到目标板运行。SMDK2410#setenv bootargs console=ttySAC0 initrd=0 x30800000,0 x00440000 root=/dev/ram init=/linuxrcSMDK2410#tftp 0 x30008000 zImage;go 0 x30008000内核运行后发现LCD左上角出现了企鹅标记,说明LCD已经成功驱动。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号