基于FPGA的液晶显示接口设计

发布者:黄金大花猫最新更新时间:2006-10-10 来源: 电子元器件应用关键字:SED1520  液晶显示 手机看文章 扫描二维码
随时随地手机看文章

引言

在小规模图形液晶显示模块上使用液晶显示驱动控制器组成液晶显示驱动和控制系统,是当今低成本,低功耗,高集成化设计的最好选择,SED1520是当前最常用的一种液晶显示驱动控制器,这类图形液晶显示模块的规模为32行,本文用到的液晶模块CM12232即是内置SED1520的液晶显示模块,该模块的驱动控制系统由两片SED1520组成。

FPGA即现场可编程门阵列器件,这是一种超大规模集成电路,具有在电路可重配置的能力(in circuit reconfigurable,ICR)。设计者设计的逻辑可在编译、适配后变成网络表下载到FPGA芯片上之后,FPGA即可执行设计的逻辑功能。因此,FPGA在芯片控制、接口逻辑设计等各个方面的应用越来越广泛。

系统硬件设计

本方案采用的FPGA为Alter公司的ACEX1K30芯片,它可提供系统的时钟及读写控制,ACEX系列的FPGA由逻辑阵列块LAB(Logic array block)、嵌入式阵列块EAB(embedded array block)、快速互联以及IO单元构成,每个逻辑阵列块包含8个逻辑单元LE(logic element)和一个局部互联[1]。每个逻辑单元则由一个4输入查找表(LUT)、一个可编程触发器、快速进位链、级连链组成,多个LAB和多个EAB则可通过快速通道互相连接。EAB是ACEX系列器件在结构设计上的一个重要部件,他是输入端口和输出端口都带有触发器的一种灵活的RAM块,其主要功能是实现一些规模不太大的FIFO、ROM、RAM和双端口RAM等。在本液晶显示接口电路中,EAB主要用宏功能模块实现片上ROM。它通过调用FPGA上的EAB资源来实现汉字的显示和字符的存储,并根据控制信号产生的地址值从ROM中读取字符值,然后送LCD显示器进行显示。

由于所用的图形点阵液晶块内置有SED1520控制器,所以,其电路特性实际上就是SED1520的电路特性。SED1520的主要特性如下[2]:

具有液晶显示行驱动器,具有16路行驱动输出,并可级联实现32行驱动。

具有液晶显示列驱动器,共有61路列驱动输出。

内置时序发生器,其占空比可设置为1/16和1/32两种。

内藏显示存储器,显示存储器内的数据可直接显示,"1"为显示,"0"为不显示。

接口总线时序可适配8080系列或M6800系列,并可直接与计算机接口。

操作简单,有13条控制指令。

采用CMOS工艺,可在电压低至2.4-7.0V时正常工作,功耗仅30μW。

本设计所用的字符液晶模块CM12232由两块SED1520级连驱动,其中一个工作在主工作方式下,另一个工作在从方式下,主工作方式SED1520负责上半屏16行的驱动和左半屏的61列驱动,从工作方式的SED1520则负责下半屏16行的驱动和右半屏的61列驱动,使能信号E1、E2用来区分具体控制的是那一片SED1520,其系统的硬件连接图如图1所示。

由图1可见,该系统的硬件部分连接十分简单,其中FPGA部分没画出,而液晶与FPGA的接口则可直接以网表的形式给出,将它们直接与FPGA的普通I/O引脚相连即可。

系统的软件接口实现

具体实现的重点是如何从存放有字符的ROM块中读出数据,并按照液晶的时序正确的写入,在介绍具体实现方法前,首先要熟悉SED1520的指令。

SED1520的控制指令表

SED1520的几种主要的控制指令格式如下:

(1)复位格式(Reset)

该指令用于实现SED1520的软件复位。该指令执行时,显示起始行寄存器清零,接着列地址指针清零,之后页地址寄存器置为"3"。

(2)休闲状态设置(Statis drive ON/OFF)
?
该指令是休闲状态的软件开关,当S=1时,SED1520进入休闲状态;当S=0时,SED1520将中止或退出休闲状态。

(3)占空比设置(Slect duty)
?
该指令用于设置SED1520的占空比,Du=0时为1/16占空比,Du为1时为1/32占空比。

(4)ADC选择指令(Selet ADC)
?
该指令用于设置显示存储器中单元的地址所对应的显示驱动输出的顺序。A=0时,顺时针显示;A=1时,逆时针显示。

(5)显示起始行设置(Display start line)
?
该指令可用于设置显示屏上第一行(行驱动输出COMO所对应的显示行)所对应的显示存储器的行号,由此行顺序下延可得到对应显示屏上的显示效果,L=0-31(1FH),对应表示显示存储器的第1-32行。

(6)显示开/关设置(Display ON/OFF)
?
该指令控制着显示驱动器的输出。当Di=0时,显示关,当Di=1时,显示开。

(7)页面显示存储的设置
?
SED1520将显示存储器分为4个页面(0-3页)。每个页面都有80个字节。页面管理可由2位页地址寄存器控制,该指令就是设置页地址寄存器的内容,以选择相应的显示寄存器的页面。P=0-3,对应代表0-3页。

(8)列地址设置(Set column(segment)address)
?
SED1520的显示存储器的每个页面上都有80个字节,每个字节中的8位数据对应着显示屏上同一列的8点行,列地址指针就是管理这80个字节单元的,列地址指针是一个7位加一计数器,由它和页地址寄存器组合,可唯一指定显示存储器的某一个单元,列地址指针在计算机对显示存储器的每次操后都将自动加一。该指令就是设置列地址指针内容的。当CY=0-4FH,分别对应于1-80单元的地址。

顶层设计大批量

本设计具体实现的顶层设计原理图如图2所示。

图2中lpm_rom模块是利用FPGA的宏功能模块产生的片上ROM块[3],用以存放要显示的字符数据。ctrl模块则为控制从ROM中取出数据后液晶上显示的核心控制模块,其功能包括控制数据的读写时序、液晶屏的分屏显示控制、分页显示控制等。

控制模块程序代码

ctrl模块的程序核心代码如下:

architecture Behavioral of ctrl is

signal divcnt:std_logic_vector(11 downto 0);--系数计数

signal data:std_logic_vecdor(9 downto 0);--地址输出

Signal clk1,clk2,a01,cs11,cs21,flag,csflag:std_logic;

data<=divcnt(11 downto 2);--最高10位为地址

process3(clk2)

begin

if clk2'event and clk2=`1'then case conv_integer (data)is

when 0|2|4|6|8|10|12|13|138|139|264|265|390|391=>A01<=`0';cs11<=`0';cs21<=`1';

when 1|3|5|7|9|11|75|76|201|202|327|328|453|454=>A01<=`0';cs11<=`1';cs21<=`0';

when 14 to 74=>A01<=`1';cs11<=`0';cs21<=`1';

when 140 to 200=>A01<=`1';cs11<=`0';cs21<=1';

when 266 to 326=>A01<=`1';cs11<=`0';cs21<=`1';

when 392 to 452=>A01<=`1';cs11<=`0';cs21<=`1';

when 77 to 137=>A01<=`1';cs11<=`1';cs21<=`0';

when 203 to 263=>A01<=`1';cs11>=`1';cs21<=`0';

when 329 to 389=>A01<=`1';cs11<=`1';cs21<=`0';

when 455 to 515=>A01<=`1';cs11<=`1';cs21<=`0';

when others=>A01<=`0';cs11<=`1';cs21<=`1';

end case;

end if;

end process3;

a0<=a01;

cs1<=cs11 or csflag;

cs2<=cs21 or csflag;

ad<=data;

end Behavioral;

其中的关键程序为Process3;在该过程中,A01负责该数据写到液晶数据线上显示还是写到液晶的控制寄存器进行控制,A01为0时为写命令,A01为1时为写数据。

程序中,ROM地址的前13个单元均为写命令,根据SED1520的控制命令字,ROM表中的0、2、4、6、8、10单元依次是E2、A4、A9、A0、C0、AF,主要用于实现对CSI主工作的SED1520复位、退出休闲状态、设置占空比为1/32、顺时针显示数据RAM中的内容、显示起始对应显示存储器的0行、显示开这一系列的初始化工作;而1,3,5,7,9,11单元则写入到CS2(即从工作的SED1520)实现其初始化[4]。第13单元放的是B8(即页地址设置为0),从14-74单元,A01=1为写数据,此时片选CS1有效,ROM表中连续放入"武汉理工"4个汉字的上半部分字模(本方案共显示16个汉字"武汉理工大学自动化学院重点实验室"分两行,每行8个字显示);之后,75、76单元为写命令,ROM中的数据为B8,00表示设置显示页为0页,该页的列地址从0开始[5]。从77-137单元地址向CS2(即从动工作方式的SED1520)写数据即"大学自动"的前半部分字模,接下来的138、139单元为写命令,ROM中的数据为B9,00即表示页地址设置为1列,地址为0,140-200单元放入"武汉理工"的下半部分字模,201、202单元为写命令,ROM中的数据为B9、00表示页地址设置为1列,地址为0,203-263中为"大学自动"的下半部分字模,之后,8个字的写入过程与前8个字的写入过程相同,写命令单元用于控制要写的页。

结束语

本方案以FPGA为控制核心实现了对字符点阵液晶的控制,该方案硬件电路简单,软件程序简洁,对液晶的控制简单而且稳定,且可灵活改动,若要改变液晶显示的汉字,只需改变ROM表中的字模即可,实践证明,该设计是对液晶应用的一种行之有效的方法。

关键字:SED1520  液晶显示 引用地址:基于FPGA的液晶显示接口设计

上一篇:基于S3C4510B的USB主控器驱动设计
下一篇:USB键盘特殊功能键的实现

推荐阅读最新更新时间:2024-05-13 18:15

图形液晶显示模块在嵌入式系统中的应用
      图形点阵式液晶显示模块具有尺寸小、功耗低、寿命长、成本低、可显示各种图像与文本信息等优点,因此在各种仪器仪表、电子设备、移动通讯及家用电器中得到广泛的应用 。本文结合笔者在“便携式电力故障录波仪”项目中的实践经验,着重介绍如何把液晶显示模块应用做嵌入式DSP系统人机界面的问题,仅用四个按键相互配合,通过软件编程实现多层菜单和动态波形的显示。软件部分采用C语言编制,模块化设计,具有很强的可移植性,可以直接应用到其他的嵌入式系统中。 1. 模块的工作原理 1.1 基本功能         OCM4×8C液晶显示模块是128×64点阵的汉字图形型液晶显示模块,内置国标GB2312码简体中文字库(16×16点阵)、126个字
[嵌入式]
液晶显示用的CMOS驱动电路原理图
液晶显示用的 CMOS驱动电路 原理图:
[模拟电子]
<font color='red'>液晶显示</font>用的CMOS驱动电路原理图
PIC单片机与液晶显示模块DMF5001N的接口应用
  DMF5001N图形液晶显示模块由一块160×128点阵单屏结构的液晶显示器件、两片T6961B、两片T6A39、一片T6963C及其8KRAM以及配套电路组成。T6963C有一内置字符器CGROM,共有128个5×7点阵ASCII字符;它有64K的显示RAM,用户可在其中方便地设置文本、图形和用户自定义的显示数据缓冲区。从而DMF5001N不仅可显示汉字,还可显示ASCII字符和各种曲线;它可以选择文本与图形之间的逻辑“与”、“或”、“异或”等组合,可以实现反显、闪烁、滚屏、翻页及动画等多种显示功能,还具有多种光标显示功能。因此可将它与单片机连接构成功能强、结构简单、人机界面友好的各种智能仪表和控制系统。   PIC16
