嵌入式系统及应用论文-基于ARM的TFT-LCD显示控制.doc

上传人:小小飞 文档编号:3926401 上传时间:2019-10-10 格式:DOC 页数:14 大小:592.50KB
返回 下载 相关 举报
嵌入式系统及应用论文-基于ARM的TFT-LCD显示控制.doc_第1页
第1页 / 共14页
嵌入式系统及应用论文-基于ARM的TFT-LCD显示控制.doc_第2页
第2页 / 共14页
嵌入式系统及应用论文-基于ARM的TFT-LCD显示控制.doc_第3页
第3页 / 共14页
嵌入式系统及应用论文-基于ARM的TFT-LCD显示控制.doc_第4页
第4页 / 共14页
嵌入式系统及应用论文-基于ARM的TFT-LCD显示控制.doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《嵌入式系统及应用论文-基于ARM的TFT-LCD显示控制.doc》由会员分享,可在线阅读,更多相关《嵌入式系统及应用论文-基于ARM的TFT-LCD显示控制.doc(14页珍藏版)》请在三一文库上搜索。

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

2、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 interface in S3C2410

3、 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核的微处理器的销售量已经超过100亿。ARM公司作为知识产权供应商,本身不直接从事芯片生

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

5、包括:Thumb16位指令集,为了改善代码密度;DSPDSP应用的算术运算指令集;Jazeller允许直接执行Java字节码。ARM处理器系列提供的解决方案有:无线、消费类电子和图像应用的开放平台;存储、自动化、工业和网络应用的嵌入式实时系统;智能卡和SIM卡的安全应用。ARM处理器本身是32位设计,但也配备16位指令集。一般来讲存储器比等价32位代码节省达35,然而保留了32位系统的所有优势。ARM的Jazelle技术使Java加速得到比基于软件的Java虚拟机(JVM)高得多的性能,和同等的非Java加速核相比功耗降低80。CPU功能上增加DSP指令集提供增强的16位和32位算术运算能力,

6、提高了性能和灵活性。ARM还提供两个前沿特性来辅助带深嵌入处理器的高集成SoC器件的调试,它们是嵌入式ICE-RT逻辑和嵌入式跟踪宏核(ETMS)系列。1 TFT-LCD 液晶显示 2.1 LCD基本原理液晶,是一种在一定温度范围内呈现既不同于固态、液态,又不同于气态的特殊物质态,它既具有各向异性的晶体所特有的双折射性,又具有液体的流动性。一般可分热致液晶和溶致液晶两类。在显示应用领域,使用的是热致液晶,超出一定温度范围,热致液晶就不再呈现液晶态,温度低了,出现结晶现象,温度升高了,就变成液体;液晶显示器件所标注的存储温度指的就是呈现液晶态的温度范围。利用液晶分子受到电压的影响而改变其分子的排

7、列状态,并且可以让入射光线产生偏转的现象之原理,制造出的使用液晶显示的屏幕就是液晶显示器,英文称 LCD(Liquid Crystal Display)。在LCD 显示器中,显示面板薄膜被分成很多小栅格,每个小栅格有一个电极控制,通过改变栅格上的电极就能控制格内液晶分子的排列,从而控制光路的导通。彩色显示通过利用三种原色混合的原理显示不同的色彩:彩色面板中,每个像素都是有三个液晶单元格构成的,其中每个单元格前面都分别有红色,绿色或蓝色的过滤片;光线经过过滤片的处理变成红色,蓝色或则绿色,利用三原色的原理组合出不同的色彩。2.2TFT-LCD 结构TFT型LCD在STN型LCD的基础上,增加了一

8、层薄膜晶体管(TFT)阵列,每一个像素都对应一个薄膜晶体管,像素控制电压直接加在这个晶体管上,再通过晶体管去控制液晶的状态,控制光线通过与否。TFT型LCD的每个像素都相对独立,可直接控制,单元之间的电干扰很小,可以使用大电流,提供更好的对比度、更锐利和更明亮的图像,而不会产生虚影和拖尾现象,同时也可以非常精确的控制灰度。TFT型LCD的结构如图1所示。图1:TFT型LCD的结构TFT的作用是用来主动控制每一个像素的器件,这样就相当于在每一个像素点上设计了一个场效应开关管。多个TFT构成一个TFT液晶板,如下图所示。因此,TFT型LCD容易实现真彩色和高分辨率。图2:TFT液晶板TFT型LCD

