基于FPGA的图形点阵液晶显示模块的应用设计
扫描二维码
随时随地手机看文章
摘要:提出了一种基于FPGA和T6963C模块来控制液晶显示的实现方法。介绍了液晶显示控制器T6963C的性能特点,给出了FPGA与液晶显示屏WG240128B的硬件接口电路、软件设计流程和液晶显示程序。
关键词:FPGA;图形液晶显示;T6963C;LCM
O 引言
由于液晶显示具有可编程驱动、接口控制方便、体积小、功耗低、具有良好的可视化人机界面等优点。因而在移动通信终端、便携计算机、GPS卫星定位系统等领域,尤其是便携式仪器仪表中得到了广泛应用。FPGA的超大规模集成优势和内部逻辑单元的可重复配置特点。使得其在芯片控制和接口设计中成为一种颇具吸引力的高性价比控制器件。本文给出了一种基于FPGA控制WG240128B显示屏工作的液晶显示模块的设计方法。该方法通过VHDL语言编程来控制液晶显示器的显示,在实际应用中有一定的参考价值。
1 硬件系统
本设计采用Altera公司的Cyclone III系列FPGA芯片EP3C25和内置T6963C液晶控制器的WG240128B显示模块组成硬件系统。
1.1 液晶显示模块简介
液晶显示模块(LCM)WG240128B是WINSTAR公司生产的、内置T6963C液晶控制器的240128图形点阵显示模块。内置T6963C控制器的液晶显示模块是目前应用比较多的显示模块,其驱动控制系统由液晶显示控制器T6963C及其周边电路、行驱动器组、列驱动器组以及液晶驱动偏压电路组成。WG240128B主要由1片LCM控制器T6963C、2片行驱动器T6A40 (第二片只用前60路)、3片列驱动器T6A39、1片32kB的显示存储器CMOS SRAM BS62LV25和1块240x128点阵液晶显示屏组成。该显示模块的特性实际就是T6963C的电路特性。T6963C的初始化在上电时已通过引脚电平设置完毕,所以,软件操作主要集中在显示操作上。T6963C显示缓冲区RAM单元主要包括文本显示区、图形显示区(包含文本特性区)、2kB CGRAM区。该模块在液晶上的显示过程,也就是把对应的数据写入相应的3个显示缓冲区的过程。
WG240128B的逻辑电源由VSS和VDD两个引脚来提供;驱动电源由V0和VEE提供;背光电源则由LEDA和LEDK提供。VSS和LEDK接地,VDD和LEDA接+5 V,DD-VO<21.7V,根据具体环境可选择VEE是否外接负压来驱动显示屏。其管脚功能如表1所列。
[!--empirenews.page--]
1.2 FPGA控制器简介
通过编程可配置FPGA内部的逻辑单元,从而用软件实现液晶显示控制器的设计。本方案中的FPGA主要负责液晶显示模块的系统时序、读写控制和显示数据的存取。其内部的嵌入式阵列块EAB是输入端口和输出端口都带有触发器的RAM块,可实现小容量的FIFO、ROM和RAM,使用时,通过调用这些EAB即可实现字符的存储,并通过地址值读取数据以供LCD显示器显示。
为了满足FPGA的工作条件,设计时还必须完成外部电路的设计,如外部存储器、工作电源以及外部输入时钟(即晶振)电路的设计,图1所示是FPGA电路的组成框图。
l.3 液晶显示模块与FPGA的接口设计
通常计算机和内嵌T6963C的液晶显示器都有两种连接方式,即直接和间接方式。直接方式是把LCM直接挂在计算机总线上,模块的数据线接计算机的数据总线,片选和寄存器信号由计算机的地址总线提供,读和写操作由计算机的读写操作信号控制,这种方式可广泛用于单片机控制的液晶显示系统。间接方式是将计算机的8位并行口与模块的数据线连接,另外3个并行I/O接口作为LCM的时序控制线,这样,由于并行口是专用的,所以片选信号可以直接接地。由于VEE可以提供LCD驱动负压,设计中可采用外接负压的方式:将VO接变阻器的调节端,然后调节适当电压,并驱动液晶显示从而达到最好的对比度效果:C/D和DO~D7分别由FPGA分配通用I/O接口,FS接地是为了选用8x8的显示字体,其硬件接口连接图如图2所示。
2 软件实现
本系统的软件设计可基于VHDL语言编写。软件设计的关键在控制器时序的基础上完成液晶显示器与FPGA之间数据和指令的读写和状态的检测。对液晶显示器的显示控制实际上就是FPGA与T6963C控制器的数据交换。T6963C的部分指令如表2所列。
[!--empirenews.page--]
对状态字的标志位而言,经常判断的是S0和Sl。在写指令和一次读写数据时,S0和S1要同时有效,即都要为1,否则表示控制器忙。根据地址指针指令,可以设置光标地址、CGRAM偏置地址和显示地址。显示区域设置指令则可设置字符和图形显示区首地址和宽度。显示区域设置指令用于设置文本和图形合成显示的逻辑关系。位操作指令可对当前显示地址指针所指的显示单元中的数据的任一位写“0”或写“1”。数据写操作就是向数据通道里写数据。一次写数据或参数时,数据将写入数据栈中,再由紧接写入的指令代码决定该数据是写入当前显示地址指针所指的单元内,还是写入相应的寄存器中。数据读操作就是从数据通道里读取数据。
完成FPGA与液晶控制器的数据交换必须建立在T6963C接口操作的时序之上,其操作时序如图3所示。
控制时序和读写显示程序部分代码如下:
[!--empirenews.page--]
图4所示是其控制系统原理如图。
3 结束语
利用硬件描述语言VHDL可编程设计FPGA以控制LCM显示。本液晶显示控制器与FPGA组成显示系统后,即可先由FPGA将显示数据写入FPGA内部设计的FIFO寄存器中,当FPGA与LCM控制器进行数据交换后,再将显示数据读出并与控制信号同步送到LCM中,从而实现图形的显示。