ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:543.90KB ,
资源ID:15939441      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/15939441.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(张新健基于S3C2410与26内核linux下TFT液晶的驱动设计Word文件下载.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

张新健基于S3C2410与26内核linux下TFT液晶的驱动设计Word文件下载.docx

1、LCD液晶作为重要的人机界面非常广泛的使用在各种嵌入式设备中,而linux操作系统由于其非常强的可移植性和稳定性同样也被广大的嵌入式设备开发商所采用。本设计就是基于最新的2.6内核的linux系统的底层驱动编写,研究linux下的TFT-LCD驱动(属字符设备驱动)的结构、移植、编写、加载与卸载、以及用户层的接口设计等技术。其中硬件使用三星公司开发的ARM9核嵌入式处理器S3C2410。Linux系统采用2.6.8的内核。2 硬件实现 2.1 TFT LCD显示器原理LCD(liquid crystal display),是一种数字显示技术,可以通过液晶和彩色过滤器过滤光源,并在平面面板上产生

2、图像。常见的液晶显示器按物理结构分为一下四种: 扭曲向列型(TN) 超扭曲向列型(STN) 双层超扭曲向列型(DSTN) 薄膜晶体管型(TFT)本设计采用TFT型液晶显示器。TFT-LCD是一种广泛拥有电视、笔记本电脑、监视器、手机等产品的有源矩阵液晶显示器件。TFT将点阵像素分割成红、绿、蓝三个子像素,并在其对应位置的器件内表面设置R、G、B 三个微型滤色膜,此时液晶显示器件只作为一个光阀,控制每个子像素光阀,就可以控制滤色膜透过光的通断;控制光阀的灰度等级就可以控制相应滤色膜透过光的多少;利用R、G、B这三个子像素透过的不同光量,便可以混合加色实现极为丰富的彩色。如果R、G、B这三个子像素

3、均可实现人眼对灰度分辨能力64级灰度驱动,就可以实现有64x64x64约26万种彩色的“真彩色”。TFT的主要特点是在每个像素配置一个半导体开关器件,由于每个像素都可以通过点脉冲直接控制,使得每个节点相对独立,并可以连续控制。TFT-LCD具有屏幕反应速度快,对比度和亮度都较高,屏幕可视角度大,色彩丰富、分辨率高等特点,是目前最好的LCD彩色显示设备之一。其原理见图1: 图1 TFT液晶原理此次设计采用东华WXHAT35-TG2#001在320*240分辨率下可提供16位彩色显示。其尺寸参数及引脚说明见图2,液晶屏与S3C2410处理器引脚连接见图3.分辨率:320*240对比度:300:1亮

4、度:250 cm/m2外观尺寸:76.9*63.9(mm)厚度:3.2(mm)显示颜色:16.7兆色Back light:six LEDs serial type接口方式:24bit RGB显示面积:70.08(H)mm52.56(V)mm 图2 液晶尺寸参数及引脚说明图3 液晶屏与S3C2410处理器引脚连接2.2三星嵌入式处理器:S3C24102.2.1 S3C2410处理器概述S3C2410 是韩国三星公司的一款基于ARM920T 内核的16/32 位RISC 嵌入式微处理器,主要面向手持设备以及高性价比,低功耗的应用。运行的频率可以达到203MHz。ARM920T 核由ARM9TDMI

5、,存储管理单元(MMU)和高速缓存三部分组成。其中MMU 可以管理虚拟内存,高速缓存由独立的16KB 地址和16KB 数据高速Cache 组成ARM920T 有两个协处理器:CP14 和CP15。CP14 用于调试控制,CP15 用于存储系统控制以及测试控制。(其内部结构见图4)S3C2410 的资源包括: 1 个LCD 控制器 SDRAM 控制器。 3 个通道的UART。 4 个通道的DMA。 4 个具有PWM 功能的计时器和一个内部时钟。 8 通道的10 位ADC。 触摸屏接口。 IIS 总线接口。 2 个USB 主机接口,1 个USB 设备接口。 2 个SPI 接口。 SD 接口和MMC

6、 卡接口。 看门狗计数器。 117 个通用I/O 口和24 位外部中断源。 8 通道10 位AD 控制器。图4 S3C2410结构2.2.2 S3C2410的LCD控制器LCD控制器的功能是产生显示驱动信号,驱动LCD显示器。用户只需要通过读写一系列的寄存器,完成配制和显示控制。S3C2410 LCD控制器支持STN和TFT屏,对于TFT屏,其特性如下: 支持单色、4级灰度、256色的调色板显示模式。 支持64K和16M色非调色板显示模式。 支持分辨率为640*480,320*240及其他多种规格的LCD。S3C2410的LCD控制器内部逻辑结构见图5。REGBANK是LCD控制器的寄存器组,

7、用来对LCD控制器的各项参数进行设置。而LCDCDMA则是LCD控制器专用的DMA信道,负责将视频资料从系统总线(System Bus)上取来,通过VIDPRCS从VD23:0发送给LCD屏。同时TIMEGEN和LPC3600负责产生LCD屏所需要的控制时序(如VSYNC,HSYNC,VCLK,VDEN),然后从VIDEO MUX送给LCD屏。 图5 S3C2410的LCD控制器内部逻辑结构通常使用的LCD控制管脚的定义如下:VCLK:像素时钟信号;VD 23:0:LCD像素输出端口;VMVDENTP: LCD驱动器的AC偏置信号(STN)数据使能信号(TFT)SEC TFT源驱动器数据加载脉

8、冲信号复用端口。S3C2410 LCD控制器内部的寄存器可以控制LCD控制器接口的工作模式,LCD驱动编写的主要工作就是正确地设置所用LCD屏的CPU寄存器。表1 所示为S3C2410中与LCD相对应的寄存器,给出了各个寄存器的简要描述。(LCDCON15是最重要的控制寄存器,其详细说明可以参看S3C2410处理器的详细说明书)表1 S3C2410 LCD控制器相关设置2.3 S3C2410 LCD控制器的详细设置对于控制TFT屏来说,除了要给它送视频资料(VD23:0)以外,还有以下一些信号是必不可少的,分别是:VCLK(像素时钟信号)VDEN(数据使能信号)VSYNC(垂直同步信号)HSY

9、NC(水平同步信号)LEND(行结束信号)LCD_PWREN(液晶屏使能信号)。VCLK信号依赖于LCDCON1寄存器中CLKVAL和S3C2410的HCLK的取值,具体公式为: VCLK(Hz)=HCLK(CLKVAL+1)x2VSYNC和HSYNC的产生依赖于LCDCON23寄存器及HOZVAL和LINEVAL的配置,其中: HOZVAL=水平显示尺寸-1 LINEVAL=垂直显示尺寸-1一般情况下,帧频率就是VSYNC信号的频率,它与LCDCON1和LCDCON234寄存器的VSYNC、VB2PD、VFPD、LINEVAL、HSYNC、HBPD、HFPD、HOZVAL和CLKVAL都有关

10、系。大多数LCD驱动器都需要与显示器相匹配的帧频率,帧频率计算公式如下: FrameRate=1(VSPW+1)+(VBPD+1)+(LINEVAL+1)+(VFPD+1)(HSPW+1)+ (HBPD+1)+(HFPD+1)+(HOZVAL+1)2(CLKVAL+1)(HCLK)以下图6为东华WXHAT35-TG2#001,的时序要求:图6东华WXHAT35-TG2#001,的时序要求依照液晶屏时序设置linux系统的相关驱动文件参数如下:1)添加头文件#include 2)添加初始化s3c2410的LCD控制器时所需的参数(修改文件:linux/drivers/video/s3c2410f

11、b.c)/* LCD driver info */* Configuration for 320*240东华WXHAT35-TG2#001*/struct pxafb_mach_info S3C2410_320X240_WX3500B_M06 = .pixclock = 270000, .xres = 320, .yres = 240, .bpp = 16, .hsync_len = 29, /LCD_HSPW .left_margin = 19, /LCD_HFPD .right_margin = 37, /LCD_HBPD .vsync_len = 2, /LCD_VSPW .upper_

12、margin = 11, /LCD_VFPD .lower_margin = 14, /LCD_VBPD .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, .cmap_greyscale = 0, .cmap_inverse = 0, .cmap_static = 0, .reg = .lcdcon1 = (78)|(07)|(35)|(121), .lcdcon2 = (1424) | (23914) | (116) | (2), .lcdcon3 = (3719) | (3198) | (19), .lcdcon4 = (138)

13、| (29), .lcdcon5 = (111) | (110) | (19) | (18) | (07) | (15) | (13) |(01) | (1), ;3 linux系统下驱动的软件实现3.1 嵌入式linux系统典型构成嵌入式Linux(Embedded Linux)是指对Linux经过裁剪小型化后,可固化在存储器或单片机中,应用于特定嵌入式场合的专用Linux操作系统。嵌入式Linux的开发和研究已经成为目前操作系统领域的一个热点。嵌入式Linux系统的典型构成见图7。 图7嵌入式Linux系统的典型构成3.2 linux设备驱动简介1)设备驱动的任务包括:对设备初始化和释放把数据从内核传送到硬件和从硬件读取数据读取应用程序传送给设备文件的数据和回送应用程序请求的数据检测和处理设备出现的错误2)linux系统下设备类型分类:字符设备(char device)。块设备(block device)。网络设备(Network interfaces)3)Linux下LCD设备驱动的实现方法:像普通字符设备进行驱动

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1