9、响应快、显示品质好,适用于大型动画显示,被广泛应用于笔记本电脑、计算机显示器、液晶电视、液晶投影机及各式大型电子显示器等产品。近年来也在手机、PDA、数码相机、数码摄像机等手持类设备广泛应用。2.3 TFT-LCD电路原理在TFT型LCD中使用的TFT是一个三端器件,其功能就是一个开关管。在TFT型LCD的玻璃基板上制作半导体层,在两端有与之相连接的源极和漏极,并通过栅极绝缘膜与半导体相对应,利用施加于栅极的电压来控制源、漏电极间的电流。显示屏上的每个像素从结构上可以看作为像素电极和公用电极之间夹有一层液晶,从电学的角度可以把它看作电容。其等效电路如下图所示。其工作原理是:要对j行i列的像素点

10、户(i、j)充电,就要把开关K(i,j)导通,对信号线D(i)施加目标电压,使数据线G(j)的数据信号加到像素P点。当像素电极被充分充电后,即使开关断开,电容中的电荷也得到保存,电极间的液晶分子继续有电场作用。数据线的作用是对信号线施加目标电压,而行驱动器的作用是起开关的导通和断开作用。由于加在液晶上的电压可以存储,因此液晶层能稳定的工作。图3:像素结构等效电路2.4 彩色形成原理TFT型LCD中的红、绿、蓝三原色是由彩色滤光片产生的。彩色滤光片是由红、绿、蓝三种颜色的滤片,有规律地制作在一块大玻璃基板上,每个像素(点)是由三种颜色的单元或称为子像素所组成。如下图所示为彩色滤光片排列图,每个子

11、像素的左上角(灰色矩形)为不透光的TFT。图4:彩色滤光片排列图子像素数量的多少与分辨率有关,一块面板的分辨率为12801024像素,则它实际拥有38401024个晶体管及子像素。一台15.1in(英寸)的LCD(分辨率为1024768像素)其点距为0.0118in(约为0.3mm):而18.1in的LCD(分辨率为12801024像素)其点距为0.01in(0.25mm)。所以,显示器的点距越小,分辨率也就越高。但由于显示器的可视面积有限,点距太小势必降低透光率,因此不可无限量地扩展分辨率。2.5影像产生原理TFT型LCD显示屏的结构与TN型LCD显示屏大致相同,也采用两层玻璃基板之间填充液

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

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

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

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

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

17、及VM等信号。数据流程如下所述:FIFO内存存在于LCDCDMA中。当FIFO空了或部分空了的时候,FIFO请求从帧内存中取数据,一次取4个字,即16字节。当传输请求被总线仲裁接受后,将有连续的4个字的数据从系统内存发送到内部FIFO。整个FIFO大小为28个字,由12个字的FIFOL和16个字的FIFOH组成。S3C2410有2个FIFO以支持双扫描显示模式。如果是单扫描模式,只有一个FIFO(FIFOH)可以用。3.2 ARM 系统与TFT-LCD 接口连接在同一系列的ARM 处理器中,S3C2410 在LCD 驱动方面可谓独领风骚,特别在TFT-LCD方面:支持彩色TFT 的1,2,4

18、或8bbp 调色显示;支持16bbp无调色真彩显示;在24bbp 模式下支持最大16M 色TFT;支持多种不同尺寸的TFT 液晶屏;最大虚拟屏幕大小4M 字节;64K 色彩模式下最大的虚拟尺寸为20481024 及其他。16位RGB(5:6:5)的模式,TFT-LCD与ARM系统S3C2410的硬件接口连接如图:图6:硬件接口连接示意图四:TFT-LCD 驱动程序及显示4.1 TFT-LCD 驱动控制时序如下图中VSYNC 是帧同步信号,VSYNC 每发出1个脉冲,都意味着新的1屏视频资料开始发送。而HSYNC 为行同步信号,每个HSYNC 脉冲都表明新的1 行视频资料开始发送。而VDEN(V

19、M)则用来标明视频资料的有效,VCLK 是用来锁存视频资料的像数时钟。并且在帧同步以及行同步的头尾都必须留有回扫时间,例如对于VSYNC 来说前回扫时间就是(VSPW+1)(VBPD+1),后回扫时间就是(VFPD +1);HSYNC 亦类同。这样的时序要求是当初CRT 显示器由于电子枪偏转需要时间,但后来成了实际上的工业标准,乃至于后来出现的TFT 屏为了在时序上与CRT 兼容,也采用了这样的控制时序。VSPW: 垂直同步信号的脉宽,VBPD: 垂直同步信号的后肩,VFPD: 垂直同步信号的前肩,HSPW: 水平同步信号的脉宽,HBPD: 水平同步信号的后肩,HFPD: 水平同步信号的前肩图

