基于MAX II系列CPLD 的LCD控制器设计

2010-11-14 16:39:48来源: 互联网

0前言

    液晶显示屏(LCD)是薄型平面显示设备,由排列在光源或者反射器之前一定数量的彩色或者单色象素构成。这类显示屏已经成为大部分嵌入式系统不可缺少的组成部分。但是在嵌入式系统中八位和十六位微处理器大多没有内置的LCD控制器,又由于LCD屏的分辨率很高,即使有内置的LCD控制器,也较难进行控制;另外内置LCD控制器对内存带宽的占用较高,使控制器所能支配的资源也会变得非常有限。因此在微处理器和LCD屏之间加上一个LCD控制器是非常必要的。常用的LCD控制器主要有两种:专用的控制芯片和基于可编程器件的控制器。本文采用Altera公司的MAX II系列CPLD器件来实现LCD控制器。CPLD一般使用外加的串行EEPROM来存储非易失信息,而MAX II CPLD是唯一具有用户闪存(UFM)的CPLD,它支持用户存储高达8Kbits的非易失信息,因此不需要采用外部存储器,并且在实现LCD控制器时还可以利用CPLD的内部UFM振荡器来满足时钟需求,从而避免了采用外部时钟信号。这些独特的功能使MAX II CPLD成为实现LCD控制器最好的目标器件。

1 嵌入式系统的LCD接口电路结构

    基于MAX II CPLD的LCD接口电路一般采用图1所示结构。图中LCD接口电路负责接受微处理器的配置,通过总线把DRAM上保存的显示数据读出,然后按照屏类型和显示设置转换为需要的格式,并按照屏时序要求发送出去。在设计显示控制器时,需要注意如下几个方面:支持的屏类型、总线类型的选择、同微处理器之间的交互方式、动态图像显示和中断设计。基于CPLD的LCD控制器可以提供合适的显示单元,它产生需要的时序信号,满足LCD的时序要求,同时卸载了微处理器和控制器繁重的LCD处理任务,从而提高了处理器和控制器执行其他操作的效率。

2 LCD 控制器组成与接口信号

    2.1 LCD 控制器组成

    由图1可知,LCD控制器有三个主要模块:有限状态机(FSM)、时钟分频器和用户闪存(UFM)模块。

    1、初始化LCD和有限状态机模块

    FSM模块有8个不同的状态。它用于初始化LCD,初始化完成后显LCD进行读写操作。图2所示为LCD模块的初始化步骤。为简化初始化过程,每次发送一条命令后,延时15ms(而不是检查忙标志的状态)。但是向LCD模块写入数据时,每一数据写操作之后,要检查忙标志的状态。这样就加速了写操作过程。

    2、时钟分频器模块

    时钟分频器模块主要是降低内部振荡器输出频率,从而满足了LCD模块的时序要求以及控制器的性能要求。该模块把振荡器输出信号osc的频率由.5MHz降低到43kHz左右。降低频率以后的信号(即Clk信号)从时钟分频器模块输出(见图3)。该模块主要代码为:
    module divider (osc, clk);
    input osc;
    output clk;
    reg clk;
    reg [6:0]count;
    initial
    begin
    count = 7'b0000000;
    end
    always @ (posedge(osc))
    begin
    count = count + 7'b0000001;
    clk = count[6];
    end
    endmodule

 

    3、用户闪存模块

    MAX II CPLD中的用户闪存UFM模块主要用于存储LCD控制器打开之后,需要在LCD屏上显示的信息。采用十六进制(Intel格式)文件(.hex)对UFM进行设置,并利用UFM宏功能进行例化。

    UFM模块接口信号主要有addr、nread、do、dv、osc和clk信号:

    Addr为9位地址总线,用于选择UFM的某一存储位置。
    nread 若该信号设置为0,以读取地址总线所指向存储器的内容。
    do 为数据输出信号。8位数据总线,保持地址总线所指向16位存储器的高8位。
    dv 为数据有效信号。该信号指示8位数据总线上的数据有效并且可读。
    osc 为UFM模块内部振荡器输出。输出信号到时钟分频器,输出频率为5.5MHz。

2.2 LCD 控制器接口信号

    1、LCD控制器与LCD屏之间的接口信号

    LCD控制器与LCD模块之间的接口信号有E、RS、RW 、DB0-DB7:
    E为使能选通信号。该信号下降沿将双向总线上的数据锁存到数据或者命令寄存器中,反之亦然。
    RS为寄存器选择信号。用于选择LCD模块的数据和命令寄存器。当RS=0时为命令寄存器;
    RS=1时为数据寄存器。
    RW为区分读写操作的读写信号。RW=0:写操作;RW=1:读操作
    DB0-DB7为8位双向总线,承载LCD模块的数据和命令。

    2、LCD控制器与微处理器之间的接口信号

    LCD控制器与微处理器之间的接口信号有DATA0-DATA7、RST、WE、ACK:
    DATA0-DATA7 为处理器和控制器的8位总线,承载LCD模块上显示的ASCII字符值。
    RST 为复位信号。该信号用于复位控制器,再次初始化LCD模块。
    WE 为写使能信号。该信号指示写周期的开始。应将它设为低电平,使能对LCD模块的写操作。
    ACK 为应答信号。该信号指示数据已经成功地发送到LCD模块,准备接收后面的数据。

    在此信号变为低电平之前发送的任何数据都被控制器忽略。

    3设计与仿真

    本设计通过MAX II CPLD EPM240ZM成功地实现了处理器和LCD模块的接口,图5-图7分别给出了LCD控制器的整体模块、综合结果和仿真波形。

4结论

    本设计采用MAX II系列CPLD器件EPM240ZM来实现LCD控制器,解决了微处理器与LCD显示模块之间的接口问题,并在OptrexSC1602D 16×2字符LCD模块上实现了嵌入式系统的显示功能。由于是使用一片MAX II CPLD芯片完成LCD全部的时序控制、显示控制等功能,所以是接口电路变得更加简洁、可靠,具有很好的应用价值。

    本文作者创新点: 使用唯一具有用户闪存(UFM)的MAX II CPLD,不需要采用外部存储器就实现了LCD 全部的时序控制、显示控制等功能,使LCD 接口电路变得更加简洁、可靠。

关键字:CPLD  LCD  控制器  用户闪存

编辑:金海 引用地址:http://www.eeworld.com.cn/mndz/2010/1114/article_2717.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
CPLD
LCD
控制器
用户闪存

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved