1、S3C2410LCD控制器控制TFT彩屏接口设计2 12.1.2 S3C2410X LCD控制器介绍S3C2410X LCD 控制器用于传输显示数据和产生控制信号,支持屏幕水平和垂直滚动显示,数据的传送采用DMA(直接内存访问)方式,支持STN和TFT显示器12.1 LCD控制器3 12.1.2 S3C2410X LCD控制器介绍1、STN LCD显示器支持3种类型的扫描方式:4位单扫描,4位双扫描和8位单扫描支持256色和4096色彩色STN LCD典型的实际屏幕大小是:640480,320240,160160等最大虚拟屏幕占内存大小为4M字节256色模式下最大虚拟屏幕大小:40961024
2、,20482048,10244096等12.1 LCD控制器4 12.1.2 S3C2410X LCD控制器介绍2、TFT LCD显示控制器性能支持1,2,4或8bpp彩色调色显示支持16bpp和24bpp非调色真彩显示在24bpp模式下,最多支持16M种颜色支持多种屏幕大小典型的实际屏幕大小是:640480,320240,160160等最大虚拟屏幕占内存大小为4M字节64K色模式下最大虚拟屏幕大小:20481024等12.1 LCD控制器5 12.1.2 S3C2410X LCD控制器介绍3、LCD外部接口信号VFRAME/VSYNC/STV:LCD控制器和LCD驱动器之间的帧同步信号VLI
3、NE/HSYNC/CPV:LCD控制器和LCD驱动器间的同步脉冲信号VCLK/LCD_HCLK:此信号为LCD控制器和LCD驱动器之间的时钟信号VD23:0:LCD像素数据输出端口VM/VDEN/TP:对于STN屏来说,它是LCD显示的开关控制信号。对于TFT屏来说,它是数据信号的使能信号LEND/STH:行结束信号(通常可以不用使能这个信号)LCD_PWREN:LCD 电源使能LCDVF0:SEC TFT 信号OELCDVF1:SEC TFT 信号REVLCDVF2:SEC TFT 信号REVB12.1 LCD控制器6 12.1.3 S3C2410X LCD控制器操作主要讲解16位色的TFT
4、屏操作方法:TIMEGEN(脉冲发生器)产生适合LCD 驱动器的各种控制信号,如VSYNC,HSYNC,VCLK,VDEN,和LEND 等信号VSYNC 和HSYNC 取决于HOZVAL 与LINEVAL HOZVAL=(水平显示尺寸)-1LINEVAL=(垂直显示尺寸)-1VCLK 的速率取决于寄存器LCDCON1 中CLKVAL 的值VCLK(Hz)=HCLK/(CLKVAL+1)x2帧频即为VSYNC信号的频率帧频与控制寄存器LCDCON1及LCDCON2/3/4 中的VSYNC、VBPD、VFPD、LINEVAL、HSYNC、HBPD、HFPD、HOZVAL 和CLKVAL 有关联12
5、.1 LCD控制器7 12.1.3 S3C2410X LCD控制器操作典型的TFT液晶显示屏的扫描时序帧同步(VSYNC)用于表示一帧的起始行同步(HSYNC)用于表示一行的起始时钟(VCLK)时钟信号数据有效控制(VDEN)数据有效信号数据信号(VD)表示每个像素点的数据信号,有1、2、4、8、12、16、24位等模式12.1 LCD控制器8 12.1.4 LCD控制器寄存器LCD控制器的相关寄存器共用16个其中和TFT屏显示相关的有:5个LCD控制寄存器2个帧缓冲开始地址寄存器1个实际屏地址寄存器1个零时调色板寄存器中断屏蔽寄存器中断源挂起寄存器中断挂起寄存器12.1 LCD控制器9 12
6、.1.4 LCD控制器寄存器1、LCD控制器LCDCON1(地址:0 x4D000000)12.1 LCD控制器10 12.1.4 LCD控制器寄存器2、LCD控制器LCDCON2(地址:0 x4D000004)12.1 LCD控制器11 12.1.4 LCD控制器寄存器3、LCD控制器LCDCON3(地址:0 x4D000008)12.1 LCD控制器12 12.1.4 LCD控制器寄存器4、LCD控制器LCDCON4(地址:0 x4D00000C)12.1 LCD控制器13 12.1.4 LCD控制器寄存器5、LCD控制器LCDCON5(地址:0 x4D000010)12.1 LCD控制器
7、14 12.1.4 LCD控制器寄存器5、LCD控制器LCDCON5(地址:0 x4D000010)12.1 LCD控制器15 12.1.4 LCD控制器寄存器6、帧缓冲区起始地址寄存器LCDSADDR1(地址:0 x4D000014)12.1 LCD控制器16 12.1.4 LCD控制器寄存器7、帧缓冲区起始地址寄存器LCDSADDR2(地址:0 x4D000018)12.1 LCD控制器17 12.1.4 LCD控制器寄存器8、帧缓冲区起始地址寄存器LCDSADDR3(地址:0 x4D00001C)12.1 LCD控制器 12.1.4 LCD控制器寄存器LCD 屏=320*240,16 级
8、灰度,单扫描帧起始地址=0 x0c500000偏移点数=2048 点(512 个半字)对应的寄存器应按如下方法设置:LINEVAL=240-1=0 xef /显示窗口的垂直分辨率PAGEWIDTH=320*4/16=0 x50/显示窗口占用空间的半字数OFFSIZE=512=0 x200 /显示窗口可以水平偏移空间所占用的半字数/虚拟显示缓冲区的开始位置的31:22,4M偏移LCDBANK=0 x0c500000 22=0 x31/显示窗口的开始地址的21:1,0 x100000是0 x0c500000的21:0位。LCDBASEU=0 x100000 1=0 x80000/显示窗口结束地址的
9、21:1LCDBASEL=0 x80000+(0 x50+0 x200)*(0 xef+1)=0 xa2b001812.1 LCD控制器19 12.2.1 S3C2410X LCD电路连接12.2 接口电路与程序设计20 12.2.1 S3C2410X LCD电路连接上图中各个信号含义如下:器件J27是一个跳线选择,可以选择3.3V和5V作为液晶屏的输入电压nERESET:液晶复位信号,通常可以不接BUF_VD1BUF_VD23:液晶数据信号,根据液晶的要求连接LCDVF0LCDVF2:SEC液晶屏需要的时序信号,其它的液晶屏可以不用BUF_VCLK:液晶时钟信号BUF_VFRAME:帧同步信
10、号BUF_VLINE:行同步信号BUF_VM:数据使能信号BUF_LEND:行结束信号,通常可以不接TSXM、TSXP、TSYM、TSYP:触摸屏控制信号12.2 接口电路与程序设计21 12.2.2 程序的编写编写软件程序,实现在分辨率为320*240,颜色深度为16位的LCD屏上,显示指定分辨率为320*240,颜色深度为16位色的图片主要程序设计:相关寄存器定义LCD管脚初始化程序初始化LCD控制器画一个像素点清屏画一副图片LCD测试主程序12.2 接口电路与程序设计22 12.2.3 调试与运行结果1连接液晶屏在开发板上连接一个320*240的16位真彩色LCD液晶屏。2打开实验例程(
11、1)运行MDK开发环境,进入实验例程目录lcd_test子目录下的lcd_test.Uv2例程,编译链接工程。(2)根据common目录下的ReadMeCommon.txt及本工程目录下的readme.txt文件配置集成开发环境,在Option for Target对话框的Linker页中选择RuninRAM.sct分散加载文件,单击MDK的Debug菜单,选择Start/Stop Debug Session项或单击,下载程序文件到目标板的RAM中调试运行。(3)在Option for Target对话框的Linker页中选择RuninFlash.sct分散加载文件,单击MDK的Flash菜单,选择Download烧写调试代码到目标系统的Nor Flash中,重启目标板,目标板自动运行烧写到Nor Flash中的代码。12.2 接口电路与程序设计23 12.2.3 调试与运行结果3观察实验结果(1)在LCD上观察结果(2)logo图片转换为像素点的过程使用Image2Lcd工具将图像logo.bmp转换为图像数据并保存到logo.c中,将logo.c加入到工程lcd_test中,重新编译运行。12.2 接口电路与程序设计