20、7:驱动控制时序图4.2 TFT-LCD 驱动核心程序/*系统主函数*/#include def.h#include 2410addr.h#include config.h#include board.h#include utils.hextern 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();Timer

21、Init(TIMER_FREQ);MemCfgInit();PortInit();SerialSwitch(0);SerialChgBaud(115200);printf(S3C2410 TouchPanel Test!n);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 de

22、f.h#include 2410addr.h#include board.h#include 2410slib.h#include LCD_LTS350Q1_PE1.hextern void printf(char *f, .) ;extern unsigned char xyx_240_320;/宽240,高320#defineFRAME_BUFFER_ADDR0x33700000/0x33fd0000U16 *LCD_BUFER = (U16 *)FRAME_BUFFER_ADDR;/*320240 16Bpp TFT LCD数据和控制端口初始化*/void Lcd_Port_Init(v

23、oid) rGPCUP=0xffffffff; / Disable Pull-up register rGPCCON=0xaaaa56a9/InitializeVD7:0,LCDVF2:0,VM,VFRAME,VLINE,VCLK,LEND rGPDUP=0xffffffff; / Disable Pull-up register rGPDCON=0xaaaaaaaa; /Initialize VD15:8/*320240 16Bpp TFT LCD功能模块初始化*/void Lcd_Init(void)rLCDCON1=(CLKVAL_TFT_2403208)|(MVAL_USED7)|(3

24、5)|(121)|0; / TFT LCD panel,12bpp TFT,ENVID=offrLCDCON2=(VBPD_24032024)|(LINEVAL_TFT_24032014)|(VFPD_2403206)|(VSPW_240320);rLCDCON3=(HBPD_24032019)|(HOZVAL_TFT_2403208)|(HFPD_240320);rLCDCON4=(MVAL8)|(HSPW_240320);rLCDCON5=(111)|(09)|(08)|(06)|(BSWP22)1);rLCDSADDR2=M5D( (U32)LCD_BUFER+(SCR_XSIZE_TF

25、T_240320*LCD_YSIZE_TFT_240320*2)1 );rLCDSADDR3=(SCR_XSIZE_TFT_240320-LCD_XSIZE_TFT_240320)/1)11)|(LCD_XSIZE_TFT_240320/1);rLCDINTMSK|=(3); / MASK LCD Sub InterruptrLPCSEL&=(7); / Disable LPC3600rTPAL=0; / Disable Temp Palette/*背光控制*/void LcdBkLtSet(U32 HiRatio)#define FREQ_PWM11000if(!HiRatio)rGPBCO

26、N = rGPBCON & (32) | (12) ;/GPB1设置为outputrGPBDAT &= (11);return;rGPBCON = rGPBCON & (32) | (2 100 )HiRatio = 100 ;rTCON = rTCON & (0xf4 )/FREQ_PWM1;/if set inverter off, when TCNT2TCMP2, TOUT is lowrTCMPB1 = ( rTCNTB1*(100-HiRatio)/100 ;/if set inverter on, when TCNT2TCMP2, TOUT is highrTCON = rTCON

27、 & (0xf8) | (0x0e8) ;/自动重装,输出取反关闭,更新TCNTBn、TCMPBn,死区控制器关闭rTCON = rTCON & (0xf8) | (0x0d8) ;/开启背光控制/*320240 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;

28、 /black for(cdata=1;cdata255;cdata+) p_red=(cdata & 0xe0);p_green=(cdata & 0x1c);p_blue=(cdata & 0x03); *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,

29、i,color);/*在LCD屏幕上指定坐标点画一个指定大小的图片*/void Paint_Bmp(int x0,int y0,int h,int l,unsigned char bmp)int x,y;U32 c;int p = 0; for( y = y0 ; y l ; y+ ) for( x = x0 ; x h ; x+ ) c = bmpp+1 | (bmpp8) ;if ( ( (x0+x) SCR_XSIZE_TFT_240320) & ( (y0+y) SCR_YSIZE_TFT_240320) )LCD_BUFERy*SCR_XSIZE_TFT_240320+x = c; p = p + 2 ; 参考文献1 黄智伟,邓月明,王彦 ARM9嵌入式系统设计基础教程.北京航空航天大学出版社 2010.2 李维提,郭强 最新液晶显示应用. 电子工业出版社,20063 戴亚翔,田民波 TFT-LCD 的驱动与设计清华大学出版社 20084贾智平,张瑞化 嵌入式系统原理与接口技术M北京:清华大学出版社,20055 孙鑫,余安萍 VC+深入详解电子工业出版社,200612

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

当前位置:首页 > 其他


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