基于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
控制器
用户闪存

小广播

独家专题更多

迎接创新的黄金时代 无创想,不奇迹
迎接创新的黄金时代 无创想,不奇迹
​TE工程师帮助将不可能变成可能,通过技术突破,使世界更加清洁、安全和美好。
TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved