基于ARM的TFT-LCD显示控制要点.pdf

上传人:tbuqq 文档编号:5207590 上传时间:2020-02-20 格式:PDF 页数:14 大小:776.06KB
返回 下载 相关 举报
基于ARM的TFT-LCD显示控制要点.pdf_第1页
第1页 / 共14页
基于ARM的TFT-LCD显示控制要点.pdf_第2页
第2页 / 共14页
基于ARM的TFT-LCD显示控制要点.pdf_第3页
第3页 / 共14页
基于ARM的TFT-LCD显示控制要点.pdf_第4页
第4页 / 共14页
基于ARM的TFT-LCD显示控制要点.pdf_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《基于ARM的TFT-LCD显示控制要点.pdf》由会员分享,可在线阅读,更多相关《基于ARM的TFT-LCD显示控制要点.pdf(14页珍藏版)》请在三一文库上搜索。

1、嵌入式系统及应用论文 基于 ARM 的 TFT-LCD显示控制 所属学院电气与信息工程学院 专业控制理论与控制工程 班级 学号 2014011044 姓名 指导教师 GXKEDX 1 基于 ARM的 TFT-LCD显示控制 YHL (电气与信息工程学院,双研2014,20141101044) 摘要:随着液晶显示技术的发展,我们的日常生活中出现了各种各样功能强大的显示系统。 本文首先对ARM 进行了简单的概述,以液晶显示技术的基本原理为理论基础,探索分析了 S3C2410内部的 LCD控制器以及 ARM 系统与 TFT-LCD 接口连接, 最后介绍了TFT-LCD 驱动 程序及显示。 关键词:

2、ARM ;液晶显示;TFT-LCD Abstract:With the development of LCD technology,There are various powerful display system in our everyday life.This article has carried on the simple outline to ARM firstly,based on the theory of the basic principle of liquid crystal display technology.The LCD controller and ARM in

3、terface in S3C2410 system are explored and analyzed.Finally, the TFT-LCD driver and display are introduced. Key words: ARM; LCD; TFT-LCD 一ARM 概述 1.1 ARM 基本介绍 ARM(Advanced RISC Machine),既可以认为是一个公司的名字,也可以认为是对一类 微处理器的通称,还可以认为是一种技术的名字。ARM 公司是 32 位嵌入式 RISC微处理器技 术的领导者, 自从 1990 年创办公司以来, 基于 ARM 技术 IP 核的微处理器

4、的销售量已经超过 100 亿。 ARM 公司作为知识产权供应商,本身不直接从事芯片生产,靠转让设计许可由合作公司 生产各具特色的芯片, 世界各大半导体生产商从ARM 公司购买其设计的ARM 微处理器核, 根据各自不同的应用领域,加入适当的外围电路,从而形成自己的ARM 微处理器芯片进 入市场。目前,全世界有几十家大的半导体公司都使用ARM 公司的授权,因此既使 得ARM 技术获得更多的第三方工具、制造、软件的支持,又使整个系统成本降低,使产 品更容易进入市场被消费者所接受,更具有竞争力。 1.2 ARM 处理器的特性 ARM 处理器的三大特点是:耗电少功能强、 16 位/32 位双指令集和众多

5、合作伙伴。ARM 商品模式的强大之处在于它在世界范围有超过100 个的合作伙伴 (Partners)。 当前 ARM 体系结构的扩充包括: GXKEDX 2 Thumb 16 位指令集,为了改善代码密度; DSP DSP应用的算术运算指令集; Jazeller 允许直接执行Java 字节码。 ARM 处理器系列提供的解决方案有: 无线、消费类电子和图像应用的开放平台; 存储、自动化、工业和网络应用的嵌入式实时系统; 智能卡和SIM卡的安全应用。 ARM 处理器本身是32 位设计, 但也配备16 位指令集。 一般来讲存储器比等价32 位代 码节省达35,然而保留了32 位系统的所有优势。ARM

