ARMS3C2410驱动TFT-LCD的研究._第1页
ARMS3C2410驱动TFT-LCD的研究._第2页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、ARM S3C2410 驱动 TFT-LCD 的研究技术分类:嵌入式系统| 2008-03-07来源:电子开发网|作者:张义磊介绍了 S3C2410 的 LCD 控制器的数据和控制管脚,并给出了 LCD 的控制流程和 TFT-LCD 的控制器设置规则。参照 TFT-LCD CJM10C0101 的逻辑要求和时序要求设计了其驱动电路,设置了各主要 LCD 寄存器。开发了 CJM10C0101 在嵌入式 LINUX 下的显示驱动程序,并在 CJM10C0101 上显示了清晰 稳定的画面。实验表明这套装置通用性好,能驱动大部分的 TFT-LCD;可移植性强,经过少许 修改即可应用在其他嵌入式系统中。

2、它是S3C2410 驱动 TFT-LCD 的一套较佳的解决方案。1 引言随着科技的发展,ARM 在社会各个方面的应用越来越广。S3C2410 是三星公司生产的基于ARM920T 内核的 RISC 微处理器,主频可达 203MHz,适用于信息家电、 SmartPhone、Tablet、 手持设备、移动终端等领域。其中,集成的 LCD 控制器具有通用性,可与大多数的 LCD 显示模 块接口。CJM10C0101 是一种用非晶硅 TFT 作为开关器件的有源矩阵液晶显示器,该模块包括TFT-LCD 显示屏!驱动电路和背光源,其接口为 TTL 电平。分辨率为 640X480 像素,用 18bit 数据信

3、号能显示 262144 色。6 点视角是最佳视角。在以三星 ARM 芯片 S3C2410 为核心,USB、UART LCD TOUCHPANE 等作为输入输出设备,FLASH 和 SDRAM 作存储器,加上固化在 FLASH 里面的嵌入式 LINUX 组成的嵌入式系统中,我们致力于使此系统用本国生产的 TFT-LCD 作显示输出,因此研究设计了驱动 CJM10C0101 型26.4cm(10.4in)TFTLCD 的硬件适配电路与嵌入式 LINUX 下的显示驱动程序。2 S3C2410 LCD 控制器介绍2.1 管脚S3C2410LCD 控制器用于传输视频数据和产生必要的控制信号,像 VFRA

4、MEVLINE、VCLKVM 等等。除了控制信号,S3C2410 还有输出视频数据的端口VD23:0,如图 1 示。i- VCUGLCD HCLKi-VLINE/VSYNaCPV- VFRAMESYNCSTV- VM/VDEN/TP:-VD卩3Q谢I 3(2410 1丄1拧制器的外祐淤那谢LEND -LCD-PWRENiLCDVF0 -LCDVH -LCDVF2-SwnSunftS3C241QXLCD控制事将要用到的管脚描述如下:VCLK 像素时钟信号;VD23:0 LCD 象素输出端口 ;VM/VDEN/TP LCD 驱动器的 AC 偏置信号(STN)/数据使能信号(TFT)/SECTFT

5、源驱动器数据 加载脉冲信号。2.2 寄存器介绍S3C2410 的 LCD 控制寄存器主要有:LCDCON 寄存器、LCDCON 寄存器、LCDCON 寄存器、LCDCON 寄存器和 LCDCON 寄存器等,详情请见参考文献1。2.3 控制流程LCD 控制器由 REGBAINKLCDCDMAVIDPRCS TIMEGEN 和 LPC3600 组成(见图 2)。图2 S3C2410 LCD控制番的内祁方槪附REGBAN 有 17 个可编程寄存器组和 256X16 的调色板存储器,用来设定 LCD 控制器。LCDCDM是一个专用 DMA 自动从帧存储器传输视频数据到LCD 控制器,用这个特殊的 DM

6、A 视频数据可不经过 CPU 干涉就显示在屏幕上。VIDPRC 黴受从 LCDCDM 来的视频数据并在将其改变到合适数据格式后经VD23:0将之送到 LCD 驱动器,如 4/8 单扫描或 4 双扫描显示模式。TIMEGEN可编程逻辑组成,以支持不同 LCD 驱动器的接口时序和速率的不同要求。TIMEGEN 产生 VFRAME VLINE、VCLK VM 信号等。数据流描述如下:FIFO 存储器位于 LCDCDMA当 FIFO 空或部分空时丄 CDCDMAg 求从基 于突发传输模式的帧存储器中取来数据,存入要显示的图像数据,而这个帧存储器是 LCD 控制器在 RAM 中开辟的一片缓冲区。当这个传

7、输请求被存储控制器中的总线仲裁器接收到后,从系统存储器到内部 FIFO 就会成功传输 4 个字。FIFO 的总大小是 28 个字,其中低位 FIFOL 是 12 个字,高位 FIFOH 是 16 个字。S3C2410 有两个 FIFO 来支持双扫描显示模式。在单扫描 模式下,只使用一个 FIFO(FIFOH)。2.4 TFT 控制器操作S3C2410 支持 STN-LCD 和 TFT-LCD,这里我们只介绍其对 TFT-LCD 的控制。TIMEGEN 产生 LCD 驱动器的控制信号,如 VSYNC HSYNC VCLK VDEN 和 LEND 等。这些 控制信号与 REGBAN 寄存器组中的

8、LCDCON1/2/3/4/5 寄存器的配置关系相当密切,基于 LCD 控制寄存器中的这些可编程配置,TIMEGEN 产生可编程控制信号来支持不同类型的LCD 驱动器。VSYN(和 HSYN(脉冲的产生依赖于 LCDCON2/3 寄存器的 HOZVA 域和 LINEVAL 域的配置。HOZVAL 和 LINEVAL 的值由 LCD 屏的尺寸决定,如下公式:HOZVAL 水平显示尺寸-1(1)LINEVAL直显示尺寸-1(2)VCLK 信号的频率取决于 LCDCON 寄存器中的 CLKVAL 域。VCLK 和 CLKVAL 的关系如下,其中CLKVAL 的最小值是 0:VCLK(Hz)=HCLK

9、/(CLKVAL+1)X2(3)帧频率是 VSYNC 言号的频率,它与 LCDCON 和 LCDCON2/3/4 寄存器的 VSYNCVBPDVFPDLINEVAL、HSYNC HBPD HFPD HOZVA1 和 CLKVAL 都有关系。大多数 LCD 驱动 器都需要与显 示器相匹配的帧频率,帧频率计算公式如下:FrameRate=1/(VSPW+1)+(VBPD+1)+(LINEVAL+1)+(VFPD+1)X(HSPW+1)+(HBPD+1)+(HFPD+1)+(HOZVAL+1)X2X(CLKVAL+1)/(HCLK)(4)参照 CJM10C0101 的参数和公式、(2),可得出 HO

10、ZVAL=639;LINEVAL=479 其余主要 寄存器的值在下面给出。3 CJM10C0101 的逻辑、时序要求2各时间参数见表 1。表1时间巻数Tubrl I I inn1pjjrjmrl rrs夢数花兮數a单位帧周期h6. 7lli墓宜显示时间r:4S0 x门p300* J.31.7HP-i水平显示时间GH30甘久圖jn厂tri厂irmLTLTL計水平握示时闻 二g nnnnKhnnnn伽RimnmimjimumnwEmTTT伽:逐EHAHR5 ROGMJOD5 3Q充为 18 根作 CJM10C0101 的数据输入线,即 RB 信号的最低两位共用一根数据线。CJM10C0101要求其

11、电源电压 Vdd 典型值为 5V,并且 LCD 数据和控制信号的高电平输入电压V 在 3.5V,Vdd范围内,低电平输入电压Vi在0,1.5V范围内,故用 4 片 74LVC4245 进行 35V 的逻辑电平 转换,具体电路如图 4。同时考虑到通用性,使 74LVC4245 的电源为 3V/5V 可选,这样也能驱 动 3V 逻辑电平的TFT-LCB怅4 CJM 10C0101妝动电阿5 嵌入式 Linux 下驱动程序的开发FrameBuffer 是出现在 Linux2.2.xx 内核当中的一种驱动程序接口,对应的源文件在linux/drivers/video/ 目录下,总的抽象设备文件为 fb

12、con.c。这种接口将显示设备抽象为 帧缓冲区。用户可以将它看成是显示内存的一个映像。在使用帧缓冲时,Linux 是将显卡置于图形模式下的。我们根据以上对 LCD 各主要寄存器设置的分析得出的结果,开发了基于 FrameBuffer 机 制的S3C2410fb 驱动程序。下面是经过调试成功的部分代码,作用是对显示屏幕初始化和设置 LCD 控制寄存器的值。/*s3c2410fb.c*/#ifdef CONFIG-S3C2410-SMDKstatIC struct s3c2410fb-mach-i nfo xxx-st n-in fo-i nitdATA=pixclock:174757,bpp:1

13、6,#ifdef CONFIG-FB-S3C241O-EMUL/ 显示屏幕初始化xres:96,#elsexres:640,#en difyres:480, hsyn c-le n: 5, vsyn c2le n: 1, left-marg in: 7, upper-marg in: 1,right-marg in: 3, lower-margi n: 3,CD(7=iFromS3C241OVDflfrVDJ9- U t. .74LVC4245OLVDfr-60LVD(7*l!iLVDI2-17 -LVM f LVCLKToTFT LCDVMVCLKsync: 0, cmap-static:

14、1,reg:/设置 LCD 控制寄存器的值lcdco n1:LCD1-BPP-16T|LCD1-PNR-TFT|LCD1-CLKVAL(1),lcdco n2:LCD2-VBPD(37)|LCD2-VFPD(4)|LCD2-VSPW(1),lcdco n3:LCD3-HBPD(100)|LCD3-HFPD(47),lcdco n4:LCD4-HSPW(10)|LCD4-MVAL(13),lcdco n5:LCD5-FRM565|LCD5-HWSWP|LCD5-PWREN,;#en dif6 结果经过硬件方面的调试修改,在 S3C2410 开发板的 VCLK 和 VM 脚成功得到了 CJM10C

15、0101 所需的时钟信号和复合控制信号,见图 5,6,7 和 8;在软件方面修改了 S3C2410 的驱动程序,经编译整个系统后再重新写到Flash 中,重启后能正确显示原系统的静态启动画面,并且画面清晰稳定,达到了预期的效果。这套装置可用在工业控制和车载通信等领域作显示输出设 备,再加上适当的触摸屏可组成方便可靠的输入输出设备。图 5 VCLK 波形(tc=1/25.28MHz=39.56ns)图 8 VM 波形(t1-t2=1.432ms)参考文献:1Sams un gElectro nICs.Users Ma nual S3C2410X 32-Bit RISCMicroprocessorZ.2003.372-413.图 6 VM 波形(t1=16.6ms)2吉林彩晶数码高科显示器有限公司 .TFT-LCD 模块产品说明书 CJM10C0101Z.2000

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论