S3C44B0X微处理器内置LCD控制器方案设计
引言
S3C44B0X微处理器是三星公司专为手持设备和一般应用提供的高性价比和高性能的微控制器解决方案。它使用ARM7TDMI核,工作在66MHz,集成了LCD控制器等外围器件。它的LCD控制器具有通用性,能与大多数LCD显示模块接口。接口设计、驱动程序开发都很简单,广泛应用于智能仪表、PDA等的显示部分。
内置LCD控制器介绍
概述
S3C44B0X内置的LCD控制器的作用是将显示缓存(在系统存储器中)的LCD数据传输到外部LCD驱动器,并产生必须的LCD控制信号。
它支持灰度LCD和彩色LCD。在灰度LCD上,使用基于时间抖 动算法(time-basedditheringalgorithm)和FRC(FrameRateControl)方法,可以支持单色、4级灰度和16级灰度模式的灰度LCD。在彩色LCD上,可以支持256种色彩。不同尺寸的LCD具有不同数量的垂直和水平象素、数据接口、数据宽度、接口时间和刷新率。LCD控制器可以进行编程控制相应的寄存器值,以适应不同的LCD显示板。
LCD控制器逻辑框图
图1为LCD控制器的逻辑框图。从框图可以看出LCD控制器是用来实现传输显示数据及产生必要的控制信号,如VFRAME、VLINE、VCLK和VM。除了控制信号,还有显示数据的数据端口VD[7:0]。
LCD控制器包括REGBANK、LCDDMA、VIDPRCS和TIMEGEN。 REGBANK有18个可编程寄存器,用于配置LCD控制器。LCDDMA为专用DMA,可以自动地将显示数据从帧内存传送到LCD驱动器中。通过专用DMA,可以实现在不需要CPU介入的情况下显示数据。VIDPRCS从LCDDMA接收数据,将相应格式的数据通过TIMEGEN(包含可编程逻辑),以支持常见的LCD驱动器所需要的不同接口时间和速率的要求。TIMEGEN部分产生VFRAME,VLINE,VCLK和VM等信号。
LCD控制器提供下列外部接口信号:
VFRAME:LCD控制器和驱动器之间的帧同步信号。通知LCD屏新的一帧显示,LCD控制器在一个完整帧显示后发出VFRAME信号。
VLINE:LCD控制器和驱动器间同步脉冲信号。LCD驱动器通过它将水平移位寄存器的内容显示到LCD屏上。LCD控制器在一整行数据全部传输到LCD驱动器后发出VLINE信号。
VCLK:LCD控制器和驱动器之间的象素时钟信号。
VM:LCD驱动器所使用的交流信号。驱动器用VM打开或关闭象素的行和列电压极性。
VD[3:0]:LCD象素数据输出端口。
VD[7:4]:LCD象素数据输出端口。
LCD控制器的寄存器。
LCD控制器通过18个可编程寄存器来配置LCD显示模块的尺寸、显示模式、接口数据宽度等。
LCD控制寄存器一(LCDCON1)
LCDCON1所在地址:0x01F00000;
属性:R/W;
复位值:0x00000000。
LCDCON1中各个位的意义见表1:
LCD控制寄存器二(LCDCON2)
LCDCON2的地址:0x01F00004;
属性:R/W;
复位值:0x00000000。
LCDCON2中各个位的意义见表2:
LCD控制寄存器三(LCDCON3)
LCDCON3的地址:0x01F00040;
属性:R/W;
复位值:0x00。
LCDCON3中各个位的意义见表3:
帧缓冲区开始地址一(LCDSADDR1)
LCDSADDR1的地址:0x01F00008;
属性:R/W;
复位值:0x000000。
LCDSADDR1中各个位的意义见表4:
帧缓冲区开始地址二(LCDSADDR2)
的地址:0x01F0000C;
属性:R/W;
复位值:0x000000。
LCDSADDR2中各个位的意义见表5:
注:用户通过改变LCDBASEU和LCDBASEL的值来滚动屏幕,但在帧结束时,不能改变LCDBASEU和LCDBASEL的值,因为预取下一帧的数据优先于改变帧,如果这时改变帧,预取的数据将无效而且显示不正确。为了检查LINECNT,应当屏蔽中断,否则如果在读LINECNT后,任意中断刚好执行,因为ISR的执行,LINECNT的值可能无效。
缓冲区开始地址三(LCDSADDR3)
LCDSADDR3的地址:0x01F00010;
属性:R/W;
复位值:0x000000。
LCDSADDR3中各个位的意义见表6:
注:PAGEWIDTH和OFFSIZE必须在ENVID=0时变化。
内置LCD控制器的应用
LCD控制器能与大多数LCD显示模块接口,例如DMF50081,KCS057QV1AJ等。
KCS057QV1AJ是由KYOCERA公司生产,具有320 240个象素点、带CFL背光的STN(超扭曲向列)256色LCD显示模块。它不带LCD控制器,很容易与S3C44B0X内置的LCD控制器接口。本节将详述它与LCD控制器的硬件接口连线以及它的驱动程序。
LCD控制器与KCS057QV1AJ接口设计
KCS057QV1AJ提供的外部接口信号线如下:
FRM:驱动器扫描的同步信号线;
LOAD:数据锁存信号线;
CP:数据移位时钟信号线;
DISP:显示控制信号线;
D[7:0]:8根显示数据输入线。
在KCS057QV1AJ与LCD控制器之间接线时,KCS057QV1AJ的FRM、LOAD、CP、D[7:0]分别和LCD控制器的VFRAME、VLINE、VCLK、VD[7:0]相连。DISP引脚与S3C44B0X的GPIO的GPC15相连,通过GPC15来控制LCD显示模块的打开和关闭。具体接线如图2。
KCS057QV1AJ驱动程序开发
驱动程序包括初始化S3C44B0X端口D
控制器 方案设计 LCD 内置 微处理器 S3C44B0X 相关文章:
- μC/OS-II下通用驱动框架的设计与实现(07-23)
- 基于DSP的谐波控制器的研制(04-09)
- 数字信号控制器在变频家电中的应用(05-15)
- 基于DSP的磁流变阻尼器的控制方法(04-14)
- DSP+FPGA在高速高精运动控制器中的应用(05-17)
- 基于AT89C51+DSP的双CPU伺服运动控制器的研究(05-26)