版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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商品模式
5、的强大之处在于它在世界范围有超过100个的合作伙伴(Partners)。当前ARM体系结构的扩充包括:·Thumb 16位指令集,为了改善代码密度; ·DSP DSP应用的算术运算指令集; ·Jazeller 允许直接执行Java字节码。 ARM处理器系列提供的解决方案有: ·无线、消费类电子和图像应用的开放平台; ·存储、
6、自动化、工业和网络应用的嵌入式实时系统; ·智能卡和SIM卡的安全应用。 ARM处理器本身是32位设计,但也配备16位指令集。一般来讲存储器比等价32位代码节省达35,然而保留了32位系统的所有优势。ARM的Jazelle技术使Java加速得到比基于软件的Java虚拟机(JVM)高得多的性能,和同等的非Java加速核相比功耗降低80。CPU功能上增加DSP指令集提供增强的16位和32位算术运算能力,提高了性能和灵活性。ARM还提供两个前沿特性来辅助带深嵌入处理器的高集成SoC器件的调试,它们是嵌入式ICE-RT逻辑和
7、嵌入式跟踪宏核(ETMS)系列。1 TFT-LCD 液晶显示 2.1 LCD基本原理液晶,是一种在一定温度范围内呈现既不同于固态、液态,又不同于气态的特殊物质态,它既具有各向异性的晶体所特有的双折射性,又具有液体的流动性。一般可分热致液晶和溶致液晶两类。在显示应用领域,使用的是热致液晶,超出一定温度范围,热致液晶就不再呈现液晶态,温度低了,出现结晶现象,温度升高了,就变成液体;液晶显示器件所标注的存储温度指的就是呈现液晶态的温度范围。利用液晶分子受到电压的影响而改变其分子的排列状态,并且可以让入射光线产生偏转的现象之原理,制造出的使用液晶显示的屏幕就是液晶显示器,英文称 LCD(Liquid
8、Crystal Display)。在LCD 显示器中,显示面板薄膜被分成很多小栅格,每个小栅格有一个电极控制,通过改变栅格上的电极就能控制格内液晶分子的排列,从而控制光路的导通。彩色显示通过利用三种原色混合的原理显示不同的色彩:彩色面板中,每个像素都是有三个液晶单元格构成的,其中每个单元格前面都分别有红色,绿色或蓝色的过滤片;光线经过过滤片的处理变成红色,蓝色或则绿色,利用三原色的原理组合出不同的色彩。2.2TFT-LCD 结构TFT型LCD在STN型LCD的基础上,增加了一层薄膜晶体管(TFT)阵列,每一个像素都对应一个薄膜晶体管,像素控制电压直接加在这个晶体管上,再通过晶体管去控制液晶的状
9、态,控制光线通过与否。TFT型LCD的每个像素都相对独立,可直接控制,单元之间的电干扰很小,可以使用大电流,提供更好的对比度、更锐利和更明亮的图像,而不会产生虚影和拖尾现象,同时也可以非常精确的控制灰度。TFT型LCD的结构如图1所示。图1:TFT型LCD的结构TFT的作用是用来主动控制每一个像素的器件,这样就相当于在每一个像素点上设计了一个场效应开关管。多个TFT构成一个TFT液晶板,如下图所示。因此,TFT型LCD容易实现真彩色和高分辨率。图2:TFT液晶板TFT型LCD响应快、显示品质好,适用于大型动画显示,被广泛应用于笔记本电脑、计算机显示器、液晶电视、液晶投影机及各式大型电子显示器等
10、产品。近年来也在手机、PDA、数码相机、数码摄像机等手持类设备广泛应用。2.3 TFT-LCD电路原理在TFT型LCD中使用的TFT是一个三端器件,其功能就是一个开关管。在TFT型LCD的玻璃基板上制作半导体层,在两端有与之相连接的源极和漏极,并通过栅极绝缘膜与半导体相对应,利用施加于栅极的电压来控制源、漏电极间的电流。显示屏上的每个像素从结构上可以看作为像素电极和公用电极之间夹有一层液晶,从电学的角度可以把它看作电容。其等效电路如下图所示。其工作原理是:要对j行i列的像素点户(i、j)充电,就要把开关K(i,j)导通,对信号线D(i)施加目标电压,使数据线G(j)的数据信号加到像素P点。当像
11、素电极被充分充电后,即使开关断开,电容中的电荷也得到保存,电极间的液晶分子继续有电场作用。数据线的作用是对信号线施加目标电压,而行驱动器的作用是起开关的导通和断开作用。由于加在液晶上的电压可以存储,因此液晶层能稳定的工作。图3:像素结构等效电路2.4 彩色形成原理TFT型LCD中的红、绿、蓝三原色是由彩色滤光片产生的。彩色滤光片是由红、绿、蓝三种颜色的滤片,有规律地制作在一块大玻璃基板上,每个像素(点)是由三种颜色的单元或称为子像素所组成。如下图所示为彩色滤光片排列图,每个子像素的左上角(灰色矩形)为不透光的TFT。图4:彩色滤光片排列图子像素数量的多少与分辨率有关,一块面板的分辨率为1280
12、×1024像素,则它实际拥有3840×1024个晶体管及子像素。一台15.1in(英寸)的LCD(分辨率为1024×768像素)其点距为0.0118in(约为0.3mm):而18.1in的LCD(分辨率为1280×1024像素)其点距为0.01in(0.25mm)。所以,显示器的点距越小,分辨率也就越高。但由于显示器的可视面积有限,点距太小势必降低透光率,因此不可无限量地扩展分辨率。2.5影像产生原理TFT型LCD显示屏的结构与TN型LCD显示屏大致相同,也采用两层玻璃基板之间填充液晶分子的设计,但由于两者结构不完全一样,因此其影像产生原理存在一定的区别
13、。简单地讲,TFT型LCD面板上的像素都是独立的,为了让每一个独立的像素都能产生色彩,必须使用多个冷阴极灯管当作背光源。而要让光通过每一个像素,又必须使用液晶器件来调节屏幕的光线。液晶分子可以改变它的分子结构,因此可以让不同程度的光量通过它本身,也可完全阻断光线。在液晶显示屏里设置有两片偏极片、彩色滤光片阵列及配向膜,它们可以决定光通量与颜色的产生。液晶层位于两片玻璃板之间,由于液晶分子具有扭曲的特点,当施以电压给取向层时,则产生一个电场,使取向层界面的液晶朝某一个方向排列。液晶分子发生偏转使屏幕光线产生变化的原理是:当液晶分子不施加电压时,液晶维持在它的初始状态,会把入射光的方向扭转90
14、176;,因此可以让背光源的入射光通过整个结构,呈亮的状态;当液晶层施以某一电压差时,液晶分子会改变它的初始位,使液晶的排列方向不扭转,而不改变光的极化方向,因此经过液晶的光会被第二层偏极片吸收而使整个结构不透光,呈暗的状态。TFT型LCD的前面板设置了一个彩色滤光片,每个像素上制作红、绿、蓝三色。同时,显示器在制作时,对基板内侧进行了取向处理,使液晶分子的排列产生希望的形变来实现不同的显示模式。在电场的作用下,液晶分子产生取向变化,并通过偏振片的配合,使入射光在通过液晶层后强度发生变化,从而实现图像显示。三TFT-LCD 控制器3.1 S3C2410的LCD控制器要使LCD 屏显示图像,不但
15、需要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,VLINE,VCLK,VM等等。除了这些控制信号外,S3C2410的LCD控制器还有视频数据的
17、端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,以及VM等信号。数据流程如下所述:FIFO内存存在于LCDCD
18、MA中。当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 或8bbp 调色显示;支持16bbp无调色真彩显示;在24b
19、bp 模式下支持最大16M 色TFT;支持多种不同尺寸的TFT 液晶屏;最大虚拟屏幕大小4M 字节;64K 色彩模式下最大的虚拟尺寸为2048×1024 及其他。16位RGB(5:6:5)的模式,TFT-LCD与ARM系统S3C2410的硬件接口连接如图:图6:硬件接口连接示意图四:TFT-LCD 驱动程序及显示4.1 TFT-LCD 驱动控制时序如下图中VSYNC 是帧同步信号,VSYNC 每发出1个脉冲,都意味着新的1屏视频资料开始发送。而HSYNC 为行同步信号,每个HSYNC 脉冲都表明新的1 行视频资料开始发送。而VDEN(VM)则用来标明视频资料的有效,VCLK 是用来锁
20、存视频资料的像数时钟。并且在帧同步以及行同步的头尾都必须留有回扫时间,例如对于VSYNC 来说前回扫时间就是(VSPW+1)(VBPD+1),后回扫时间就是(VFPD +1);HSYNC 亦类同。这样的时序要求是当初CRT 显示器由于电子枪偏转需要时间,但后来成了实际上的工业标准,乃至于后来出现的TFT 屏为了在时序上与CRT 兼容,也采用了这样的控制时序。VSPW: 垂直同步信号的脉宽,VBPD: 垂直同步信号的后肩,VFPD: 垂直同步信号的前肩,HSPW: 水平同步信号的脉宽,HBPD: 水平同步信号的后肩,HFPD: 水平同步信号的前肩图7:驱动控制时序图4.2 TFT-LCD 驱动核
21、心程序/*系统主函数*/#include "def.h"#include "2410addr.h"#include "config.h"#include "board.h"#include "utils.h"extern void Lcd_Tft_LTS350Q1_PE1_Test( void );extern void LcdBkLtSet(U32 HiRatio);extern void Lcd_Tft_LTS350Q1_PE1_Init(void);void Main(void) Boar
22、dInitStart();SystemClockInit();TimerInit(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_T
23、est();/*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"extern void printf(char *f, .) ;extern unsigned char xyx_240_320;/宽240,高320#defineFRAME_BUFFER_A
24、DDR0x33700000/0x33fd0000U16 *LCD_BUFER = (U16 *)FRAME_BUFFER_ADDR;/*320×240 16Bpp TFT LCD数据和控制端口初始化*/void Lcd_Port_Init(void) rGPCUP=0xffffffff; / Disable Pull-up register rGPCCON=0xaaaa56a9/InitializeVD7:0,LCDVF2:0,VM,VFRAME,VLINE,VCLK,LEND rGPDUP=0xffffffff; / Disable Pull-up register rGPDCON
25、=0xaaaaaaaa; /Initialize VD15:8/*320×240 16Bpp TFT LCD功能模块初始化*/void Lcd_Init(void)rLCDCON1=(CLKVAL_TFT_240320<<8)|(MVAL_USED<<7)|(3<<5)|(12<<1)|0; / TFT LCD panel,12bpp TFT,ENVID=offrLCDCON2=(VBPD_240320<<24)|(LINEVAL_TFT_240320<<14)|(VFPD_240320<<6)|(V
26、SPW_240320);rLCDCON3=(HBPD_240320<<19)|(HOZVAL_TFT_240320<<8)|(HFPD_240320);rLCDCON4=(MVAL<<8)|(HSPW_240320);rLCDCON5=(1<<11)|(0<<9)|(0<<8)|(0<<6)|(BSWP<<1)|(HWSWP); /FRM5:6:5,HSYNC and VSYNC are invertedrLCDSADDR1=(U32)LCD_BUFER>>22)<<21)|
27、M5D(U32)LCD_BUFER>>1);rLCDSADDR2=M5D( (U32)LCD_BUFER+(SCR_XSIZE_TFT_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; / Dis
28、able Temp Palette/*背光控制*/void LcdBkLtSet(U32 HiRatio)#define FREQ_PWM11000if(!HiRatio)rGPBCON = rGPBCON & (3<<2) | (1<<2) ;/GPB1设置为outputrGPBDAT &= (1<<1);return;rGPBCON = rGPBCON & (3<<2) | (2<<2) ;/GPB1设置为TOUT1if( HiRatio > 100 )HiRatio = 100 ;rTCON = r
29、TCON & (0xf<<8) ;/ clear manual update bit, stop Timer1rTCFG0 &= 0xffffff00;/ set Timer 0&1 prescaler 0rTCFG1 &= 0xffffff0f;/ set Timer 1 MUX 1/16rTCFG1 |= 0x00000030;/ set Timer 1 MUX 1/16rTCNTB1 = ( GetMasterClock()>>4 )/FREQ_PWM1;/if set inverter off, when TCNT2<=TC
30、MP2, TOUT is high, TCNT2>TCMP2, TOUT is lowrTCMPB1 = ( rTCNTB1*(100-HiRatio)/100 ;/if set inverter on, when TCNT2<=TCMP2, TOUT is low, TCNT2>TCMP2, TOUT is highrTCON = rTCON & (0xf<<8) | (0x0e<<8) ;/自动重装,输出取反关闭,更新TCNTBn、TCMPBn,死区控制器关闭rTCON = rTCON & (0xf<<8) | (0x0d<<8) ;/开启背光控制/*320×240 8Bpp TFT LCD 颜色初始化*/void Lcd_Palette_Init(void) unsigned cha
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理记录与交接管理制度
- 《散步》知识讲义
- 人教版可能性课件
- 2024年浙江客运从业资格证下载什么软件练题
- 算法设计与分析 课件 5.8-动态规划应用-编辑距离问题
- 2024年山西客运资格证应用能力试题答案解析
- 2024年承德考客运从业资格证考试题目
- 2024年鞍山客运资格证题库及答案
- 2024年长沙客运证考试
- 2024年乌鲁木齐客运资格专业能力考试试题
- 八年级物理上册说课稿:第二章2.1物质的三态 温度的测量
- 职业院校面试题目及答案
- 湖北省鄂东南省级示范高中教育教学改革联盟2023-2024学年高一上学期期中联考政治试题
- 全护筒跟进旋挖施工方案
- 海水淡化处理方案
- 福建省厦门市翔安区2023-2024学年九年级上学期期中英语试题
- 学生对学校满意度评价表
- 化工项目国民经济分析 化工项目技术经济
- 计算与人工智能概论智慧树知到课后章节答案2023年下湖南大学
- 小学一年级下册数学期末考试质量分析及试卷分析
- 原材料情况说明范本
评论
0/150
提交评论