6、的 Jazelle技术使 Java 加速得到比 基于软件的Java 虚拟机 (JVM)高得多的性能,和同等的非Java 加速核相比功耗降低80。 CPU功能上增加DSP指令集提供增强的16 位和 32 位算术运算能力,提高了性能和灵活性。 ARM 还提供两个前沿特性来辅助带深嵌入处理器的高集成SoC器件的调试,它们是嵌入式 ICE-RT 逻辑和嵌入式跟踪宏核(ETMS)系列。 一TFT-LCD 液晶显示 2.1 LCD基本原理 液晶,是一种在一定温度范围内呈现既不同于固态、液态,又不同于气态的特殊物质态, 它既具有各向异性的晶体所特有的双折射性,又具有液体的流动性。一般可分热致液晶和溶 致液晶

7、两类。在显示应用领域,使用的是热致液晶,超出一定温度范围,热致液晶就不再呈 现液晶态,温度低了,出现结晶现象,温度升高了,就变成液体; 液晶显示器件所标注的存 储温度指的就是呈现液晶态的温度范围。利用液晶分子受到电压的影响而改变其分子的排列 状态,并且可以让入射光线产生偏转的现象之原理,制造出的使用液晶显示的屏幕就是液晶 显示器,英文称LCD (Liquid Crystal Display )。 在 LCD 显示器中,显示面板薄膜被分成很多小栅格,每个小栅格有一个电极控制,通 过改变栅格上的电极就能控制格内液晶分子的排列,从而控制光路的导通。彩色显示通过利 用三种原色混合的原理显示不同的色彩:

8、彩色面板中, 每个像素都是有三个液晶单元格构成 的,其中每个单元格前面都分别有红色,绿色或蓝色的过滤片; 光线经过过滤片的处理变成 红色,蓝色或则绿色,利用三原色的原理组合出不同的色彩。 2.2 TFT-LCD 结构 TFT型 LCD在 STN型 LCD的基础上,增加了一层薄膜晶体管(TFT)阵列,每一个像素 GXKEDX 3 都对应一个薄膜晶体管,像素控制电压直接加在这个晶体管上,再通过晶体管去控制液晶的 状态,控制光线通过与否。TFT型 LCD的每个像素都相对独立,可直接控制,单元之间的电 干扰很小, 可以使用大电流,提供更好的对比度、更锐利和更明亮的图像,而不会产生虚影 和拖尾现象,同时

9、也可以非常精确的控制灰度。TFT型 LCD的结构如图1 所示。 图 1:TFT型 LCD的结构 TFT的作用是用来主动控制每一个像素的器件,这样就相当于在每一个像素点上设计了 一个场效应开关管。多个TFT构成一个TFT液晶板,如下图所示。因此,TFT型 LCD容易实 现真彩色和高分辨率。 图 2:TFT液晶板 TFT型 LCD响应快、显示品质好,适用于大型动画显示,被广泛应用于笔记本电脑、计 算机显示器、液晶电视、液晶投影机及各式大型电子显示器等产品。近年来也在手机、PDA 、 数码相机、数码摄像机等手持类设备广泛应用。 GXKEDX 4 2.3 TFT-LCD电路原理 在 TFT型 LCD中

10、使用的 TFT是一个三端器件,其功能就是一个开关管。在TFT型 LCD 的玻璃基板上制作半导体层,在两端有与之相连接的源极和漏极,并通过栅极绝缘膜与半导 体相对应, 利用施加于栅极的电压来控制源、漏电极间的电流。显示屏上的每个像素从结构 上可以看作为像素电极和公用电极之间夹有一层液晶,从电学的角度可以把它看作电容。其 等效电路如下图所示。其工作原理是:要对j 行 i 列的像素点户 (i 、j) 充电,就要把开关 K(i ,j) 导通,对信号线D(i) 施加目标电压,使数据线G(j) 的数据信号加到像素P点。当像 素电极被充分充电后,即使开关断开, 电容中的电荷也得到保存,电极间的液晶分子继续有

11、 电场作用。 数据线的作用是对信号线施加目标电压,而行驱动器的作用是起开关的导通和断 开作用。由于加在液晶上的电压可以存储,因此液晶层能稳定的工作 。 图 3:像素结构等效电路 2.4 彩色形成原理 TFT型 LCD中的红、绿、蓝三原色是由彩色滤光片产生的。彩色滤光片是由红、绿、蓝 三种颜色的滤片,有规律地制作在一块大玻璃基板上,每个像素(点)是由三种颜色的单元 或称为子像素所组成。如下图所示为彩色滤光片排列图,每个子像素的左上角(灰色矩形) 为不透光的TFT。 GXKEDX 5 图 4:彩色滤光片排列图 子像素数量的多少与分辨率有关,一块面板的分辨率为12801024 像素,则它实际拥 有

12、38401024 个晶体管及子像素。一台15.1in (英寸)的LCD (分辨率为1024768 像素) 其点距为0.0118in(约为 0.3mm):而 18.1in的 LCD (分辨率为12801024 像素)其点距为 0.01in(0.25mm)。所以, 显示器的点距越小,分辨率也就越高。但由于显示器的可视面积有 限,点距太小势必降低透光率,因此不可无限量地扩展分辨率。 2.5 影像产生原理 TFT型 LCD显示屏的结构与TN型 LCD显示屏大致相同,也采用两层玻璃基板之间填充 液晶分子的设计,但由于两者结构不完全一样,因此其影像产生原理存在一定的区别。简单 地讲, TFT型 LCD面板

13、上的像素都是独立的,为了让每一个独立的像素都能产生色彩,必须 使用多个冷阴极灯管当作背光源。而要让光通过每一个像素,又必须使用液晶器件来调节屏 幕的光线。 液晶分子可以改变它的分子结构,因此可以让不同程度的光量通过它本身,也可 完全阻断光线。 在液晶显示屏里设置有两片偏极片、彩色滤光片阵列及配向膜,它们可以决定光通量与 颜色的产生。 液晶层位于两片玻璃板之间,由于液晶分子具有扭曲的特点,当施以电压给取 向层时, 则产生一个电场,使取向层界面的液晶朝某一个方向排列。液晶分子发生偏转使屏 幕光线产生变化的原理是:当液晶分子不施加电压时,液晶维持在它的初始状态,会把入射 光的方向扭转90,因此可以让

14、背光源的入射光通过整个结构,呈亮的状态;当液晶层施 以某一电压差时,液晶分子会改变它的初始位,使液晶的排列方向不扭转,而不改变光的极 化方向,因此经过液晶的光会被第二层偏极片吸收而使整个结构不透光,呈暗的状态。 TFT型 LCD的前面板设置了一个彩色滤光片,每个像素上制作红、绿、蓝三色。同时, 显示器在制作时, 对基板内侧进行了取向处理,使液晶分子的排列产生希望的形变来实现不 同的显示模式。 在电场的作用下,液晶分子产生取向变化,并通过偏振片的配合,使入射光 GXKEDX 6 在通过液晶层后强度发生变化,从而实现图像显示。 三TFT-LCD 控制器 3.1 S3C2410 的 LCD 控制器

15、要使 LCD 屏显示图像, 不但需要LCD 驱动器,还需要有相应的LCD 控制器。通常 LCD 驱 动器会以 COF/COG 的形式与 LCD 玻璃基板制作在一起, 而 LCD 控制器则有外部电路来实现。 LCD 控制器可以通过编程选择支持不同的LCD 屏的要求,例如行和列像素,数据总线宽度, 接口时序和刷新频率。LCD 控制器的主要作用就是,将定位于系统存储器的显示缓冲区的 LCD 图象数据传送到外部LCD 驱动器。 S3C2410 内部已经集成了LCD 控制器,因此可以很方便地去控制各种类型的LCD屏, 例如: STN 和 TFT 屏。它还支持多种LCD 显示模式,比如单色,灰度,伪彩色或

16、真彩色等, 并提供虚拟屏功能,大图片在显示的时候可以上下左右移动。还带有查色表 (调色板) 功能。 这个功能可以在LCD 显示器上显示最接近原始图颜色特征的图片。 ARM 芯片连接不同的LCD 显示设备时,需要通过设置控制寄存器来调整显示状态,以 便正常显示。因此,对LCD 控制器的控制实际上转换成对映射到内存空间的寄存器值的控 制。由于TFT 屏将是今后应用的主流,因此接下来,重点围绕TFT 屏的控制来进行。 S3C2410内部的 LCD控制器框图: 图 5:S3C2410 内部 LCD 控制器逻辑示意图 S3C2410 的 LCD 控制器是用于传输视频信号,并产生必需的控制VFRAME,V

17、LINE, VCLK,VM等等。除了这些控制信号外,S3C2410的 LCD控制器还有视频数据的端VD23:0 。 LCD 控制器由REGBANK 、 LCDCDMA 、 TIMEGEN 、LPC3600、 VIDPRCS 组成。REGBANK 有 17 个可编程的寄存器,以及用于配置LCD控制器的 256*16 调色板内存。 LCDCDMA 是一个 专用的 DMA ,用于将显示内存中的视频数据自动发到LCD驱动器。 VIDPRCS接收来自 DMA 的 GXKEDX 7 视频数据,将他们转换成合适的数据格式,例如4 位单扫描, 8 位单扫描, 4 位双扫描等。 然后通过端口VD23:0 发送给

18、 LCD驱动器。 TIMEGEN 产生各种不同时序要求的时钟信号。 TIMEGEN 产生 VFRAME ,VLINE ,VCLK ,以及 VM 等信号。 数据流程如下所述:FIFO 内存存在于LCDCDMA中。当 FIFO 空了或部分空了的时候, FIFO 请求从帧内存中取数据,一次取4 个字,即16 字节。当传输请求被总线仲裁接受后, 将有连续的4 个字的数据从系统内存发送到内部FIFO。整个 FIFO 大小为 28 个字,由12 个字的 FIFOL 和 16 个字的 FIFOH 组成。 S3C2410 有 2 个 FIFO 以支持双扫描显示模式。如 果是单扫描模式,只有一个FIFO(FIF

19、OH)可以用。 3.2 ARM系统与 TFT-LCD 接口连接 在同一系列的ARM 处理器中, S3C2410 在 LCD 驱动方面可谓独领风骚,特别在 TFT-LCD 方面:支持彩色TFT 的 1,2,4 或 8bbp 调色显示;支持16bbp 无调色真彩显示;在24bbp 模式下支持最大16M 色 TFT; 支持多种不同尺寸的TFT 液晶屏;最大虚拟屏幕大小4M 字节; 64K 色彩模式下最大的虚拟尺寸为20481024 及其他。16 位 RGB (5:6:5 ) 的模式, TFT-LCD 与 ARM 系统 S3C2410的硬件接口连接如图: 图 6:硬件接口连接示意图 四:TFT-LCD

20、 驱动程序及显示 GXKEDX 8 4.1 TFT-LCD驱动控制时序 如下图中 VSYNC 是帧同步信号, VSYNC每发出 1 个脉冲, 都意味着新的1 屏视频资 料开始发送。而HSYNC为行同步信号,每个HSYNC 脉冲都表明新的1 行视频资料开始 发送。而 VDEN(VM) 则用来标明视频资料的有效,VCLK是用来锁存视频资料的像数时钟。 并且在帧同步以及行同步的头尾都必须留有回扫时间,例如对于VSYNC 来说前回扫时间 就是( VSPW+1)( VBPD+1 ),后回扫时间就是(VFPD +1 ); HSYNC亦类同。这样 的时序要求是当初CRT 显示器由于电子枪偏转需要时间,但后来

21、成了实际上的工业标准, 乃至于后来出现的TFT 屏为了在时序上与CRT 兼容,也采用了这样的控制时序。 VSPW: 垂直同步信号的脉宽,VBPD:垂直同步信号的后肩,VFPD:垂直同步信号的前肩, HSPW: 水平同步信号的脉宽,HBPD: 水平同步信号的后肩,HFPD:水平同步信号的前肩 图 7:驱动控制时序图 4.2 TFT-LCD 驱动核心程序 /*系统主函数 */ #include “def.h“ GXKEDX 9 #include “2410addr.h“ #include “config.h“ #include “board.h“ #include “utils.h“ extern

22、 void Lcd_Tft_LTS350Q1_PE1_Test( void ); extern void LcdBkLtSet(U32 HiRatio); extern void Lcd_Tft_LTS350Q1_PE1_Init(void); void Main(void) BoardInitStart(); SystemClockInit(); TimerInit(TIMER_FREQ); MemCfgInit(); PortInit(); SerialSwitch(0); SerialChgBaud(115200); printf(“S3C2410 TouchPanel Test!n“)

23、; while( 1 ) printf(“please enter any key to run testn“); getch(); Lcd_Tft_LTS350Q1_PE1_Init(); LcdBkLtSet(70); Lcd_Tft_LTS350Q1_PE1_Test(); /* The initial and control for TFT LCD-LCD */ #include “def.h“ #include “2410addr.h“ #include “board.h“ #include “2410slib.h“ #include “LCD_LTS350Q1_PE1.h“ ext

24、ern void printf(char *f, .) ; extern unsigned char xyx_240_320; /宽 240,高 320 #define FRAME_BUFFER_ADDR 0x33700000/0x33fd0000 U16 *LCD_BUFER = (U16 *)FRAME_BUFFER_ADDR; /* 320 240 16Bpp TFT LCD 数据和控制端口初始化 */ void Lcd_Port_Init(void) rGPCUP=0xffffffff; / Disable Pull-up register rGPCCON=0xaaaa56a9/Ini

25、tializeVD7:0,LCDVF2:0,VM,VFRAME,VLINE,VCLK,LEND rGPDUP=0xffffffff; / Disable Pull-up register GXKEDX 10 rGPDCON=0xaaaaaaaa; /Initialize VD15:8 /* 320 240 16Bpp TFT LCD 功能模块初始化 */ void Lcd_Init(void) rLCDCON1=(CLKVAL_TFT_24032022)1); rLCDSADDR2=M5D( (U32)LCD_BUFER+(SCR_XSIZE_TFT_240320*LCD_YSIZE_TF T

26、_240320*2)1 ); rLCDSADDR3=(SCR_XSIZE_TFT_240320-LCD_XSIZE_TFT_240320)/1) 100 ) HiRatio = 100 ; rTCON = rTCON /if set inverter off, when TCNT2TCMP2, TOUT is low GXKEDX 11 rTCMPB1 = ( rTCNTB1*(100-HiRatio)/100 ; /if set inverter on, when TCNT2TCMP2, TOUT is high rTCON = rTCON /自动重装 ,输出取反关闭 ,更新 TCNTBn

27、、TCMPBn, 死区控制器关闭 rTCON = rTCON /开启背光控制 /* 320 240 8Bpp TFT LCD 颜色初始化 */ void Lcd_Palette_Init(void) unsigned char cdata, p_red, p_green, p_blue; U32 *palette; /#define PALETTE 0x4d000400 /Palette start address palette=(U32 *)PALETTE; *palette+=0; /black for(cdata=1;cdata255;cdata+) p_red=(cdata p_gr

28、een=(cdata p_blue=(cdata *palette+=(U32)(p_red8)|(p_green6)|(p_blue3); *palette=0xffff; /white /* 在 LCD 屏幕上用颜色填充一个矩形 */ void Glib_FilledRectangle(int x1,int y1,int x2,int y2,int color) int i; for(i=y1;i=y2;i+) Glib_Line(x1,i,x2,i,color); /* 在 LCD 屏幕上指定坐标点画一个指定大小的图片 */ void Paint_Bmp(int x0,int y0,in

29、t h,int l,unsigned char bmp) int x,y; U32 c; int p = 0; for( y = y0 ; y l ; y+ ) GXKEDX 12 for( x = x0 ; x h ; x+ ) c = bmpp+1 | (bmpp8) ; if ( ( (x0+x) SCR_XSIZE_TFT_240320) p = p + 2 ; GXKEDX 13 参考文献 1 黄智伟,邓月明,王彦 ARM9嵌入式系统设计基础教程. 北京航空航天大学出版社 2010. 2 李维提,郭强最新液晶显示应用. 电子工业出版社,2006 3 戴亚翔,田民波 TFT-LCD 的驱动与设计清华大学出版社 2008 4 贾智平,张瑞化嵌入式系统原理与接口技术M 北京:清华大学出版社,2005 5 孙鑫,余安萍 VC+深入详解电子工业出版社,2006

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1