[单片机]
PIC单片机与<font color='red'>液晶显示</font>模块DMF5001N的接口应用
成像测井中基于ARM LPC1788显示系统的设计
石油行业中的测井技术是一种井下油气勘探方法,用于发现油气藏,评估油气储量及其产量。从1927年发展至今已经出现第五代测井系统,即成像测井系统。成像测井系统通过成像井下仪传感器阵列扫描或旋转扫描测量,沿井眼纵向、周向或径向采集地层信息,经测井电缆传输到井上成像测井地面系统,使用图象处理技术得到井壁的二维图象或井眼周围某一探测深度以内的三维图象。这比以往测井系统的曲线表示方法更精确、更直观、更方便。 第四代数控测井地面系统以LED指示灯、数码管等作为显示器件,存在显示信息量小,扩展不灵活,电路复杂等诸多缺点。本设计以控制能力突出,外设接口丰富,运算速度快的ARM芯片LPC1788作为控制、数据处理核心,使用了位于AHB总线上能进
[单片机]
成像测井中基于ARM LPC1788显示系统的设计
日产智能后视镜技术:实时拍摄车后的画面
在汽车领域,一些领先当前水平的技术通常都会被应用到赛车上,然后才会慢慢普及到普通的汽车产品上,高端碳陶瓷刹车系统就是一个非常好的例子。但是,消费级民用汽车技术有时候也会给赛车带来意想不到的好处,比如我们今天要介绍的日产 Full Display Mirror 系统。根据外媒 Cnet 的介绍,Full Display Mirror 一开始是日产(Nissan)为旗下的客车所专门研发的智能后视镜(Smart Rearview Mirror)概念技术。   这项技术允许驾车者在标准的后视镜和一个具备相机功能的液晶显示器之间进行自由切换。 事实上,这样的技术是非常实用的,因为车子配备了智能后视镜之后,驾车者就不会被障碍物挡
[嵌入式]
LCD1602液晶显示模块的单片机驱动深入详解之硬件篇
(本文以HD44780主控芯片的LCD1602为蓝本进行描述,其中的截图也来自HD44780数据手册,用户可自行搜索其datasheet,有部分整理网上的,但绝对要比你看到的要深入得多) 一.接口 LCD1602是很多单片机爱好者较早接触的字符型液晶显示器,它的主控芯片是HD44780或者其它兼容芯片。刚开始接触它的大多是单片机的初学者。由于对它的不了解,不能随心所欲地对它进行驱动。经过一段时间的学习,我对它的驱动有了一点点心得,今天把它记录在这里,以备以后查阅。与此相仿的是LCD12864液晶显示器,它是一种图形点阵显示器,能显示的内容比LCD1602要丰富得多,除了普通字符外,还可以显示点阵图案,带有汉字库的还可以显示汉
[单片机]
LCD1602<font color='red'>液晶显示</font>模块的单片机驱动深入详解之硬件篇
手机、相机、液晶显示屏抗电磁干扰特性的实现
随着手机中LCD及相机的视频分辨率越高,数据工作的频率将超过40MHz,对抑制无线EMI与ESD而言,传统的滤波器方案已达到它们的技术极限。为适应数据速率的增加且不中断视频信号,设计者可以选择本文讨论的新型低电容、高滤波性能EMI滤波器。 随着无线市场的继续发展,下一代手机将拥有更多的功能特性,例如带多个彩屏(每部手机至少有两个彩屏)以及百万像素以上的高分辨率相机等。 图1:LCD模块周围的噪声与ESD传输路径 仍旧受紧凑设计趋势的推动,实现高分辨率LCD及相机将使设计者面临多种挑战,其中一个主要设计考虑便是这些新模块对电
[电源管理]
手机、相机、<font color='red'>液晶显示</font>屏抗电磁干扰特性的实现
DSP与智能彩色液晶显示器接口设计
摘要:文中提出了一种基于DSP控制的智能彩色液晶显示器的接口设计方案。介绍了智能彩色液晶显示器VK63的原理与使用方法,讨论了TMS320F24O核心DSP控制器与智能彩色液晶显示器的串、并行两种通讯的软、硬件设计方案通过软件编程解决了高速DSP与低速外部设备之间的通信问题。 关键词:DSP;LCD;串行;并行;通讯;VK63 近年来,随着低价格、高性能DSP芯片的出现,DSP已越来越多地被应用于高速信号采集、语音处理、图像分析处理等领域中,并显示出巨大的优越性。智能彩色液晶显示器具有显示直接美观、便于操作的特点,被用作各种便携式系统的显示前端。它一般采用工业级的高频CPU可以自行对接收的命令和数据进行处理因而能够提高用
[电源管理]
小广播
最新应用文章
换一换 更多 相关热搜器件

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 医疗电子 工业控制

词云: 1 2 3 4 5 6 7 8 9 10

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved